无编辑摘要 |
(翻译完发现官网已经更到1.7了,重新实装后把翻好的转录进去) |
||
(未显示4个用户的8个中间版本) | |||
第1行: | 第1行: | ||
{{ | {{Version|1.7}} | ||
Effects are | 效果(Effects),也称为命令(commands),在脚本中用于更改通过范围和条件选择的目标。他们还能够遍历列表。 | ||
== | |||
They appear in: | |||
*command blocks (the ''immediate'' and ''option'' sections of [[events]], or similar: effect, creation_effect, gain_effect, success, ...) | |||
*[[scripted effect]]s, which can reduce code duplication by grouping commands into re-usable macro. | |||
Scripting commands are different from [[console commands]], though there may be equivalents between the two. Also, any effect can be run in the console via the <code>effect</code> command. | |||
Available effects depend on the current scope. | |||
== 效果条件式 == | |||
These are the most important effects that are used to control the execution of other effects. | |||
{| class="wikitable sortable" width="100%" | {| class="wikitable sortable" width="100%" | ||
! width="15%" | | ! width="15%" | 名称 | ||
! width="15%" | | ! width="15%" | 描述 | ||
! width=" | ! width="45%" | 样例 | ||
! width=" | ! width="10%" | Supported scopes | ||
! width=" | ! width="10%" | Supported targets | ||
|- | |- | ||
| | |if | ||
| | | 如果满足if条件内容<triggers>,则会执行if描述的效果<effects> | ||
| | |<pre>if = { limit = { <triggers> } <effects> }</pre> | ||
|none | |||
| | |||
| | | | ||
|- | |- | ||
| | |else_if | ||
| | | 如果满足if条件内容<triggers>,则会执行if描述的效果<effects> ,否则如果如果满足else_if条件内容<triggers>,则会执行else_if描述的效果<effects> | ||
| | |<pre>if = { limit = { <triggers> } <effects> } | ||
| | else_if = { limit = { <triggers> } <effects> }</pre> | ||
|none | |||
| | | | ||
|- | |- | ||
| | |else | ||
| | | 如果满足if条件内容<triggers>,则会执行if描述的效果<effects> ,否则执行else描述的效果<effects>(该段括号内容为译者所加,鉴于ck3官网原文有些模糊,这里引用一下钢4wiki对效果条件式的描述:首先,limit是一个AND的触发器,也就是其中的所有条件都需要满足,如果limit中的内容没有满足,就开始检测else_if,直到else最后这个触发器(除非你没有写)。这其中的每一个触发器只要有一个触发器中的内容全部满足就会触发) | ||
| | |<pre>if = { limit = { <triggers> } <effects> } | ||
| | else = { <effects> }</pre> | ||
|none | |||
| | | | ||
|- | |- | ||
| | | while | ||
| | | Repeats enclosed effects while limit criteria are met or until set iteration count is reached | ||
| | | <pre>while = { | ||
| | limit = { <triggers> } | ||
| | <effects> | ||
} | |||
while = { count = 3 <effects> } | |||
Default max of 1000.</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | switch | ||
| | | Switch on a trigger for the evaluation of another trigger with an optional fallback trigger. | ||
| | | <pre>switch = { | ||
| | trigger = simple_assign_trigger | ||
| | case_1 = { <effects> } | ||
case_2 = { <effects> } | |||
case_n = { <effects> } | |||
fallback = { <effects> } | |||
}</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | hidden_effect | ||
| | | Effect not shown in tooltips | ||
| | | <pre>hidden_effect = { <effects> }</pre> | ||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | show_as_tooltip | ||
| | | Effect only shown in tooltips (but not executed) | ||
| | | <pre></pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | random | ||
| | | a random effect | ||
| | | <pre>random = { chance = X modifier = Y effects... } | ||
| | where X is a chance of the enclosed effects being fired and can be modified by optional value modifier list (AKA MTTH) Y</pre> | ||
| | | none | ||
| | |||
|- | |- | ||
| | | random_list | ||
| | | a random list effect | ||
| <pre>random_list = { | |||
| | X1 = { | ||
| | trigger = { ... } | ||
modifier/compare_modifier/opinion_modifier = Y1 | |||
effect1 | |||
} | |||
X2 = { ... } | |||
... | |||
} | |||
Selects one effect from the list and fires it. The effects are weighted by numbers X1, X2... (the higher the number, the higher the chance of the effect being picked). | |||
The chances can be modified by optional value modifier lists Y1, Y2... (AKA MTTH)</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | custom_description | ||
| | | Wraps effects that get a custom description instead of the auto-generated one. See also custom_description_no_bullet. | ||
| | | <pre>custom_description = { | ||
text = <effect_localization_key> | |||
| | subject = <optional subject scope> #defaults to current scope | ||
| | object = <optional object scope> | ||
value = <optional script value> | |||
... effects ... | |||
}</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | custom_tooltip | ||
| | | just a tooltip, the scope as subject (for grouping, localization). | ||
| | | <pre>custom_tooltip = { text = key subject = scope (optional) <hidden effects> } | ||
| | or just custom_tooltip = key</pre> | ||
| | | none | ||
| | |||
|- | |- | ||
| | | send_interface_message | ||
| | | Sends a message to the player playing the character in the scope and then executes any effects inside. | ||
| | | <pre>For the message text and tooltip, $EFFECT$ contains the text description of the effects in the past tense. | ||
And $DESC$ contains the text from the desc field. | |||
send_interface_message = { | |||
type = message_type # default: send_interface_message | |||
title = LOCALIZATION # optional, otherwise takes it from the message type | |||
desc = LOCALIZATION # optional, otherwise takes it from the message type | |||
tooltip = LOCALIZATION # optional, otherwise takes it from the message type | |||
< | left_icon = scope:recipient # optional, character, artifact, or title | ||
| | right_icon = scope:the_title # optional, character, artifact, or title | ||
| | goto = scope:the_title # optional, character, barony title, province will add a goto button | ||
# optional effects... | |||
add_dread = 5 | |||
scope:someone = { add_gold = 5 } | |||
}</pre> | |||
| character | |||
| | |||
|- | |- | ||
| | | send_interface_toast | ||
| | | Sends a message to the player playing the character in the scope and then executes any effects inside. | ||
| | | <pre>For the message text and tooltip, $EFFECT$ contains the text description of the effects in the past tense. | ||
| | And $DESC$ contains the text from the desc field. | ||
send_interface_toast = { | |||
type = message_type # default: send_interface_toast | |||
title = LOCALIZATION # optional, otherwise takes it from the message type | |||
desc = LOCALIZATION # optional, otherwise takes it from the message type | |||
tooltip = LOCALIZATION # optional, otherwise takes it from the message type | |||
left_icon = scope:recipient # optional, character, artifact, or title | |||
right_icon = scope:the_title # optional, character, artifact, or title | |||
goto = scope:the_title # optional, character, barony title, province will add a goto button | |||
# optional effects... | |||
add_dread = 5 | |||
scope:someone = { add_gold = 5 } | |||
}</pre> | |||
| character | |||
| | |||
|} | |||
== Dump Export == | |||
Current effects can be found in an '''''effects.log''''' file in your local data folder's script_documentation (defaults to "%USERPROFILE%\Documents\Paradox Interactive\Crusader Kings III\'''logs\'''"), after you have run the <code>script_docs</code> [[console_commands|command]] in the debug console. | |||
{| class="wikitable sortable" style="font-size:90%; text-align:left; width:100%" | |||
! Name !! Desc !! Example !! Scopes !! Target <!--!! Category--> | |||
|- | |- | ||
| | | add_long_term_gold | ||
| | | Add gold to 'long term' AI budget category, respecting maximums, overflow goes into Short Term budget. (gold will be created out of nowhere) | ||
| | | <pre>add_long_term_gold = X</pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | add_reserved_gold | ||
| | | Add gold to 'reserved' AI budget category, respecting maximums, overflow goes into Short Term budget. (gold will be created out of nowhere) | ||
| | | <pre>add_reserved_gold = X</pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | add_short_term_gold | ||
| | | Add gold to 'short term' AI budget category, respecting maximums, overflow goes into Short Term budget. (gold will be created out of nowhere) | ||
| | | <pre>add_short_term_gold = X</pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | add_war_chest_gold | ||
| | | Add gold to 'war chest' AI budget category, respecting maximums, overflow goes into Short Term budget. (gold will be created out of nowhere) | ||
| | | <pre>add_war_chest_gold = X</pre> | ||
| character | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | pay_reserved_gold | ||
| | | the scope character pays gold to the target character (from AI budget category 'reserved' first, then rest) | ||
| | | <pre>pay_reserved_gold = { target = X gold = Y }</pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | pay_reserved_income | ||
| | | the scope character immediately pays gold corresponding to their income to the target character (AI budget 'reserved' first, then rest) | ||
| <pre>pay_reserved_income = { target = X days/months/years = Y }</pre> | |||
| | | character | ||
| | | | ||
|- | |- | ||
| | | pay_war_chest_gold | ||
| | | the scope character pays gold to the target character (from AI budget category 'war_chest' first, then rest) | ||
| | | <pre>pay_war_chest_gold = { target = X gold = Y }</pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | pay_war_chest_income | ||
| | | the scope character immediately pays gold corresponding to their income to the target character (AI budget 'war_chest' first, then rest) | ||
| | | <pre>pay_war_chest_income = { target = X days/months/years = Y }</pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | remove_reserved_gold | ||
| | | removes gold from a character (from AI's 'reserved' budget first, then rest) | ||
| | |||
| | | character | ||
|character | |||
| | | | ||
|- | |- | ||
| | | remove_war_chest_gold | ||
| | | removes gold from a character (from AI's 'war chest' budget first, then rest) | ||
| | | | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | create_character_memory | ||
| | | Creates a memory for the character of a given type and participants plus an optional duration. Saved as scope:new_memory. | ||
| | | <pre>create_character_memory = { type = memory_type participants = { tag = scope } duration = { years = 3 } }</pre> | ||
| character | |||
| | |||
| | | | ||
|- | |- | ||
| | | destroy_character_memory | ||
| | | Destroys the targeted character memory, do not use the destroyed scope after calling this since it will have been removed | ||
| | | <pre>destroy_character_memory = character_memory</pre> | ||
| | | none | ||
| | | character memory | ||
|- | |- | ||
| | | equip_artifact_to_owner | ||
| | | Makes the owner of the scoped artifact equip it, will fail if there already is an equipment in the artifact's slot. | ||
| | | | ||
| | | artifact | ||
| | | | ||
|- | |- | ||
| | | equip_artifact_to_owner_replace | ||
| | | Makes the owner of the scoped artifact equip it, will replace the first held artifact if all slots of its type are filled. | ||
| | | | ||
| | | artifact | ||
| | | | ||
|- | |- | ||
| | | unequip_artifact_from_owner | ||
| | | Makes the owner of the scoped artifact unequip it. | ||
| | | | ||
| | | artifact | ||
| | | | ||
|- | |- | ||
| | | add_house_artifact_claim | ||
| | | Adds a claim on the target artifact to the scoped house | ||
| | | <pre></pre> | ||
| | | dynasty house | ||
| | | artifact | ||
|- | |- | ||
| | | every_memory | ||
|Iterate through all | | Iterate through all memories of a character | ||
| | | <pre>every_memory = { limit = { <triggers> } <effects> }</pre> | ||
| | | character | ||
|character | | character memory | ||
|- | |- | ||
| | | every_memory_participant | ||
|Iterate through all | | Iterate through all participating character of a memory | ||
| | | <pre>every_memory_participant = { limit = { <triggers> } <effects> }</pre> | ||
| character memory | |||
| character | |||
| | |||
| | |||
|- | |- | ||
| | | every_powerful_vassal | ||
|Iterate through all | | Iterate through the all powerful vassals of a character | ||
| | | <pre>every_powerful_vassal = { limit = { <triggers> } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | move_budget_gold | ||
| | | Move gold from one AI budget category to the other, will not move more than is available in the source budget or what can fit in the target budget | ||
| | | <pre>move_budget_gold = { gold = X from = Z to = Y } | ||
| | ('budget_war_chest', 'budget_reserved', 'budget_short_term', 'budget_long_term')</pre> | ||
| | | character | ||
| | |||
|- | |- | ||
| | | set_reserved_gold_maximum | ||
| | | Set the maximum (and also desired value) for the 'reserved' gold AI budget. This budget is saved up, even before the war chest budget. It will not correct the current gold in that budget to conform to the new maximum. | ||
| | | <pre>set_reserved_gold_maximum = X</pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | ordered_memory | ||
|Iterate through all | | Iterate through all memories of a character | ||
| | | <pre>ordered_memory = { | ||
| | limit = { <triggers> } | ||
|character | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character memory | |||
|- | |- | ||
| | | ordered_memory_participant | ||
|Iterate through all | | Iterate through all participating character of a memory | ||
| | | <pre>ordered_memory_participant = { | ||
| | limit = { <triggers> } | ||
|character | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character memory | |||
| character | |||
|- | |- | ||
| | | ordered_powerful_vassal | ||
|Iterate through all | | Iterate through the all powerful vassals of a character | ||
| | | <pre>ordered_powerful_vassal = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | random_memory | ||
|Iterate through | | Iterate through all memories of a character | ||
| <pre>random_memory = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| | | character | ||
| | | character memory | ||
| | |||
|- | |- | ||
| | | random_memory_participant | ||
|Iterate through all | | Iterate through all participating character of a memory | ||
| | | <pre>random_memory_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character memory | ||
| | | character | ||
|- | |- | ||
| | | random_powerful_vassal | ||
|Iterate through | | Iterate through the all powerful vassals of a character | ||
| | | <pre>random_powerful_vassal = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | set_house_name_from_dynasty | ||
| | | Sets dynasty house name from another dynasty's name | ||
| | | <pre>set_house_name_from_dynasty = dynasty</pre> | ||
| | | dynasty house | ||
| | | dynasty | ||
|- | |- | ||
| | | set_house_name_from_house | ||
| | | Sets dynasty house name from another dynasty house's name | ||
| | | <pre>set_house_name_from_house = house</pre> | ||
| | | dynasty house | ||
| | | dynasty house | ||
|- | |- | ||
| | | add_house_modifier | ||
| | | Add a modifier to a house | ||
| | | <pre>add_house_modifier = name | ||
| | add_house_modifier = { modifier = name days/weeks/months/years = int } | ||
| | You can also add an optional 'desc' field. This is a dynamic description that'll be used for your timed modifier</pre> | ||
| dynasty house | |||
| | |||
|- | |- | ||
| | | every_house_claimed_artifact | ||
| | | Iterate through all claimed artifacts of the scoped house | ||
| | | <pre>every_house_claimed_artifact = { limit = { <triggers> } <effects> }</pre> | ||
| | | dynasty house | ||
| | | artifact | ||
|- | |- | ||
| | | every_house_member | ||
| | | Iterate through all house members | ||
| | | <pre>every_house_member = { limit = { <triggers> } <effects> }</pre> | ||
| | | dynasty house | ||
| | | character | ||
|- | |- | ||
| | | ordered_house_claimed_artifact | ||
| | | Iterate through all claimed artifacts of the scoped house | ||
| <pre>ordered_house_claimed_artifact = { | |||
| | |||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第427行: | 第387行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | dynasty house | ||
| | | artifact | ||
|- | |- | ||
| | | ordered_house_member | ||
|Iterate through all | | Iterate through all house members | ||
| | | <pre>ordered_house_member = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第444行: | 第400行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
|landed title | | dynasty house | ||
| | | character | ||
|- | |||
| random_house_claimed_artifact | |||
| Iterate through all claimed artifacts of the scoped house | |||
| <pre>random_house_claimed_artifact = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| dynasty house | |||
| artifact | |||
|- | |||
| random_house_member | |||
| Iterate through all house members | |||
| <pre>random_house_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| dynasty house | |||
| character | |||
|- | |||
| remove_all_house_modifier_instances | |||
| Remove all instances of a modifier from a house | |||
| <pre>remove_all_house_modifier_instances = name</pre> | |||
| dynasty house | |||
| | |||
|- | |||
| remove_house_artifact_claim | |||
| Removes a claim on the target artifact from the scoped house | |||
| <pre></pre> | |||
| dynasty house | |||
| artifact | |||
|- | |||
| remove_house_modifier | |||
| Remove a modifier from a house | |||
| <pre>remove_house_modifier = name</pre> | |||
| dynasty house | |||
| | |||
|- | |||
| set_house_name | |||
| Sets dynasty house name | |||
| <pre>set_house_name=loc_key</pre> | |||
| dynasty house | |||
| | |||
|- | |||
| add_faction_discontent | |||
| add_faction_discontent = X adds (or subtracts) discontent to the scope faction | |||
| <pre></pre> | |||
| faction | |||
| | |||
|- | |||
| destroy_faction | |||
| the scoped faction is destroyed [yes|no] | |||
| <pre></pre> | |||
| faction | |||
| | |||
|- | |||
| every_faction_county_member | |||
| Iterate through all faction county members | |||
| <pre>every_faction_county_member = { limit = { <triggers> } <effects> }</pre> | |||
| faction | |||
| landed title | |||
|- | |||
| every_faction_member | |||
| Iterate through all faction character members | |||
| <pre>every_faction_member = { limit = { <triggers> } <effects> }</pre> | |||
| faction | |||
| character | |||
|- | |||
| faction_remove_war | |||
| Removes the war currently associated with the faction | |||
| <pre>faction_remove_war = yes</pre> | |||
| faction | |||
| | |||
|- | |||
| faction_start_war | |||
| The scope faction starts the war agains their target. | |||
| <pre>faction_start_war = { | |||
title = [optional] | |||
}</pre> | |||
| faction | |||
| | |||
|- | |- | ||
| | | ordered_faction_county_member | ||
|Iterate through all | | Iterate through all faction county members | ||
| | | <pre>ordered_faction_county_member = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第457行: | 第487行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
|landed title | | faction | ||
| landed title | |||
|- | |- | ||
| | | ordered_faction_member | ||
|Iterate through all | | Iterate through all faction character members | ||
| | | <pre>ordered_faction_member = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第470行: | 第500行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | faction | ||
|character | | character | ||
|- | |||
| random_faction_county_member | |||
| Iterate through all faction county members | |||
| <pre>random_faction_county_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| faction | |||
| landed title | |||
|- | |- | ||
| | | random_faction_member | ||
|Iterate through all | | Iterate through all faction character members | ||
| | | <pre>random_faction_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| faction | |||
| character | |||
|- | |||
| remove_special_character | |||
| Removes the special character for the scope faction | |||
| <pre></pre> | |||
| faction | |||
| | |||
|- | |||
| remove_special_title | |||
| Removes the special character for the scope faction | |||
| <pre></pre> | |||
| faction | |||
| | |||
|- | |||
| set_special_character | |||
| Sets the special character for the scope faction | |||
| <pre></pre> | |||
| faction | |||
| character | |||
|- | |||
| set_special_title | |||
| Sets the special title for the scope faction | |||
| <pre></pre> | |||
| faction | |||
| landed title | |||
|- | |||
| add_attacker | |||
| adds the target character to the scope war as an attacker | |||
| <pre></pre> | |||
| war | |||
| character | |||
|- | |||
| add_defender | |||
| adds the target character to the scope war as a defender | |||
| <pre></pre> | |||
| war | |||
| character | |||
|- | |||
| clear_claimant | |||
| Removes the claimant from a war | |||
| <pre></pre> | |||
| war | |||
| | |||
|- | |||
| end_war | |||
| ends the war with the specified winner, end_war = attacker/defender/white_peace | |||
| <pre></pre> | |||
| war | |||
| | |||
|- | |||
| every_war_attacker | |||
| Iterate through all attackers in the war | |||
| <pre>every_war_attacker = { limit = { <triggers> } <effects> }</pre> | |||
| war | |||
| character | |||
|- | |||
| every_war_defender | |||
| Iterate through all defenders in the war | |||
| <pre>every_war_defender = { limit = { <triggers> } <effects> }</pre> | |||
| war | |||
| character | |||
|- | |||
| every_war_participant | |||
| Iterate through all participants in the war | |||
| <pre>every_war_participant = { limit = { <triggers> } <effects> }</pre> | |||
| war | |||
| character | |||
|- | |||
| ordered_war_attacker | |||
| Iterate through all attackers in the war | |||
| <pre>ordered_war_attacker = { | |||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第483行: | 第591行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | war | ||
|character | | character | ||
|- | |- | ||
| | | ordered_war_defender | ||
|Iterate through all the | | Iterate through all defenders in the war | ||
| | | <pre>ordered_war_defender = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第496行: | 第604行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | war | ||
|character | | character | ||
|- | |- | ||
| | | ordered_war_participant | ||
|Iterate through all | | Iterate through all participants in the war | ||
| | | <pre>ordered_war_participant = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第509行: | 第617行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | war | ||
|character | | character | ||
|- | |||
| random_war_attacker | |||
| Iterate through all attackers in the war | |||
| <pre>random_war_attacker = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| war | |||
| character | |||
|- | |||
| random_war_defender | |||
| Iterate through all defenders in the war | |||
| <pre>random_war_defender = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| war | |||
| character | |||
|- | |||
| random_war_participant | |||
| Iterate through all participants in the war | |||
| <pre>random_war_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| war | |||
| character | |||
|- | |||
| remove_participant | |||
| removes the target character from the scope war | |||
| <pre></pre> | |||
| war | |||
| character | |||
|- | |||
| set_called_to | |||
| sets the target character as already called to the scope war | |||
| <pre></pre> | |||
| war | |||
| character | |||
|- | |||
| set_casus_belli | |||
| sets the casus belli of the scope war | |||
| <pre></pre> | |||
| war | |||
| | |||
|- | |||
| accept_invitation_for_character | |||
| accept a characters invitation to the activity | |||
| <pre></pre> | |||
| activity | |||
| character | |||
|- | |||
| complete_activity | |||
| completes the activity, complete_activity = yes ends the activity and runs the on_complete effect, complete_activity = no ends the activity without running the effect | |||
| <pre></pre> | |||
| activity | |||
| | |||
|- | |||
| decline_invitation_for_character | |||
| decline a characters invitation to the activity | |||
| <pre></pre> | |||
| activity | |||
| character | |||
|- | |||
| every_activity_declined | |||
| Iterate through all characters who declined an activity invite to a specific activity | |||
| <pre>every_activity_declined = { limit = { <triggers> } <effects> }</pre> | |||
| activity | |||
| character | |||
|- | |||
| every_activity_invited | |||
| Iterate through all characters who have unanswered invites to a specific activity | |||
| <pre>every_activity_invited = { limit = { <triggers> } <effects> }</pre> | |||
| activity | |||
| character | |||
|- | |||
| every_participant | |||
| Iterate through all participants in an activity | |||
| <pre>every_participant = { limit = { <triggers> } <effects> }</pre> | |||
| activity | |||
| character | |||
|- | |||
| invite_character_to_activity | |||
| invite a character to the activity | |||
| <pre></pre> | |||
| activity | |||
| character | |||
|- | |||
| move_activity | |||
| Moves activity and all members to given location | |||
| <pre>move_activity = scope:province</pre> | |||
| activity | |||
| province | |||
|- | |- | ||
| | | ordered_activity_declined | ||
|Iterate through all characters who | | Iterate through all characters who declined an activity invite to a specific activity | ||
| | | <pre>ordered_activity_declined = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第522行: | 第714行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | activity | ||
|character | | character | ||
|- | |- | ||
| | | ordered_activity_invited | ||
|Iterate through | | Iterate through all characters who have unanswered invites to a specific activity | ||
| <pre>ordered_activity_invited = { | |||
| | |||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第537行: | 第727行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | activity | ||
| | | character | ||
|- | |- | ||
| | | ordered_participant | ||
|Iterate through | | Iterate through all participants in an activity | ||
| <pre>ordered_participant = { | |||
| | |||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第552行: | 第740行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | activity | ||
| | | character | ||
|- | |- | ||
| | | random_activity_declined | ||
|Iterate through all | | Iterate through all characters who declined an activity invite to a specific activity | ||
| | | <pre>random_activity_declined = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| activity | |||
| character | |||
|- | |||
| random_activity_invited | |||
| Iterate through all characters who have unanswered invites to a specific activity | |||
| <pre>random_activity_invited = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| activity | |||
| character | |||
|- | |||
| random_participant | |||
| Iterate through all participants in an activity | |||
| <pre>random_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| activity | |||
| character | |||
|- | |||
| battle_event | |||
| Makes a battle event show up in combat, and the combat result summary. The key is used for loc, with '_friendly' or '_enemy' appended. If this side is not the player's side, the two portraits get flipped. battle_event = { left_portrait = someone right_portrait = someone key = string } | |||
| <pre></pre> | |||
| combat side | |||
| | |||
|- | |||
| every_side_commander | |||
| Iterate through all commanders (the commanders of every army on the side, not just the one leading the battle) | |||
| <pre>every_side_commander = { limit = { <triggers> } <effects> }</pre> | |||
| combat side | |||
| character | |||
|- | |||
| every_side_knight | |||
| Iterate through all knights | |||
| <pre>every_side_knight = { limit = { <triggers> } <effects> }</pre> | |||
| combat side | |||
| character | |||
|- | |||
| lose_combat | |||
| ends the combat as the losing side (doesn't end the combat if evaluated to false) | |||
| <pre></pre> | |||
| combat side | |||
| | |||
|- | |||
| ordered_side_commander | |||
| Iterate through all commanders (the commanders of every army on the side, not just the one leading the battle) | |||
| <pre>ordered_side_commander = { | |||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第565行: | 第795行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | combat side | ||
| | | character | ||
|- | |- | ||
| | | ordered_side_knight | ||
|Iterate through | | Iterate through all knights | ||
| | | <pre>ordered_side_knight = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第578行: | 第808行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | combat side | ||
|landed title | | character | ||
|- | |||
| random_side_commander | |||
| Iterate through all commanders (the commanders of every army on the side, not just the one leading the battle) | |||
| <pre>random_side_commander = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| combat side | |||
| character | |||
|- | |||
| random_side_knight | |||
| Iterate through all knights | |||
| <pre>random_side_knight = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| combat side | |||
| character | |||
|- | |||
| win_combat | |||
| ends the combat as the winning side (doesn't end the combat if evaluated to false) | |||
| <pre></pre> | |||
| combat side | |||
| | |||
|- | |||
| add_from_contribution_attackers | |||
| Adds prestige, gold and piety based on contribution to allied attackers. parameters: prestige, gold, piety. | |||
| <pre></pre> | |||
| casus belli | |||
| | |||
|- | |||
| add_from_contribution_defenders | |||
| Adds prestige, gold and piety based on contribution to allied defenders. parameters: prestige, gold, piety. | |||
| <pre></pre> | |||
| casus belli | |||
| | |||
|- | |||
| every_target_title | |||
| Iterate through all casus belli's target titles | |||
| <pre>every_target_title = { limit = { <triggers> } <effects> }</pre> | |||
| casus belli | |||
| landed title | |||
|- | |- | ||
| | | ordered_target_title | ||
| | | Iterate through all casus belli's target titles | ||
| | | <pre>ordered_target_title = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第591行: | 第857行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
|landed title | | casus belli | ||
|character | | landed title | ||
|- | |||
| random_target_title | |||
| Iterate through all casus belli's target titles | |||
| <pre>random_target_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| casus belli | |||
| landed title | |||
|- | |||
| add_loot | |||
| Adds loot to the currently scoped raiding army. | |||
| <pre>Usage: | |||
add_loot = VALUE</pre> | |||
| army | |||
| | |||
|- | |||
| assign_commander | |||
| Assign a commander for the scoped army | |||
| <pre>set_commander = scope:a_character</pre> | |||
| army | |||
| character | |||
|- | |||
| remove_commander | |||
| Removes the currently assigned commander from the scoped army | |||
| <pre>remove_commander = yes</pre> | |||
| army | |||
| | |||
|- | |||
| set_army_location | |||
| Teleports the army to the given location. Cannot be done while in combat. Will cause combat to happen with this army as the attacker if there's hostiles in the target | |||
| <pre>set_army_location = scope:province</pre> | |||
| army | |||
| province | |||
|- | |||
| add_artifact_history | |||
| Adds a history entry to the artifact, could for example be a reforging event | |||
| <pre> | |||
type = enum - history entry type | |||
date = jomini date - when this historical event took place | |||
actor = character - who is the actor in the event, for example who created it | |||
recipient = character - who is the recipient in the event, for example who was the artifact given to | |||
location = province - where the event took place</pre> | |||
| artifact | |||
| | |||
|- | |||
| add_artifact_modifier | |||
| Adds a static modifier to the given artifact | |||
| <pre>add_artifact_modifier = modifier_name | |||
NOTE: does not support duration!</pre> | |||
| artifact | |||
| | |||
|- | |||
| add_artifact_title_history | |||
| Adds the title history of the given title to the scoped artifacts history | |||
| <pre> | |||
add_artifact_title_history = {} | |||
target = title scope - landed title to take history from | |||
date = game date - from which date onwards to copy historical entries</pre> | |||
| artifact | |||
| | |||
|- | |||
| add_durability | |||
| Add this much to the artifacts durability | |||
| <pre></pre> | |||
| artifact | |||
| | |||
|- | |||
| clear_artifact_modifiers | |||
| Removes all modifiers from the scoped artifact | |||
| <pre>clear_artifact_modifiers = yes</pre> | |||
| artifact | |||
| | |||
|- | |||
| copy_artifact_modifiers | |||
| Copies the modifiers of the target artifact. Does *not* clear out existing modifiers | |||
| <pre>copy_artifact_modifiers = target_artifact</pre> | |||
| artifact | |||
| artifact | |||
|- | |||
| every_artifact_claimant | |||
| Iterate through all characters with a claim on the scoped artifact | |||
| <pre>every_artifact_claimant = { limit = { <triggers> } <effects> }</pre> | |||
| artifact | |||
| character | |||
|- | |||
| every_artifact_house_claimant | |||
| Iterate through all dynasty houses with a claim on the scoped artifact | |||
| <pre>every_artifact_house_claimant = { limit = { <triggers> } <effects> }</pre> | |||
| artifact | |||
| dynasty house | |||
|- | |- | ||
| | | ordered_artifact_claimant | ||
|Iterate through all | | Iterate through all characters with a claim on the scoped artifact | ||
| | | <pre>ordered_artifact_claimant = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第604行: | 第958行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | artifact | ||
| | | character | ||
|- | |- | ||
| | | ordered_artifact_house_claimant | ||
| | | Iterate through all dynasty houses with a claim on the scoped artifact | ||
| | | <pre>ordered_artifact_house_claimant = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第617行: | 第971行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | artifact | ||
| | | dynasty house | ||
|- | |||
| random_artifact_claimant | |||
| Iterate through all characters with a claim on the scoped artifact | |||
| <pre>random_artifact_claimant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| artifact | |||
| character | |||
|- | |||
| random_artifact_house_claimant | |||
| Iterate through all dynasty houses with a claim on the scoped artifact | |||
| <pre>random_artifact_house_claimant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| artifact | |||
| dynasty house | |||
|- | |- | ||
| | | reforge_artifact | ||
| | | Reforges the given artifact, restoring its durability and potentially changing any other attributes such as type or modifiers unless those fields are left empty | ||
| <pre> | |||
Be aware that we make use of the current scopes implicitly. This is done in common/artifacts/visuals | |||
name = dynamic description - artifact name | |||
description = dynamic description - artifact description | |||
rarity = enum - artifact rarity, ex. legendary | |||
type = flag - inventory slot type, ex. trinket | |||
modifier = static modifier - applied to the character whom wields this artifact | |||
< | durability = script value - new durability, will be max by default | ||
| | max_durability = script value - Optional. A value for the max durability, which would override the one normally assigned by the defines | ||
| | decaying = yes/no - Optional. Set if artifact decays with time. Yes by default | ||
history = artifact history entry - custom history entry to denote for example that this is artifact was reforged by someone else than the owner | |||
type = artifact history entry type - available types: | |||
created_before_history | |||
created | |||
discovered | |||
claimed_by_house | |||
given | |||
stolen | |||
inherited | |||
conquest | |||
taken_in_siege | |||
taken_in_battle | |||
won_in_duel | |||
reforged | |||
template = artifact scripted template - a scripted base template with triggers and modifiers | |||
visuals = artifact visual type - how this artifact should appear visually | |||
generate_history = bool - automatically generate a new history entry if none has been scripted? | |||
quality = script value - new quality, used in AI scoring | |||
wealth = script value - new wealth, used in AI scoring | |||
creator = character scope - set a custom creator of the artifact ( default is the owner ) | |||
visuals_source = scope containing landed title, dynasty or house - set a source of coat of arms graphics for the artifact | |||
(only few artifact models actually make use of it. Most notable - banners)</pre> | |||
| artifact | |||
| | |||
|- | |- | ||
| | | remove_artifact_feature_group | ||
| | | Removes th feature from the specified group from the artifact. | ||
| | | <pre>Cannot remove required groups. | ||
remove_artifact_feature_group = key</pre> | |||
| artifact | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | remove_artifact_modifier | ||
| | | Removes a static modifier to the given artifact | ||
| | | <pre>remove_artifact_modifier = modifier_name | ||
NOTE: does not support duration!</pre> | |||
| artifact | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | set_artifact_description | ||
| | | Sets the description of the given artifact | ||
| | | <pre>set_artifact_description = dynamic desc</pre> | ||
| artifact | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | set_artifact_feature | ||
| | | Sets the specified feature on the artifact. | ||
| | | <pre>If there's already a feature of that group, it gets overridden. | ||
set_artifact_feature = key</pre> | |||
| artifact | |||
| | |||
< | |||
| | |||
| | |||
|- | |- | ||
| | | set_artifact_feature_group | ||
| | | Sets a feature from the specified group on the artifact. | ||
| | | <pre>Uses the current scopes. Uses the weighting from the group. | ||
If there's already a feature of that group, it gets overridden. | |||
set_artifact_feature_group = key</pre> | |||
| artifact | |||
| | |||
< | |||
| | |||
| | |||
|- | |- | ||
| | | set_artifact_name | ||
| | | Sets the name of the given artifact | ||
| | | <pre>set_artifact_name = dynamic name</pre> | ||
| artifact | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | set_artifact_rarity | ||
| | | Sets the rarity of the scoped artifact. Note that this does not update graphics and the like | ||
| | | <pre>set_artifact_rarity = common</pre> | ||
| artifact | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | set_max_durability | ||
| | | Sets the artifact's max durability | ||
| | | <pre></pre> | ||
| artifact | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | set_owner | ||
| | | Change the artifacts owner and transfer it to the given character | ||
| | | <pre> | ||
| | set_artifact_owner = {} | ||
| | target = character scope - the new owner character | ||
history = artifact history entry - custom history entry to denote for example that this is artifact was stolen rather than given | |||
generate_history = bool - automatically generate a new history entry if none has been scripted?</pre> | |||
| artifact | |||
| | |||
|- | |- | ||
| | | set_should_decay | ||
| | | Set if the scoped artifact should decay with time or not | ||
| <pre>set_should_decay = yes/no</pre> | |||
| artifact | |||
| | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | generate_coa | ||
| | | Generates a coat of arms for the scoped landed title, dynasty or house | ||
| | | <pre>generate_coa = yes</pre> | ||
|landed title | | landed title, dynasty, dynasty house | ||
| | | | ||
|- | |- | ||
| | | reset_coa | ||
| | | Rest the coat of arms for the scoped landed title, dynasty or house to its template | ||
| | | <pre>reset_coa = yes</pre> | ||
|landed title | | landed title, dynasty, dynasty house | ||
| | | | ||
|- | |- | ||
| | | set_coa | ||
| | | Sets the coat of arms of a landed title, dynasty, or house to the right hand side coat of arms or that of an object of the same type | ||
| | | <pre>set_coa = k_england | ||
|landed title | set_coa = scope:new_coa</pre> | ||
| | | landed title, dynasty, dynasty house | ||
| | |||
|- | |- | ||
| | | add_county_modifier | ||
| | | Add a modifier to a county | ||
| | | <pre>add_county_modifier = name | ||
|landed title | add_county_modifier = { modifier = name days/weeks/months/years = int } | ||
| | You can also add an optional 'desc' field. This is a dynamic description that'll be used for your timed modifier</pre> | ||
| landed title | |||
| | |||
|- | |- | ||
| | | change_county_control | ||
| | | Changes the county control of a title. If the title has higher tier than county, the effect will propagate down to all counties below it. | ||
| | | <pre></pre> | ||
|landed title | | landed title | ||
| | | | ||
|- | |- | ||
| | | change_de_jure_drift_progress | ||
| | | Change the progress of de jure drift of a title<drifting_title> = { change_de_jure_drift_progress = { target = <drift_target_title> values = <progress_change_value> } } | ||
| <pre></pre> | |||
|landed title | | landed title | ||
| | | | ||
|- | |- | ||
| | | change_development_level | ||
| | | Changes the development level of a title. If the title has higher tier than county, the effect will propagate down to all counties below it. | ||
| <pre></pre> | |||
| landed title | |||
| | | | ||
|landed title | |||
| | |||
|- | |- | ||
| | | change_development_progress | ||
| | | Changes the development progress of a title. If the title has higher tier than county, the effect will propagate down to all counties below it. | ||
| <pre></pre> | |||
| landed title | |||
| | | | ||
|landed title | |||
| | |||
|- | |- | ||
| | | change_development_progress_with_overflow | ||
| | | Changes the development progress of a title. If the title has higher tier than county, the effect will propagate down to all counties below it. Will overflow, so adding +100 to a county with 50 progress left will increase the level by 1 and result in 50 progress towards the next level | ||
| | | <pre></pre> | ||
|landed title | | landed title | ||
| | | | ||
|- | |- | ||
| | | clear_title_laws | ||
| | | remove all title laws from the scoped title. DOES NOT apply law removal costs and effects. | ||
| | | <pre>clear_title_laws = yes</pre> | ||
|landed title | | landed title | ||
| | | | ||
|- | |- | ||
| | | clear_title_laws_effects | ||
| | | remove all title laws from the scoped title. DOES apply law removal costs and effects. | ||
| | | <pre>clear_title_laws_effects = yes</pre> | ||
|landed title | | landed title | ||
| | | | ||
|- | |- | ||
| | | copy_title_history | ||
| | | Copy title history from another title | ||
| | | <pre>copy_title_history = source_title</pre> | ||
|landed title | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | every_past_holder | ||
| | | Iterate through all past owners of a title from earliest to latest | ||
| | | <pre>every_any_past_holder = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | character | ||
|- | |- | ||
| | | every_past_holder_reversed | ||
| | | Iterate through all past owners of a title from latest to earliest | ||
| | | <pre>every_any_past_holder_reversed = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | character | ||
|- | |- | ||
| | | every_claimant | ||
| | | Iterate through all claimants to title. parameters: explicit = yes/no/all - default yes | ||
| | | <pre>every_claimant = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | character | ||
|- | |- | ||
| | | every_connected_county | ||
| | | Iterate through all counties connected to this one. Is based on top liege | ||
| | | <pre>any/every/whatever_connectec_county = { | ||
|landed title | max_naval_distance = 500 | ||
|landed title | allow_one_county_land_gap = yes | ||
every_connected_county = { limit = { <triggers> } <effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | every_controlled_faith | ||
| | | Iterate through all faiths headed by a title | ||
| | | <pre>every_controlled_faith = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | faith | ||
|- | |- | ||
| | | every_county_province | ||
| | | Iterate through all provinces in a county | ||
| | | <pre>every_county_province = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | province | ||
|- | |- | ||
| | | every_county_struggle | ||
| | | Iterate through all struggles that a county is involved in. | ||
| | | <pre>every_county_struggle = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | struggle | ||
|- | |- | ||
| | | every_de_jure_county | ||
| | | Iterate through all counties within this dejure title | ||
| | | <pre>every_de_jure_county = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
|landed title | | landed title | ||
|- | |- | ||
| | | every_de_jure_county_holder | ||
| | | Iterate through all characters directly holding counties within this dejure title | ||
| | | <pre>every_de_jure_county_holder = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | character | ||
|- | |- | ||
| | | every_de_jure_top_liege | ||
| | | Iterate through all top lieges of the counts within this dejure title | ||
| | | <pre>every_de_jure_top_liege = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | character | ||
|- | |- | ||
| | | every_dejure_vassal_title_holder | ||
| | | Iterate through all the vassal holders of the title | ||
| | | <pre>every_dejure_vassal_title_holder = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | character | ||
|- | |- | ||
| | | every_direct_de_facto_vassal_title | ||
| | | Iterate through all de facto vassal titles | ||
| | | <pre>every_direct_de_facto_vassal_title = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | every_direct_de_jure_vassal_title | ||
| | | Iterate through the all de jure vassals titles | ||
| | | <pre>every_direct_de_jure_vassal_title = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | every_election_candidate | ||
| | | Iterate through all characters who are valid candidates in an election for a title | ||
| | | <pre>every_election_candidate = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | character | ||
|- | |- | ||
| | | every_elector | ||
| | | Iterate through all characters who are valid electors in an election for a title | ||
| | | <pre>every_elector = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | character | ||
|- | |- | ||
| | | every_in_de_facto_hierarchy | ||
| | | Iterate through the title itself, all de facto vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal | ||
| | | <pre>This is unrelated to the limit; if the limit is met it is added to the list, but its vassals will get checked even if the limit isn't met as long as the 'continue' trigger is | ||
|landed title | ..._de_jure_vassal_and_below = { continue = { conditions } } | ||
| | every_in_de_facto_hierarchy = { limit = { <triggers> } <effects> }</pre> | ||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | every_in_de_jure_hierarchy | ||
| | | Iterate through the title itself, all de jure vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal | ||
| | | <pre>This is unrelated to the limit; if the limit is met it is added to the list, but its vassals will get checked even if the limit isn't met as long as the 'continue' trigger is | ||
|landed title | ..._de_jure_vassal_and_below = { continue = { conditions } } | ||
|landed title | every_in_de_jure_hierarchy = { limit = { <triggers> } <effects> }</pre> | ||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | every_neighboring_county | ||
| | | Iterate through all neighboring counties. Can only be used in county scope | ||
| | | <pre>every_neighboring_county = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
|landed title | | landed title | ||
|- | |- | ||
| | | every_this_title_or_de_jure_above | ||
| | | Iterate through this title and all its dejure liege titles | ||
| | | <pre>every_this_title_or_de_jure_above = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | every_title_heir | ||
| | | Line of succession for the scoped title | ||
| | | <pre>every_title_heir = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | character | ||
|- | |- | ||
| | | every_title_joined_faction | ||
| | | Iterate through all factions joined the scope landed title | ||
| | | <pre>every_title_joined_faction = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | faction | ||
|- | |- | ||
| | | every_title_to_title_neighboring_and_across_water_county | ||
| | | Scopes from a title to a neighboring county (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>every_title_to_title_neighboring_and_across_water_county = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | every_title_to_title_neighboring_and_across_water_duchy | ||
| | | Scopes from a title to a neighboring duchy (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>every_title_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | every_title_to_title_neighboring_and_across_water_empire | ||
| | | Scopes from a title to a neighboring empire (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>every_title_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | every_title_to_title_neighboring_and_across_water_kingdom | ||
| | | Scopes from a title to a neighboring kingdom (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>every_title_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | every_title_to_title_neighboring_county | ||
| | | Scopes from a title to a neighboring county (looking trough the de Jure lieges) | ||
| | | <pre>every_title_to_title_neighboring_county = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | every_title_to_title_neighboring_duchy | ||
| | | Scopes from a title to a neighboring duchy (looking trough the de Jure lieges) | ||
| | | <pre>every_title_to_title_neighboring_duchy = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | every_title_to_title_neighboring_empire | ||
| | | Scopes from a title to a neighboring empire (looking trough the de Jure lieges) | ||
| | | <pre>every_title_to_title_neighboring_empire = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | every_title_to_title_neighboring_kingdom | ||
| | | Scopes from a title to a neighboring kingdom (looking trough the de Jure lieges) | ||
| | | <pre>every_title_to_title_neighboring_kingdom = { limit = { <triggers> } <effects> }</pre> | ||
|landed title | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | lease_out_to | ||
|the scoped | | Lease out the scoped title | ||
| | | <pre>lease_out_to = scope:a_holy_order</pre> | ||
|landed title | | landed title | ||
| | | holy order | ||
|- | |- | ||
| | | ordered_past_holder | ||
| | | Iterate through all past owners of a title from earliest to latest | ||
| <pre>ordered_any_past_holder = { | |||
|landed title | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| character | |||
|- | |- | ||
| | | ordered_past_holder_reversed | ||
| | | Iterate through all past owners of a title from latest to earliest | ||
| <pre>ordered_any_past_holder_reversed = { | |||
|landed title | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| character | |||
|- | |- | ||
| | | ordered_claimant | ||
| | | Iterate through all claimants to title. parameters: explicit = yes/no/all - default yes | ||
| <pre>ordered_claimant = { | |||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| character | |||
|- | |- | ||
| | | ordered_connected_county | ||
| | | Iterate through all counties connected to this one. Is based on top liege | ||
| <pre>any/every/whatever_connectec_county = { | |||
| | max_naval_distance = 500 | ||
| | allow_one_county_land_gap = yes | ||
ordered_connected_county = { | |||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | ordered_controlled_faith | ||
| | | Iterate through all faiths headed by a title | ||
| | | <pre>ordered_controlled_faith = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| faith | |||
|- | |- | ||
| | | ordered_county_province | ||
| | | Iterate through all provinces in a county | ||
| <pre>ordered_county_province = { | |||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| province | |||
|- | |- | ||
| | | ordered_county_struggle | ||
| | | Iterate through all struggles that a county is involved in. | ||
| | | <pre>ordered_county_struggle = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| struggle | |||
|- | |- | ||
| | | ordered_de_jure_county | ||
| | | Iterate through all counties within this dejure title | ||
| | | <pre>ordered_de_jure_county = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | ordered_de_jure_county_holder | ||
| | | Iterate through all characters directly holding counties within this dejure title | ||
| | | <pre>ordered_de_jure_county_holder = { | ||
|character | limit = { <triggers> } | ||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| character | |||
|- | |- | ||
| | | ordered_de_jure_top_liege | ||
| | | Iterate through all top lieges of the counts within this dejure title | ||
| | | <pre>ordered_de_jure_top_liege = { | ||
limit = { <triggers> } | |||
| | order_by = script_value | ||
| | position = int | ||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| character | |||
|- | |- | ||
| | | ordered_dejure_vassal_title_holder | ||
| | | Iterate through all the vassal holders of the title | ||
| <pre>ordered_dejure_vassal_title_holder = { | |||
| | limit = { <triggers> } | ||
|character | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| character | |||
|- | |- | ||
| | | ordered_direct_de_facto_vassal_title | ||
| | | Iterate through all de facto vassal titles | ||
| <pre>ordered_direct_de_facto_vassal_title = { | |||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | ordered_direct_de_jure_vassal_title | ||
| | | Iterate through the all de jure vassals titles | ||
| | | <pre>ordered_direct_de_jure_vassal_title = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | ordered_election_candidate | ||
| | | Iterate through all characters who are valid candidates in an election for a title | ||
| | | <pre>ordered_election_candidate = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| character | |||
|- | |- | ||
| | | ordered_elector | ||
| | | Iterate through all characters who are valid electors in an election for a title | ||
| | | <pre>ordered_elector = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| character | |||
|- | |- | ||
| | | ordered_in_de_facto_hierarchy | ||
| | | Iterate through the title itself, all de facto vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal | ||
| <pre>This is unrelated to the limit; if the limit is met it is added to the list, but its vassals will get checked even if the limit isn't met as long as the 'continue' trigger is | |||
| | ..._de_jure_vassal_and_below = { continue = { conditions } } | ||
ordered_in_de_facto_hierarchy = { | |||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | ordered_in_de_jure_hierarchy | ||
| | | Iterate through the title itself, all de jure vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal | ||
| <pre>This is unrelated to the limit; if the limit is met it is added to the list, but its vassals will get checked even if the limit isn't met as long as the 'continue' trigger is | |||
| | ..._de_jure_vassal_and_below = { continue = { conditions } } | ||
ordered_in_de_jure_hierarchy = { | |||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | ordered_neighboring_county | ||
| | | Iterate through all neighboring counties. Can only be used in county scope | ||
| <pre>ordered_neighboring_county = { | |||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | ordered_this_title_or_de_jure_above | ||
| | | Iterate through this title and all its dejure liege titles | ||
| <pre>ordered_this_title_or_de_jure_above = { | |||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | ordered_title_heir | ||
| | | Line of succession for the scoped title | ||
| | | <pre>ordered_title_heir = { | ||
|character | limit = { <triggers> } | ||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| character | |||
|- | |- | ||
| | | ordered_title_joined_faction | ||
| | | Iterate through all factions joined the scope landed title | ||
| | | <pre>ordered_title_joined_faction = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| faction | |||
|- | |- | ||
| | | ordered_title_to_title_neighboring_and_across_water_county | ||
| | | Scopes from a title to a neighboring county (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>ordered_title_to_title_neighboring_and_across_water_county = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | ordered_title_to_title_neighboring_and_across_water_duchy | ||
| | | Scopes from a title to a neighboring duchy (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>ordered_title_to_title_neighboring_and_across_water_duchy = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | ordered_title_to_title_neighboring_and_across_water_empire | ||
| | | Scopes from a title to a neighboring empire (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>ordered_title_to_title_neighboring_and_across_water_empire = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | ordered_title_to_title_neighboring_and_across_water_kingdom | ||
| | | Scopes from a title to a neighboring kingdom (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>ordered_title_to_title_neighboring_and_across_water_kingdom = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | ordered_title_to_title_neighboring_county | ||
| | | Scopes from a title to a neighboring county (looking trough the de Jure lieges) | ||
| | | <pre>ordered_title_to_title_neighboring_county = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | ordered_title_to_title_neighboring_duchy | ||
| | | Scopes from a title to a neighboring duchy (looking trough the de Jure lieges) | ||
| | | <pre>ordered_title_to_title_neighboring_duchy = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | ordered_title_to_title_neighboring_empire | ||
| | | Scopes from a title to a neighboring empire (looking trough the de Jure lieges) | ||
| | | <pre>ordered_title_to_title_neighboring_empire = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | ordered_title_to_title_neighboring_kingdom | ||
| | | Scopes from a title to a neighboring kingdom (looking trough the de Jure lieges) | ||
| | | <pre>ordered_title_to_title_neighboring_kingdom = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | random_past_holder | ||
| | | Iterate through all past owners of a title from earliest to latest | ||
| | | <pre>random_any_past_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | landed title | ||
| | | character | ||
|- | |- | ||
| | | random_past_holder_reversed | ||
| | | Iterate through all past owners of a title from latest to earliest | ||
| | | <pre>random_any_past_holder_reversed = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | landed title | ||
| | | character | ||
|- | |- | ||
| | | random_claimant | ||
| | | Iterate through all claimants to title. parameters: explicit = yes/no/all - default yes | ||
| | | <pre>random_claimant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
|character | | landed title | ||
| character | |||
|- | |- | ||
| | | random_connected_county | ||
| | | Iterate through all counties connected to this one. Is based on top liege | ||
| | | <pre>any/every/whatever_connectec_county = { | ||
| | max_naval_distance = 500 | ||
| | allow_one_county_land_gap = yes | ||
random_connected_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | random_controlled_faith | ||
| | | Iterate through all faiths headed by a title | ||
| | | <pre>random_controlled_faith = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | landed title | ||
| | | faith | ||
|- | |- | ||
| | | random_county_province | ||
| | | Iterate through all provinces in a county | ||
| | | <pre>random_county_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | landed title | ||
| | | province | ||
|- | |- | ||
| | | random_county_struggle | ||
| | | Iterate through all struggles that a county is involved in. | ||
| | | <pre>random_county_struggle = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | landed title | ||
| | | struggle | ||
|- | |- | ||
| | | random_de_jure_county | ||
| | | Iterate through all counties within this dejure title | ||
| | | <pre>random_de_jure_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| landed title | |||
| landed title | |||
| | |||
|- | |- | ||
| | | random_de_jure_county_holder | ||
| | | Iterate through all characters directly holding counties within this dejure title | ||
| | | <pre>random_de_jure_county_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
|character | | landed title | ||
| character | |||
|- | |- | ||
| | | random_de_jure_top_liege | ||
| | | Iterate through all top lieges of the counts within this dejure title | ||
| | | <pre>random_de_jure_top_liege = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| landed title | |||
| character | |||
|character | |||
|- | |- | ||
| | | random_dejure_vassal_title_holder | ||
| | | Iterate through all the vassal holders of the title | ||
| | | <pre>random_dejure_vassal_title_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | landed title | ||
| | | character | ||
|- | |- | ||
| | | random_direct_de_facto_vassal_title | ||
| | | Iterate through all de facto vassal titles | ||
| | | <pre>random_direct_de_facto_vassal_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | random_direct_de_jure_vassal_title | ||
| | | Iterate through the all de jure vassals titles | ||
| | | <pre>random_direct_de_jure_vassal_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | random_election_candidate | ||
| | | Iterate through all characters who are valid candidates in an election for a title | ||
| | | <pre>random_election_candidate = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
|character | | landed title | ||
| character | |||
|- | |- | ||
| | | random_elector | ||
| | | Iterate through all characters who are valid electors in an election for a title | ||
| | | <pre>random_elector = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | landed title | ||
| | | character | ||
|- | |- | ||
| | | random_in_de_facto_hierarchy | ||
| | | Iterate through the title itself, all de facto vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal | ||
| | | <pre>This is unrelated to the limit; if the limit is met it is added to the list, but its vassals will get checked even if the limit isn't met as long as the 'continue' trigger is | ||
..._de_jure_vassal_and_below = { continue = { conditions } } | |||
| | random_in_de_facto_hierarchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | random_in_de_jure_hierarchy | ||
| | | Iterate through the title itself, all de jure vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal | ||
| | | <pre>This is unrelated to the limit; if the limit is met it is added to the list, but its vassals will get checked even if the limit isn't met as long as the 'continue' trigger is | ||
| | ..._de_jure_vassal_and_below = { continue = { conditions } } | ||
| | random_in_de_jure_hierarchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| landed title | |||
| landed title | |||
|- | |||
| random_neighboring_county | |||
| Iterate through all neighboring counties. Can only be used in county scope | |||
| <pre>random_neighboring_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |||
| random_this_title_or_de_jure_above | |||
| Iterate through this title and all its dejure liege titles | |||
| <pre>random_this_title_or_de_jure_above = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| landed title | |||
| landed title | |||
|- | |- | ||
| | | random_title_heir | ||
| | | Line of succession for the scoped title | ||
| <pre>random_title_heir = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| landed title | |||
| character | |||
| | |||
|character | |||
|- | |- | ||
| | | random_title_joined_faction | ||
| | | Iterate through all factions joined the scope landed title | ||
| <pre>random_title_joined_faction = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| landed title | |||
| faction | |||
| | |||
| | |||
|- | |- | ||
| | | random_title_to_title_neighboring_and_across_water_county | ||
| | | Scopes from a title to a neighboring county (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>random_title_to_title_neighboring_and_across_water_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | random_title_to_title_neighboring_and_across_water_duchy | ||
| | | Scopes from a title to a neighboring duchy (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>random_title_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | landed title | ||
|landed title | | landed title | ||
|- | |- | ||
| | | random_title_to_title_neighboring_and_across_water_empire | ||
| | | Scopes from a title to a neighboring empire (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>random_title_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | random_title_to_title_neighboring_and_across_water_kingdom | ||
| | | Scopes from a title to a neighboring kingdom (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>random_title_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | random_title_to_title_neighboring_county | ||
| | | Scopes from a title to a neighboring county (looking trough the de Jure lieges) | ||
| | | <pre>random_title_to_title_neighboring_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | random_title_to_title_neighboring_duchy | ||
| | | Scopes from a title to a neighboring duchy (looking trough the de Jure lieges) | ||
| | | <pre>random_title_to_title_neighboring_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | random_title_to_title_neighboring_empire | ||
| | | Scopes from a title to a neighboring empire (looking trough the de Jure lieges) | ||
| | | <pre>random_title_to_title_neighboring_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | random_title_to_title_neighboring_kingdom | ||
| | | Scopes from a title to a neighboring kingdom (looking trough the de Jure lieges) | ||
| | | <pre>random_title_to_title_neighboring_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| landed title | |||
| landed title | |||
| | |||
|- | |- | ||
| | | remove_all_county_modifier_instances | ||
| | | Remove all instances of a modifier from a county | ||
| | | <pre>remove_all_county_modifier_instances = name</pre> | ||
| | | landed title | ||
| | | | ||
|- | |- | ||
| | | remove_county_modifier | ||
| | | Remove a modifier from a county | ||
| | | <pre>remove_county_modifier = name</pre> | ||
| | | landed title | ||
| | | | ||
|- | |- | ||
| | | reset_title_name | ||
| | | Sets the name and adjective of the scoped title back to being based on its key. Won't cause the prefix to change | ||
| | | <pre>reset_title_name = yes</pre> | ||
| | | landed title | ||
| | | | ||
|- | |- | ||
| | | reset_title_prefix | ||
| | | Sets the prefix of the scoped title back to being based on its key. Won't cause its adjective or name to change | ||
| | | <pre>reset_title_prefix = yes</pre> | ||
| | | landed title | ||
| | | | ||
|- | |- | ||
| | | revoke_lease | ||
| | | Revoke the lease of the scoped title | ||
| | | <pre>revoke_lease = yes</pre> | ||
| | | landed title | ||
| | | | ||
|- | |- | ||
| | | set_always_follows_primary_heir | ||
| | | Sets if the title should always go to the primary heir in partition succession | ||
| | | <pre>set_always_follows_primary_heir = yes</pre> | ||
| | | landed title | ||
| | | | ||
|- | |- | ||
| | | set_can_be_named_after_dynasty | ||
| | | Sets if the title can be named after it's holder's dynasty. set_can_be_named_after_dynasty_effect = no | ||
| | | <pre></pre> | ||
| | | landed title | ||
| | | | ||
|- | |- | ||
| | | set_capital_barony | ||
| | | Sets scoped barony to be the county capital | ||
| | | <pre>set_capital_barony = yes</pre> | ||
| landed title | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | set_capital_county | ||
| | | Sets the capital county of the title to the target county | ||
| | | <pre>set_capital_county = <some county title></pre> | ||
| | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | set_color_from_title | ||
| | | Sets the color of the title to the same as the target title (shifted very slightly to not be identical) | ||
| | | <pre>set_color_from_title = <some title></pre> | ||
| | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | set_county_culture | ||
| | | sets the culture of a county | ||
| | | <pre>usage: | ||
| | set_county_culture = culture:english/root.character_culture</pre> | ||
| | | landed title | ||
| culture | |||
|- | |- | ||
| | | set_county_faith | ||
| | | Changes what faith a county has | ||
| | | <pre></pre> | ||
| | | landed title | ||
| | | faith | ||
|- | |- | ||
| | | set_de_jure_liege_title | ||
| | | Set a new DeJure liege title | ||
| | | <pre>set_de_jure_liege_title = new_de_jure_liege</pre> | ||
| | | landed title | ||
| | | landed title | ||
|- | |- | ||
| | | set_definitive_form | ||
|' | | Sets if the title should use a definitive form name (no 'Kingdom of') | ||
| | | <pre>set_definitive_form = yes</pre> | ||
| | | landed title | ||
| | | | ||
|- | |- | ||
| | | set_delete_on_destroy | ||
| | | Sets if the title should be deleted from the gamestate completely when it is destroyed. set_delete_on_destroy = yes | ||
| | | <pre></pre> | ||
| | | landed title | ||
| | | | ||
|- | |- | ||
| | | set_destroy_if_invalid_heir | ||
| | | Sets if the title should be destroyed on succession if there's no heir matching its restrictions. set_destroy_if_invalid_heir = yes | ||
| | | <pre></pre> | ||
| | | landed title | ||
| | | | ||
|- | |- | ||
| | | set_destroy_on_gain_same_tier | ||
| | | Sets if the title should be deleted from the gamestate completely when character gains or create a new title with the same tier.set_destroy_on_gain_same_tier = yes | ||
| | | <pre></pre> | ||
| | | landed title | ||
| | | | ||
|- | |- | ||
| | | set_destroy_on_succession | ||
| | | Sets if the title should be destroyed on succession. set_destroy_on_succession = yes | ||
| | | <pre></pre> | ||
| | | landed title | ||
| | | | ||
|- | |- | ||
| | | set_landless_title | ||
| | | Sets if the title is landless (can be held by rulers with no land) | ||
| | | <pre>set_landless_title = yes</pre> | ||
| | | landed title | ||
| | | | ||
|- | |- | ||
| | | set_no_automatic_claims | ||
| | | Sets if the title should disallow automatic claims (meaning claims will only be added by script, and by pressed claims being inherited). | ||
| | | <pre>set_no_automatic_claims = yes</pre> | ||
| landed title | |||
| | |||
| | |||
|- | |- | ||
| | | set_title_name | ||
|The | | sets the name (localization key) of the scoped title. The adjective will be constructed by adding '_adj' to the localisation key. Won't cause the prefix to change | ||
| | | <pre>set_title_name = TEST_NAME_PLEASE_IGNORE</pre> | ||
| | | landed title | ||
| | | | ||
|- | |- | ||
| | | set_title_prefix | ||
|the | | sets the prefix of the scoped title. Won't cause its name or adjective to change | ||
| | | <pre>set_title_prefix = PREFIX_THE</pre> | ||
| | | landed title | ||
| | | | ||
|- | |- | ||
| | | title_create_faction | ||
| | | the scoped landed title creates a faction of the specified type against the specified target, title_create_faction = { type = X target = Y } | ||
| <pre></pre> | |||
| landed title | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | title_join_faction | ||
| | | the landed title in the scope joins the assigned faction | ||
| | | <pre></pre> | ||
| | | landed title | ||
| | | faction | ||
|- | |- | ||
| | | title_leave_faction | ||
| | | the title in the scope leaves the assigned faction | ||
| | | <pre></pre> | ||
| | | landed title | ||
| | | faction | ||
|- | |- | ||
| | | update_dynamic_coa | ||
| | | update_dynamic_coa = yes | ||
| | | <pre>Updates the dynamic coat of arms definition of a given title picking a new one and overwriting the existing set coat of arms with it if picked</pre> | ||
| | | landed title | ||
| | |||
|- | |- | ||
| | | add_culture_tradition | ||
| | | Adds the cultural tradition specified in the RHS to the scope culture.add_culture_tradition = tradition_court_eunuchs | ||
| | | <pre></pre> | ||
| | | culture | ||
| | | | ||
|- | |- | ||
| | | add_innovation | ||
| | | Add innovation to a culture. add_innovation = innovation_key | ||
| | | <pre></pre> | ||
| | | culture | ||
| | | | ||
|- | |- | ||
| | | add_name_list | ||
| | | Adds the name list to the culture | ||
| | | <pre><culture> = { add_name_list = name }</pre> | ||
| | | culture | ||
| | | | ||
|- | |- | ||
| | | add_random_innovation | ||
| | | Add random available innovation<culture> = { add_random_innovation = culture_group_military/culture_group_civic/culture_group_regional/yes } | ||
| <pre></pre> | |||
| | | culture | ||
| | | | ||
|- | |- | ||
| | | add_random_valid_tradition | ||
| | | Adds one random valid tradition to a culture. Target character provides context for can_pick and is_shown. If this would put the culture over the tradition limit, an error is loggedadd_random_valid_tradition = scope:character | ||
| | | <pre></pre> | ||
| | | culture | ||
|character | | character | ||
|- | |- | ||
| | | add_random_valid_tradition_replace_if_necessary | ||
| | | Adds one random valid tradition to a culture. Target character provides context for can_pick and is_shown. If this would put the culture over the tradition limit, a random existing tradition is removedadd_random_valid_tradition_replace_if_necessary = scope:character | ||
| | | <pre></pre> | ||
| | | culture | ||
| | | character | ||
|- | |- | ||
| | | change_cultural_acceptance | ||
| | | Changes cultural acceptance with the target culture | ||
| | | <pre>change_cultural_acceptance = { | ||
| | target = <culture> | ||
| | value = script value | ||
desc = dynamic desc. Description that'll show when hovering over the acceptance tooltip in the culture window | |||
}</pre> | |||
| culture | |||
| | |||
|- | |- | ||
| | | clear_culture_traditions | ||
| | | Removes all cultural traditions from the scope culture.clear_culture_traditions = yes | ||
| | | <pre></pre> | ||
| | | culture | ||
| | | | ||
|- | |- | ||
| | | copy_all_traditions_from | ||
| | | Replaces all traditions of scoped culture with traditions from the given culturecopy_all_traditions_from = scope:target_culture | ||
| | | <pre></pre> | ||
| | | culture | ||
| | | culture | ||
|- | |- | ||
| | | every_culture_county | ||
| | | Iterate through all counties of the culture | ||
| | | <pre>every_culture_county = { limit = { <triggers> } <effects> }</pre> | ||
| | | culture | ||
|landed title | | landed title | ||
|- | |- | ||
| | | every_culture_duchy | ||
| | | Iterate through all duchies of the culture (duchies with at least one county of the culture | ||
| | | <pre>every_culture_duchy = { limit = { <triggers> } <effects> }</pre> | ||
| | | culture | ||
|landed title | | landed title | ||
|- | |- | ||
| | | every_culture_empire | ||
| | | Iterate through all empires of the culture (empires with at least one county of the culture | ||
| | | <pre>every_culture_empire = { limit = { <triggers> } <effects> }</pre> | ||
| | | culture | ||
|landed title | | landed title | ||
|- | |- | ||
| | | every_culture_kingdom | ||
| | | Iterate through all kingdoms of the culture (kingdoms with at least one county of the culture | ||
| | | <pre>every_culture_kingdom = { limit = { <triggers> } <effects> }</pre> | ||
| | | culture | ||
|landed title | | landed title | ||
|- | |- | ||
| | | every_parent_culture | ||
| | | Iterate through all parent cultures | ||
| | | <pre>every_parent_culture = { limit = { <triggers> } <effects> }</pre> | ||
| | | culture | ||
| | | culture | ||
|- | |- | ||
| | | every_parent_culture_or_above | ||
| | | Iterate through all parent cultures or above | ||
| | | <pre>every_parent_culture_or_above = { limit = { <triggers> } <effects> }</pre> | ||
| | | culture | ||
| | | culture | ||
|- | |- | ||
| | | get_all_innovations_from | ||
| | | Discover all innovations from the target culture | ||
| | | <pre>get_all_innovations_from = <culture></pre> | ||
| | | culture | ||
| | | culture | ||
|- | |- | ||
| | | get_random_innovation_from | ||
| | | Get random available innovation from another culture | ||
| | | <pre></pre> | ||
| | | culture | ||
| | | | ||
|- | |- | ||
| | | join_era | ||
| | | Joins all culture eras up to and including the given one | ||
| | | <pre>join_era = culture_era_type</pre> | ||
| | | culture | ||
| | | | ||
|- | |- | ||
| | | leave_era | ||
| | | Leaves all culture eras down to and including the given one | ||
| | | <pre>leave_era = culture_era_type</pre> | ||
| | | culture | ||
| | | | ||
|- | |- | ||
| | | ordered_culture_county | ||
|Iterate through all the | | Iterate through all counties of the culture | ||
| | | <pre>ordered_culture_county = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| culture | |||
| landed title | |||
|- | |- | ||
| | | ordered_culture_duchy | ||
|Iterate through all the | | Iterate through all duchies of the culture (duchies with at least one county of the culture | ||
| | | <pre>ordered_culture_duchy = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| culture | |||
| landed title | |||
|- | |- | ||
| | | ordered_culture_empire | ||
|Iterate through all | | Iterate through all empires of the culture (empires with at least one county of the culture | ||
| | | <pre>ordered_culture_empire = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| culture | |||
| landed title | |||
|- | |- | ||
| | | ordered_culture_kingdom | ||
|Iterate through all | | Iterate through all kingdoms of the culture (kingdoms with at least one county of the culture | ||
| | | <pre>ordered_culture_kingdom = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| culture | |||
| landed title | |||
| | |||
| | |||
|- | |- | ||
| | | ordered_parent_culture | ||
|Iterate through all | | Iterate through all parent cultures | ||
| | | <pre>ordered_parent_culture = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| culture | |||
| culture | |||
|- | |- | ||
| | | ordered_parent_culture_or_above | ||
|Iterate through all | | Iterate through all parent cultures or above | ||
| | | <pre>ordered_parent_culture_or_above = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| culture | |||
| culture | |||
|- | |- | ||
| | | random_culture_county | ||
|Iterate through all | | Iterate through all counties of the culture | ||
| | | <pre>random_culture_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | culture | ||
|landed title | | landed title | ||
|- | |- | ||
| | | random_culture_duchy | ||
|Iterate through all | | Iterate through all duchies of the culture (duchies with at least one county of the culture | ||
| | | <pre>random_culture_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | culture | ||
| | | landed title | ||
|- | |- | ||
| | | random_culture_empire | ||
|Iterate through all | | Iterate through all empires of the culture (empires with at least one county of the culture | ||
| | | <pre>random_culture_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | culture | ||
| | | landed title | ||
|- | |- | ||
| | | random_culture_kingdom | ||
|Iterate through all | | Iterate through all kingdoms of the culture (kingdoms with at least one county of the culture | ||
| | | <pre>random_culture_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | culture | ||
|landed title | | landed title | ||
|- | |- | ||
| | | random_parent_culture | ||
|Iterate through all | | Iterate through all parent cultures | ||
| | | <pre>random_parent_culture = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | culture | ||
| | | culture | ||
|- | |- | ||
| | | random_parent_culture_or_above | ||
|Iterate through all | | Iterate through all parent cultures or above | ||
| | | <pre>random_parent_culture_or_above = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | culture | ||
| | | culture | ||
|- | |- | ||
| | | remove_culture_tradition | ||
| | | Removes the cultural tradition specified in the RHS from the scope culture.remove_culture_tradition = tradition_court_eunuchs | ||
| | | <pre></pre> | ||
| | | culture | ||
| | | | ||
|- | |- | ||
| | | remove_innovation | ||
| | | Remove innovation from a culture. remove_innovation = innovation_key | ||
| | | <pre></pre> | ||
| | | culture | ||
| | | | ||
|- | |- | ||
| | | remove_random_culture_tradition | ||
| | | Removes a random cultural tradition from the scope culture.remove_random_culture_tradition = yes | ||
| | | <pre></pre> | ||
| | | culture | ||
| | | | ||
|- | |- | ||
| | | reset_culture_creation_date | ||
| | | Sets the culture creation date to be todays datereset_culture_creation_date = yes | ||
| | | <pre></pre> | ||
| | | culture | ||
| | | | ||
|- | |- | ||
| | | set_cultural_acceptance | ||
| | | Sets cultural acceptance with the target culture | ||
| | | <pre>set_cultural_accpetance = { target = <culture> value = script value }</pre> | ||
| | | culture | ||
| | | | ||
|- | |- | ||
| | | set_culture_name | ||
| | | Permanently sets the name of the scope culture to the parsed text from the provided localization string. | ||
| | | <pre>Like 'set_title_name', the new name is static and unchanging (i.e., if the localization key provided is 'Neo-[old_culture.GetName]' and the old culture is French, the new name is just be saved as a simple string, 'Neo-French', so that if/when the old_culture scope is cleaned up the localization does not break.set_culture_name = { | ||
| | noun = dynamic description | ||
| | collective_noun = dynamic description | ||
prefix = dynamic description | |||
}</pre> | |||
| culture | |||
| | |||
|- | |- | ||
| | | set_culture_pillar | ||
| | | Adds the current pillar specified in the RHS to the scope culture, replacing the pillar in the matching slot.set_culture_pillar = ethos_warmonger | ||
| | | <pre></pre> | ||
| | | culture | ||
| | | | ||
|- | |- | ||
| | | set_ethos_from | ||
| | | Set the ethos from the RHS on the scope culture.set_ethos_from = culture:norwegian | ||
| | | <pre></pre> | ||
| | | culture | ||
| | | culture | ||
|- | |- | ||
| | | set_heritage_from | ||
| | | Set the heritage from the RHS on the scope culture.set_heritage_from = culture:norwegian | ||
| | | <pre></pre> | ||
| | | culture | ||
| | | culture | ||
|- | |- | ||
| | | set_language_from | ||
| | | Set the language from the RHS on the scope culture.set_language_from = culture:norwegian | ||
| | | <pre></pre> | ||
| | | culture | ||
| | | culture | ||
|- | |- | ||
| | | set_martial_custom_from | ||
| | | Set the martial custom from the RHS on the scope culture.set_martial_custom_from = culture:norwegian | ||
| | | <pre></pre> | ||
| | | culture | ||
| | | culture | ||
|- | |- | ||
| | | set_name_list | ||
| | | Remove all existing name lists then adds the specified name list to the culture | ||
| | | <pre><culture> = { set_name_list = name }</pre> | ||
| | | culture | ||
| | | | ||
|- | |- | ||
| | | end_story | ||
| | | Ends a story and executes it's on_end effect, the story can no longer be accessed after this | ||
| | | <pre></pre> | ||
| | | story cycle | ||
| | | | ||
|- | |- | ||
| | | make_story_owner | ||
| | | = character_target makes the character the new owner of the story | ||
| | | <pre></pre> | ||
| | | story cycle | ||
| | | character | ||
|- | |- | ||
| | | change_war_chest_gold | ||
| | | Changes the amount of gold in the war chest by the given amount. change_war_chest_gold = script value | ||
| | | <pre></pre> | ||
| | | great holy war | ||
| | | | ||
|- | |- | ||
| | | change_war_chest_piety | ||
| | | Changes the amount of piety in the war chest by the given amount. change_war_chest_piety = script value | ||
| | | <pre></pre> | ||
| | | great holy war | ||
| | | | ||
|- | |- | ||
| | | change_war_chest_prestige | ||
| | | Changes the amount of prestige in the war chest by the given amount. change_war_chest_prestige = script value | ||
| | | <pre></pre> | ||
| | | great holy war | ||
| | | | ||
|- | |- | ||
| | | divide_war_chest | ||
| | | The scoped GHW gives out its war-chest in full or in part. | ||
| <pre>divide_war_chest = { | |||
| | defenders = yes (default to attackers instead) | ||
| | faction = script value (default 1 for 100%) | ||
gold = no (default = yes) | |||
piety = no (default = yes) | |||
prestige = no (default = yes) | |||
}</pre> | |||
| great holy war | |||
| | |||
|- | |- | ||
| | | do_ghw_title_handout | ||
| | | Hands out titles in the target kingdom to the GHW attacker beneficiaries. Will vassalize people based on dejure liege within the taken kingdom. Will refill county garrisons and levies. do_ghw_title_handout = scope:title_and_vassal_change | ||
| | | <pre></pre> | ||
| | | great holy war | ||
| | | title and vassal change | ||
|- | |- | ||
| | | every_pledged_attacker | ||
| | | Iterate through all pledged attackers within a great holy war | ||
| | | <pre>every_pledged_attacker = { limit = { <triggers> } <effects> }</pre> | ||
| | | great holy war | ||
|character | | character | ||
|- | |- | ||
| | | every_pledged_defender | ||
| | | Iterate through all pledged defenders within a great holy war | ||
| | | <pre>every_pledged_defender = { limit = { <triggers> } <effects> }</pre> | ||
| | | great holy war | ||
|character | | character | ||
|- | |- | ||
| | | ordered_pledged_attacker | ||
| | | Iterate through all pledged attackers within a great holy war | ||
| | | <pre>ordered_pledged_attacker = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| great holy war | |||
| character | |||
|- | |- | ||
| | | ordered_pledged_defender | ||
| | | Iterate through all pledged defenders within a great holy war | ||
| | | <pre>ordered_pledged_defender = { | ||
| | limit = { <triggers> } | ||
|character | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| great holy war | |||
| character | |||
|- | |- | ||
| | | pledge_attacker | ||
| | | The target character pledges themselves as an attacker in the GHW. Must be of the same faith as the GHW declarer. pledge_attacker = some character | ||
| | | <pre></pre> | ||
| | | great holy war | ||
| | | character | ||
|- | |- | ||
| | | pledge_defender | ||
| | | The target character pledges themselves as a defender in the GHW. Must be of the same faith as the GHW target. pledge_defender = some character | ||
| | | <pre></pre> | ||
| | | great holy war | ||
|character | | character | ||
|- | |- | ||
| | | random_pledged_attacker | ||
|Iterate through all holy | | Iterate through all pledged attackers within a great holy war | ||
| | | <pre>random_pledged_attacker = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | great holy war | ||
| | | character | ||
|- | |- | ||
| | | random_pledged_defender | ||
|Iterate through | | Iterate through all pledged defenders within a great holy war | ||
| | | <pre>random_pledged_defender = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | great holy war | ||
|character | | character | ||
|- | |- | ||
| | | reset_designated_winner | ||
| | | The GHW stops having a designated winner. reset_designated_winner = yes | ||
| | | <pre></pre> | ||
| | | great holy war | ||
| | | | ||
|- | |- | ||
| | | set_designated_winner | ||
| | | The target character becomes the designated winner of the GHW. set_designated_winner = some character | ||
| | | <pre></pre> | ||
| | | great holy war | ||
|character | | character | ||
|- | |- | ||
| | | set_great_holy_war_target | ||
| | | Sets the target of the great holy war. | ||
| | | <pre>set_great_holy_war_target = { target_character = someone target_title = some title }</pre> | ||
| | | great holy war | ||
| | | | ||
|- | |- | ||
| | | set_war_declarer | ||
| | | The target character becomes the character that should declare war instead of the religious head. set_war_declarer = some character | ||
| | | <pre></pre> | ||
| | | great holy war | ||
|character | | character | ||
|- | |- | ||
| | | start_ghw_war | ||
| | | Starts the GHW war. start_ghw_war = undirected_great_holy_war | ||
| | | <pre></pre> | ||
| | | great holy war | ||
| | | | ||
|- | |- | ||
| | | unpledge_attacker | ||
| | | The target character removes their pledge as an attacker in the GHW. unpledge_attacker = some character | ||
| | | <pre></pre> | ||
| | | great holy war | ||
|character | | character | ||
|- | |- | ||
| | | unpledge_defender | ||
| | | The target character removes their pledge as a defender in the GHW. unpledge_defender = some character | ||
| | | <pre></pre> | ||
| | | great holy war | ||
|character | | character | ||
|- | |- | ||
| | | activate_holy_site | ||
| | | Activate an inactive holy site<faith_scope> = { activate_holy_site = <holy_site_name> } | ||
| <pre></pre> | |||
| | | faith | ||
| | | | ||
|- | |- | ||
| | | add_doctrine | ||
| | | Add doctrine to faith<faith_scope> = { add_doctrine = <doctrine_name> } | ||
| <pre></pre> | |||
| | | faith | ||
| | | | ||
|- | |- | ||
| | | change_fervor | ||
| | | Changes the fervor of the faith by the given value. change_fervor = script value | ||
| | | <pre></pre> | ||
| | | faith | ||
| | | | ||
|- | |- | ||
| | | deactivate_holy_site | ||
| | | Deactivate an active holy site<faith_scope> = { deactivate_holy_site = <holy_site_name> } | ||
| <pre></pre> | |||
| | | faith | ||
| | | | ||
|- | |- | ||
| | | every_defensive_great_holy_wars | ||
|Iterate through all | | Iterate through all great holy wars this faith is defending against | ||
| | | <pre>every_defensive_great_holy_wars = { limit = { <triggers> } <effects> }</pre> | ||
| | | faith | ||
| | | great holy war | ||
|- | |- | ||
| | | every_faith_character | ||
|Iterate through | | Iterate through characters of the scoped faith | ||
| | | <pre>every_faith_character = { limit = { <triggers> } <effects> }</pre> | ||
| | | faith | ||
| | | character | ||
|- | |- | ||
| | | every_faith_holy_order | ||
|Iterate through all | | Iterate through all holy orders of the faith | ||
| | | <pre>every_faith_holy_order = { limit = { <triggers> } <effects> }</pre> | ||
| | | faith | ||
| | | holy order | ||
|- | |- | ||
| | | every_faith_playable_ruler | ||
|Iterate through | | Iterate through playable rulers of the scoped faith | ||
| | | <pre>every_faith_playable_ruler = { limit = { <triggers> } <effects> }</pre> | ||
| | | faith | ||
|character | | character | ||
|- | |- | ||
| | | every_faith_ruler | ||
|Iterate through | | Iterate through rulers of the scoped faith | ||
| | | <pre>every_faith_ruler = { limit = { <triggers> } <effects> }</pre> | ||
| | | faith | ||
| | | character | ||
|- | |- | ||
| | | every_holy_site | ||
|Iterate through all | | Iterate through all holy site baronies of a faith | ||
| | | <pre>every_holy_site = { limit = { <triggers> } <effects> }</pre> | ||
| | | faith | ||
| | | landed title | ||
|- | |- | ||
| | | ordered_defensive_great_holy_wars | ||
|Iterate through all | | Iterate through all great holy wars this faith is defending against | ||
| | | <pre>ordered_defensive_great_holy_wars = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
| | <effects> }</pre> | ||
| | | faith | ||
| great holy war | |||
|- | |- | ||
| | | ordered_faith_character | ||
|Iterate through | | Iterate through characters of the scoped faith | ||
| | | <pre>ordered_faith_character = { | ||
| | limit = { <triggers> } | ||
|character | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| faith | |||
| character | |||
|- | |- | ||
| | | ordered_faith_holy_order | ||
|Iterate through all | | Iterate through all holy orders of the faith | ||
| | | <pre>ordered_faith_holy_order = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| faith | |||
| holy order | |||
|- | |- | ||
| | | ordered_faith_playable_ruler | ||
|Iterate through | | Iterate through playable rulers of the scoped faith | ||
| | | <pre>ordered_faith_playable_ruler = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| faith | |||
| character | |||
|- | |- | ||
| | | ordered_faith_ruler | ||
|Iterate through | | Iterate through rulers of the scoped faith | ||
| | | <pre>ordered_faith_ruler = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| faith | |||
| character | |||
|- | |- | ||
| | | ordered_holy_site | ||
|Iterate through all | | Iterate through all holy site baronies of a faith | ||
| | | <pre>ordered_holy_site = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| faith | |||
| landed title | |||
| | |||
|landed title | |||
|- | |- | ||
| | | random_defensive_great_holy_wars | ||
|Iterate through all | | Iterate through all great holy wars this faith is defending against | ||
| | | <pre>random_defensive_great_holy_wars = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | faith | ||
| | | great holy war | ||
|- | |- | ||
| | | random_faith_character | ||
|Iterate through | | Iterate through characters of the scoped faith | ||
| | | <pre>random_faith_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | faith | ||
| | | character | ||
|- | |- | ||
| | | random_faith_holy_order | ||
|Iterate through all | | Iterate through all holy orders of the faith | ||
| | | <pre>random_faith_holy_order = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | faith | ||
| | | holy order | ||
|- | |- | ||
| | | random_faith_playable_ruler | ||
|Iterate through | | Iterate through playable rulers of the scoped faith | ||
| | | <pre>random_faith_playable_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | faith | ||
| | | character | ||
|- | |- | ||
| | | random_faith_ruler | ||
|Iterate | | Iterate through rulers of the scoped faith | ||
| | | <pre>random_faith_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | faith | ||
|character | | character | ||
|- | |- | ||
| | | random_holy_site | ||
|Iterate through all | | Iterate through all holy site baronies of a faith | ||
| | | <pre>random_holy_site = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | faith | ||
| | | landed title | ||
|- | |- | ||
| | | remove_doctrine | ||
| | | Remove doctrine from faith<faith_scope> = { remove_doctrine = <doctrine_name> } | ||
| <pre></pre> | |||
| | | faith | ||
| | | | ||
|- | |- | ||
| | | remove_religious_head_title | ||
| | | Removes the religious head title of the faith | ||
| | | <pre>remove_religious_head_title = yes</pre> | ||
| | | faith | ||
| | | | ||
|- | |- | ||
| | | set_religious_head_title | ||
| | | Sets the religious head title of the faith to the given title. set_religious_head_title = scope | ||
| | | <pre></pre> | ||
| | | faith | ||
| | | landed title | ||
|- | |- | ||
| | | start_great_holy_war | ||
| | | Starts a great holy war. | ||
| | | <pre>start_great_holy_war = {target_character = someonetarget_title = some titledelay = script value # Number of days until the war should startwar = some war # Optional. Will make this a directed GHW instead of undirected, and tie it to this specific war}</pre> | ||
| | | faith | ||
| | | | ||
|- | |- | ||
| | | add_building | ||
| | | Add building to the province<province> = { add_building = <building_name> } | ||
| <pre></pre> | |||
| | | province | ||
| | | | ||
|- | |- | ||
| | | add_building_slot | ||
| | | Add building slot to the province | ||
| | | <pre></pre> | ||
| | | province | ||
| | | | ||
|- | |- | ||
| | | add_province_modifier | ||
| | | Add a modifier to a province | ||
| | | <pre>add_province_modifier = name | ||
| | add_province_modifier = { modifier = name days/weeks/months/years = int } | ||
| | You can also add an optional 'desc' field. This is a dynamic description that'll be used for your timed modifier</pre> | ||
| province | |||
| | |||
|- | |- | ||
| | | add_special_building | ||
| | | Add a special building to the province (will also add/change a special slot if needed) | ||
| | | <pre></pre> | ||
| | | province | ||
| | | | ||
|- | |- | ||
| | | add_special_building_slot | ||
| | | Add a special building slot to the province<province> = { add_special_building_slot = <building_name> } | ||
| | | <pre></pre> | ||
| | | province | ||
| | | | ||
|- | |- | ||
| | | begin_create_holding | ||
| | | Start construction of the specified holding type. By default player won't get anything if manually cancels the construction | ||
| <pre>scope:my_province = { | |||
begin_create_holding = castle_holding | |||
} | } | ||
| | Optionally refund cost can be set to some value. | ||
| | scope:my_province = { | ||
begin_create_holding = { | |||
type = castle_holding | |||
refund_cost = { | |||
gold = 100 | |||
} | |||
} | |||
}</pre> | |||
| province | |||
| | |||
|- | |- | ||
| | | generate_building | ||
| | | Adds a random building to the province, using the AI's construction logic<province> = { generate_building = yes } | ||
| <pre></pre> | |||
| | | province | ||
| | | | ||
|- | |- | ||
| | | refill_garrison | ||
| | | The scoped province gets its garrison refilled. refill_levy = yes/no | ||
| | | <pre></pre> | ||
| | | province | ||
| | | | ||
|- | |- | ||
| | | refill_levy | ||
| | | The scoped province gets its levy refilled. refill_levy = yes/no | ||
| | | <pre></pre> | ||
| | | province | ||
| | | | ||
|- | |- | ||
| | | remove_all_province_modifier_instances | ||
| | | Remove all instances of a modifier from a province | ||
| | | <pre>remove_all_province_modifier_instances = name</pre> | ||
| | | province | ||
| | | | ||
|- | |- | ||
| | | remove_building | ||
|the | | Remove building from the province<province> = { remove_building = <building_name> } | ||
| | | <pre></pre> | ||
| | | province | ||
| | | | ||
|- | |- | ||
| | | remove_holding | ||
|the | | Removes the holding in scoped province, cannot remove capital holdings | ||
| | | <pre></pre> | ||
| province | |||
| | |||
| | |||
|- | |- | ||
| | | remove_province_modifier | ||
| | | Remove a modifier from a province | ||
| | | <pre>remove_province_modifier = name</pre> | ||
| | | province | ||
| | | | ||
|- | |- | ||
| | | set_holding_type | ||
|the | | Changes the scoped province's holding to another type, removing all buildings that are invalid for the new holding. | ||
| | | <pre>This might also allow to construct a new holding in an empty province, but it is untested.</pre> | ||
| | | province | ||
| | | | ||
|- | |- | ||
| | | spawn_activity | ||
| | | spawns an activity, spawn_activity = { owner = X type = Y days/months/years = Z }, Z is expiration time can be a value or an inclusive "{A B}" interval from which the value will be picked | ||
| | | <pre></pre> | ||
| | | province | ||
| | | | ||
|- | |- | ||
| | | every_killed_character | ||
| | | Iterate through all kills of a character | ||
| | | <pre>every_killed_character = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character, artifact | ||
| | | character | ||
|- | |- | ||
| | | ordered_killed_character | ||
| | | Iterate through all kills of a character | ||
| <pre>ordered_killed_character = { | |||
|character | limit = { <triggers> } | ||
|character | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character, artifact | |||
| character | |||
|- | |- | ||
| | | random_killed_character | ||
| | | Iterate through all kills of a character | ||
| | | <pre>random_killed_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| character, artifact | |||
| character | |||
|character | |||
| | |||
|- | |- | ||
| | | activate_struggle_catalyst | ||
| | | Activate a catalyst | ||
| | | <pre>activate_struggle_catalyst = { catalyst = X character = Y} where X is a catalystY is scope:character # optionalsimplified: activate_struggle_catalyst = <catalyst></pre> | ||
| | | struggle | ||
| | | | ||
|- | |- | ||
| | | change_struggle_phase | ||
| | | Change the phase from the current one to a listed scripted phase | ||
| | | <pre>change_phase = X where X is a struggle phase type</pre> | ||
| | | struggle | ||
| | | | ||
|- | |- | ||
| | | end_struggle | ||
| | | End a struggle | ||
| | | <pre>end_struggle = yes</pre> | ||
| | | struggle | ||
| | | | ||
|- | |- | ||
| | | every_interloper_ruler | ||
| | | Iterate through all characters that are interloper in a struggle. | ||
| | | <pre>every_interloper_ruler = { limit = { <triggers> } <effects> }</pre> | ||
| | | struggle | ||
| | | character | ||
|- | |- | ||
| | | every_involved_ruler | ||
| | | Iterate through all characters that are involved in a struggle. | ||
| | | <pre>every_involved_ruler = { limit = { <triggers> } <effects> }</pre> | ||
|character | | struggle | ||
| character | |||
|- | |- | ||
| | | ordered_interloper_ruler | ||
| Iterate through all characters that are interloper in a struggle. | |||
| <pre>ordered_interloper_ruler = { | |||
|Iterate through all | |||
| | |||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第2,290行: | 第2,902行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | struggle | ||
| | | character | ||
|- | |- | ||
| | | ordered_involved_ruler | ||
|Iterate through all | | Iterate through all characters that are involved in a struggle. | ||
| | | <pre>ordered_involved_ruler = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第2,303行: | 第2,915行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
|character | | struggle | ||
| | | character | ||
|- | |||
| random_interloper_ruler | |||
| Iterate through all characters that are interloper in a struggle. | |||
| <pre>random_interloper_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| struggle | |||
| character | |||
|- | |||
| random_involved_ruler | |||
| Iterate through all characters that are involved in a struggle. | |||
| <pre>random_involved_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| struggle | |||
| character | |||
|- | |||
| set_culture_as_involved | |||
| Set a culture as involved in the scoped Struggle. | |||
| <pre></pre> | |||
| struggle | |||
| culture | |||
|- | |||
| set_culture_as_uninvolved | |||
| Set a culture as uninvolved in the scoped Struggle. | |||
| <pre></pre> | |||
| struggle | |||
| culture | |||
|- | |||
| set_faith_as_involved | |||
| Set a faith as involved in the scoped Struggle. | |||
| <pre></pre> | |||
| struggle | |||
| faith | |||
|- | |||
| set_faith_as_uninvolved | |||
| Set a faith as uninvolved in the scoped Struggle. | |||
| <pre></pre> | |||
| struggle | |||
| faith | |||
|- | |||
| add_scheme_modifier | |||
| adds the specified scheme modifier, add_scheme_modifier = { type = X days = Y } (days are optional, the modifier will expire in Y days if specified) | |||
| <pre></pre> | |||
| scheme | |||
| | |||
|- | |||
| add_scheme_progress | |||
| Add progress to the scope scheme. (progress is in 0.0 - 100.0 range) | |||
| <pre></pre> | |||
| scheme | |||
| | |||
|- | |||
| end_scheme | |||
| Ends a specific scheme and removes it without any other effect | |||
| <pre></pre> | |||
| scheme | |||
| | |||
|- | |||
| every_scheme_agent | |||
| Iterate through all agents in the scheme | |||
| <pre>every_scheme_agent = { limit = { <triggers> } <effects> }</pre> | |||
| scheme | |||
| character | |||
|- | |||
| expose_scheme | |||
| Exposes the scheme to the defender | |||
| <pre></pre> | |||
| scheme | |||
| | |||
|- | |||
| expose_scheme_agent | |||
| Exposes the target character as an agent of the current scheme | |||
| <pre></pre> | |||
| scheme | |||
| character | |||
|- | |- | ||
| | | ordered_scheme_agent | ||
|Iterate through all | | Iterate through all agents in the scheme | ||
| | | <pre>ordered_scheme_agent = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第2,316行: | 第3,000行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
|character | | scheme | ||
|character | | character | ||
|- | |||
| random_scheme_agent | |||
| Iterate through all agents in the scheme | |||
| <pre>random_scheme_agent = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| scheme | |||
| character | |||
|- | |||
| remove_scheme_modifier | |||
| removes the specified scheme modifier | |||
| <pre></pre> | |||
| scheme | |||
| | |||
|- | |||
| scheme_freeze_days | |||
| scheme_freeze_days = X freezes the scheme for X days (0 unfreezes the scheme) | |||
| <pre></pre> | |||
| scheme | |||
| | |||
|- | |||
| change_inspiration_progress | |||
| change_progress = int | |||
| <pre>Changes the progress of the scoped inspiration</pre> | |||
| inspiration | |||
| | |||
|- | |||
| invest_gold | |||
| invest_gold = value | |||
| <pre>Invests gold into the scoped inspiration from its sponsor, it handles the removal of the gold from the sponsor, must be a positive value</pre> | |||
| inspiration | |||
| | |||
|- | |||
| add_secret_participant | |||
| Adds an participant to the secret | |||
| <pre></pre> | |||
| secret | |||
| character | |||
|- | |||
| disable_exposure_by | |||
| Forbids the target character from exposing the secret, disable_exposure_by = target_character | |||
| <pre></pre> | |||
| secret | |||
| character | |||
|- | |||
| every_secret_knower | |||
| Iterate through all characters who know the secret | |||
| <pre>every_secret_knower = { limit = { <triggers> } <effects> }</pre> | |||
| secret | |||
| character | |||
|- | |||
| every_secret_participant | |||
| Iterate through participants in a secret | |||
| <pre>every_secret_participant = { limit = { <triggers> } <effects> }</pre> | |||
| secret | |||
| character | |||
|- | |||
| expose_secret | |||
| Exposes the scope secret | |||
| <pre></pre> | |||
| secret | |||
| character | |||
|- | |- | ||
| | | ordered_secret_knower | ||
|Iterate through all the | | Iterate through all characters who know the secret | ||
| | | <pre>ordered_secret_knower = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第2,329行: | 第3,073行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | secret | ||
|character | | character | ||
|- | |- | ||
| | | ordered_secret_participant | ||
|Iterate through | | Iterate through participants in a secret | ||
| | | <pre>ordered_secret_participant = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第2,342行: | 第3,086行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
|character | | secret | ||
| | | character | ||
|- | |||
| random_secret_knower | |||
| Iterate through all characters who know the secret | |||
| <pre>random_secret_knower = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| secret | |||
| character | |||
|- | |||
| random_secret_participant | |||
| Iterate through participants in a secret | |||
| <pre>random_secret_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| secret | |||
| character | |||
|- | |- | ||
| | | remove_secret | ||
| | | Removes the scope secret | ||
| | | <pre></pre> | ||
| secret | |||
| | |||
|- | |||
| reveal_to | |||
| Reveals the scope secret to the target character | |||
| <pre></pre> | |||
<effects> } | | secret | ||
| | | character | ||
| | |- | ||
| set_secret_owner | |||
| Sets a new owner for the secret | |||
| <pre></pre> | |||
| secret | |||
| character | |||
|- | |||
| spend_by | |||
| Spends the scope secret, spend_by = target_character | |||
| <pre></pre> | |||
| secret | |||
| character | |||
|- | |||
| add_dynasty_modifier | |||
| Add a modifier to a dynasty | |||
| <pre>add_dynasty_modifier = name | |||
add_dynasty_modifier = { modifier = name days/weeks/months/years = int } | |||
You can also add an optional 'desc' field. This is a dynamic description that'll be used for your timed modifier</pre> | |||
| dynasty | |||
| | |||
|- | |||
| add_dynasty_perk | |||
| Adds dynasty perk. add_dynasty_perk = key | |||
| <pre></pre> | |||
| dynasty | |||
| | |||
|- | |||
| add_dynasty_prestige | |||
| adds dynasty prestige | |||
| <pre></pre> | |||
| dynasty | |||
| | |||
|- | |||
| add_dynasty_prestige_level | |||
| adds dynasty prestige levels | |||
| <pre></pre> | |||
| dynasty | |||
| | |||
|- | |||
| every_dynasty_member | |||
| Iterate through all dynasty members | |||
| <pre>every_dynasty_member = { limit = { <triggers> } <effects> }</pre> | |||
| dynasty | |||
| character | |||
|- | |- | ||
| | | ordered_dynasty_member | ||
| | | Iterate through all dynasty members | ||
| | | <pre>ordered_dynasty_member = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第2,368行: | 第3,167行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
|character | | dynasty | ||
|landed title | | character | ||
|- | |||
| random_dynasty_member | |||
| Iterate through all dynasty members | |||
| <pre>random_dynasty_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| dynasty | |||
| character | |||
|- | |||
| remove_all_dynasty_modifier_instances | |||
| Remove all instances of a modifier from a dynasty | |||
| <pre>remove_all_dynasty_modifier_instances = name</pre> | |||
| dynasty | |||
| | |||
|- | |||
| remove_dynasty_modifier | |||
| Remove a modifier from a dynasty | |||
| <pre>remove_dynasty_modifier = name</pre> | |||
| dynasty | |||
| | |||
|- | |||
| remove_dynasty_perk | |||
| Removes dynasty perk. remove_dynasty_perk = key | |||
| <pre></pre> | |||
| dynasty | |||
| | |||
|- | |||
| set_dynasty_name | |||
| Sets dynasty name | |||
| <pre>set_dynasty_name=loc_key</pre> | |||
| dynasty | |||
| | |||
|- | |||
| every_leased_title | |||
| Iterate through all titles leased to a holy order | |||
| <pre>every_leased_title = { limit = { <triggers> } <effects> }</pre> | |||
| holy order | |||
| landed title | |||
|- | |- | ||
| | | ordered_leased_title | ||
| | | Iterate through all titles leased to a holy order | ||
| | | <pre>ordered_leased_title = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第2,381行: | 第3,216行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | holy order | ||
|landed title | | landed title | ||
|- | |||
| random_leased_title | |||
| Iterate through all titles leased to a holy order | |||
| <pre>random_leased_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| holy order | |||
| landed title | |||
|- | |- | ||
| | | add_diplomacy_skill | ||
| | | Adds diplomacy skill | ||
| | | <pre></pre> | ||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | add_focus_progress | ||
| | | Adds focus progress | ||
| | | <pre></pre> | ||
| none | |||
| | |||
|- | |||
| add_internal_flag | |||
| adds effect to be read internally (no effect in the gamestate) | |||
| <pre></pre> | |||
< | | none | ||
| | | | ||
| | |||
|- | |- | ||
| | | add_intrigue_skill | ||
| | | Adds intrigue skill | ||
| | | <pre></pre> | ||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | add_learning_skill | ||
| | | Adds learning skill | ||
| | | <pre></pre> | ||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | add_martial_skill | ||
| | | Adds martial skill | ||
| | | <pre></pre> | ||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | add_prowess_skill | ||
| | | Adds prowess skill | ||
| | | <pre></pre> | ||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | add_stewardship_skill | ||
| | | Adds stewardship skill | ||
| | | <pre></pre> | ||
| none | |||
| | |||
|- | |||
| add_title_law | |||
| add law to scoped title, overriding any current law from the same group. DOES NOT apply law change costs and effects. | |||
| <pre>add_title_law = princely_elective_succession_law</pre> | |||
< | | none | ||
| | | | ||
| | |- | ||
| add_title_law_effects | |||
| add law to scoped title, overriding any current law from the same group. DOES apply law change costs and effects. | |||
| <pre>add_title_law = princely_elective_succession_law</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | add_to_global_variable_list | ||
| | | Adds the event target to a variable list | ||
| | | <pre>add_to_variable_list = { name = X target = Y } | ||
Where X is the name of the variable | |||
Where Y is an event target</pre> | |||
| none | |||
| | |||
< | |||
| | |||
| | |||
|- | |- | ||
| | | add_to_list | ||
| | | Adds the current scope to an arbitrarily-named list (or creates the list if not already present) to be referenced later in the (unbroken) event chain | ||
| | | <pre>add_to_list = <string> NOTE, if adding a permanent target to a temporary list, the whole list becomes permanent</pre> | ||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | add_to_local_variable_list | ||
| | | Adds the event target to a variable list | ||
| | | <pre>add_to_variable_list = { name = X target = Y } | ||
Where X is the name of the variable | |||
Where Y is an event target</pre> | |||
| none | |||
| | |||
< | |||
| | |||
| | |||
|- | |- | ||
| | | add_to_temporary_list | ||
| | | Adds the current scope to an arbitrarily-named list (or creates the list if not already present) to be referenced later in the same effect | ||
| | | <pre>add_to_temporary_list = <string> NOTE, if adding a temporary target to a permanent list, the list will stay permanent</pre> | ||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | add_to_variable_list | ||
| | | Adds the event target to a variable list | ||
| | | <pre>add_to_variable_list = { name = X target = Y } | ||
Where X is the name of the variable | |||
Where Y is an event target</pre> | |||
| none | |||
| | |||
< | |||
| | |||
| | |||
|- | |- | ||
| | | assert_if | ||
| | | Conditionally cause an assert during run time | ||
| | | <pre>assert_if = { limit = { X } text = Y }, where X is a trigger and Y is an optional string</pre> | ||
limit = { | | none | ||
| | |||
| | |||
| | |||
|- | |- | ||
| | | assert_read | ||
| | | Conditionally cause an assert during read time | ||
| | | <pre>assert_read = X, where X is yes or the string to be printed in the assert</pre> | ||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | break_betrothal | ||
| | | Breaks the betrothal between the scope character to the target character, break_betrothal = target | ||
| | | <pre></pre> | ||
| none | |||
| character | |||
| | |||
|character | |||
|- | |- | ||
| | | change_global_variable | ||
| | | Changes the value or a numeric variable | ||
| | | <pre>change_variable = { name = X operation = Y } | ||
Where X is the name of the numeric variable to modify | |||
Where the valid operations are add, subtract, multiply, divide and modulo | |||
Where Y is a fixed point value, script value or event target of a value type</pre> | |||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | change_local_variable | ||
| | | Changes the value or a numeric variable | ||
| | | <pre>change_variable = { name = X operation = Y } | ||
Where X is the name of the numeric variable to modify | |||
Where the valid operations are add, subtract, multiply, divide and modulo | |||
Where Y is a fixed point value, script value or event target of a value type</pre> | |||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | change_title_holder | ||
| | | = { | ||
| <pre>holder = 'Character that should get the title' | |||
change = 'previously created title_and_vassal_change', adds a title change, will not transfer vassalstake_baronies = yes # Optional; if set, will cause baronies to be taken (rather than vassalized) as well if this title is a countygovernment_base = character # Optional, if the character getting the title was unlanded, their new government will be based on the government of government_base. If no government_base is specified, the government will be based on holder's government.</pre> | |||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | change_title_holder_include_vassals | ||
| | | = { | ||
| <pre>holder = 'Character that should get the title' | |||
change = 'previously created title_and_vassal_change', adds a title change, will transfer vassalstake_baronies = yes # Optional; if set, will cause baronies to be taken (rather than vassalized) as well if this title is a countygovernment_base = character # Optional, if the character getting the title was unlanded, their new government will be based on the government of government_base. If no government_base is specified, the government will be based on holder's government.</pre> | |||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | change_variable | ||
| | | Changes the value or a numeric variable | ||
| | | <pre>change_variable = { name = X operation = Y } | ||
Where X is the name of the numeric variable to modify | |||
Where the valid operations are add, subtract, multiply, divide and modulo | |||
Where Y is a fixed point value, script value or event target of a value type</pre> | |||
min = | | none | ||
max = | | | ||
|- | |||
< | | clamp_global_variable | ||
| | | Clamps a variable the specified max and min | ||
| | | <pre>clamp_variable = { name = X max = Y min = Z } | ||
Where X is the name of the variable | |||
Where Y and Z are script values</pre> | |||
| none | |||
| | |||
|- | |||
| clamp_local_variable | |||
| Clamps a variable the specified max and min | |||
| <pre>clamp_variable = { name = X max = Y min = Z } | |||
Where X is the name of the variable | |||
Where Y and Z are script values</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | clamp_variable | ||
| | | Clamps a variable the specified max and min | ||
| | | <pre>clamp_variable = { name = X max = Y min = Z } | ||
Where X is the name of the variable | |||
Where Y and Z are script values</pre> | |||
| none | |||
min = | | | ||
< | |||
| | |||
| | |||
|- | |- | ||
| | | clear_global_variable_list | ||
| | | Empties the list | ||
| | | <pre>clear_variable_list = variable_name</pre> | ||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | clear_local_variable_list | ||
| | | Empties the list | ||
| | | <pre>clear_variable_list = variable_name</pre> | ||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | clear_saved_scope | ||
| | | Clears a saved scope from the top scope | ||
| | | <pre>save_scope_as = cool_scope -> clear_saved_scope = cool_scope</pre> | ||
| none | |||
| | |||
|- | |||
| clear_traits | |||
| Removes all traits for the character. clear_traits = yes | |||
| <pre></pre> | |||
< | | none | ||
| | | | ||
| | |- | ||
| clear_variable_list | |||
| Empties the list | |||
| <pre>clear_variable_list = variable_name</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | close_all_views | ||
| | | Closes all views. close_all_views = yes | ||
| | | <pre></pre> | ||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | close_view | ||
| | | Tries to close the defined view. | ||
| <pre>Take care to set player if effect is executed not through UI but through synchronized code. Else all the window will open for all players. | |||
close_view = { | |||
view = <view name> | |||
player = scope:character # optional, else closes for all players who execute the effect | |||
}simplified: close_view = <view name></pre> | |||
| none | |||
| | |||
< | |||
| | |||
| | |||
|- | |- | ||
| | | copy_traits | ||
| | | Adds all traits of the target to the character. Skips any traits that the character isn't allowed to have. Will not remove the character's existing traits. copy_traits = scope:character | ||
| | | <pre></pre> | ||
| none | |||
| character | |||
| | |||
|character | |||
|- | |- | ||
| | | create_betrothal | ||
| | | Betroth the scope character to the target character, create_betrothal = target (at least one of the characters need to not be adult) | ||
| | | <pre></pre> | ||
| none | |||
| character | |||
|- | |||
| create_betrothal_matrilineal | |||
| Betroth the scope character to the target character matrilineally, create_betrothal_matrilineal = target (at least one of the characters need to not be adult) | |||
| <pre></pre> | |||
< | | none | ||
| | | character | ||
| | |- | ||
| create_character | |||
| Creates a character | |||
| <pre> | |||
save_event_target_as = flag - save the character as an event target | |||
save_temporary_event_target_as = flag - save the character as a temporary event target | |||
name = | |||
age = | |||
gender = male/female/character scope | |||
gender_female_chance = script_value - Range (0..100) | |||
opposite_gender = character scope | |||
trait = add this trait | |||
random_traits_list = { count = { 1 5 } traitID = { some triggers } traitID = { some triggers } } - A number of traits specified by count (1 if not specified) will be picked from the traits that have their triggers met. Scopes are the same as where create_character is used. More than one grouping like this can be defined | |||
random_traits = yes/no | |||
health = | |||
fertility = | |||
mother = | |||
father = | |||
real_father = (should only be set if the real father is not the same as father=) | |||
employer = will end up in this court, will become a pool character unless specified or father/mother is landed | |||
location = pool province; mutually exclusive with employer | |||
template_character = | |||
faith, culture and dynasty are set from 1. template_character 2. father 3. mother 4. employer (not employer for dynasty) unless specified directly | |||
faith = faith tag OR a faith scope | |||
random_faith = { catholic = { some triggers } cathar = { some triggers }. Random one where the triggers are met will be picked. Scopes are the same as where create_character is used | |||
random_faith_in_religion = religion tag OR a faith scope (there's no religion scope) | |||
culture = culture name OR a culture scope | |||
random_culture = { norse = { some triggers } norwegian = { some triggers }. Random one where the triggers are met will be picked. Scopes are the same as where create_character is used | |||
random_culture_in_group = culture group name OR a culture scope (there's no group scope) | |||
dynasty_house = dynasty house name OR a dynasty house scope | |||
dynasty = generate/inherit/none - What to do if dynasty_house is not specified. generate by default. | |||
martial/diplomacy/intrigue... = will get random unless specified | |||
after_creation = { some effects } run after character is created. Scope starts off in the character, with the scope it was created in as PREV, and the same top scope and saved targets etc.</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | create_dynamic_title | ||
| | | Creates a dynamic title | ||
| | | <pre>The title will be saved to scope:new_titleusage: | ||
create_dynamic_title = { | |||
tier = <tier> | |||
name = key/dynamic description adjective = key/dynamic description (optional; name used if not specified)}</pre> | |||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | create_holy_order | ||
| | | Create a new holy order | ||
| | | <pre>create_holy_order = { | ||
leader = scope:a_character | |||
capital = scope:a_barony_title | |||
save_scope_as/save_temporary_scope_as = new_holy_order # optional way to get a reference to the new holy order | |||
}</pre> | |||
| none | |||
| | |||
< | |||
| | |||
| | |||
|- | |- | ||
| | | create_title_and_vassal_change | ||
| | | starts a title and vassal change and saves it as a temporary event target | ||
| | | <pre>create_title_and_vassal_change = { | ||
type = conquest (or other type) | |||
save_scope_as = change (name of resulting saved scope) | |||
add_claim_on_loss = yes (optional) | |||
}</pre> | |||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | custom_description_no_bullet | ||
| | | Wraps effects that get a custom description instead of the auto-generated one. Also ensures no bullet point appears | ||
| | | <pre>custom_description_no_bullet = { | ||
text = <effect_localization_key> | |||
subject = <optional subject scope> #defaults to current scope | |||
object = <optional object scope> | |||
value = <optional script value> | |||
... effects ... | |||
}</pre> | |||
< | | none | ||
| | | | ||
| | |- | ||
| custom_label | |||
| just a tooltip, the scope as object (for grouping, localization). Can also be written as custom_label = { text = key subject = scope (optional) <hidden effects> } | |||
| <pre></pre> | |||
| none | |||
| | |||
|- | |||
| debug_log | |||
| Log a string to the debug log when this effect executes, debug_log = message, the message can be a localization string with ROOT, SCOPE and PREV available | |||
| <pre></pre> | |||
| none | |||
| | |||
|- | |||
| debug_log_date | |||
| Logs the current date to the debug.log | |||
| <pre></pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | debug_log_scopes | ||
| | | Log the current scope to the debug log when this effect executes yes = full scope info, no=only current scope | ||
| | | <pre></pre> | ||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | debug_trigger_event | ||
| | | Like trigger_event, except it'll print the trigger fulfillment and immediate effects of the event too | ||
| | | <pre></pre> | ||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | destroy_artifact | ||
| | | Destroy given artifact | ||
| | | <pre>destroy_artifact = artifact</pre> | ||
| none | |||
| artifact | |||
| | |||
| | |||
|- | |- | ||
| | | destroy_inspiration | ||
| | | destroy_inspiration = inspiration | ||
| | | <pre>Destroys the targeted inspiration, do not use the destroyed scope after calling this since it will have been removed</pre> | ||
| none | |||
| inspiration | |||
|- | |||
| divorce | |||
| Divorces the scope character from the target character. divorce = target | |||
| <pre></pre> | |||
< | | none | ||
| | | character | ||
|character | |||
|- | |- | ||
| | | duel | ||
| | | duel effect that selects an effect based on comparing specified skill of a character to a value or another character's skill. Alternatively, the compare value can be scripted completely | ||
| | | <pre>duel = { | ||
skill = X | |||
target = Y | |||
value = Z | |||
localization = W | |||
... random list body | |||
} | |||
< | Where X is the skill to compare, Y is the target character (requires skill to be set) or integer value Z (works with or without the skill), the rest of the effect is the same as random_list | ||
| | If the skill is unspecified, the effect needs a value Z (which can use scripted math) which it will then use as the duel vlue directly | ||
| | If localization = W is specified, the effect localization W will be used (entry in effect_localization database, not a localization key directly) | ||
The skill difference (or scripted duel value) is available as scope:duel_value inside the outcome entries, the duel target is accessible as scope:duel_target | |||
Valid skill, target, combinations: skill + target, skill + value, only value | |||
Since there is now no automatic weighting, we should be using weight numbers in a comparable range to the scope:duel_value value. Since that will always be between -20 and 20 (unless you do something very unusual), and typically in a more narrow range than that, we should stick to those ranges. | |||
Only use larger weights if you want the duel_value to have a smaller impact on the weighting, and only use smaller weights if you want the duel_value to have a huge impact on the weighting. | |||
In addition, it is fully possible for the compare_modifier to reduce the weight to 0, which would mean that it will not be possible to happen at all. I've requested code support to make it so that we can define min and max values for weights, but until further notice we should use ranges that are guaranteed to not hit 0, or include min values in the compare_modifier itself. | |||
Lastly, remember that if you want the outcome of a duel to scale linearly from (almost) 0% to (almost) 100%, the duel_value should be applied 50% to the good outcome, and -50% to the bad outcome. If you only apply it on one side, you will retain a (presumably significant) chunk of chance for the other outcome.</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | else | ||
| | | Executes enclosed effects if limit criteria of preceding 'if' or 'else_if' is not met | ||
| | | <pre>if = { limit = { <triggers> } <effects> } | ||
limit = { <triggers> } | else = { <effects> }</pre> | ||
| none | |||
| | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | else_if | ||
| | | Executes enclosed effects if limit criteria of preceding 'if' or 'else_if' is not met, and its own limit is met | ||
| | | <pre>if = { limit = { <triggers> } <effects> } | ||
limit = { <triggers> } | else_if = { limit = { <triggers> } <effects> }</pre> | ||
| none | |||
| | |||
|- | |||
| end_inspiration_sponsorship | |||
| end_inspiration_sponsorship = inspiration | |||
<effects> } | | <pre>Stops the sponsorship of the targeted inspiration</pre> | ||
| | | none | ||
| | | inspiration | ||
|- | |||
| every_artifact | |||
| Iterate through all existing artifacts | |||
| <pre>every_artifact = { limit = { <triggers> } <effects> }</pre> | |||
| none | |||
| artifact | |||
|- | |||
| every_barony | |||
| Iterate through all baronies in the game | |||
| <pre>every_barony = { limit = { <triggers> } <effects> }</pre> | |||
| none | |||
| landed title | |||
|- | |- | ||
| | | every_character_with_royal_court | ||
|Iterate through all | | Iterate through all characters with a royal court | ||
| | | <pre>every_character_with_royal_court = { limit = { <triggers> } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| character | |||
<effects> } | |||
| | |||
|character | |||
|- | |- | ||
| | | every_county | ||
|Iterate through all | | Iterate through all counties in the game | ||
| | | <pre>every_county = { limit = { <triggers> } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| landed title | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | every_county_in_region | ||
| | | Iterate through all counties in the region. Put 'region = region_name' inside it | ||
| | | <pre>every_county_in_region = { limit = { <triggers> } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| landed title | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | every_culture_global | ||
| | | Iterate through all cultures in the game | ||
| | | <pre>every_culture_global = { limit = { <triggers> } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| culture | |||
|- | |||
| every_duchy | |||
| Iterate through all duchies in the game | |||
| <pre>every_duchy = { limit = { <triggers> } <effects> }</pre> | |||
<effects> } | | none | ||
| | | landed title | ||
|landed title | |||
|- | |- | ||
| | | every_empire | ||
| | | Iterate through all empires in the game | ||
| | | <pre>every_empire = { limit = { <triggers> } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| landed title | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | every_in_global_list | ||
| | | Iterate through all items in global list. list = name or variable = name | ||
| | | <pre>every_in_global_list = { limit = { <triggers> } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | every_in_list | ||
| | | Iterate through all items in list. list = name or variable = name | ||
| | | <pre>every_in_list = { limit = { <triggers> } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | every_in_local_list | ||
| | | Iterate through all items in local list. list = name or variable = name | ||
| | | <pre>every_in_local_list = { limit = { <triggers> } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | every_independent_ruler | ||
|Iterate through all | | Independent rulers list with a COUNT tier or above who hold land | ||
| | | <pre>every_independent_ruler = { limit = { <triggers> } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| character | |||
|- | |||
| every_inspiration | |||
| Iterate through all inspirations in the world | |||
| <pre>every_inspiration = { limit = { <triggers> } <effects> }</pre> | |||
| none | |||
| inspiration | |||
|- | |||
| every_inspired_character | |||
| Iterate through all characters with an inspirations in the world | |||
| <pre>every_inspired_character = { limit = { <triggers> } <effects> }</pre> | |||
| none | |||
| character | |||
|- | |||
| every_kingdom | |||
| Iterate through all kingdoms in the game | |||
| <pre>every_kingdom = { limit = { <triggers> } <effects> }</pre> | |||
| none | |||
| landed title | |||
|- | |||
| every_living_character | |||
| Iterate through all living characters | |||
| <pre>every_living_character = { limit = { <triggers> } <effects> }</pre> | |||
| none | |||
| character | |||
|- | |||
| every_player | |||
| Iterate through all player characters | |||
| <pre>every_player = { limit = { <triggers> } <effects> }</pre> | |||
| none | |||
| character | |||
|- | |||
| every_pool_character | |||
| Iterate through all characters in the pool of the given province | |||
| <pre>every_pool_character = { limit = { <triggers> } <effects> }</pre> | |||
| none | |||
| character | |||
|- | |||
| every_province | |||
| Iterate through all provinces (skips non-land and impassable provinces) | |||
| <pre>every_province = { limit = { <triggers> } <effects> }</pre> | |||
| none | |||
| province | |||
|- | |||
| every_religion_global | |||
| Iterate through all religions in the game | |||
| <pre>every_religion_global = { limit = { <triggers> } <effects> }</pre> | |||
| none | |||
| religion | |||
|- | |||
| every_ruler | |||
| Rulers list with a COUNT tier o above | |||
| <pre>every_ruler = { limit = { <triggers> } <effects> }</pre> | |||
| none | |||
| character | |||
|- | |||
| hidden_effect_new_artifact | |||
| Specific Artifact effects intended for use with newly created artifacts. These are hidden from tooltip, with no description generated whatsoever! | |||
| <pre></pre> | |||
| none | |||
| | |||
|- | |||
| if | |||
| Executes enclosed effects if limit criteria are met | |||
| <pre>if = { limit = { <triggers> } <effects> }</pre> | |||
| none | |||
| | |||
|- | |||
| multiply_focus_progress | |||
| Multiplies focus progress | |||
| <pre></pre> | |||
| none | |||
| | |||
|- | |||
| open_interaction_window | |||
| Tries to open the defined view. | |||
| <pre> | |||
interaction = interaction_key - the interaction object key to open | |||
redirect = [yes|no] - yes by default, redirect the actor and recipients ( only works if secondary_actor and secondary_recipient are not setup or are invalid) | |||
actor = character_actor - must be defined, must coincide with the current player | |||
recipient = character_actor - must be defined | |||
secondary_actor = character_secontary_actor - optional | |||
secondary_recipient = character_secondary_recipient - optional</pre> | |||
| none | |||
| | |||
|- | |||
| open_view | |||
| Tries to open the defined view without scope data. | |||
| <pre>Take care to set player if effect is executed not through UI but through synchronized code. Else all the window will open for all players. | |||
open_view = { | |||
view = <view name> | |||
view_message = <view specific instruction> # optional | |||
player = scope:character # optional, else shows for all players who execute the effect | |||
}simplified: open_view = <view name></pre> | |||
| none | |||
| | |||
|- | |||
| open_view_data | |||
| Tries to open the defined view with scope data. | |||
| <pre>Take care to set player if effect is executed not through UI but through synchronized code. Else all the window will open for all players. | |||
open_view_data = { | |||
view = <view name> | |||
view_message = <view specific instruction> # optional | |||
player = scope:character # optional, else shows for all players who execute the effect | |||
} | |||
simplified: open_view_data = <view name> | |||
for example: scope:faith = { open_view_data = faith_conversion }</pre> | |||
| none | |||
| | |||
|- | |||
| ordered_artifact | |||
| Iterate through all existing artifacts | |||
| <pre>ordered_artifact = { | |||
limit = { <triggers> } | |||
order_by = script_value | order_by = script_value | ||
position = int | position = int | ||
第3,005行: | 第3,824行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
| | | artifact | ||
|- | |- | ||
| | | ordered_barony | ||
|Iterate through all | | Iterate through all baronies in the game | ||
| | | <pre>ordered_barony = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,018行: | 第3,837行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
| | | landed title | ||
|- | |- | ||
| | | ordered_character_with_royal_court | ||
|Iterate through all | | Iterate through all characters with a royal court | ||
| | | <pre>ordered_character_with_royal_court = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,031行: | 第3,850行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
| | | character | ||
|- | |- | ||
| | | ordered_county | ||
|Iterate through | | Iterate through all counties in the game | ||
| | | <pre>ordered_county = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,044行: | 第3,863行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
| | | landed title | ||
|- | |- | ||
| | | ordered_county_in_region | ||
|Iterate through | | Iterate through all counties in the region. Put 'region = region_name' inside it | ||
| | | <pre>ordered_county_in_region = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,057行: | 第3,876行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
| | | landed title | ||
|- | |- | ||
| | | ordered_culture_global | ||
|Iterate through | | Iterate through all cultures in the game | ||
| | | <pre>ordered_culture_global = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,070行: | 第3,889行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
| | | culture | ||
|- | |- | ||
| | | ordered_duchy | ||
|Iterate through all | | Iterate through all duchies in the game | ||
| | | <pre>ordered_duchy = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,083行: | 第3,902行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
| | | landed title | ||
|- | |- | ||
| | | ordered_empire | ||
|Iterate through all | | Iterate through all empires in the game | ||
| | | <pre>ordered_empire = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,096行: | 第3,915行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
| | | landed title | ||
|- | |- | ||
| | | ordered_in_global_list | ||
|Iterate through all | | Iterate through all items in global list. list = name or variable = name | ||
| | | <pre>ordered_in_global_list = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,109行: | 第3,928行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | ordered_in_list | ||
|Iterate through all | | Iterate through all items in list. list = name or variable = name | ||
| | | <pre>ordered_in_list = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,122行: | 第3,941行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | ordered_in_local_list | ||
|Iterate through all | | Iterate through all items in local list. list = name or variable = name | ||
| | | <pre>ordered_in_local_list = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,135行: | 第3,954行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | ordered_independent_ruler | ||
| | | Independent rulers list with a COUNT tier or above who hold land | ||
| | | <pre>ordered_independent_ruler = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,148行: | 第3,967行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
|character | | character | ||
|- | |- | ||
| | | ordered_inspiration | ||
|Iterate through | | Iterate through all inspirations in the world | ||
| | | <pre>ordered_inspiration = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,161行: | 第3,980行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
| | | inspiration | ||
|- | |- | ||
| | | ordered_inspired_character | ||
|Iterate through all | | Iterate through all characters with an inspirations in the world | ||
| | | <pre>ordered_inspired_character = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,174行: | 第3,993行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
| | | character | ||
|- | |- | ||
| | | ordered_kingdom | ||
|Iterate through all | | Iterate through all kingdoms in the game | ||
| | | <pre>ordered_kingdom = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,187行: | 第4,006行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
|landed title | | landed title | ||
|- | |- | ||
| | | ordered_living_character | ||
|Iterate through all | | Iterate through all living characters | ||
| | | <pre>ordered_living_character = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,200行: | 第4,019行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
| | | character | ||
|- | |- | ||
| | | ordered_player | ||
|Iterate through all | | Iterate through all player characters | ||
| | | <pre>ordered_player = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,214行: | 第4,032行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> | <effects> }</pre> | ||
} | | none | ||
| | | character | ||
| | |||
|- | |- | ||
| | | ordered_pool_character | ||
|Iterate through all | | Iterate through all characters in the pool of the given province | ||
| | | <pre>ordered_pool_character = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,228行: | 第4,045行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
| | | character | ||
|- | |- | ||
| | | ordered_province | ||
|Iterate through | | Iterate through all provinces (skips non-land and impassable provinces) | ||
| | | <pre>ordered_province = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,241行: | 第4,058行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
| | | province | ||
|- | |- | ||
| | | ordered_religion_global | ||
|Iterate through all | | Iterate through all religions in the game | ||
| | | <pre>ordered_religion_global = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,254行: | 第4,071行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | none | ||
| | | religion | ||
|- | |- | ||
| | | ordered_ruler | ||
| | | Rulers list with a COUNT tier o above | ||
| | | <pre>ordered_ruler = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第3,267行: | 第4,084行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
|character | | none | ||
| | | character | ||
|- | |||
| pan_camera_to_province | |||
| Pans the camera to the specified province | |||
| <pre>pan_camera_to_province = scope:army.location</pre> | |||
| none | |||
| province | |||
|- | |- | ||
| | | pan_camera_to_title | ||
| | | Pans the camera to the specified title | ||
| | | <pre>pan_camera_to_title = capital_barony</pre> | ||
| none | |||
| landed title | |||
| | |||
| | |||
|- | |- | ||
| | | random_artifact | ||
|Iterate through all | | Iterate through all existing artifacts | ||
| | | <pre>random_artifact = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| artifact | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | random_barony | ||
|Iterate through all the | | Iterate through all baronies in the game | ||
| | | <pre>random_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| landed title | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | random_character_with_royal_court | ||
|Iterate through all | | Iterate through all characters with a royal court | ||
| | | <pre>random_character_with_royal_court = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| character | |||
<effects> } | |||
| | |||
|character | |||
|- | |- | ||
| | | random_county | ||
|Iterate through all | | Iterate through all counties in the game | ||
| | | <pre>random_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| landed title | |||
<effects> } | |||
| | |||
|landed title | |||
|- | |- | ||
| | | random_county_in_region | ||
|Iterate through all counties in | | Iterate through all counties in the region. Put 'region = region_name' inside it | ||
| | | <pre>random_county_in_region = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| landed title | |||
<effects> } | |||
| | |||
|landed title | |||
|- | |- | ||
| | | random_culture_global | ||
|Iterate through all | | Iterate through all cultures in the game | ||
| | | <pre>random_culture_global = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| culture | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | random_duchy | ||
|Iterate through all empires in | | Iterate through all duchies in the game | ||
| | | <pre>random_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| landed title | |||
|- | |||
| random_empire | |||
| Iterate through all empires in the game | |||
| <pre>random_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
<effects> } | | none | ||
| | | landed title | ||
| | |- | ||
| random_in_global_list | |||
| Iterate through all items in global list. list = name or variable = name | |||
| <pre>random_in_global_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| none | |||
| | |||
|- | |||
| random_in_list | |||
| Iterate through all items in list. list = name or variable = name | |||
| <pre>random_in_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | random_in_local_list | ||
|Iterate through all | | Iterate through all items in local list. list = name or variable = name | ||
| | | <pre>random_in_local_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | random_independent_ruler | ||
| | | Independent rulers list with a COUNT tier or above who hold land | ||
| | | <pre>random_independent_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| character | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | random_inspiration | ||
|Iterate through all | | Iterate through all inspirations in the world | ||
| | | <pre>random_inspiration = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| inspiration | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | random_inspired_character | ||
|Iterate through all | | Iterate through all characters with an inspirations in the world | ||
| | | <pre>random_inspired_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| character | |||
|- | |||
| random_kingdom | |||
| Iterate through all kingdoms in the game | |||
| <pre>random_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
<effects> } | | none | ||
| | | landed title | ||
| | |||
|- | |- | ||
| | | random_living_character | ||
|Iterate through all | | Iterate through all living characters | ||
| | | <pre>random_living_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| character | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | random_log_scopes | ||
| | | Log the current scope to the random log when this effect executes. Only use temprorarily for debugging purposes as it can introduce localized strings into the Scopes._Random log. yes = full scope info, no=only current scope | ||
| | | <pre></pre> | ||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | random_player | ||
|Iterate through all characters | | Iterate through all player characters | ||
| | | <pre>random_player = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| character | |||
<effects> } | |||
| | |||
|character | |||
|- | |- | ||
| | | random_pool_character | ||
|Iterate through all characters | | Iterate through all characters in the pool of the given province | ||
| | | <pre>random_pool_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| character | |||
<effects> } | |||
| | |||
|character | |||
|- | |- | ||
| | | random_province | ||
|Iterate through all | | Iterate through all provinces (skips non-land and impassable provinces) | ||
| | | <pre>random_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| province | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | random_religion_global | ||
|Iterate through all | | Iterate through all religions in the game | ||
| | | <pre>random_religion_global = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| religion | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | random_ruler | ||
| | | Rulers list with a COUNT tier o above | ||
| | | <pre>random_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | none | ||
| character | |||
<effects> } | |||
| | |||
|character | |||
|- | |- | ||
| | | remove_from_list | ||
| | | Removes the current scope from a named list remove_from_list = <string> | ||
| | | <pre></pre> | ||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | remove_global_variable | ||
| | | Removes a variable | ||
| | | <pre>remove_variable = variable_name</pre> | ||
| none | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | remove_list_global_variable | ||
| | | Removes the target from a variable list | ||
| <pre>remove_list_variable = { name = X target = Y } | |||
| | Where X is the name of the variable | ||
| | Where Y is an event target</pre> | ||
| none | |||
| | |||
|- | |- | ||
| | | remove_list_local_variable | ||
| | | Removes the target from a variable list | ||
| <pre>remove_list_variable = { name = X target = Y } | |||
| | Where X is the name of the variable | ||
| | Where Y is an event target</pre> | ||
| none | |||
| | |||
|- | |- | ||
| | | remove_list_variable | ||
| | | Removes the target from a variable list | ||
| <pre>remove_list_variable = { name = X target = Y } | |||
| | Where X is the name of the variable | ||
| | Where Y is an event target</pre> | ||
| none | |||
| | |||
|- | |- | ||
| | | remove_local_variable | ||
| | | Removes a variable | ||
| <pre>remove_variable = variable_name</pre> | |||
| | | none | ||
| | | | ||
|- | |- | ||
| | | remove_title_law | ||
| | | remove law from scoped title. This will leave the law group empty, so only do this if you're getting rid of a law group. DOES NOT apply law removal costs and effects. | ||
| | | <pre>remove_title_law = princely_elective_succession_law</pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | remove_title_law_effects | ||
| | | remove law from scoped title. This will leave the law group empty, so only do this if you're getting rid of a law group. DOES apply law removal costs and effects. | ||
| | | <pre>remove_title_law = princely_elective_succession_law</pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | remove_variable | ||
| | | Removes a variable | ||
| | | <pre>remove_variable = variable_name</pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | resolve_title_and_vassal_change | ||
| | | resolve_title_and_vassal_change = scope:change | ||
| | | <pre>Execute and destory the target title and vassal change, the change cannot be used after calling this effect</pre> | ||
| | | none | ||
| | | title and vassal change | ||
|- | |- | ||
| | | round_global_variable | ||
| | | Rounds a variable to the nearest specified value | ||
| | | <pre>clamp_variable = { name = X nearest = Y } | ||
| | Where X is the name of the variable | ||
| | Where Y is a script value</pre> | ||
| none | |||
| | |||
|- | |- | ||
| | | round_local_variable | ||
| | | Rounds a variable to the nearest specified value | ||
| | | <pre>clamp_variable = { name = X nearest = Y } | ||
| | Where X is the name of the variable | ||
| | Where Y is a script value</pre> | ||
| none | |||
| | |||
|- | |- | ||
| | | round_variable | ||
| | | Rounds a variable to the nearest specified value | ||
| | | <pre>clamp_variable = { name = X nearest = Y } | ||
| | Where X is the name of the variable | ||
| | Where Y is a script value</pre> | ||
| none | |||
| | |||
|- | |- | ||
| | | run_interaction | ||
| | | Execute/send the given interaction | ||
| <pre> | |||
| | interaction = interaction_key - the interaction object key to run | ||
| | redirect = [yes|no] - yes by default, redirect the actor and recipients ( only works if secondary_actor and secondary_recipient are not setup or are invalid) | ||
actor = character_actor - must be defined | |||
recipient = character_actor - must be defined | |||
secondary_actor = character_secontary_actor - optional | |||
secondary_recipient = character_secondary_recipient - optional | |||
execute_threshold = accept/maybe/decline - will be executed immediately if the AI response is at least this | |||
send_threshold = accept/maybe/decline - will be sent if the AI response is at least this | |||
At least one of execute_threshold and send_threshold must be set</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | save_opinion_value_as | ||
| | | Saves the scoped character's opinion of the target character as an arbitrarily-named target to be referenced later in the (unbroken) event chain | ||
| | | <pre>save_opinion_value_as = { name = <string> target = x }</pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | save_scope_as | ||
| | | Saves the current scope as an arbitrarily-named target to be referenced later in the (unbroken) event chain | ||
| | | <pre>save_event_target_as = <string></pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | save_scope_value_as | ||
| | | Saves a numerical or bool value as an arbitrarily-named target to be referenced later in the (unbroken) event chain | ||
| | | <pre>save_scope_value_as = { name = <string> value = x }</pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | save_temporary_opinion_value_as | ||
| | | Saves the scoped character's opinion of the target character as an arbitrarily-named target to be referenced later in the in the same effect | ||
| | | <pre>save_temporary_opinion_value_as = { name = <string> target = x</pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | save_temporary_scope_as | ||
| | | Saves the current scope as an arbitrarily-named temporary target to be referenced later in the same effect | ||
| | | <pre>save_temporary_event_target_as = <string></pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | save_temporary_scope_value_as | ||
| | | Saves a numerical or bool value as an arbitrarily-named temporary target to be referenced later in the same effect | ||
| | | <pre>save_temporary_scope_value_as = { name = <string> value = x }</pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | set_focus_progress | ||
| | | Sets focus progress | ||
| | | <pre></pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | set_generated_asexuality_chance | ||
| | | Sets the chance for a generated character to be asexual | ||
| | | <pre>set_generated_asexuality_chance = 20</pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | set_generated_bisexuality_chance | ||
| | | Sets the chance for a generated character to be bisexual | ||
| | | <pre>set_generated_bisexuality_chance = 20</pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | set_generated_homosexuality_chance | ||
| | | Sets the chance for a generated character to be homosexual | ||
| | | <pre>set_generated_homosexuality_chance = 20</pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | set_global_variable | ||
| | | Sets a variable | ||
| | | <pre>set_variable = { name = X value = Y days = Z } | ||
| | Where X is the name of the variable used to then access it | ||
| | Where Y is any event target, bool, value, script value or flag (flag:W) | ||
An optional days where Z is the number of days or script value; this can't refer to another variable’s value directly and should instead point to a script value that then checks that variable’s value. | |||
This variable will be accessible with <type_>var:X. With type being in a scope object or in a top scope | |||
Can also be used as set_variable = X (equivalent to set_variable = { name = X value = yes })</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | set_local_variable | ||
| | | Sets a variable | ||
| <pre>set_variable = { name = X value = Y days = Z } | |||
| | Where X is the name of the variable used to then access it | ||
| | Where Y is any event target, bool, value, script value or flag (flag:W) | ||
An optional days where Z is the number of days or script value; a variable cannot be used in this section, and you should instead use a script value that checks the variable’s value. | |||
This variable will be accessible with <type_>var:X. With type being in a scope object or in a top scope | |||
Can also be used as set_variable = X (equivalent to set_variable = { name = X value = yes })</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | set_pregnancy_gender | ||
| | | Set the gender of the unborn child | ||
| | | <pre>set_pregnancy_gender = female/male/random</pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | set_variable | ||
| | | Sets a variable | ||
| | | <pre>set_variable = { name = X value = Y days = Z } | ||
| | Where X is the name of the variable used to then access it | ||
| | Where Y is any event target, bool, value, script value or flag (flag:W) | ||
An optional days where Z is the number of days or script value; this cannot refer to another variable’s value directly, and should instead refer to a script value that checks that variable’s value. | |||
This variable will be accessible with <type_>var:X. With type being in a scope object or in a top scope | |||
Can also be used as set_variable = X (equivalent to set_variable = { name = X value = yes })</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | setup_claim_cb | ||
| | | = { attacker = scope:attacker | ||
| <pre> defender = scope:defender | |||
| | claimant = scope:claimant | ||
| | change = scope:change victory = yes/no | ||
take_occupied = yes/no } , this effect will add a scope:cb_prestige_factor with a value based on what's being taken | |||
civil_war = yes # Will vassalize people based on their capital location rather than being fully contained. Won't steal land from people not vassalized</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | setup_de_jure_cb | ||
| | | = { attacker = scope:attacker | ||
| <pre>defender = scope:defender | |||
| | change = scope:change | ||
| | victory = yes/no | ||
title = some title - Optional; will make it target a specific dejure title rather than *everything* that is dejure the attacker's | |||
}, this effect will add a scope:cb_prestige_factor with a value based on what's being taken</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | setup_invasion_cb | ||
| | | = { attacker = scope:attacker | ||
| <pre> defender = scope:defender | |||
| | change = scope:change victory = yes/no | ||
| | take_occupied = yes/no } , this effect will add a scope:cb_prestige_factor with a value based on what's being taken</pre> | ||
| none | |||
| | |||
|- | |- | ||
| | | start_struggle | ||
| | | Start a struggle | ||
| | | <pre>start_struggle = { struggle_type = X start_phase = Y } where X is a struggle type, Y is a phase</pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | start_tutorial_lesson | ||
| | | Starts the tutorial lesson with the given key. Does nothing if the tutorial is not running, the lesson is completed (or already running), or the lesson cannot be triggered (e.g. trigger fails) | ||
| | | <pre></pre> | ||
| | | none | ||
| | | | ||
|- | |- | ||
| | | trigger_event | ||
| | | triggers an event or on_action | ||
| | | <pre>trigger_event = { id = X days/months/years = Y delayed = yes/no } (for events) | ||
| | or | ||
| | trigger_event = { on_action = X days/months/years = Y delayed = yes/no } (for on_actions) | ||
Days/months/years are optional and equal to 0 if not specified. If specified, Y can be a value or an inclusive interval "{ A B }" from which the duration will be picked Scopes._Randomly. | |||
delayed = yes will delay the event/on_action to the next event tick even when there's no explicit time interval set (delay, but fire ASAP). By default, delayed = no</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | try_create_important_action | ||
| | | Tries to create an important action notification. Will keep the current one if already exists. | ||
| <pre> | |||
| | important_action_type = important_action_type_key - the important action object key to create. Must be defined. | ||
| | actor = character_actor - optional, can be used by the important action effect | ||
recipient = character_actor - optional, can be used by the important action effect | |||
secondary_actor = character_secontary_actor - optional, can be used by the important action effect | |||
secondary_recipient = character_secondary_recipient - optional, can be used by the important action effect | |||
landed_title = landed_title - optional, can be used by the important action effect | |||
war = war - optional, can be used by the important action effect | |||
artifact = artifact - optional, can be used by the important action effect | |||
culture = culture - optional, can be used by the important action effect</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | try_create_suggestion | ||
| | | Tries to create an suggestuib notification. Will keep the current one if already exists. | ||
| | | <pre> | ||
| | suggestion_type = suggestion_type_key - the suggestion action object key to create. Must be defined. | ||
| | actor = character_actor - optional, can be used by the suggestion effect | ||
recipient = character_actor - optional, can be used by the suggestion effect | |||
secondary_actor = character_secontary_actor - optional, can be used by the suggestion effect | |||
secondary_recipient = character_secondary_recipient - optional, can be used by the suggestion effect | |||
landed_title = landed_title - optional, can be used by the suggestion effect</pre> | |||
| none | |||
| | |||
|- | |- | ||
| | | add_amenity_level | ||
| | | add_amenity_level = { type = food value = 2 } | ||
| <pre>Increases the amenity type by the given value for the scoped character</pre> | |||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_character_flag | ||
| | | adds a character flag | ||
| | | <pre>usage: | ||
|character | add_character_flag = X | ||
| | add_character_flag = { flag = X days/weeks/years = Y } | ||
where X is the name of the flag and Y is a value or value interval "{ min max }"</pre> | |||
| character | |||
| | |||
|- | |- | ||
| | | add_character_modifier | ||
| | | Add a modifier to a character | ||
| | | <pre>add_character_modifier = name | ||
|character | add_character_modifier = { modifier = name days/weeks/months/years = int } | ||
| | You can also add an optional 'desc' field. This is a dynamic description that'll be used for your timed modifier</pre> | ||
| character | |||
| | |||
|- | |- | ||
| | | add_courtier | ||
| | | Add the target character to the scope character's court | ||
| | | <pre></pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | add_diplomacy_lifestyle_perk_points | ||
| | | Adds lifestyle per points to the given character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_diplomacy_lifestyle_xp | ||
| | | Adds lifestyle XP to the given character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_dread | ||
| | | adds (or removes) dread to a character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_gold | ||
| | | adds gold to a character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_hook | ||
| | | Adds a hook on a character | ||
| | | <pre>add_hook = { type = X, target = Y, secret = Z, days/months/years = W } | ||
|character | Note: days/months/years optional (taken from hook type otherwise) and can be a value or an interval, secret required for hook types that require it. | ||
| | Does send a toast to the player if it's involved.</pre> | ||
| character | |||
| | |||
|- | |- | ||
| | | add_hook_no_toast | ||
| | | Adds a hook on a character | ||
| | | <pre>add_hook = { type = X, target = Y, secret = Z, days/months/years = W } | ||
|character | Note: days/months/years optional (taken from hook type otherwise) and can be a value or an interval, secret required for hook types that require it. | ||
| | Does NOT send a toast to the player.</pre> | ||
| character | |||
| | |||
|- | |- | ||
| | | add_intrigue_lifestyle_perk_points | ||
| | | Adds lifestyle per points to the given character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_intrigue_lifestyle_xp | ||
| | | Adds lifestyle XP to the given character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_joined_faction_discontent | ||
| | | add_joined_faction_discontent = X adds (or subtracts) discontent to the factions the scope character is in | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_knows_of_killer | ||
| | | Adds the right hand side character as knowing of the killer of the scoped object | ||
| | | <pre>dead_person = { add_knows_of_killer = root }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | add_learning_lifestyle_perk_points | ||
| | | Adds lifestyle per points to the given character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_learning_lifestyle_xp | ||
| | | Adds lifestyle XP to the given character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_martial_lifestyle_perk_points | ||
| | | Adds lifestyle per points to the given character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_martial_lifestyle_xp | ||
| | | Adds lifestyle XP to the given character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_opinion | ||
| | | Adds a temporary opinion modifier, add_opinion = { modifier = X days/months/years = Y target = Z } | ||
| <pre>X is a scripted modifier name. Y can be a value or a range "{ A B }" If no timeout are specified, the modifier's scripted default timeout will be used.</pre> | |||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_perk | ||
| | | Adds the perk for this character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_personal_artifact_claim | ||
| | | Adds a personal claim on the target artifact to the scoped character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | artifact | ||
|- | |- | ||
| | | add_piety | ||
| | | gives (or takes) piety to a character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_piety_experience | ||
| | | gives (or takes) piety experience to a character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_piety_level | ||
| | | increases (or decreases) the piety level of a character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_piety_no_experience | ||
| | | gives (or takes) piety without experience to a character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_pressed_claim | ||
| | | gives a pressed claim to a character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | add_prestige | ||
| | | gives (or takes) prestige to a character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_prestige_experience | ||
| | | gives (or takes) prestige experience to a character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_prestige_level | ||
| | | increases (or decreases) the prestige level of a character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_prestige_no_experience | ||
| | | gives (or takes) prestige without experience to a character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_realm_law | ||
| | | Adds the given law to the scoped character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_realm_law_skip_effects | ||
| | | Adds the given law to the scoped character. Skips the cost and the pass effect, and the revoke effects of the current law | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_relation_flag | ||
| | | Adds a flag to an existing relation | ||
| | | <pre>add_relation_flag = { | ||
|character | relation = scripted_relation | ||
| | flag = flag_name (declared in the relation's script) | ||
target = other_character | |||
}</pre> | |||
| character | |||
| | |||
|- | |- | ||
| | | add_scheme_cooldown | ||
| | | Sets a scheme cooldown for the scope character towards = { target=target_character type=scheme_type days/weeks/months/years = duration } | ||
| <pre></pre> | |||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_secret | ||
| | | Adds a secret | ||
| | | <pre>add_secret = { type = X target = Y } | ||
|character | Note that if you create a Secret in the immediate effect, the tooltips for other effects run in that Secret's scope (such as reveal_to) are likely to be displayed incorrectly, or not to be displayed at all. This is due to the game generating the tooltip before it actually has a Secret that exists to work off of. | ||
| | Test rigorously and use custom tooltips if necessary. Creating a Secret in the immediate and then running effects on it in an event option should produce perfectly normal tooltips.</pre> | ||
| character | |||
| | |||
|- | |- | ||
| | | add_stewardship_lifestyle_perk_points | ||
| | | Adds lifestyle per points to the given character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_stewardship_lifestyle_xp | ||
| | | Adds lifestyle XP to the given character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_stress | ||
| | | increases (or decreases) stress of a character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_targeting_factions_discontent | ||
| | | add_targeting_factions_discontent = X adds (or subtracts) discontent to all the factions that are targeting the scope character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_to_scheme | ||
| | | Adds a character as an agent to the scheme | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | scheme | ||
|- | |- | ||
| | | add_trait | ||
| | | Adds a trait to a character (the trait will not be added and no tooltip will be shown if the character isn't eligible for the trait, i.e. when already having the trait, having an opposing trait, not fulfilling the trait's is_potential trigger or being outside of the trait's range) | ||
| <pre></pre> | |||
|character | | character | ||
| | | | ||
|- | |||
| add_trait_force_tooltip | |||
| Adds a trait to a character (if the add_trait effect would not add the trait - i.e. when already having the trait, having an opposing trait, not fulfilling the trait's is_potential trigger or being outside of the trait's range - a tooltip will be shown but the trait will not be added) | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| add_truce_both_ways | |||
| Sets the both-way truce against the specified character | |||
| <pre>'character' specifies the target character | |||
'override' says whether it should replace the previous truce even if shorter | |||
'years / months / days' sets the duration of the truce | |||
'result' specifies the result from the scope character's point of view ('white_peace' by default) | |||
'casus_belli' sets the casus belli scope that caused the truce, mutually exclusive with 'name' | |||
'name' sets a custom description. Dynamic description with the current scope | |||
'war' sets the war that caused the truce, mutually exclusive with 'casus_belli' | |||
add_truce_both_ways = { character = X years/months/days = Y override = yes/no result = victory/defeat/white_peace casus_belli/war = Z }</pre> | |||
| character | |||
| | |||
|- | |||
| add_truce_one_way | |||
| Sets the truce against the specified character | |||
| <pre>'character' specifies the target character | |||
'override' says whether it should replace the previous truce even if shorter | |||
'years / months / days' sets the duration of the truce | |||
'result' specifies the result from the scope character's point of view ('white_peace' by default) | |||
'casus_belli' sets the casus belli scope that caused the truce, mutually exclusive with 'name' | |||
'name' sets a custom description. Dynamic description with the current scope | |||
add_truce_one_way = { character = X years/months/days = Y override = yes/no result = victory/defeat/white_peace casus_belli/war = Z }</pre> | |||
| character | |||
| | |||
|- | |- | ||
| | | add_tyranny | ||
| | | adds (or removes) tyranny to (or from) a character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | add_unpressed_claim | ||
| | | gives an unpressed claim to a character | ||
| | | <pre></pre> | ||
|character | | character | ||
|landed title | | landed title | ||
|- | |- | ||
| | | add_visiting_courtier | ||
| | | Add the target character as the scope character's guest | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | allow_alliance | ||
| | | Allows (previously broken) alliance with the target character | ||
| | | <pre></pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | allow_in_scheme | ||
| | | Allow the character to join the scheme as an agent | ||
| | | <pre></pre> | ||
|character | | character | ||
|scheme | | scheme | ||
|- | |- | ||
| | | apply_ai_vassal_obligation_liege_most_desired | ||
| | | Apply the new level for the most desired AI obligation level the liege in the contract wants | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | apply_ai_vassal_obligation_vassal_most_desired | ||
| | | Apply the new level for the most desired AI obligation level the vassal in the contract wants | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | appoint_court_position | ||
| | | Appoints the target character in target court position within scoped character's court | ||
| | | <pre> | ||
|character | recipient = character scope - target character to receive the title | ||
| | court_position = court position type - court position type to assign the receiver</pre> | ||
| character | |||
| | |||
|- | |- | ||
| | | assign_council_task | ||
| | | Assigns the target character to the council task | ||
| | | <pre>assign_council_task = { | ||
|character | council_task = council_task_scope | ||
| | target = character_taking_the_position fire_on_actions = [yes] | ||
}</pre> | |||
| character | |||
| | |||
|- | |- | ||
| | | assign_councillor_type | ||
| | | Assigns the target character to the first available council position of the type available. { type = council_position_type_key target = character_taking_the_position fire_on_actions = [yes] } | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | banish | ||
| | | The character gets banished. | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | becomes_independent | ||
| | | becomes and independent ruler. becomes_independent = { change = 'previously created title_and_vassal_change' | ||
| <pre></pre> | |||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | break_alliance | ||
| | | Breaks the alliance with the target character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | cancel_truce_both_ways | ||
| | | Ends the truce against the specified character, and theirs against the scoped character. cancel_truce_both_ways = scope:character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | cancel_truce_one_way | ||
| | | Ends the truce against the specified character. cancel_truce_one_way = scope:character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | change_age | ||
| | | Changes the character's age by the given amount. Sets age to 0 if it'd end up below 0. Note that this will completely bypass birthday on-actions, age-related health, and so on, just like the console command | ||
| | | <pre> Usage: change_age = script value</pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | change_current_court_grandeur | ||
| | | Changes the current court grandeur of a character with a royal court, clamped between NRoyalCourt::COURT_GRANDEUR_MIN and NRoyalCourt::COURT_GRANDEUR_MAX. | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | change_current_weight | ||
| | | Change the current weight of the scoped character | ||
| | | <pre>change_current_weight = 20</pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | change_first_name | ||
| | | Change the first name of a character | ||
| | | <pre>change_first_name = <localization_key> | ||
|character | change_first_name = scope:name/var:name # containing a flag with a localization key | ||
| | change_first_name = { template_character = scope:character } # copy name from the template character</pre> | ||
| character | |||
| | |||
|- | |- | ||
| | | change_government | ||
| | | changes the government of a character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | change_liege | ||
| | | = { liege = 'Character that should become the new liege' change = 'previously created title_and_vassal_change', adds a liege change | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | change_prison_type | ||
| | | Changes the charater's prison type. Scoped character is the prisoner. Accepts any static modifier (see also improson effect). | ||
| | | <pre>change_prison_type = house_arrest</pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | change_target_weight | ||
| | | Change the target weight of the scoped character | ||
| | | <pre>change_target_weight = 20</pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | change_trait_rank | ||
| | | Changes the trait rank = { trait = trait_group rank = change max = maximum new rank } | ||
| <pre></pre> | |||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | clear_forced_vote | ||
| | | Clears forced voting | ||
| | | <pre>clear_forced_vote = yes</pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | consume_banish_reasons | ||
| | | 'Consume' all banish reasons that the scoped character has on the target character. Until they get a new reason, they cannot banish the target again. | ||
| | | <pre></pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | consume_divorce_reasons | ||
| | | 'Consume' all divorce reason that the scoped character has on the target character. Until they get a new reason, they cannot divorce the target again. | ||
| | | <pre></pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | consume_execute_reasons | ||
| | | 'Consume' all execute reasons that the scoped character has on the target character. Until they get a new reason, they cannot execute the target again. | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | consume_imprisonment_reasons | ||
| | | 'Consume' all imprisonment reasons that the scoped character has on the target character. Until they get a new reason, they cannot imprison the target again. | ||
| | | <pre></pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | consume_revoke_title_reason | ||
| | | 'Consume' 1 revoke title reason that the scoped character has on the target character. | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | copy_inheritable_appearance_from | ||
| | | copies the inheritable appearance attributes (inheritable genes in the character's DNA string) from the target character to the scoped character | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | copy_localized_text | ||
| | | Copies a piece of localized text from the target character for the given key. | ||
| | | <pre>copy_localized_text = { key = key target = character }</pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | create_alliance | ||
| | | Create an alliance between the scoped character and the target. The allied through characters determine who gets checked against for if the alliance should persist or not. | ||
| | | <pre>create_alliance = { | ||
|character | target = scope | ||
| | allied_through_owner = scope | ||
allied_through_target = scope | |||
} | |||
OR as a short hand use just the target to use the owner and target as the allied through characters | |||
create_alliance = scope</pre> | |||
| character | |||
| | |||
|- | |- | ||
| | | create_artifact | ||
| | | Creates a new artifact and adds it to the inventory of the given character | ||
| <pre> | |||
|character | Be aware that we make use of the current scopes implicitly. This is done in common/artifacts/visuals | ||
| | name = dynamic description - artifact name | ||
description = dynamic description - artifact description | |||
rarity = enum - artifact rarity, ex. legendary | |||
type = flag - inventory slot type, ex. trinket | |||
modifier = static modifier - applied to the character whom wields this artifact | |||
durability = script value - new durability, will be max by default | |||
max_durability = script value - Optional. A value for the max durability, which would override the one normally assigned by the defines | |||
decaying = yes/no - Optional. Set if artifact decays with time. Yes by default | |||
history = artifact history entry - custom history entry to denote for example that this is artifact was reforged by someone else than the owner | |||
type = artifact history entry type - available types: | |||
created_before_history | |||
created | |||
discovered | |||
claimed_by_house | |||
given | |||
stolen | |||
inherited | |||
conquest | |||
taken_in_siege | |||
taken_in_battle | |||
won_in_duel | |||
reforged | |||
template = artifact scripted template - a scripted base template with triggers and modifiers | |||
visuals = artifact visual type - how this artifact should appear visually | |||
generate_history = bool - automatically generate a new history entry if none has been scripted? | |||
quality = script value - new quality, used in AI scoring | |||
wealth = script value - new wealth, used in AI scoring | |||
creator = character scope - set a custom creator of the artifact ( default is the owner ) | |||
visuals_source = scope containing landed title, dynasty or house - set a source of coat of arms graphics for the artifact | |||
(only few artifact models actually make use of it. Most notable - banners) | |||
save_scope_as = new artifact - an optional way to get a reference to the newly created artifact | |||
title_history = title - history entries of the given title will be added to the artifact history | |||
title_history_date = game date - from which date onwards to copy historical entries from given title | |||
creator = character scope - set a custom creator of the artifact ( default is the owner )</pre> | |||
| character | |||
| | |||
|- | |- | ||
| | | create_cadet_branch | ||
| | | The scope character creates a cadet branch of the house he is in [yes|no] | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | create_divergent_culture | ||
| | | Creates a new divergent culture from the scope character's culture. The new culture will keep all pillars and traditions of the parent culture it is up to the user to add or remove pillars and traditions as appropriate.The new divergent culture is saved as scope:new_culture. | ||
| | | <pre>create_divergent_culture = yes</pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | create_divergent_culture_with_side_effects | ||
| | | Creates a new divergent culture from the scope character's culture. This also incurs the cost, does conversion, and such, just as if you'd diverged via the UI. Unlike create_divergent_culture, it will change ethos and suchThe new culture is NOT saved as a scope due to technical limitations. | ||
| | | <pre>create_divergent_culture_with_side_effects = yes</pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | create_divergent_culture_with_side_effects_excluding_cost | ||
| | | Creates a new divergent culture from the scope character's culture. Ignores the cost, does conversion, and such, just as if you'd diverged via the UI. Unlike create_divergent_culture, it will change ethos and suchThe new culture is NOT saved as a scope due to technical limitations. | ||
| <pre>create_divergent_culture_with_side_effects_excluding_cost = yes</pre> | |||
| character | |||
| | |||
|character | |||
| | |||
|- | |- | ||
| | | create_faction | ||
| | | the scoped character creates a faction of the specified type against the specified target, create_faction = { type = X target = Y } | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | create_hybrid_culture | ||
| | | Creates a new hybrid culture from the scope character's culture and the RHS culture. The new culture will have a random mix of pillars and traditions from both, like when the AI hybridizes. The new hybrid culture is saved as scope:new_culture. | ||
| | | <pre>create_hybrid_culture = culture:anglo-saxon</pre> | ||
|character | | character | ||
| | | culture | ||
|- | |- | ||
| | | create_hybrid_culture_with_side_effects | ||
| | | Creates a new hybrid culture from the scope character's culture and the RHS culture. The new culture will have a random mix of pillars and traditions from both, like when the AI hybridizes. This also incurs the cost, does conversion, and such, just as if you'd hybridized via the UI. The new hybrid culture is NOT saved as a scope due to technical limitations. | ||
| | | <pre>create_hybrid_culture_with_side_effects = culture:anglo-saxon</pre> | ||
|character | | character | ||
| | | culture | ||
|- | |- | ||
| | | create_inspiration | ||
| | | create_inspiration = inspiration_type | ||
| <pre>Creates an inspiration of a given type owned by scoped character, new inspiration is saved as scope:new_inspiration | |||
|character | create_inspiration = { type = inspiration_type gold = script_value } | ||
| | As above but overrides the base cost compared to the one defined in the type</pre> | ||
| character | |||
| | |||
|- | |- | ||
| | | create_story | ||
| | | creates and initializes a story cycle with the current character as owner | ||
| | | <pre>create_story = story_type | ||
|character | create_story = { | ||
| | type = story_type | ||
save_scope_as/save_temporary_scope_as = scope_name # optional way to get a reference to the new story}</pre> | |||
| character | |||
| | |||
|- | |- | ||
| | | death | ||
| | | kills a character, death = { killer = X death_reason = Y artifact = Z }, where X is a character and Y is one of the death reason keys. Optionally artifact Z will be used as the killing artifact instead of the defaulted one from the killer's slot for that death reason's definition. Or death = natural which will pick a natural death reason to kill the character from. | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | depose | ||
| | | The character gets deposed. | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | destroy_title | ||
| | | Destroys a title | ||
| | | <pre>destroy_title = title:<title></pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | end_pregnancy | ||
| | | end a pregnancy | ||
| | | <pre></pre> | ||
|character | | character | ||
| | | | ||
|- | |- | ||
| | | every_alert_creatable_title | ||
| | | Iterate through all titles that can be created by the character. (only for alerts) | ||
| | | <pre>every_alert_creatable_title = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_alert_usurpable_title | ||
| | | Iterate through all titles that can be usurped by the character. (only for alerts) | ||
| | | <pre>every_alert_usurpable_title = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_ally | ||
| | | Iterate through all allies | ||
| | | <pre>every_ally = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_ancestor | ||
| | | Iterate through all the ancestors of the scope character up to 5 generations | ||
| | | <pre>every_ancestor = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_army | ||
| | | Iterate through all armies | ||
| <pre>every_army = { limit = { <triggers> } <effects> }</pre> | |||
|character | | character | ||
| | | army | ||
|- | |- | ||
| | | every_character_artifact | ||
| | | Iterate through all artifacts in a given characters inventory | ||
| | | <pre>every_character_artifact = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | artifact | ||
|- | |- | ||
| | | every_character_struggle | ||
| | | Iterate through all struggles that character is involved in. | ||
| | | <pre>every_character_struggle = { limit = { <triggers> } <effects> } | ||
|character | Optional: Narrow down the involvement status *_character_struggle = { involvement = involved | interloper }</pre> | ||
| | | character | ||
| struggle | |||
|- | |- | ||
| | | every_character_to_title_neighboring_and_across_water_county | ||
| | | Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>every_character_to_title_neighboring_and_across_water_county = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_character_to_title_neighboring_and_across_water_duchy | ||
| | | Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>every_character_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_character_to_title_neighboring_and_across_water_empire | ||
| | | Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>every_character_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_character_to_title_neighboring_and_across_water_kingdom | ||
| | | Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>every_character_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_character_to_title_neighboring_county | ||
| | | Scopes from a character to a neighboring county (looking trough the de Jure lieges) | ||
| | | <pre>every_character_to_title_neighboring_county = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_character_to_title_neighboring_duchy | ||
| | | Scopes from a character to a neighboring duchy (looking trough the de Jure lieges) | ||
| | | <pre>every_character_to_title_neighboring_duchy = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_character_to_title_neighboring_empire | ||
| | | Scopes from a character to a neighboring empire (looking trough the de Jure lieges) | ||
| | | <pre>every_character_to_title_neighboring_empire = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_character_to_title_neighboring_kingdom | ||
| | | Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges) | ||
| | | <pre>every_character_to_title_neighboring_kingdom = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_character_war | ||
| | | Wars of the scoped character | ||
| | | <pre>every_character_war = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | war | ||
|- | |- | ||
| | | every_child | ||
| | | Iterate through all children | ||
| | | <pre>every_child = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_claim | ||
| | | Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all | ||
| | | <pre>every_claim = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_claimed_artifact | ||
| | | Iterate through all claimed artifacts of the scoped character | ||
| | | <pre>every_claimed_artifact = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | artifact | ||
|- | |- | ||
| | | every_close_family_member | ||
| | | Iterate through all the close family [father, mother, siblings, children, grandparents] | ||
| | | <pre>every_close_family_member = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_close_or_extended_family_member | ||
| | | Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins] | ||
| | | <pre>every_close_or_extended_family_member = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_concubine | ||
| | | Iterate through all concubines | ||
| | | <pre>every_concubine = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_consort | ||
| | | Iterate through all consorts (concubines and spouses) | ||
| | | <pre>every_consort = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_councillor | ||
| | | Iterate through all councillors | ||
| | | <pre>every_councillor = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_court_position_employer | ||
| | | Iterates through all characters that employ the scoped character in any court position. | ||
| | | <pre>every_court_position_employer = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_court_position_holder | ||
| | | Iterates through all characters employed by the scoped character in the target court position. | ||
| | | <pre>every_court_position_holder = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_courtier | ||
| | | Iterate through all courtiers | ||
| | | <pre>every_courtier = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_courtier_away | ||
| | | Iterate through all courtiers that are away | ||
| | | <pre>every_courtier_away = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_courtier_or_guest | ||
| | | Iterate through all courtiers and guests (pool and foreign court guests) | ||
| | | <pre>every_courtier_or_guest = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_de_jure_claim | ||
| | | Iterate through all de jure claims for a character | ||
| | | <pre>every_de_jure_claim = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_diplomacy_councillor | ||
| | | Iterate through all diplomacy-based councillors | ||
| | | <pre>every_diplomacy_councillor = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_directly_owned_province | ||
| | | Iterate through all directly owned provinces | ||
| <pre>every_directly_owned_province = { limit = { <triggers> } <effects> }</pre> | |||
| character | |||
| | | province | ||
} | |||
|character | |||
|- | |- | ||
| | | every_election_title | ||
| | | Iterate through all titles the scoped character can vote on | ||
| <pre>every_election_title = { limit = { <triggers> } <effects> }</pre> | |||
| character | |||
| landed title | |||
} | |||
|character | |||
|- | |- | ||
| | | every_equipped_character_artifact | ||
| | | Iterate through all equipped artifacts in a given characters inventory | ||
| <pre>every_equipped_character_artifact = { limit = { <triggers> } <effects> }</pre> | |||
|character | | character | ||
| | | artifact | ||
|- | |- | ||
| | | every_extended_family_member | ||
| | | Iterate through all the extended family [uncles/aunts, nephew/niece, cousins] | ||
| | | <pre>every_extended_family_member = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_foreign_court_guest | ||
| | | Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege) | ||
| | | <pre>every_foreign_court_guest = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_former_concubine | ||
| | | Iterate through all former concubines. Not persisted past death | ||
| | | <pre>every_former_concubine = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_former_concubinist | ||
| | | Iterate through all former concubinists. Not persisted past death | ||
| | | <pre>every_former_concubinist = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_former_spouse | ||
| | | Iterate through all former spouses | ||
| | | <pre>every_former_spouse = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_general_councillor | ||
| | | Iterate through all councillors that are not related to a skill | ||
| | | <pre>every_general_councillor = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| character | |||
|- | |- | ||
| | | every_heir | ||
| | | Heirs of the scoped character | ||
| | | <pre>every_heir = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_heir_title | ||
| | | Iterate through all landed titles character is heir to | ||
| | | <pre>every_heir_title = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_heir_to_title | ||
| | | Iterate through all titles the scoped character is heir to | ||
| <pre>every_heir_to_title = { limit = { <triggers> } <effects> }</pre> | |||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_held_title | ||
| | | Iterate through all held landed titles | ||
| | | <pre>every_held_title = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_hired_mercenary | ||
| | | Iterate through all hired mercenary companies | ||
| | | <pre>every_hired_mercenary = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | mercenary company | ||
|- | |- | ||
| | | every_hooked_character | ||
| | | Iterate through all characters this character has a hook on | ||
| | | <pre>every_hooked_character = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_hostile_raider | ||
| | | Iterate through anyone the character is hostile to due to their top-liege's realm having been raided | ||
| | | <pre>every_hostile_raider = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_intrigue_councillor | ||
| | | Iterate through all intrigue-based councillors | ||
| | | <pre>every_intrigue_councillor = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_knight | ||
| | | Iterate through all knights | ||
| | | <pre>every_knight = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_known_secret | ||
| | | Iterate through all secrets known by the character | ||
| | | <pre>every_known_secret = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | secret | ||
|- | |- | ||
| | | every_learning_councillor | ||
| | | Iterate through all learning-based councillors | ||
| | | <pre>every_learning_councillor = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_liege_or_above | ||
| | | Iterate through all lieges above a character (skipping the character themselves) | ||
| | | <pre>every_liege_or_above = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_martial_councillor | ||
| | | Iterate through all martial-based councillors | ||
| | | <pre>every_martial_councillor = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | character | ||
|- | |- | ||
| | | every_neighboring_and_across_water_realm_same_rank_owner | ||
| | | A sub-realm or realm bordering the scope character's realm (including across water) and has the same rank as the scope character (look for lieges of he owner of the land if necessary) | ||
| | | <pre>every_neighboring_and_across_water_realm_same_rank_owner = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| character | |||
|- | |- | ||
| | | every_neighboring_and_across_water_top_liege_realm | ||
| | | A realm with a different top liege neighboring the realm of the scope character's top liege (including across water); switches to the realm's top title. Can be based on borders a day or two out of date | ||
| | | <pre>every_neighboring_and_across_water_top_liege_realm = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_neighboring_and_across_water_top_liege_realm_owner | ||
| | | A realm with a different top liege neighboring the realm of the scope character's top liege (including across water); switches to the holder of the realm. Can be based on borders a day or two out of date | ||
| | | <pre>every_neighboring_and_across_water_top_liege_realm_owner = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_neighboring_realm_same_rank_owner | ||
| | | A sub-realm or realm bordering the scope character's realm and has the same rank as the scope character (look for lieges of he owner of the land if necessary) | ||
| | | <pre>every_neighboring_realm_same_rank_owner = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_neighboring_top_liege_realm | ||
| | | A realm with a different top liege neighboring the realm of the scope character's top liege; switches to the realm's top title. Can be based on borders a day or two out of date | ||
| | | <pre>every_neighboring_top_liege_realm = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|landed title | | landed title | ||
|- | |- | ||
| | | every_neighboring_top_liege_realm_owner | ||
| | | A realm with a different top liege neighboring the realm of the scope character's top liege; switches to the holder of the realm. Can be based on borders a day or two out of date | ||
| | | <pre>every_neighboring_top_liege_realm_owner = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_opposite_sex_spouse_candidate | ||
| | | Iterate through all the spouse candidates of the opposite sex of a character. | ||
| | | <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. | ||
|character | every_opposite_sex_spouse_candidate = { limit = { <triggers> } <effects> }</pre> | ||
| | | character | ||
| character | |||
|- | |- | ||
| | | every_owned_story | ||
| | | Iterate through all owned stories for a character | ||
| | | <pre>every_owned_story = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | story cycle | ||
|- | |- | ||
| | | every_parent | ||
| | | Iterate through all (both) parents | ||
| | | <pre>every_parent = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_patroned_holy_order | ||
| | | Iterate through all holy orders that the scoped character is a patron of | ||
| | | <pre>every_patroned_holy_order = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | holy order | ||
|- | |- | ||
| | | every_personal_claimed_artifact | ||
| | | Iterate through all personally claimed artifacts of the scoped character | ||
| | | <pre>every_personal_claimed_artifact = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | artifact | ||
|- | |- | ||
| | | every_pinned_character | ||
| | | Iterate through characters this player has pinned | ||
| | | <pre>every_pinned_character = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_pinning_character | ||
| | | Iterate through characters whose player has this character pinned | ||
| | | <pre>every_pinning_character = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_played_character | ||
| | | Iterate through all characters the player playing this character has played. Matches the game over legacy, except for excluding the currently played character | ||
| | | <pre>every_played_character = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_player_heir | ||
| | | Iterate through player heirs, capped at the first 10 | ||
| | | <pre>every_player_heir = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_pool_guest | ||
| | | Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege) | ||
| | | <pre>every_pool_guest = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_potential_marriage_option | ||
| | | Iterate through all potential selectable marriage or betrohed options | ||
| | | <pre>every_potential_marriage_option = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_pretender_title | ||
| | | Iterate through all landed titles character is pretender to | ||
| | | <pre>every_pretender_title = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_primary_war_enemy | ||
| | | Iterate through all primary war enemies | ||
| | | <pre>every_primary_war_enemy = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_prisoner | ||
| | | Iterate through all prisoners | ||
| | | <pre>every_prisoner = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_prowess_councillor | ||
| | | Iterate through all prowess-based councillors | ||
| | | <pre>every_prowess_councillor = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_raid_target | ||
| | | Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges | ||
| | | <pre>every_raid_target = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_realm_county | ||
| | | Iterate through all counties in the realm. Based on top liege | ||
| | | <pre> | ||
|character | every_realm_county = { limit = { <triggers> } <effects> }</pre> | ||
| | | character | ||
| landed title | |||
|- | |- | ||
| | | every_realm_de_jure_duchy | ||
| | | Iterate through all de jure duchies that have at least one county in the realm. Based on top liege | ||
| | | <pre> | ||
|character | every_realm_de_jure_duchy = { limit = { <triggers> } <effects> }</pre> | ||
| | | character | ||
| landed title | |||
|- | |- | ||
| | | every_realm_de_jure_empire | ||
| | | Iterate through all de jure empire that have at least one county in the realm. Based on top liege | ||
| | | <pre> | ||
|character | every_realm_de_jure_empire = { limit = { <triggers> } <effects> }</pre> | ||
| | | character | ||
| landed title | |||
|- | |- | ||
| | | every_realm_de_jure_kingdom | ||
| | | Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege | ||
| | | <pre> | ||
|character | every_realm_de_jure_kingdom = { limit = { <triggers> } <effects> }</pre> | ||
| | | character | ||
| landed title | |||
|- | |- | ||
| | | every_realm_province | ||
| | | Iterate through all realm provinces of a character | ||
| | | <pre>every_realm_province = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | province | ||
|- | |- | ||
| | | every_relation | ||
| | | Iterate through scripted relations of a given type or multiple types, if someone is multiple relations they will only be in the list once | ||
| | | <pre>every_relation = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_same_sex_spouse_candidate | ||
| | | Iterate through all the spouse candidates of the same sex of a character. | ||
| | | <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. | ||
|character | every_same_sex_spouse_candidate = { limit = { <triggers> } <effects> }</pre> | ||
| | | character | ||
| character | |||
|- | |- | ||
| | | every_scheme | ||
| | | Iterate through all schemes owned by the character | ||
| | | <pre>every_scheme = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | scheme | ||
|- | |- | ||
| | | every_secret | ||
| | | Iterate through all secrets of the character | ||
| | | <pre>every_secret = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | secret | ||
|- | |- | ||
| | | every_sibling | ||
| | | Iterate through all siblings | ||
| | | <pre>every_sibling = { limit = { <triggers> } <effects> }</pre> | ||
| character | |||
| character | |||
|character | |||
|- | |- | ||
| | | every_sponsored_inspiration | ||
| | | Iterate through all sponsored inspirations | ||
| | | <pre>every_sponsored_inspiration = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | inspiration | ||
|- | |- | ||
| | | every_spouse | ||
| | | Iterate through all spouses | ||
| | | <pre>every_spouse = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| character | |||
|- | |- | ||
| | | every_spouse_candidate | ||
| | | Iterate through all the spouse candidates of a character. | ||
| | | <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. | ||
|character | every_spouse_candidate = { limit = { <triggers> } <effects> }</pre> | ||
| | | character | ||
| character | |||
|- | |||
| every_stewardship_councillor | |||
| Iterate through all stewardship-based councillors | |||
| <pre>every_stewardship_councillor = { limit = { <triggers> } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| every_sub_realm_barony | |||
| Iterate through all baronies in sub-realm | |||
| <pre>every_sub_realm_barony = { limit = { <triggers> } <effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |||
| every_sub_realm_county | |||
| Iterate through all counties in sub-realm | |||
| <pre>every_sub_realm_county = { limit = { <triggers> } <effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |- | ||
| | | every_sub_realm_duchy | ||
| | | Iterate through all duchies in sub-realm | ||
| <pre>every_sub_realm_duchy = { limit = { <triggers> } <effects> }</pre> | |||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_sub_realm_empire | ||
| | | Iterate through all empires in sub-realm | ||
| | | <pre>every_sub_realm_empire = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_sub_realm_kingdom | ||
| | | Iterate through all kingdoms in sub-realm | ||
| | | <pre>every_sub_realm_kingdom = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_sub_realm_title | ||
| | | Iterate through all titles in sub-realm | ||
| | | <pre>every_sub_realm_title = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | landed title | ||
|- | |- | ||
| | | every_targeting_faction | ||
| | | Iterate through all factions targeting the scope character | ||
| | | <pre>every_targeting_faction = { limit = { <triggers> } <effects> }</pre> | ||
| character | |||
|character | | faction | ||
| | |||
|- | |- | ||
| | | every_targeting_scheme | ||
| | | Iterate through all schemes targeting the character | ||
| | | <pre>every_targeting_scheme = { limit = { <triggers> } <effects> }</pre> | ||
|character | | character | ||
| | | scheme | ||
|- | |- | ||
| | | every_targeting_secret | ||
| | | Iterate through all secrets that target the specified scope | ||
| | | <pre>every_targeting_secret = { limit = { <triggers> } <effects> }</pre> | ||
| | | character | ||
| | | secret | ||
|- | |- | ||
| | | every_traveling_family_member | ||
|the | | Iterate though all characters that should travel with the scoped one (when moving between courts for instance); includes the scoped character | ||
| | | <pre>every_traveling_family_member = { limit = { <triggers> } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | every_truce_holder | ||
|Iterate through all | | Iterate through all characters that have a truce on this character | ||
| | | <pre>every_truce_holder = { limit = { <triggers> } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | every_truce_target | ||
|Iterate through all | | Iterate through all characters this character has a truce on | ||
| | | <pre>every_truce_target = { limit = { <triggers> } <effects> }</pre> | ||
| | | character | ||
|character | | character | ||
|- | |- | ||
| | | every_unspent_known_secret | ||
| | | Iterate through all unspent secrets known by the character | ||
| | | <pre>every_unspent_known_secret = { limit = { <triggers> } <effects> }</pre> | ||
| | | character | ||
| | | secret | ||
|- | |- | ||
| | | every_vassal | ||
| | | Iterate through all DIRECT vassals | ||
| | | <pre>every_vassal = { limit = { <triggers> } <effects> }</pre> | ||
| character | |||
| character | |||
| | |||
|- | |- | ||
| | | every_vassal_or_below | ||
|Iterate through | | Iterate through ALL vassals, not just direct vassals | ||
| | | <pre>every_vassal_or_below = { limit = { <triggers> } <effects> }</pre> | ||
limit = { <triggers> } | | character | ||
| character | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | every_war_ally | ||
|Iterate through all | | Iterate through all direct war allies | ||
| | | <pre>every_war_ally = { limit = { <triggers> } <effects> }</pre> | ||
limit = { <triggers> } | | character | ||
| character | |||
<effects> } | |||
| | |||
|character | |||
|- | |- | ||
| | | every_war_enemy | ||
|Iterate through all | | Iterate through all direct war enemies | ||
| | | <pre>every_war_enemy = { limit = { <triggers> } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | execute_decision | ||
| | | Execute the specified decision for the scoped character | ||
| | | <pre></pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | finish_council_task | ||
| | | The councillor finish the current assigned task successfully. | ||
| | | <pre></pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | fire_councillor | ||
| | | The scope character fires the target character form teh council. | ||
| | | <pre></pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | forbid_from_scheme | ||
| | | Forbid the scope character from joining the target scheme as an agent (and kick the character out if already in the scheme) | ||
| | | <pre></pre> | ||
| | | character | ||
| | | scheme | ||
|- | |- | ||
| | | force_add_to_scheme | ||
| | | Adds a character as an agent to the scheme and forces them to stay | ||
| | | <pre>{ | ||
| | scheme = target_Scheme | ||
| | days/months/years = duration | ||
}</pre> | |||
| character | |||
| | |||
|- | |- | ||
| | | force_character_skill_recalculation | ||
| | | Forces a character's skills to be recalculated immediately, bypassing the wait for the daily tick. | ||
| <pre>NOTE: Only use this when *absolutely* necessary, as it will impact performance negatively if misused | |||
| | Usage: force_character_skill_recalculation = yes/no</pre> | ||
| | | character | ||
| | |||
|- | |- | ||
| | | force_vote_as | ||
| | | Forces the character to vote the same as the target | ||
| | | <pre>force_vote_as = { target = someone days/months/years = x }</pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | get_title | ||
| | | gives a title to a character | ||
| | | <pre></pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | give_nickname | ||
| | | Give a nickname to this character | ||
| | | <pre></pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | imprison | ||
| | | Imprisons the target character as this character's prisoner, imprison = { target = X reason = Y type = Z }, where X is a character, Y is a flag, Z is a static modifier | ||
| <pre></pre> | |||
| | | character | ||
| | | | ||
|- | |- | ||
| | | join_faction | ||
| | | the character in the scope joins the assigned faction | ||
| | | <pre></pre> | ||
| | | character | ||
| | | faction | ||
|- | |- | ||
| | | join_faction_forced | ||
| | | the character in the scope is forced to join a faction by a character for a defined time, | ||
| | | <pre>join_faction_forced = { | ||
faction = X | |||
forced_by = Y | |||
days/months/years = duration | |||
}</pre> | |||
| character | |||
| | |||
< | |- | ||
| | | join_faction_skip_check | ||
| | | the character in the scope joins the assigned faction skiping the can_character_join trigger | ||
| <pre></pre> | |||
| character | |||
| faction | |||
|- | |||
| learn_court_language_of | |||
| The character learns the court language of the target characterlearn_court_language_of = scope:target_character | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| learn_language | |||
| The character learns the languagelearn_language = language_norwegian | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| learn_language_of_culture | |||
| The character learns the language of the target culturelearn_language_of_culture = scope:target_culture | |||
| <pre></pre> | |||
| character | |||
| culture | |||
|- | |||
| leave_faction | |||
| the charcter in the scope leaves the assigned faction | |||
| <pre></pre> | |||
| character | |||
| faction | |||
|- | |||
| make_claim_strong | |||
| makes a claim strong (character adds the claim if not having it already) | |||
| <pre></pre> | |||
| character | |||
| landed title | |||
|- | |- | ||
| | | make_claim_weak | ||
| | | makes a claim weak (character adds the claim if not having it already) | ||
| | | <pre></pre> | ||
| character | |||
| landed title | |||
| | |||
| | |||
|- | |- | ||
| | | make_concubine | ||
| | | Makes the target character a concubine of the scope character, the target should not be imprisoned | ||
| | | <pre></pre> | ||
| character | |||
| character | |||
| | |||
|character | |||
|- | |- | ||
| | | make_pregnant | ||
| | | makes a character pregnant | ||
| | | <pre> father= 'the real father' | ||
| | number_of_children= X | ||
| | known_bastard=yes/no</pre> | ||
| character | |||
| | |||
|- | |- | ||
| | | make_pregnant_no_checks | ||
| | | makes a character pregnant. Doesn't error on things like celibacy | ||
| | | <pre> father= 'the real father' | ||
| | number_of_children= X | ||
| | known_bastard=yes/no</pre> | ||
| character | |||
| | |||
|- | |- | ||
| | | make_trait_active | ||
| | | Activates an inactive trait. Tooltip will not be shown if the character cannot have the trait. | ||
| | | <pre></pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | make_trait_active_force_tooltip | ||
| | | Activates an inactive trait. Tooltip will be shown even if the character cannot have the trait. | ||
| | | <pre></pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | make_trait_inactive | ||
| | | Makes a current trait of a character inactive. Tooltip will not be shown if the character doesn't have the trait. | ||
| | | <pre></pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | make_trait_inactive_force_tooltip | ||
| | | Makes a current trait of a character inactive. Tooltip will be shown even if the character doesn't have the trait. | ||
| | | <pre></pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | make_unprunable | ||
| | | The scope character will no longer be prunable after their death. Use with care, as this will make everyone related to them unprunable too. So you should only use this if someone absolutely *needs* to stick around several years after their death. Example: make_unprunable = yes | ||
| <pre></pre> | |||
| | | character | ||
| | | | ||
|- | |- | ||
| | | marry | ||
| | | Marries the scoped character to the target character. | ||
| <pre>marry = target</pre> | |||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | marry_matrilineal | ||
| | | Marries the scoped character to the target character matrilineally. | ||
| | | <pre>marry_matrilineal = target</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | move_to_pool | ||
| | | The scoped character (courtier or guest) leaves their current court and moves into the pool | ||
| | | <pre>scope:guest = { move_to_pool = yes }</pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | move_to_pool_at | ||
| | | The scoped character (courtier/guest/pool character) leaves their current court (if any) and moves into the pool of the specified province | ||
| | | <pre>scope:guest = { move_to_pool_at = scope:some_province }</pre> | ||
| | | character | ||
| | | province | ||
|- | |- | ||
| | | open_appoint_court_position_window | ||
| | | Opens the appointment window for the specified court position with scoped character as liege | ||
| | | <pre></pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | ordered_alert_creatable_title | ||
|Iterate through all | | Iterate through all titles that can be created by the character. (only for alerts) | ||
| | | <pre>ordered_alert_creatable_title = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第5,140行: | 第5,997行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | ordered_alert_usurpable_title | ||
|Iterate through all | | Iterate through all titles that can be usurped by the character. (only for alerts) | ||
| | | <pre>ordered_alert_usurpable_title = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第5,153行: | 第6,010行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | ordered_ally | ||
|Iterate through all | | Iterate through all allies | ||
| | | <pre>ordered_ally = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第5,166行: | 第6,023行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | ordered_ancestor | ||
|Iterate through all | | Iterate through all the ancestors of the scope character up to 5 generations | ||
| | | <pre>ordered_ancestor = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_army | ||
|Iterate through all | | Iterate through all armies | ||
| | | <pre>ordered_army = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| army | |||
| | |||
| | |||
|- | |- | ||
| | | ordered_character_artifact | ||
| Iterate through all artifacts in a given characters inventory | |||
| <pre>ordered_character_artifact = { | |||
|Iterate through all | |||
| | |||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第5,263行: | 第6,062行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | artifact | ||
|- | |- | ||
| | | ordered_character_struggle | ||
|Iterate through | | Iterate through all struggles that character is involved in. | ||
| | | <pre>ordered_character_struggle = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第5,277行: | 第6,076行: | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> } | ||
| | Optional: Narrow down the involvement status *_character_struggle = { involvement = involved | interloper } </pre> | ||
|character | | character | ||
| struggle | |||
|- | |- | ||
| | | ordered_character_to_title_neighboring_and_across_water_county | ||
| | | Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>ordered_character_to_title_neighboring_and_across_water_county = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
| | <effects> }</pre> | ||
| | | character | ||
| landed title | |||
|- | |- | ||
| | | ordered_character_to_title_neighboring_and_across_water_duchy | ||
| | | Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>ordered_character_to_title_neighboring_and_across_water_duchy = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |- | ||
| | | ordered_character_to_title_neighboring_and_across_water_empire | ||
| | | Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>ordered_character_to_title_neighboring_and_across_water_empire = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |- | ||
| | | ordered_character_to_title_neighboring_and_across_water_kingdom | ||
| | | Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>ordered_character_to_title_neighboring_and_across_water_kingdom = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |- | ||
| | | ordered_character_to_title_neighboring_county | ||
| | | Scopes from a character to a neighboring county (looking trough the de Jure lieges) | ||
| | | <pre>ordered_character_to_title_neighboring_county = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |- | ||
| | | ordered_character_to_title_neighboring_duchy | ||
| | | Scopes from a character to a neighboring duchy (looking trough the de Jure lieges) | ||
| <pre>ordered_character_to_title_neighboring_duchy = { | |||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| landed title | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | ordered_character_to_title_neighboring_empire | ||
| | | Scopes from a character to a neighboring empire (looking trough the de Jure lieges) | ||
| <pre>ordered_character_to_title_neighboring_empire = { | |||
| | |||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第5,417行: | 第6,167行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
|landed title | | landed title | ||
|- | |- | ||
| | | ordered_character_to_title_neighboring_kingdom | ||
| | | Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges) | ||
| | | <pre>ordered_character_to_title_neighboring_kingdom = { | ||
| | limit = { <triggers> } | ||
|landed title | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |- | ||
| | | ordered_character_war | ||
| | | Wars of the scoped character | ||
| | | <pre>ordered_character_war = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| war | |||
|- | |- | ||
| | | ordered_child | ||
|Iterate through all | | Iterate through all children | ||
| | | <pre>ordered_child = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
| | |||
|character | |||
|- | |- | ||
| | | ordered_claim | ||
| Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all | |||
| <pre>ordered_claim = { | |||
|Iterate through all | |||
| | |||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第5,472行: | 第6,219行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | ordered_claimed_artifact | ||
|Iterate through all | | Iterate through all claimed artifacts of the scoped character | ||
| | | <pre>ordered_claimed_artifact = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第5,485行: | 第6,232行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | artifact | ||
|- | |- | ||
| | | ordered_close_family_member | ||
|Iterate through all | | Iterate through all the close family [father, mother, siblings, children, grandparents] | ||
| | | <pre>ordered_close_family_member = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第5,498行: | 第6,245行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
|character | | character | ||
|- | |- | ||
| | | ordered_close_or_extended_family_member | ||
|Iterate through all | | Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins] | ||
| <pre>ordered_close_or_extended_family_member = { | |||
| | |||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第5,547行: | 第6,258行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | ordered_concubine | ||
|Iterate through all | | Iterate through all concubines | ||
| | | <pre>ordered_concubine = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
| | <effects> }</pre> | ||
|character | | character | ||
| character | |||
|- | |- | ||
| | | ordered_consort | ||
| | | Iterate through all consorts (concubines and spouses) | ||
| <pre>ordered_consort = { | |||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_councillor | ||
| | | Iterate through all councillors | ||
| | | <pre>ordered_councillor = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_court_position_employer | ||
| | | Iterates through all characters that employ the scoped character in any court position. | ||
| | | <pre>ordered_court_position_employer = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_court_position_holder | ||
| | | Iterates through all characters employed by the scoped character in the target court position. | ||
| | | <pre>ordered_court_position_holder = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
| | <effects> }</pre> | ||
| | | character | ||
| character | |||
|- | |- | ||
| | | ordered_courtier | ||
| | | Iterate through all courtiers | ||
| | | <pre>ordered_courtier = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_courtier_away | ||
| | | Iterate through all courtiers that are away | ||
| | | <pre>ordered_courtier_away = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_courtier_or_guest | ||
| | | Iterate through all courtiers and guests (pool and foreign court guests) | ||
| | | <pre>ordered_courtier_or_guest = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_de_jure_claim | ||
| | | Iterate through all de jure claims for a character | ||
| | | <pre>ordered_de_jure_claim = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
| | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> }</pre> | |||
| | | character | ||
| landed title | |||
|- | |- | ||
| | | ordered_diplomacy_councillor | ||
| | | Iterate through all diplomacy-based councillors | ||
| <pre>ordered_diplomacy_councillor = { | |||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_directly_owned_province | ||
| | | Iterate through all directly owned provinces | ||
| | | <pre>ordered_directly_owned_province = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| province | |||
|- | |- | ||
| | | ordered_election_title | ||
| | | Iterate through all titles the scoped character can vote on | ||
| | | <pre>ordered_election_title = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |- | ||
| | | ordered_equipped_character_artifact | ||
| | | Iterate through all equipped artifacts in a given characters inventory | ||
| | | <pre>ordered_equipped_character_artifact = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| artifact | |||
|- | |- | ||
| | | ordered_extended_family_member | ||
| | | Iterate through all the extended family [uncles/aunts, nephew/niece, cousins] | ||
| | | <pre>ordered_extended_family_member = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_foreign_court_guest | ||
| | | Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege) | ||
| | | <pre>ordered_foreign_court_guest = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_former_concubine | ||
| | | Iterate through all former concubines. Not persisted past death | ||
| | | <pre>ordered_former_concubine = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_former_concubinist | ||
| | | Iterate through all former concubinists. Not persisted past death | ||
| | | <pre>ordered_former_concubinist = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
| | <effects> }</pre> | ||
|character | | character | ||
| character | |||
|- | |- | ||
| | | ordered_former_spouse | ||
| | | Iterate through all former spouses | ||
| <pre>ordered_former_spouse = { | |||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_general_councillor | ||
| | | Iterate through all councillors that are not related to a skill | ||
| <pre>ordered_general_councillor = { | |||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
| | min = int | ||
| | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_heir | ||
| Heirs of the scoped character | |||
| <pre>ordered_heir = { | |||
limit = { <triggers> } | |||
order_by = script_value | |||
| | position = int | ||
| | min = int | ||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_heir_title | ||
| | | Iterate through all landed titles character is heir to | ||
| <pre>ordered_heir_title = { | |||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
} | max = script_value | ||
| | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
| | <effects> }</pre> | ||
| character | |||
| landed title | |||
|- | |- | ||
| | | ordered_heir_to_title | ||
| | | Iterate through all titles the scoped character is heir to | ||
| <pre>ordered_heir_to_title = { | |||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
} | max = script_value | ||
| | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
| | <effects> }</pre> | ||
| character | |||
| landed title | |||
|- | |- | ||
| | | ordered_held_title | ||
| | | Iterate through all held landed titles | ||
| | | <pre>ordered_held_title = { | ||
limit = { <triggers> } | |||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |- | ||
| | | ordered_hired_mercenary | ||
| | | Iterate through all hired mercenary companies | ||
| <pre>ordered_hired_mercenary = { | |||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
| | min = int | ||
| | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| mercenary company | |||
|- | |- | ||
| | | ordered_hooked_character | ||
| | | Iterate through all characters this character has a hook on | ||
| <pre>ordered_hooked_character = { | |||
limit = { <triggers> } | |||
order_by = script_value | |||
| | position = int | ||
| | min = int | ||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_hostile_raider | ||
| | | Iterate through anyone the character is hostile to due to their top-liege's realm having been raided | ||
| <pre>ordered_hostile_raider = { | |||
limit = { <triggers> } | |||
order_by = script_value | |||
| | position = int | ||
| | min = int | ||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_intrigue_councillor | ||
| | | Iterate through all intrigue-based councillors | ||
| <pre>ordered_intrigue_councillor = { | |||
limit = { <triggers> } | |||
order_by = script_value | |||
| | position = int | ||
| | min = int | ||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_knight | ||
| | | Iterate through all knights | ||
| <pre>ordered_knight = { | |||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_known_secret | ||
| | | Iterate through all secrets known by the character | ||
| | | <pre>ordered_known_secret = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| secret | |||
|- | |- | ||
| | | ordered_learning_councillor | ||
| | | Iterate through all learning-based councillors | ||
| | | <pre>ordered_learning_councillor = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_liege_or_above | ||
| | | Iterate through all lieges above a character (skipping the character themselves) | ||
| | | <pre>ordered_liege_or_above = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_martial_councillor | ||
| | | Iterate through all martial-based councillors | ||
| | | <pre>ordered_martial_councillor = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_neighboring_and_across_water_realm_same_rank_owner | ||
| | | A sub-realm or realm bordering the scope character's realm (including across water) and has the same rank as the scope character (look for lieges of he owner of the land if necessary) | ||
| | | <pre>ordered_neighboring_and_across_water_realm_same_rank_owner = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
} | position = int | ||
min = int | |||
| | max = script_value | ||
| | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_neighboring_and_across_water_top_liege_realm | ||
| | | A realm with a different top liege neighboring the realm of the scope character's top liege (including across water); switches to the realm's top title. Can be based on borders a day or two out of date | ||
| <pre>ordered_neighboring_and_across_water_top_liege_realm = { | |||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |- | ||
| | | ordered_neighboring_and_across_water_top_liege_realm_owner | ||
| | | A realm with a different top liege neighboring the realm of the scope character's top liege (including across water); switches to the holder of the realm. Can be based on borders a day or two out of date | ||
| | | <pre>ordered_neighboring_and_across_water_top_liege_realm_owner = { | ||
| | limit = { <triggers> } | ||
|character | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_neighboring_realm_same_rank_owner | ||
| | | A sub-realm or realm bordering the scope character's realm and has the same rank as the scope character (look for lieges of he owner of the land if necessary) | ||
| | | <pre>ordered_neighboring_realm_same_rank_owner = { | ||
| | limit = { <triggers> } | ||
|character | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_neighboring_top_liege_realm | ||
| | | A realm with a different top liege neighboring the realm of the scope character's top liege; switches to the realm's top title. Can be based on borders a day or two out of date | ||
| <pre>ordered_neighboring_top_liege_realm = { | |||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| landed title | |||
| | |||
| | |||
|- | |- | ||
| | | ordered_neighboring_top_liege_realm_owner | ||
| | | A realm with a different top liege neighboring the realm of the scope character's top liege; switches to the holder of the realm. Can be based on borders a day or two out of date | ||
| | | <pre>ordered_neighboring_top_liege_realm_owner = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
| | position = int | ||
| | min = int | ||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_opposite_sex_spouse_candidate | ||
| | | Iterate through all the spouse candidates of the opposite sex of a character. | ||
| | | <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. | ||
ordered_opposite_sex_spouse_candidate = { | |||
limit = { <triggers> } | |||
order_by = script_value | |||
} | position = int | ||
| | min = int | ||
| | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_owned_story | ||
| | | Iterate through all owned stories for a character | ||
| | | <pre>ordered_owned_story = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| story cycle | |||
|- | |- | ||
| | | ordered_parent | ||
| | | Iterate through all (both) parents | ||
| | | <pre>ordered_parent = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
} | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
| | <effects> }</pre> | ||
| | | character | ||
| character | |||
|- | |- | ||
| | | ordered_patroned_holy_order | ||
| | | Iterate through all holy orders that the scoped character is a patron of | ||
| | | <pre>ordered_patroned_holy_order = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
} | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
| | <effects> }</pre> | ||
| | | character | ||
| holy order | |||
|- | |- | ||
| | | ordered_personal_claimed_artifact | ||
| | | Iterate through all personally claimed artifacts of the scoped character | ||
| | | <pre>ordered_personal_claimed_artifact = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
| | <effects> }</pre> | ||
| | | character | ||
| artifact | |||
|- | |- | ||
| | | ordered_pinned_character | ||
| | | Iterate through characters this player has pinned | ||
| <pre>ordered_pinned_character = { | |||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_pinning_character | ||
| | | Iterate through characters whose player has this character pinned | ||
| <pre>ordered_pinning_character = { | |||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_played_character | ||
| | | Iterate through all characters the player playing this character has played. Matches the game over legacy, except for excluding the currently played character | ||
| <pre>ordered_played_character = { | |||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_player_heir | ||
| | | Iterate through player heirs, capped at the first 10 | ||
| | | <pre>ordered_player_heir = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
} | |||
| | |||
| | |||
|- | |- | ||
| | | ordered_pool_guest | ||
|Iterate through all | | Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege) | ||
| | | <pre>ordered_pool_guest = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_potential_marriage_option | ||
|Iterate through all | | Iterate through all potential selectable marriage or betrohed options | ||
| | | <pre>ordered_potential_marriage_option = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_pretender_title | ||
|Iterate through all | | Iterate through all landed titles character is pretender to | ||
| | | <pre>ordered_pretender_title = { | ||
| | limit = { <triggers> } | ||
|landed title | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |- | ||
| | | ordered_primary_war_enemy | ||
|Iterate through all | | Iterate through all primary war enemies | ||
| | | <pre>ordered_primary_war_enemy = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_prisoner | ||
|Iterate through all | | Iterate through all prisoners | ||
| | | <pre>ordered_prisoner = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_prowess_councillor | ||
|Iterate through all | | Iterate through all prowess-based councillors | ||
| | | <pre>ordered_prowess_councillor = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_raid_target | ||
|Iterate through | | Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges | ||
| | | <pre>ordered_raid_target = { | ||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
| | <effects> }</pre> | ||
| | | character | ||
| character | |||
|- | |- | ||
| | | ordered_realm_county | ||
| | | Iterate through all counties in the realm. Based on top liege | ||
| | | <pre> | ||
| | ordered_realm_county = { | ||
| | limit = { <triggers> } | ||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |- | ||
| | | ordered_realm_de_jure_duchy | ||
|Iterate through all | | Iterate through all de jure duchies that have at least one county in the realm. Based on top liege | ||
| | | <pre> | ||
| | ordered_realm_de_jure_duchy = { | ||
|landed title | limit = { <triggers> } | ||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |- | ||
| | | ordered_realm_de_jure_empire | ||
|Iterate through all | | Iterate through all de jure empire that have at least one county in the realm. Based on top liege | ||
| | | <pre> | ||
| | ordered_realm_de_jure_empire = { | ||
| | limit = { <triggers> } | ||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |- | ||
| | | ordered_realm_de_jure_kingdom | ||
|Iterate through all | | Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege | ||
| | | <pre> | ||
| | ordered_realm_de_jure_kingdom = { | ||
| | limit = { <triggers> } | ||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |- | ||
| | | ordered_realm_province | ||
|Iterate through all | | Iterate through all realm provinces of a character | ||
| | | <pre>ordered_realm_province = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| province | |||
|- | |- | ||
| | | ordered_relation | ||
|Iterate through | | Iterate through scripted relations of a given type or multiple types, if someone is multiple relations they will only be in the list once | ||
| | | <pre>ordered_relation = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_same_sex_spouse_candidate | ||
|Iterate through all | | Iterate through all the spouse candidates of the same sex of a character. | ||
| | | <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. | ||
| | ordered_same_sex_spouse_candidate = { | ||
| | limit = { <triggers> } | ||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_scheme | ||
| | | Iterate through all schemes owned by the character | ||
| | | <pre>ordered_scheme = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| scheme | |||
|- | |- | ||
| | | ordered_secret | ||
| | | Iterate through all secrets of the character | ||
| <pre>ordered_secret = { | |||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| secret | |||
| | |||
} | |||
| | |||
| | |||
|- | |- | ||
| | | ordered_sibling | ||
| | | Iterate through all siblings | ||
| <pre>ordered_sibling = { | |||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第6,116行: | 第7,096行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | ordered_sponsored_inspiration | ||
|Iterate through all | | Iterate through all sponsored inspirations | ||
| | | <pre>ordered_sponsored_inspiration = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第6,129行: | 第7,109行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | inspiration | ||
|- | |- | ||
| | | ordered_spouse | ||
|Iterate through all | | Iterate through all spouses | ||
| | | <pre>ordered_spouse = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第6,142行: | 第7,122行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | ordered_spouse_candidate | ||
|Iterate through all | | Iterate through all the spouse candidates of a character. | ||
| | | <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. | ||
ordered_spouse_candidate = { | |||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第6,155行: | 第7,136行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | ordered_stewardship_councillor | ||
|Iterate through all | | Iterate through all stewardship-based councillors | ||
| | | <pre>ordered_stewardship_councillor = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第6,168行: | 第7,149行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | ordered_sub_realm_barony | ||
|Iterate through all | | Iterate through all baronies in sub-realm | ||
| | | <pre>ordered_sub_realm_barony = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第6,181行: | 第7,162行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | ordered_sub_realm_county | ||
|Iterate through all | | Iterate through all counties in sub-realm | ||
| | | <pre>ordered_sub_realm_county = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第6,194行: | 第7,175行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | ordered_sub_realm_duchy | ||
|Iterate through all | | Iterate through all duchies in sub-realm | ||
| | | <pre>ordered_sub_realm_duchy = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第6,207行: | 第7,188行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | ordered_sub_realm_empire | ||
| | | Iterate through all empires in sub-realm | ||
| | | <pre>ordered_sub_realm_empire = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第6,220行: | 第7,201行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | ordered_sub_realm_kingdom | ||
|Iterate through all kingdoms in | | Iterate through all kingdoms in sub-realm | ||
| | | <pre>ordered_sub_realm_kingdom = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第6,233行: | 第7,214行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
|landed title | | landed title | ||
|- | |- | ||
| | | ordered_sub_realm_title | ||
|Iterate through all | | Iterate through all titles in sub-realm | ||
| | | <pre>ordered_sub_realm_title = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第6,246行: | 第7,227行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | ordered_targeting_faction | ||
|Iterate through all | | Iterate through all factions targeting the scope character | ||
| | | <pre>ordered_targeting_faction = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第6,259行: | 第7,240行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | faction | ||
|- | |- | ||
| | | ordered_targeting_scheme | ||
|Iterate through all | | Iterate through all schemes targeting the character | ||
| | | <pre>ordered_targeting_scheme = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第6,272行: | 第7,253行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | scheme | ||
|- | |- | ||
| | | ordered_targeting_secret | ||
|Iterate through all | | Iterate through all secrets that target the specified scope | ||
| | | <pre>ordered_targeting_secret = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第6,285行: | 第7,266行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | secret | ||
|- | |- | ||
| | | ordered_traveling_family_member | ||
|Iterate | | Iterate though all characters that should travel with the scoped one (when moving between courts for instance); includes the scoped character | ||
| | | <pre>ordered_traveling_family_member = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第6,298行: | 第7,279行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | ordered_truce_holder | ||
| | | Iterate through all characters that have a truce on this character | ||
| | | <pre>ordered_truce_holder = { | ||
limit = { <triggers> } | limit = { <triggers> } | ||
order_by = script_value | order_by = script_value | ||
第6,311行: | 第7,292行: | ||
max = script_value | max = script_value | ||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | ||
<effects> } | <effects> }</pre> | ||
| | | character | ||
|character | | character | ||
|- | |- | ||
| | | ordered_truce_target | ||
| | | Iterate through all characters this character has a truce on | ||
| <pre>ordered_truce_target = { | |||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_unspent_known_secret | ||
| | | Iterate through all unspent secrets known by the character | ||
| | | <pre>ordered_unspent_known_secret = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| secret | |||
|- | |- | ||
| | | ordered_vassal | ||
| | | Iterate through all DIRECT vassals | ||
| | | <pre>ordered_vassal = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_vassal_or_below | ||
|Iterate through | | Iterate through ALL vassals, not just direct vassals | ||
| | | <pre>ordered_vassal_or_below = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_war_ally | ||
|Iterate through all | | Iterate through all direct war allies | ||
| | | <pre>ordered_war_ally = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | ordered_war_enemy | ||
|Iterate through all | | Iterate through all direct war enemies | ||
| | | <pre>ordered_war_enemy = { | ||
| | limit = { <triggers> } | ||
| | order_by = script_value | ||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | pay_long_term_gold | ||
| | | the scope character pays gold to the target character, pay_gold = { target = X gold = Y } (AI budget category long term) | ||
| <pre></pre> | |||
| | | character | ||
| | | | ||
|- | |||
| pay_long_term_income | |||
| the scope character immediately pays gold corresponding to their income to the target character, pay_income = { target = X days/months/years = Y } (AI budget long term) | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |- | ||
| | | pay_short_term_gold | ||
| | | the scope character pays gold to the target character, pay_gold = { target = X gold = Y } (AI budget category short term) | ||
| <pre></pre> | |||
| | | character | ||
| | | | ||
|- | |- | ||
| | | pay_short_term_income | ||
| | | the scope character immediately pays gold corresponding to their income to the target character, pay_income = { target = X days/months/years = Y } (AI budget short term) | ||
| | | <pre></pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | play_music_cue | ||
| | | Plays the specified music cue. | ||
| | | <pre></pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | play_sound_effect | ||
| | | Plays the specified sound effect. | ||
| | | <pre></pre> | ||
| | | character | ||
| | | | ||
|- | |- | ||
| | | random_alert_creatable_title | ||
| | | Iterate through all titles that can be created by the character. (only for alerts) | ||
| | | <pre>random_alert_creatable_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | random_alert_usurpable_title | ||
|Iterate through all | | Iterate through all titles that can be usurped by the character. (only for alerts) | ||
| | | <pre>random_alert_usurpable_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
|landed title | | landed title | ||
|- | |- | ||
| | | random_ally | ||
| | | Iterate through all allies | ||
| | | <pre>random_ally = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| character | |||
| character | |||
| | |||
| | |||
|- | |- | ||
| | | random_ancestor | ||
|Iterate through all | | Iterate through all the ancestors of the scope character up to 5 generations | ||
| | | <pre>random_ancestor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
|character | | character | ||
|- | |- | ||
| | | random_army | ||
| | | Iterate through all armies | ||
| <pre>random_army = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| | | character | ||
| | | army | ||
|- | |- | ||
| | | random_character_artifact | ||
|Iterate through all | | Iterate through all artifacts in a given characters inventory | ||
| | | <pre>random_character_artifact = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | artifact | ||
|- | |- | ||
| | | random_character_struggle | ||
|Iterate through all | | Iterate through all struggles that character is involved in. | ||
| | | <pre>random_character_struggle = { limit = { <triggers> } (optional) weight = { mtth } <effects> } | ||
| | Optional: Narrow down the involvement status *_character_struggle = { involvement = involved | interloper }</pre> | ||
|character | | character | ||
| struggle | |||
|- | |- | ||
| | | random_character_to_title_neighboring_and_across_water_county | ||
| | | Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>random_character_to_title_neighboring_and_across_water_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | random_character_to_title_neighboring_and_across_water_duchy | ||
| | | Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>random_character_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | random_character_to_title_neighboring_and_across_water_empire | ||
| | | Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>random_character_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | random_character_to_title_neighboring_and_across_water_kingdom | ||
| | | Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges) | ||
| | | <pre>random_character_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| character | |||
| | | landed title | ||
|- | |- | ||
| | | random_character_to_title_neighboring_county | ||
| | | Scopes from a character to a neighboring county (looking trough the de Jure lieges) | ||
| | | <pre>random_character_to_title_neighboring_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | random_character_to_title_neighboring_duchy | ||
| | | Scopes from a character to a neighboring duchy (looking trough the de Jure lieges) | ||
| <pre>random_character_to_title_neighboring_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| | | landed title | ||
| | |||
| | |||
|- | |- | ||
| | | random_character_to_title_neighboring_empire | ||
| | | Scopes from a character to a neighboring empire (looking trough the de Jure lieges) | ||
| <pre>random_character_to_title_neighboring_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| | | landed title | ||
| | |- | ||
| | | random_character_to_title_neighboring_kingdom | ||
| Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges) | |||
| <pre>random_character_to_title_neighboring_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |- | ||
| | | random_character_war | ||
| | | Wars of the scoped character | ||
| <pre>random_character_war = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| | | war | ||
| | |||
| | |||
|- | |- | ||
| | | random_child | ||
| | | Iterate through all children | ||
| | | <pre>random_child = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | random_claim | ||
| | | Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all | ||
| | | <pre>random_claim = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | random_claimed_artifact | ||
| | | Iterate through all claimed artifacts of the scoped character | ||
| | | <pre>random_claimed_artifact = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | artifact | ||
|- | |- | ||
| | | random_close_family_member | ||
| | | Iterate through all the close family [father, mother, siblings, children, grandparents] | ||
| <pre>random_close_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| | | character | ||
| | |||
| | |||
|- | |- | ||
| | | random_close_or_extended_family_member | ||
| | | Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins] | ||
| <pre>random_close_or_extended_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | random_concubine | ||
| | | Iterate through all concubines | ||
| | | <pre>random_concubine = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | random_consort | ||
| | | Iterate through all consorts (concubines and spouses) | ||
| | | <pre>random_consort = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | random_councillor | ||
| | | Iterate through all councillors | ||
| | | <pre>random_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | random_court_position_employer | ||
| | | Iterates through all characters that employ the scoped character in any court position. | ||
| | | <pre>random_court_position_employer = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | random_court_position_holder | ||
| | | Iterates through all characters employed by the scoped character in the target court position. | ||
| | | <pre>random_court_position_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | random_courtier | ||
| | | Iterate through all courtiers | ||
| | | <pre>random_courtier = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | random_courtier_away | ||
| | | Iterate through all courtiers that are away | ||
| | | <pre>random_courtier_away = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | random_courtier_or_guest | ||
| | | Iterate through all courtiers and guests (pool and foreign court guests) | ||
| | | <pre>random_courtier_or_guest = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| character | |||
| | | character | ||
|- | |- | ||
| | | random_de_jure_claim | ||
| | | Iterate through all de jure claims for a character | ||
| <pre>random_de_jure_claim = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |||
| random_diplomacy_councillor | |||
| | | Iterate through all diplomacy-based councillors | ||
| | | <pre>random_diplomacy_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| character | |||
| character | |||
|- | |- | ||
| | | random_directly_owned_province | ||
| | | Iterate through all directly owned provinces | ||
| | | <pre>random_directly_owned_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| character | |||
| province | |||
| | |||
| | |||
|- | |- | ||
| | | random_election_title | ||
| | | Iterate through all titles the scoped character can vote on | ||
| | | <pre>random_election_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| character | |||
| landed title | |||
| | |||
| | |||
|- | |- | ||
| | | random_equipped_character_artifact | ||
| | | Iterate through all equipped artifacts in a given characters inventory | ||
| | | <pre>random_equipped_character_artifact = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| character | |||
| artifact | |||
| | |||
| | |||
|- | |- | ||
| | | random_extended_family_member | ||
| | | Iterate through all the extended family [uncles/aunts, nephew/niece, cousins] | ||
| | | <pre>random_extended_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| character | |||
| | | character | ||
|- | |- | ||
| | | random_foreign_court_guest | ||
| | | Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege) | ||
| | | <pre>random_foreign_court_guest = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| character | |||
| | | character | ||
|- | |- | ||
| | | random_former_concubine | ||
| | | Iterate through all former concubines. Not persisted past death | ||
| | | <pre>random_former_concubine = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| character | |||
| character | |||
| | |||
| | |||
|- | |- | ||
| | | random_former_concubinist | ||
| | | Iterate through all former concubinists. Not persisted past death | ||
| | | <pre>random_former_concubinist = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| character | |||
| character | |||
| | |||
| | |||
|- | |- | ||
| | | random_former_spouse | ||
| | | Iterate through all former spouses | ||
| | | <pre>random_former_spouse = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| character | |||
| character | |||
| | |||
| | |||
|- | |- | ||
| | | random_general_councillor | ||
| | | Iterate through all councillors that are not related to a skill | ||
| | | <pre>random_general_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| character | |||
| character | |||
| | |||
| | |||
|- | |- | ||
| | | random_heir | ||
| | | Heirs of the scoped character | ||
| | | <pre>random_heir = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | random_heir_title | ||
|Iterate through all | | Iterate through all landed titles character is heir to | ||
| | | <pre>random_heir_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | random_heir_to_title | ||
|Iterate through all | | Iterate through all titles the scoped character is heir to | ||
| | | <pre>random_heir_to_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | random_held_title | ||
| | | Iterate through all held landed titles | ||
| | | <pre>random_held_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| character | |||
| | | landed title | ||
|- | |- | ||
| | | random_hired_mercenary | ||
|Iterate through all | | Iterate through all hired mercenary companies | ||
| | | <pre>random_hired_mercenary = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | character | ||
| mercenary company | |||
<effects> } | |||
| | |||
| | |||
|- | |- | ||
| | | random_hooked_character | ||
|Iterate through all | | Iterate through all characters this character has a hook on | ||
| | | <pre>random_hooked_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | character | ||
| character | |||
<effects> } | |||
| | |||
|character | |||
|- | |- | ||
| | | random_hostile_raider | ||
|Iterate through | | Iterate through anyone the character is hostile to due to their top-liege's realm having been raided | ||
| | | <pre>random_hostile_raider = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
|character | | character | ||
|- | |- | ||
| | | random_intrigue_councillor | ||
|Iterate through all | | Iterate through all intrigue-based councillors | ||
| | | <pre>random_intrigue_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
|character | | character | ||
|- | |- | ||
| | | random_knight | ||
| | | Iterate through all knights | ||
| | | <pre>random_knight = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| character | |||
| | | character | ||
|- | |- | ||
| | | random_known_secret | ||
| | | Iterate through all secrets known by the character | ||
| | | <pre>random_known_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | secret | ||
|- | |- | ||
| | | random_learning_councillor | ||
| | | Iterate through all learning-based councillors | ||
| | | <pre>random_learning_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | random_liege_or_above | ||
| | | Iterate through all lieges above a character (skipping the character themselves) | ||
| | | <pre>random_liege_or_above = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | random_martial_councillor | ||
| | | Iterate through all martial-based councillors | ||
| | | <pre>random_martial_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| character | |||
| character | |||
} | |||
| | |||
| | |||
|- | |- | ||
| | | random_neighboring_and_across_water_realm_same_rank_owner | ||
| | | A sub-realm or realm bordering the scope character's realm (including across water) and has the same rank as the scope character (look for lieges of he owner of the land if necessary) | ||
| | | <pre>random_neighboring_and_across_water_realm_same_rank_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | random_neighboring_and_across_water_top_liege_realm | ||
| | | A realm with a different top liege neighboring the realm of the scope character's top liege (including across water); switches to the realm's top title. Can be based on borders a day or two out of date | ||
| | | <pre>random_neighboring_and_across_water_top_liege_realm = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | landed title | ||
|- | |- | ||
| | | random_neighboring_and_across_water_top_liege_realm_owner | ||
| | | A realm with a different top liege neighboring the realm of the scope character's top liege (including across water); switches to the holder of the realm. Can be based on borders a day or two out of date | ||
| | | <pre>random_neighboring_and_across_water_top_liege_realm_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
|character | | character | ||
|- | |- | ||
| | | random_neighboring_realm_same_rank_owner | ||
|Iterate through all | | A sub-realm or realm bordering the scope character's realm and has the same rank as the scope character (look for lieges of he owner of the land if necessary) | ||
| | | <pre>random_neighboring_realm_same_rank_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | character | ||
| character | |||
|- | |||
| random_neighboring_top_liege_realm | |||
| A realm with a different top liege neighboring the realm of the scope character's top liege; switches to the realm's top title. Can be based on borders a day or two out of date | |||
| <pre>random_neighboring_top_liege_realm = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
<effects> } | | character | ||
| | | landed title | ||
|character | |- | ||
| random_neighboring_top_liege_realm_owner | |||
| A realm with a different top liege neighboring the realm of the scope character's top liege; switches to the holder of the realm. Can be based on borders a day or two out of date | |||
| <pre>random_neighboring_top_liege_realm_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_opposite_sex_spouse_candidate | |||
| Iterate through all the spouse candidates of the opposite sex of a character. | |||
| <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. | |||
random_opposite_sex_spouse_candidate = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_owned_story | |||
| Iterate through all owned stories for a character | |||
| <pre>random_owned_story = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| story cycle | |||
|- | |||
| random_parent | |||
| Iterate through all (both) parents | |||
| <pre>random_parent = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_patroned_holy_order | |||
| Iterate through all holy orders that the scoped character is a patron of | |||
| <pre>random_patroned_holy_order = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| holy order | |||
|- | |||
| random_personal_claimed_artifact | |||
| Iterate through all personally claimed artifacts of the scoped character | |||
| <pre>random_personal_claimed_artifact = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| artifact | |||
|- | |||
| random_pinned_character | |||
| Iterate through characters this player has pinned | |||
| <pre>random_pinned_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_pinning_character | |||
| Iterate through characters whose player has this character pinned | |||
| <pre>random_pinning_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_played_character | |||
| Iterate through all characters the player playing this character has played. Matches the game over legacy, except for excluding the currently played character | |||
| <pre>random_played_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_player_heir | |||
| Iterate through player heirs, capped at the first 10 | |||
| <pre>random_player_heir = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_pool_guest | |||
| Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege) | |||
| <pre>random_pool_guest = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_potential_marriage_option | |||
| Iterate through all potential selectable marriage or betrohed options | |||
| <pre>random_potential_marriage_option = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_pretender_title | |||
| Iterate through all landed titles character is pretender to | |||
| <pre>random_pretender_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |||
| random_primary_war_enemy | |||
| Iterate through all primary war enemies | |||
| <pre>random_primary_war_enemy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_prisoner | |||
| Iterate through all prisoners | |||
| <pre>random_prisoner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |- | ||
| | | random_prowess_councillor | ||
|Iterate through all | | Iterate through all prowess-based councillors | ||
| | | <pre>random_prowess_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
limit = { <triggers> } | | character | ||
| character | |||
<effects> } | |||
| | |||
|character | |||
|- | |- | ||
| | | random_raid_target | ||
| | | Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges | ||
| | | <pre>random_raid_target = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
|character | | character | ||
|- | |- | ||
| | | random_realm_county | ||
| | | Iterate through all counties in the realm. Based on top liege | ||
| | | <pre> | ||
| | random_realm_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| landed title | |||
|- | |- | ||
| | | random_realm_de_jure_duchy | ||
|Iterate through all | | Iterate through all de jure duchies that have at least one county in the realm. Based on top liege | ||
| | | <pre> | ||
| | random_realm_de_jure_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| landed title | |||
|- | |- | ||
| | | random_realm_de_jure_empire | ||
|Iterate through all | | Iterate through all de jure empire that have at least one county in the realm. Based on top liege | ||
| | | <pre> | ||
| | random_realm_de_jure_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| landed title | |||
|- | |- | ||
| | | random_realm_de_jure_kingdom | ||
| | | Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege | ||
| | | <pre> | ||
| | random_realm_de_jure_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| landed title | |||
|- | |- | ||
| | | random_realm_province | ||
| | | Iterate through all realm provinces of a character | ||
| | | <pre>random_realm_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | province | ||
|- | |- | ||
| | | random_relation | ||
| | | Iterate through scripted relations of a given type or multiple types, if someone is multiple relations they will only be in the list once | ||
| | | <pre>random_relation = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | character | ||
|- | |- | ||
| | | random_same_sex_spouse_candidate | ||
| | | Iterate through all the spouse candidates of the same sex of a character. | ||
| | | <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. | ||
| | random_same_sex_spouse_candidate = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
|character | | character | ||
| character | |||
|- | |- | ||
| | | random_scheme | ||
| | | Iterate through all schemes owned by the character | ||
| | | <pre>random_scheme = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | scheme | ||
|- | |- | ||
| | | random_secret | ||
| | | Iterate through all secrets of the character | ||
| | | <pre>random_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
| | | secret | ||
|- | |- | ||
| | | random_sibling | ||
|The target character removes their | | Iterate through all siblings | ||
| | | <pre>random_sibling = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | ||
| | | character | ||
|character | | character | ||
|- | |||
| random_sponsored_inspiration | |||
| Iterate through all sponsored inspirations | |||
| <pre>random_sponsored_inspiration = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| inspiration | |||
|- | |||
| random_spouse | |||
| Iterate through all spouses | |||
| <pre>random_spouse = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_spouse_candidate | |||
| Iterate through all the spouse candidates of a character. | |||
| <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. | |||
random_spouse_candidate = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_stewardship_councillor | |||
| Iterate through all stewardship-based councillors | |||
| <pre>random_stewardship_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_sub_realm_barony | |||
| Iterate through all baronies in sub-realm | |||
| <pre>random_sub_realm_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |||
| random_sub_realm_county | |||
| Iterate through all counties in sub-realm | |||
| <pre>random_sub_realm_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |||
| random_sub_realm_duchy | |||
| Iterate through all duchies in sub-realm | |||
| <pre>random_sub_realm_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |||
| random_sub_realm_empire | |||
| Iterate through all empires in sub-realm | |||
| <pre>random_sub_realm_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |||
| random_sub_realm_kingdom | |||
| Iterate through all kingdoms in sub-realm | |||
| <pre>random_sub_realm_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |||
| random_sub_realm_title | |||
| Iterate through all titles in sub-realm | |||
| <pre>random_sub_realm_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| landed title | |||
|- | |||
| random_targeting_faction | |||
| Iterate through all factions targeting the scope character | |||
| <pre>random_targeting_faction = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| faction | |||
|- | |||
| random_targeting_scheme | |||
| Iterate through all schemes targeting the character | |||
| <pre>random_targeting_scheme = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| scheme | |||
|- | |||
| random_targeting_secret | |||
| Iterate through all secrets that target the specified scope | |||
| <pre>random_targeting_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| secret | |||
|- | |||
| random_traveling_family_member | |||
| Iterate though all characters that should travel with the scoped one (when moving between courts for instance); includes the scoped character | |||
| <pre>random_traveling_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_truce_holder | |||
| Iterate through all characters that have a truce on this character | |||
| <pre>random_truce_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_truce_target | |||
| Iterate through all characters this character has a truce on | |||
| <pre>random_truce_target = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_unspent_known_secret | |||
| Iterate through all unspent secrets known by the character | |||
| <pre>random_unspent_known_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| secret | |||
|- | |||
| random_vassal | |||
| Iterate through all DIRECT vassals | |||
| <pre>random_vassal = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_vassal_or_below | |||
| Iterate through ALL vassals, not just direct vassals | |||
| <pre>random_vassal_or_below = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_war_ally | |||
| Iterate through all direct war allies | |||
| <pre>random_war_ally = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| random_war_enemy | |||
| Iterate through all direct war enemies | |||
| <pre>random_war_enemy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| character | |||
| character | |||
|- | |||
| recruit_courtier | |||
| Recruits the target to become a courtier. Example scope:liege = { recruit_courtier = scope:new_courtier } | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| refund_all_perks | |||
| Refunds all perks of the character. Example: refund_all_perks = yes | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| refund_perks | |||
| Refunds all perks of the RHS lifestyle. Example: refund_perks = intrigue_lifestyle | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| release_from_prison | |||
| releases the character from the prison, imprison = X, where X is a boolean value | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| remove_all_character_modifier_instances | |||
| Remove all instances of a modifier from a character | |||
| <pre>remove_all_character_modifier_instances = name</pre> | |||
| character | |||
| | |||
|- | |||
| remove_character_flag | |||
| removes a character flag | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| remove_character_modifier | |||
| Remove a modifier from a character | |||
| <pre>remove_character_modifier = name</pre> | |||
| character | |||
| | |||
|- | |||
| remove_claim | |||
| removes an explicit (not from a living parent/grand parent) claim | |||
| <pre></pre> | |||
| character | |||
| landed title | |||
|- | |||
| remove_concubine | |||
| Removes the target character as a concubine of the scope character | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_courtier_or_guest | |||
| Removes the target character (guest or courtier) from the scope character's court | |||
| <pre>scope:host = { remove_courtier_or_guest = scope:guest } # move to pool, staying in same province | |||
scope:host = { | |||
remove_courtier_or_guest = { | |||
character = scope:guest | |||
new_location = scope:some_province # optionally specify a new location | |||
} | |||
}</pre> | |||
| character | |||
| character | |||
|- | |||
| remove_decision_cooldown | |||
| Remove the cooldown on taking a decision for the scoped character | |||
| <pre>remove_decision_cooldown = decision_name</pre> | |||
| character | |||
| | |||
|- | |||
| remove_hook | |||
| Removes a hook on a character, remove_hook = { target = X, type = Y }, if type is specified, the hook will only be removed if it is of that type | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| remove_interaction_cooldown | |||
| Remove the cooldown on using an interaction for the scoped character | |||
| <pre>remove_interaction_cooldown = interaction_name</pre> | |||
| character | |||
| | |||
|- | |||
| remove_interaction_cooldown_against | |||
| Remove the cooldown on using an interaction against the target character for the scoped character | |||
| <pre>remove_interaction_cooldown_against = { interaction = interaction_name target = character }</pre> | |||
| character | |||
| | |||
|- | |||
| remove_localized_text | |||
| Removes a piece of localized text from being stored on the character with a given key, you should do this whenever you are done with the custom text so as to not bloat saves | |||
| <pre>remove_localized_text = key</pre> | |||
| character | |||
| | |||
|- | |||
| remove_long_term_gold | |||
| removes gold from a character (AI's long term budget) | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| remove_nickname | |||
| Removes any nickname from the current character [yes|no] | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| remove_opinion | |||
| Removes a temporary opinion modifier, remove_opinion = { target = X modifier = Y single = Z (no by default) } where X is a character, Y is the opinion modifier, Z tells whether to remove all instances of the modifier or just one | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| remove_perk | |||
| Remove the perk for this character | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| remove_personal_artifact_claim | |||
| Removes a personal claim on the target artifact from the scoped character | |||
| <pre></pre> | |||
| character | |||
| artifact | |||
|- | |||
| remove_realm_law | |||
| Removes the given law from the scoped character. This will leave the law group empty, so only do this if you're getting rid of a law group | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| remove_relation_antiquarian | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_best_friend | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_bully | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_court_physician | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_crush | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_flag | |||
| Removed a flag from an existing relation flag = flag_name (declared in scripted_relation) target = other_character relation = scripted_relation | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| remove_relation_friend | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_guardian | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_intrigue_mentor | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_intrigue_student | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_lover | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_mentor | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_nemesis | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_oaf | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_potential_friend | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_potential_lover | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_potential_rival | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_rival | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_soldier_friend | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_soulmate | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_student | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_victim | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_relation_ward | |||
| Removes scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| remove_scheme_cooldown_against | |||
| Remove the cooldown on using a scheme against the target character for the scoped character | |||
| <pre>remove_scheme_cooldown_against = { scheme = scheme_name target = character }</pre> | |||
| character | |||
| | |||
|- | |||
| remove_short_term_gold | |||
| removes gold from a character (AI's short term budget) | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| remove_trait | |||
| Removes a trait from a character. Tooltip will not be shown if the character doesn't have the trait. | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| remove_trait_force_tooltip | |||
| Removes a trait from a character. Tooltip will be shown even if the character doesn't have the trait. | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| replace_court_position | |||
| Replaces the target character holding target court position within scoped character's court with target character | |||
| <pre> | |||
recipient = character scope - target character to receive the title | |||
holder = character scope - target character to revoke the target court position of in favour of recipient | |||
court_position = court position type - court position type to assign the receiver</pre> | |||
| character | |||
| | |||
|- | |||
| reset_beneficiary | |||
| The target character stops having a beneficiary. reset_beneficiary = yes | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| return_to_court | |||
| Returns the scope character to the employers court. | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| reverse_add_opinion | |||
| Adds a temporary reverse opinion modifier, reverse_add_opinion = { modifier = X days/months/years = Y target = Z } | |||
| <pre>X is a scripted modifier name. Y can be a value or a range "{ A B }" If no timeout are specified, the modifier's scripted default timeout will be used.</pre> | |||
| character | |||
| | |||
|- | |||
| revoke_court_position | |||
| Revokes target position from scoped character. | |||
| <pre> | |||
court_position = court position type - court position type to revoke from scoped character's court</pre> | |||
| character | |||
| | |||
|- | |||
| scriptedtests_recalculate_character_modifier | |||
| Recalculates the modifier of the scoped character | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| scriptedtests_recalculate_succession | |||
| Recalculates the line of succession of the scoped character | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| set_absolute_country_control | |||
| Sets if this character has absolute country control, unlock_character_movement = yes/no/boolean event target | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| set_age | |||
| Sets the character's age. Note that this will completely bypass birthday on-actions, age-related health, and so on, just like the console command | |||
| <pre> Usage: set_age = script value</pre> | |||
| character | |||
| | |||
|- | |||
| set_amenity_level | |||
| set_amenity_level = { type = food value = 2 } | |||
| <pre>Sets the amenity type to the given value for the scoped character</pre> | |||
| character | |||
| | |||
|- | |||
| set_beneficiary | |||
| The target character becomes the beneficiary of the scoped character. set_beneficiary = some character | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_character_faith | |||
| Changes what faith a character has executing the effects for it. For history setup use 'set_character_faith_history' instead. | |||
| <pre></pre> | |||
| character | |||
| faith | |||
|- | |||
| set_character_faith_history | |||
| Changes what faith a character has NOT executing the effects for it. USE ONLY IN HISOTRY SETUP! | |||
| <pre></pre> | |||
| character | |||
| faith | |||
|- | |||
| set_character_faith_with_conversion | |||
| Changes what faith a character has, as if they used the faith-view interaction (minus the piety cost). So vassals who'd accept will get converted, as will capitals | |||
| <pre></pre> | |||
| character | |||
| faith | |||
|- | |||
| set_child_of_concubine_on_pregnancy | |||
| Sets the child to be (or not be) a child of a concubine during pregnancy | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| set_council_task | |||
| Sets the task of the scope councillor { task_type = council_position_type_key target = for_targeted_tasks } | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| set_court_language | |||
| Set the character's court language to the given languageset_court_language = language_norwegian | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| set_court_type | |||
| Set the court type for this character's royal court | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| set_culture | |||
| Set the culture for this character | |||
| <pre></pre> | |||
| character | |||
| culture | |||
|- | |||
| set_culture_same_as | |||
| sets the culture of the character to be the same as the culture of the target | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_current_court_grandeur | |||
| Sets the current court grandeur of a character with a royal court, clamped between NRoyalCourt::COURT_GRANDEUR_MIN and NRoyalCourt::COURT_GRANDEUR_MAX. | |||
| <pre>Does not apply a grace period, and removes any existing one.</pre> | |||
| character | |||
| | |||
|- | |||
| set_death_reason | |||
| set_death_reason = { killer = X death_reason = Y artifact = Z } | |||
| <pre>All parameters are optional. Sets the death reason, the killer, and artifact used in the death of a dead character</pre> | |||
| character | |||
| | |||
|- | |||
| set_default_education | |||
| Set the default education focus for this character | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| set_designated_heir | |||
| Sets the given character as designated heir | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_employer | |||
| Add the scope character to the target character's court | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_father | |||
| sets the father of a character | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_focus | |||
| Set the focus for this character | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| set_house | |||
| Sets the dynasty house of the character | |||
| <pre></pre> | |||
| character | |||
| dynasty house | |||
|- | |||
| set_immortal_age | |||
| Changes what age the character became immortal at. Only works if already immortal | |||
| <pre>set_immortal_age = 20</pre> | |||
| character | |||
| | |||
|- | |||
| set_killer_public | |||
| Sets the scoped character's killer as being publicly known | |||
| <pre>set_killer_public = bool</pre> | |||
| character | |||
| | |||
|- | |||
| set_knight_status | |||
| Sets the knight status of the character to Forced/Default/Disallowed | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| set_known_bastard_on_pregnancy | |||
| Sets the child to a known or unknown bastard during pregnancy | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| set_mother | |||
| Sets the mother of a character | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_num_pregnancy_children | |||
| Set the number of children | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| set_override_designated_winner | |||
| The scoped character will put their beneficiary on the throne if they're the #1 participant if this is called with 'yes'. Call with 'no' to turn it off again. set_override_designate_winner = yes/no | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| set_player_character | |||
| The scope character's player will now play as the target character. Scope must be player-controlled. Target cannot be player-controlled. Example:set_player_character = scope:title_recipient | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_pregnancy_assumed_father | |||
| Set the assumed father of the pregnancy | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_primary_spouse | |||
| Set the primary spouse of a character | |||
| <pre>set_primary_spouse = scope</pre> | |||
| character | |||
| character | |||
|- | |||
| set_primary_title_to | |||
| Sets the primary title for a character | |||
| <pre>set_primary_title_to = <title></pre> | |||
| character | |||
| landed title | |||
|- | |||
| set_real_father | |||
| Changes the real father of the character scope | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_realm_capital | |||
| Set a new realm capital | |||
| <pre>character = { set_realm_capital = new_title }</pre> | |||
| character | |||
| landed title | |||
|- | |||
| set_relation_antiquarian | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_best_friend | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_bully | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_court_physician | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_crush | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_friend | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_guardian | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_intrigue_mentor | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_intrigue_student | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_lover | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_mentor | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_nemesis | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_oaf | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_potential_friend | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_potential_lover | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_potential_rival | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_rival | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_soldier_friend | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_soulmate | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_student | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_victim | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_relation_ward | |||
| Sets scripted relationship | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| set_sexuality | |||
| Sets the sexuality of the character | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| set_to_lowborn | |||
| Set the character to lowborn | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| set_trait_rank | |||
| Sets the trait rank = { trait = trait_group rank = new rank } | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| set_vassal_contract_modification_blocked | |||
| Blocks the vassal contract from being modified with regards to being checked by 'vassal_contract_is_blocked_from_modification' | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| spawn_army | |||
| Spawns an army for this character. If the character is not at war, the regiments will be created, but the army will not be spawned. | |||
| <pre>Usage: | |||
spawn_army = { | |||
levies = int/script value # optional, number of men | |||
men_at_arms = { # optional, multiple can be specified. Need either levies or MAA | |||
type = key | |||
men/stacks = int/script value | |||
} | |||
location = province | |||
origin = province # optional, location used if not set. This is used for where to base bonuses and the like on | |||
war = war # optional. If set, the stack will disband after the war ends | |||
war_keep_on_attacker_victory = yes/no # Default: no. Tied to a war. Normally the stack will disband upon victory (if a war is specified), but this parameter prevents that from happening upon attacker victory | |||
inheritable = yes/no # Default: yes | |||
uses_supply = yes/no # Default: yes | |||
army = army # optional. If set, the stack will merge into this army | |||
save_scope_as/save_temporary_scope_as = new_army # optional way to get a reference to the new army. Note this might not be set if the army wasn't spawned (e.g. if the character is not at war) | |||
name = description # gives the troops a specific name that shows up in interfaces | |||
}</pre> | |||
| character | |||
| | |||
|- | |||
| sponsor_inspiration | |||
| sponsor_inspiration = inspiration | |||
| <pre>Sets the sponsor of the target inspiration to the scoped character</pre> | |||
| character | |||
| inspiration | |||
|- | |||
| start_default_task | |||
| Force the Councillor to revert to the default task. Any relevant percentage progress will be lost (even if the councillor was performing the default task already). | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| start_scheme | |||
| starts a scheme = { type = X target = Y } | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| start_war | |||
| starts a war = { casus_belli/cb = X target = Y claimant = Z target_title = W1 target_title = W2 ... } where X is a casus belli type, Y is the target character, Z i the (optional) claimant, W1, W2.... are targeted titles. | |||
| <pre>If there are no title targets, the effect will pick one of possible title targets.</pre> | |||
| character | |||
| | |||
|- | |||
| store_localized_text_in_death | |||
| Makes a piece of localized text with the given key be stored on the character even after death, you should use this sparingly to avoid save bloat and use 'remove_localized_text' if you no longer need itsaves | |||
| <pre>store_localized_text_in_death = key</pre> | |||
| character | |||
| | |||
|- | |||
| stress_impact | |||
| Stress impact according to specified traits (trait = value), use base = value for a base value that's always added | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| unlearn_court_language_of | |||
| The character unlearns the court language of the target character. Cannot unlearn the language of your cultureunlearn_court_language_of = scope:target_character | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| unlearn_language | |||
| The character unlearns the language. Cannot unlearn the language of your cultureunlearn_language = language_norwegian | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| unlearn_language_of_culture | |||
| The character unlearns the language of the target culture. Cannot unlearn the language of your cultureunlearn_language_of_culture = scope:target_culture | |||
| <pre></pre> | |||
| character | |||
| culture | |||
|- | |||
| use_hook | |||
| Uses a hook a character has (removes if weak, puts on cooldown if strong), use_hook = some_character | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| vassal_contract_decrease_obligation_level | |||
| decrease the obligation level of the scoped character's vassal contract | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| vassal_contract_increase_obligation_level | |||
| increase the obligation level of the scoped character's vassal contract | |||
| <pre></pre> | |||
| character | |||
| | |||
|- | |||
| vassal_contract_set_obligation_level | |||
| change the obligation level of the scoped character's vassal contract | |||
| <pre>vassal_contract_set_obligation_level = { type = name level = 1 } # index to obligation level | |||
vassal_contract_set_obligation_level = { type = name level = feudal_obligation_low }</pre> | |||
| character | |||
| | |||
|- | |||
| visit_court_of | |||
| Add the scope character as the target character's guest | |||
| <pre></pre> | |||
| character | |||
| character | |||
|- | |||
| every_faith | |||
| Iterate through all faiths within a religion | |||
| <pre>every_faith = { limit = { <triggers> } <effects> }</pre> | |||
| religion | |||
| faith | |||
|- | |||
| ordered_faith | |||
| Iterate through all faiths within a religion | |||
| <pre>ordered_faith = { | |||
limit = { <triggers> } | |||
order_by = script_value | |||
position = int | |||
min = int | |||
max = script_value | |||
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max | |||
<effects> }</pre> | |||
| religion | |||
| faith | |||
|- | |||
| random_faith | |||
| Iterate through all faiths within a religion | |||
| <pre>random_faith = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre> | |||
| religion | |||
| faith | |||
|} | |} | ||
< | |||
== Opinion Modifiers == | |||
In order to add an opinion modifier, a modifier must be defined inside a file under <code>common/opinion_modifiers</code>. A constant modifier looks like this: | |||
<pre> | |||
custom_opinion_modifier_name = { | |||
opinion = 20 | |||
imprisonment_reason = yes | |||
revoke_title_reason = yes | |||
banish_reason = yes | |||
execute_reason = yes | |||
} | |||
</pre> | |||
While a modifier that changes over time looks like this: | |||
<pre> | |||
custom_opinion_modifier_name = { | |||
monthly_change = -.05 | |||
decaying = yes | |||
max = 20 | |||
stacking = yes | |||
} | |||
</pre> | |||
Other valid keys can be found by example in <code>game/common/opinion_modifiers</code>. | |||
You will also want to add an entry to a localization file with the same name as the opinion modifier. This will show up as the description when an in-game tooltip is shown. | |||
{{Modding navbox}} | {{Modding navbox}} | ||
[[Category: | [[Category:Modding]] |
2022年12月4日 (日) 22:59的最新版本
效果(Effects),也称为命令(commands),在脚本中用于更改通过范围和条件选择的目标。他们还能够遍历列表。
They appear in:
- command blocks (the immediate and option sections of events, or similar: effect, creation_effect, gain_effect, success, ...)
- scripted effects, which can reduce code duplication by grouping commands into re-usable macro.
Scripting commands are different from console commands, though there may be equivalents between the two. Also, any effect can be run in the console via the effect
command.
Available effects depend on the current scope.
效果条件式[编辑 | 编辑源代码]
These are the most important effects that are used to control the execution of other effects.
名称 | 描述 | 样例 | Supported scopes | Supported targets |
---|---|---|---|---|
if | 如果满足if条件内容<triggers>,则会执行if描述的效果<effects> | if = { limit = { <triggers> } <effects> } |
none | |
else_if | 如果满足if条件内容<triggers>,则会执行if描述的效果<effects> ,否则如果如果满足else_if条件内容<triggers>,则会执行else_if描述的效果<effects> | if = { limit = { <triggers> } <effects> } else_if = { limit = { <triggers> } <effects> } |
none | |
else | 如果满足if条件内容<triggers>,则会执行if描述的效果<effects> ,否则执行else描述的效果<effects>(该段括号内容为译者所加,鉴于ck3官网原文有些模糊,这里引用一下钢4wiki对效果条件式的描述:首先,limit是一个AND的触发器,也就是其中的所有条件都需要满足,如果limit中的内容没有满足,就开始检测else_if,直到else最后这个触发器(除非你没有写)。这其中的每一个触发器只要有一个触发器中的内容全部满足就会触发) | if = { limit = { <triggers> } <effects> } else = { <effects> } |
none | |
while | Repeats enclosed effects while limit criteria are met or until set iteration count is reached | while = { limit = { <triggers> } <effects> } while = { count = 3 <effects> } Default max of 1000. |
none | |
switch | Switch on a trigger for the evaluation of another trigger with an optional fallback trigger. | switch = { trigger = simple_assign_trigger case_1 = { <effects> } case_2 = { <effects> } case_n = { <effects> } fallback = { <effects> } } |
none | |
hidden_effect | Effect not shown in tooltips | hidden_effect = { <effects> } |
none | |
show_as_tooltip | Effect only shown in tooltips (but not executed) | none | ||
random | a random effect | random = { chance = X modifier = Y effects... } where X is a chance of the enclosed effects being fired and can be modified by optional value modifier list (AKA MTTH) Y |
none | |
random_list | a random list effect | random_list = { X1 = { trigger = { ... } modifier/compare_modifier/opinion_modifier = Y1 effect1 } X2 = { ... } ... } Selects one effect from the list and fires it. The effects are weighted by numbers X1, X2... (the higher the number, the higher the chance of the effect being picked). The chances can be modified by optional value modifier lists Y1, Y2... (AKA MTTH) |
none | |
custom_description | Wraps effects that get a custom description instead of the auto-generated one. See also custom_description_no_bullet. | custom_description = { text = <effect_localization_key> subject = <optional subject scope> #defaults to current scope object = <optional object scope> value = <optional script value> ... effects ... } |
none | |
custom_tooltip | just a tooltip, the scope as subject (for grouping, localization). | custom_tooltip = { text = key subject = scope (optional) <hidden effects> } or just custom_tooltip = key |
none | |
send_interface_message | Sends a message to the player playing the character in the scope and then executes any effects inside. | For the message text and tooltip, $EFFECT$ contains the text description of the effects in the past tense. And $DESC$ contains the text from the desc field. send_interface_message = { type = message_type # default: send_interface_message title = LOCALIZATION # optional, otherwise takes it from the message type desc = LOCALIZATION # optional, otherwise takes it from the message type tooltip = LOCALIZATION # optional, otherwise takes it from the message type left_icon = scope:recipient # optional, character, artifact, or title right_icon = scope:the_title # optional, character, artifact, or title goto = scope:the_title # optional, character, barony title, province will add a goto button # optional effects... add_dread = 5 scope:someone = { add_gold = 5 } } |
character | |
send_interface_toast | Sends a message to the player playing the character in the scope and then executes any effects inside. | For the message text and tooltip, $EFFECT$ contains the text description of the effects in the past tense. And $DESC$ contains the text from the desc field. send_interface_toast = { type = message_type # default: send_interface_toast title = LOCALIZATION # optional, otherwise takes it from the message type desc = LOCALIZATION # optional, otherwise takes it from the message type tooltip = LOCALIZATION # optional, otherwise takes it from the message type left_icon = scope:recipient # optional, character, artifact, or title right_icon = scope:the_title # optional, character, artifact, or title goto = scope:the_title # optional, character, barony title, province will add a goto button # optional effects... add_dread = 5 scope:someone = { add_gold = 5 } } |
character |
Dump Export[编辑 | 编辑源代码]
Current effects can be found in an effects.log file in your local data folder's script_documentation (defaults to "%USERPROFILE%\Documents\Paradox Interactive\Crusader Kings III\logs\"), after you have run the script_docs
command in the debug console.
Name | Desc | Example | Scopes | Target |
---|---|---|---|---|
add_long_term_gold | Add gold to 'long term' AI budget category, respecting maximums, overflow goes into Short Term budget. (gold will be created out of nowhere) | add_long_term_gold = X |
character | |
add_reserved_gold | Add gold to 'reserved' AI budget category, respecting maximums, overflow goes into Short Term budget. (gold will be created out of nowhere) | add_reserved_gold = X |
character | |
add_short_term_gold | Add gold to 'short term' AI budget category, respecting maximums, overflow goes into Short Term budget. (gold will be created out of nowhere) | add_short_term_gold = X |
character | |
add_war_chest_gold | Add gold to 'war chest' AI budget category, respecting maximums, overflow goes into Short Term budget. (gold will be created out of nowhere) | add_war_chest_gold = X |
character | |
pay_reserved_gold | the scope character pays gold to the target character (from AI budget category 'reserved' first, then rest) | pay_reserved_gold = { target = X gold = Y } |
character | |
pay_reserved_income | the scope character immediately pays gold corresponding to their income to the target character (AI budget 'reserved' first, then rest) | pay_reserved_income = { target = X days/months/years = Y } |
character | |
pay_war_chest_gold | the scope character pays gold to the target character (from AI budget category 'war_chest' first, then rest) | pay_war_chest_gold = { target = X gold = Y } |
character | |
pay_war_chest_income | the scope character immediately pays gold corresponding to their income to the target character (AI budget 'war_chest' first, then rest) | pay_war_chest_income = { target = X days/months/years = Y } |
character | |
remove_reserved_gold | removes gold from a character (from AI's 'reserved' budget first, then rest) | character | ||
remove_war_chest_gold | removes gold from a character (from AI's 'war chest' budget first, then rest) | character | ||
create_character_memory | Creates a memory for the character of a given type and participants plus an optional duration. Saved as scope:new_memory. | create_character_memory = { type = memory_type participants = { tag = scope } duration = { years = 3 } } |
character | |
destroy_character_memory | Destroys the targeted character memory, do not use the destroyed scope after calling this since it will have been removed | destroy_character_memory = character_memory |
none | character memory |
equip_artifact_to_owner | Makes the owner of the scoped artifact equip it, will fail if there already is an equipment in the artifact's slot. | artifact | ||
equip_artifact_to_owner_replace | Makes the owner of the scoped artifact equip it, will replace the first held artifact if all slots of its type are filled. | artifact | ||
unequip_artifact_from_owner | Makes the owner of the scoped artifact unequip it. | artifact | ||
add_house_artifact_claim | Adds a claim on the target artifact to the scoped house | dynasty house | artifact | |
every_memory | Iterate through all memories of a character | every_memory = { limit = { <triggers> } <effects> } |
character | character memory |
every_memory_participant | Iterate through all participating character of a memory | every_memory_participant = { limit = { <triggers> } <effects> } |
character memory | character |
every_powerful_vassal | Iterate through the all powerful vassals of a character | every_powerful_vassal = { limit = { <triggers> } <effects> } |
character | character |
move_budget_gold | Move gold from one AI budget category to the other, will not move more than is available in the source budget or what can fit in the target budget | move_budget_gold = { gold = X from = Z to = Y } ('budget_war_chest', 'budget_reserved', 'budget_short_term', 'budget_long_term') |
character | |
set_reserved_gold_maximum | Set the maximum (and also desired value) for the 'reserved' gold AI budget. This budget is saved up, even before the war chest budget. It will not correct the current gold in that budget to conform to the new maximum. | set_reserved_gold_maximum = X |
character | |
ordered_memory | Iterate through all memories of a character | ordered_memory = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character memory |
ordered_memory_participant | Iterate through all participating character of a memory | ordered_memory_participant = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character memory | character |
ordered_powerful_vassal | Iterate through the all powerful vassals of a character | ordered_powerful_vassal = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
random_memory | Iterate through all memories of a character | random_memory = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character memory |
random_memory_participant | Iterate through all participating character of a memory | random_memory_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character memory | character |
random_powerful_vassal | Iterate through the all powerful vassals of a character | random_powerful_vassal = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
set_house_name_from_dynasty | Sets dynasty house name from another dynasty's name | set_house_name_from_dynasty = dynasty |
dynasty house | dynasty |
set_house_name_from_house | Sets dynasty house name from another dynasty house's name | set_house_name_from_house = house |
dynasty house | dynasty house |
add_house_modifier | Add a modifier to a house | add_house_modifier = name add_house_modifier = { modifier = name days/weeks/months/years = int } You can also add an optional 'desc' field. This is a dynamic description that'll be used for your timed modifier |
dynasty house | |
every_house_claimed_artifact | Iterate through all claimed artifacts of the scoped house | every_house_claimed_artifact = { limit = { <triggers> } <effects> } |
dynasty house | artifact |
every_house_member | Iterate through all house members | every_house_member = { limit = { <triggers> } <effects> } |
dynasty house | character |
ordered_house_claimed_artifact | Iterate through all claimed artifacts of the scoped house | ordered_house_claimed_artifact = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
dynasty house | artifact |
ordered_house_member | Iterate through all house members | ordered_house_member = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
dynasty house | character |
random_house_claimed_artifact | Iterate through all claimed artifacts of the scoped house | random_house_claimed_artifact = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
dynasty house | artifact |
random_house_member | Iterate through all house members | random_house_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
dynasty house | character |
remove_all_house_modifier_instances | Remove all instances of a modifier from a house | remove_all_house_modifier_instances = name |
dynasty house | |
remove_house_artifact_claim | Removes a claim on the target artifact from the scoped house | dynasty house | artifact | |
remove_house_modifier | Remove a modifier from a house | remove_house_modifier = name |
dynasty house | |
set_house_name | Sets dynasty house name | set_house_name=loc_key |
dynasty house | |
add_faction_discontent | add_faction_discontent = X adds (or subtracts) discontent to the scope faction | faction | ||
destroy_faction | no] | faction | ||
every_faction_county_member | Iterate through all faction county members | every_faction_county_member = { limit = { <triggers> } <effects> } |
faction | landed title |
every_faction_member | Iterate through all faction character members | every_faction_member = { limit = { <triggers> } <effects> } |
faction | character |
faction_remove_war | Removes the war currently associated with the faction | faction_remove_war = yes |
faction | |
faction_start_war | The scope faction starts the war agains their target. | faction_start_war = { title = [optional] } |
faction | |
ordered_faction_county_member | Iterate through all faction county members | ordered_faction_county_member = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
faction | landed title |
ordered_faction_member | Iterate through all faction character members | ordered_faction_member = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
faction | character |
random_faction_county_member | Iterate through all faction county members | random_faction_county_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
faction | landed title |
random_faction_member | Iterate through all faction character members | random_faction_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
faction | character |
remove_special_character | Removes the special character for the scope faction | faction | ||
remove_special_title | Removes the special character for the scope faction | faction | ||
set_special_character | Sets the special character for the scope faction | faction | character | |
set_special_title | Sets the special title for the scope faction | faction | landed title | |
add_attacker | adds the target character to the scope war as an attacker | war | character | |
add_defender | adds the target character to the scope war as a defender | war | character | |
clear_claimant | Removes the claimant from a war | war | ||
end_war | ends the war with the specified winner, end_war = attacker/defender/white_peace | war | ||
every_war_attacker | Iterate through all attackers in the war | every_war_attacker = { limit = { <triggers> } <effects> } |
war | character |
every_war_defender | Iterate through all defenders in the war | every_war_defender = { limit = { <triggers> } <effects> } |
war | character |
every_war_participant | Iterate through all participants in the war | every_war_participant = { limit = { <triggers> } <effects> } |
war | character |
ordered_war_attacker | Iterate through all attackers in the war | ordered_war_attacker = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
war | character |
ordered_war_defender | Iterate through all defenders in the war | ordered_war_defender = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
war | character |
ordered_war_participant | Iterate through all participants in the war | ordered_war_participant = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
war | character |
random_war_attacker | Iterate through all attackers in the war | random_war_attacker = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
war | character |
random_war_defender | Iterate through all defenders in the war | random_war_defender = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
war | character |
random_war_participant | Iterate through all participants in the war | random_war_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
war | character |
remove_participant | removes the target character from the scope war | war | character | |
set_called_to | sets the target character as already called to the scope war | war | character | |
set_casus_belli | sets the casus belli of the scope war | war | ||
accept_invitation_for_character | accept a characters invitation to the activity | activity | character | |
complete_activity | completes the activity, complete_activity = yes ends the activity and runs the on_complete effect, complete_activity = no ends the activity without running the effect | activity | ||
decline_invitation_for_character | decline a characters invitation to the activity | activity | character | |
every_activity_declined | Iterate through all characters who declined an activity invite to a specific activity | every_activity_declined = { limit = { <triggers> } <effects> } |
activity | character |
every_activity_invited | Iterate through all characters who have unanswered invites to a specific activity | every_activity_invited = { limit = { <triggers> } <effects> } |
activity | character |
every_participant | Iterate through all participants in an activity | every_participant = { limit = { <triggers> } <effects> } |
activity | character |
invite_character_to_activity | invite a character to the activity | activity | character | |
move_activity | Moves activity and all members to given location | move_activity = scope:province |
activity | province |
ordered_activity_declined | Iterate through all characters who declined an activity invite to a specific activity | ordered_activity_declined = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
activity | character |
ordered_activity_invited | Iterate through all characters who have unanswered invites to a specific activity | ordered_activity_invited = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
activity | character |
ordered_participant | Iterate through all participants in an activity | ordered_participant = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
activity | character |
random_activity_declined | Iterate through all characters who declined an activity invite to a specific activity | random_activity_declined = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
activity | character |
random_activity_invited | Iterate through all characters who have unanswered invites to a specific activity | random_activity_invited = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
activity | character |
random_participant | Iterate through all participants in an activity | random_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
activity | character |
battle_event | Makes a battle event show up in combat, and the combat result summary. The key is used for loc, with '_friendly' or '_enemy' appended. If this side is not the player's side, the two portraits get flipped. battle_event = { left_portrait = someone right_portrait = someone key = string } | combat side | ||
every_side_commander | Iterate through all commanders (the commanders of every army on the side, not just the one leading the battle) | every_side_commander = { limit = { <triggers> } <effects> } |
combat side | character |
every_side_knight | Iterate through all knights | every_side_knight = { limit = { <triggers> } <effects> } |
combat side | character |
lose_combat | ends the combat as the losing side (doesn't end the combat if evaluated to false) | combat side | ||
ordered_side_commander | Iterate through all commanders (the commanders of every army on the side, not just the one leading the battle) | ordered_side_commander = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
combat side | character |
ordered_side_knight | Iterate through all knights | ordered_side_knight = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
combat side | character |
random_side_commander | Iterate through all commanders (the commanders of every army on the side, not just the one leading the battle) | random_side_commander = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
combat side | character |
random_side_knight | Iterate through all knights | random_side_knight = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
combat side | character |
win_combat | ends the combat as the winning side (doesn't end the combat if evaluated to false) | combat side | ||
add_from_contribution_attackers | Adds prestige, gold and piety based on contribution to allied attackers. parameters: prestige, gold, piety. | casus belli | ||
add_from_contribution_defenders | Adds prestige, gold and piety based on contribution to allied defenders. parameters: prestige, gold, piety. | casus belli | ||
every_target_title | Iterate through all casus belli's target titles | every_target_title = { limit = { <triggers> } <effects> } |
casus belli | landed title |
ordered_target_title | Iterate through all casus belli's target titles | ordered_target_title = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
casus belli | landed title |
random_target_title | Iterate through all casus belli's target titles | random_target_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
casus belli | landed title |
add_loot | Adds loot to the currently scoped raiding army. | Usage: add_loot = VALUE |
army | |
assign_commander | Assign a commander for the scoped army | set_commander = scope:a_character |
army | character |
remove_commander | Removes the currently assigned commander from the scoped army | remove_commander = yes |
army | |
set_army_location | Teleports the army to the given location. Cannot be done while in combat. Will cause combat to happen with this army as the attacker if there's hostiles in the target | set_army_location = scope:province |
army | province |
add_artifact_history | Adds a history entry to the artifact, could for example be a reforging event | type = enum - history entry type date = jomini date - when this historical event took place actor = character - who is the actor in the event, for example who created it recipient = character - who is the recipient in the event, for example who was the artifact given to location = province - where the event took place |
artifact | |
add_artifact_modifier | Adds a static modifier to the given artifact | add_artifact_modifier = modifier_name NOTE: does not support duration! |
artifact | |
add_artifact_title_history | Adds the title history of the given title to the scoped artifacts history | add_artifact_title_history = {} target = title scope - landed title to take history from date = game date - from which date onwards to copy historical entries |
artifact | |
add_durability | Add this much to the artifacts durability | artifact | ||
clear_artifact_modifiers | Removes all modifiers from the scoped artifact | clear_artifact_modifiers = yes |
artifact | |
copy_artifact_modifiers | Copies the modifiers of the target artifact. Does *not* clear out existing modifiers | copy_artifact_modifiers = target_artifact |
artifact | artifact |
every_artifact_claimant | Iterate through all characters with a claim on the scoped artifact | every_artifact_claimant = { limit = { <triggers> } <effects> } |
artifact | character |
every_artifact_house_claimant | Iterate through all dynasty houses with a claim on the scoped artifact | every_artifact_house_claimant = { limit = { <triggers> } <effects> } |
artifact | dynasty house |
ordered_artifact_claimant | Iterate through all characters with a claim on the scoped artifact | ordered_artifact_claimant = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
artifact | character |
ordered_artifact_house_claimant | Iterate through all dynasty houses with a claim on the scoped artifact | ordered_artifact_house_claimant = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
artifact | dynasty house |
random_artifact_claimant | Iterate through all characters with a claim on the scoped artifact | random_artifact_claimant = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
artifact | character |
random_artifact_house_claimant | Iterate through all dynasty houses with a claim on the scoped artifact | random_artifact_house_claimant = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
artifact | dynasty house |
reforge_artifact | Reforges the given artifact, restoring its durability and potentially changing any other attributes such as type or modifiers unless those fields are left empty | Be aware that we make use of the current scopes implicitly. This is done in common/artifacts/visuals name = dynamic description - artifact name description = dynamic description - artifact description rarity = enum - artifact rarity, ex. legendary type = flag - inventory slot type, ex. trinket modifier = static modifier - applied to the character whom wields this artifact durability = script value - new durability, will be max by default max_durability = script value - Optional. A value for the max durability, which would override the one normally assigned by the defines decaying = yes/no - Optional. Set if artifact decays with time. Yes by default history = artifact history entry - custom history entry to denote for example that this is artifact was reforged by someone else than the owner type = artifact history entry type - available types: created_before_history created discovered claimed_by_house given stolen inherited conquest taken_in_siege taken_in_battle won_in_duel reforged template = artifact scripted template - a scripted base template with triggers and modifiers visuals = artifact visual type - how this artifact should appear visually generate_history = bool - automatically generate a new history entry if none has been scripted? quality = script value - new quality, used in AI scoring wealth = script value - new wealth, used in AI scoring creator = character scope - set a custom creator of the artifact ( default is the owner ) visuals_source = scope containing landed title, dynasty or house - set a source of coat of arms graphics for the artifact (only few artifact models actually make use of it. Most notable - banners) |
artifact | |
remove_artifact_feature_group | Removes th feature from the specified group from the artifact. | Cannot remove required groups. remove_artifact_feature_group = key |
artifact | |
remove_artifact_modifier | Removes a static modifier to the given artifact | remove_artifact_modifier = modifier_name NOTE: does not support duration! |
artifact | |
set_artifact_description | Sets the description of the given artifact | set_artifact_description = dynamic desc |
artifact | |
set_artifact_feature | Sets the specified feature on the artifact. | If there's already a feature of that group, it gets overridden. set_artifact_feature = key |
artifact | |
set_artifact_feature_group | Sets a feature from the specified group on the artifact. | Uses the current scopes. Uses the weighting from the group. If there's already a feature of that group, it gets overridden. set_artifact_feature_group = key |
artifact | |
set_artifact_name | Sets the name of the given artifact | set_artifact_name = dynamic name |
artifact | |
set_artifact_rarity | Sets the rarity of the scoped artifact. Note that this does not update graphics and the like | set_artifact_rarity = common |
artifact | |
set_max_durability | Sets the artifact's max durability | artifact | ||
set_owner | Change the artifacts owner and transfer it to the given character | set_artifact_owner = {} target = character scope - the new owner character history = artifact history entry - custom history entry to denote for example that this is artifact was stolen rather than given generate_history = bool - automatically generate a new history entry if none has been scripted? |
artifact | |
set_should_decay | Set if the scoped artifact should decay with time or not | set_should_decay = yes/no |
artifact | |
generate_coa | Generates a coat of arms for the scoped landed title, dynasty or house | generate_coa = yes |
landed title, dynasty, dynasty house | |
reset_coa | Rest the coat of arms for the scoped landed title, dynasty or house to its template | reset_coa = yes |
landed title, dynasty, dynasty house | |
set_coa | Sets the coat of arms of a landed title, dynasty, or house to the right hand side coat of arms or that of an object of the same type | set_coa = k_england set_coa = scope:new_coa |
landed title, dynasty, dynasty house | |
add_county_modifier | Add a modifier to a county | add_county_modifier = name add_county_modifier = { modifier = name days/weeks/months/years = int } You can also add an optional 'desc' field. This is a dynamic description that'll be used for your timed modifier |
landed title | |
change_county_control | Changes the county control of a title. If the title has higher tier than county, the effect will propagate down to all counties below it. | landed title | ||
change_de_jure_drift_progress | Change the progress of de jure drift of a title<drifting_title> = { change_de_jure_drift_progress = { target = <drift_target_title> values = <progress_change_value> } } | landed title | ||
change_development_level | Changes the development level of a title. If the title has higher tier than county, the effect will propagate down to all counties below it. | landed title | ||
change_development_progress | Changes the development progress of a title. If the title has higher tier than county, the effect will propagate down to all counties below it. | landed title | ||
change_development_progress_with_overflow | Changes the development progress of a title. If the title has higher tier than county, the effect will propagate down to all counties below it. Will overflow, so adding +100 to a county with 50 progress left will increase the level by 1 and result in 50 progress towards the next level | landed title | ||
clear_title_laws | remove all title laws from the scoped title. DOES NOT apply law removal costs and effects. | clear_title_laws = yes |
landed title | |
clear_title_laws_effects | remove all title laws from the scoped title. DOES apply law removal costs and effects. | clear_title_laws_effects = yes |
landed title | |
copy_title_history | Copy title history from another title | copy_title_history = source_title |
landed title | landed title |
every_past_holder | Iterate through all past owners of a title from earliest to latest | every_any_past_holder = { limit = { <triggers> } <effects> } |
landed title | character |
every_past_holder_reversed | Iterate through all past owners of a title from latest to earliest | every_any_past_holder_reversed = { limit = { <triggers> } <effects> } |
landed title | character |
every_claimant | Iterate through all claimants to title. parameters: explicit = yes/no/all - default yes | every_claimant = { limit = { <triggers> } <effects> } |
landed title | character |
every_connected_county | Iterate through all counties connected to this one. Is based on top liege | any/every/whatever_connectec_county = { max_naval_distance = 500 allow_one_county_land_gap = yes every_connected_county = { limit = { <triggers> } <effects> } |
landed title | landed title |
every_controlled_faith | Iterate through all faiths headed by a title | every_controlled_faith = { limit = { <triggers> } <effects> } |
landed title | faith |
every_county_province | Iterate through all provinces in a county | every_county_province = { limit = { <triggers> } <effects> } |
landed title | province |
every_county_struggle | Iterate through all struggles that a county is involved in. | every_county_struggle = { limit = { <triggers> } <effects> } |
landed title | struggle |
every_de_jure_county | Iterate through all counties within this dejure title | every_de_jure_county = { limit = { <triggers> } <effects> } |
landed title | landed title |
every_de_jure_county_holder | Iterate through all characters directly holding counties within this dejure title | every_de_jure_county_holder = { limit = { <triggers> } <effects> } |
landed title | character |
every_de_jure_top_liege | Iterate through all top lieges of the counts within this dejure title | every_de_jure_top_liege = { limit = { <triggers> } <effects> } |
landed title | character |
every_dejure_vassal_title_holder | Iterate through all the vassal holders of the title | every_dejure_vassal_title_holder = { limit = { <triggers> } <effects> } |
landed title | character |
every_direct_de_facto_vassal_title | Iterate through all de facto vassal titles | every_direct_de_facto_vassal_title = { limit = { <triggers> } <effects> } |
landed title | landed title |
every_direct_de_jure_vassal_title | Iterate through the all de jure vassals titles | every_direct_de_jure_vassal_title = { limit = { <triggers> } <effects> } |
landed title | landed title |
every_election_candidate | Iterate through all characters who are valid candidates in an election for a title | every_election_candidate = { limit = { <triggers> } <effects> } |
landed title | character |
every_elector | Iterate through all characters who are valid electors in an election for a title | every_elector = { limit = { <triggers> } <effects> } |
landed title | character |
every_in_de_facto_hierarchy | Iterate through the title itself, all de facto vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal | This is unrelated to the limit; if the limit is met it is added to the list, but its vassals will get checked even if the limit isn't met as long as the 'continue' trigger is ..._de_jure_vassal_and_below = { continue = { conditions } } every_in_de_facto_hierarchy = { limit = { <triggers> } <effects> } |
landed title | landed title |
every_in_de_jure_hierarchy | Iterate through the title itself, all de jure vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal | This is unrelated to the limit; if the limit is met it is added to the list, but its vassals will get checked even if the limit isn't met as long as the 'continue' trigger is ..._de_jure_vassal_and_below = { continue = { conditions } } every_in_de_jure_hierarchy = { limit = { <triggers> } <effects> } |
landed title | landed title |
every_neighboring_county | Iterate through all neighboring counties. Can only be used in county scope | every_neighboring_county = { limit = { <triggers> } <effects> } |
landed title | landed title |
every_this_title_or_de_jure_above | Iterate through this title and all its dejure liege titles | every_this_title_or_de_jure_above = { limit = { <triggers> } <effects> } |
landed title | landed title |
every_title_heir | Line of succession for the scoped title | every_title_heir = { limit = { <triggers> } <effects> } |
landed title | character |
every_title_joined_faction | Iterate through all factions joined the scope landed title | every_title_joined_faction = { limit = { <triggers> } <effects> } |
landed title | faction |
every_title_to_title_neighboring_and_across_water_county | Scopes from a title to a neighboring county (incl. across water, looking trough the de Jure lieges) | every_title_to_title_neighboring_and_across_water_county = { limit = { <triggers> } <effects> } |
landed title | landed title |
every_title_to_title_neighboring_and_across_water_duchy | Scopes from a title to a neighboring duchy (incl. across water, looking trough the de Jure lieges) | every_title_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } <effects> } |
landed title | landed title |
every_title_to_title_neighboring_and_across_water_empire | Scopes from a title to a neighboring empire (incl. across water, looking trough the de Jure lieges) | every_title_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } <effects> } |
landed title | landed title |
every_title_to_title_neighboring_and_across_water_kingdom | Scopes from a title to a neighboring kingdom (incl. across water, looking trough the de Jure lieges) | every_title_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } <effects> } |
landed title | landed title |
every_title_to_title_neighboring_county | Scopes from a title to a neighboring county (looking trough the de Jure lieges) | every_title_to_title_neighboring_county = { limit = { <triggers> } <effects> } |
landed title | landed title |
every_title_to_title_neighboring_duchy | Scopes from a title to a neighboring duchy (looking trough the de Jure lieges) | every_title_to_title_neighboring_duchy = { limit = { <triggers> } <effects> } |
landed title | landed title |
every_title_to_title_neighboring_empire | Scopes from a title to a neighboring empire (looking trough the de Jure lieges) | every_title_to_title_neighboring_empire = { limit = { <triggers> } <effects> } |
landed title | landed title |
every_title_to_title_neighboring_kingdom | Scopes from a title to a neighboring kingdom (looking trough the de Jure lieges) | every_title_to_title_neighboring_kingdom = { limit = { <triggers> } <effects> } |
landed title | landed title |
lease_out_to | Lease out the scoped title | lease_out_to = scope:a_holy_order |
landed title | holy order |
ordered_past_holder | Iterate through all past owners of a title from earliest to latest | ordered_any_past_holder = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | character |
ordered_past_holder_reversed | Iterate through all past owners of a title from latest to earliest | ordered_any_past_holder_reversed = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | character |
ordered_claimant | Iterate through all claimants to title. parameters: explicit = yes/no/all - default yes | ordered_claimant = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | character |
ordered_connected_county | Iterate through all counties connected to this one. Is based on top liege | any/every/whatever_connectec_county = { max_naval_distance = 500 allow_one_county_land_gap = yes ordered_connected_county = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | landed title |
ordered_controlled_faith | Iterate through all faiths headed by a title | ordered_controlled_faith = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | faith |
ordered_county_province | Iterate through all provinces in a county | ordered_county_province = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | province |
ordered_county_struggle | Iterate through all struggles that a county is involved in. | ordered_county_struggle = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | struggle |
ordered_de_jure_county | Iterate through all counties within this dejure title | ordered_de_jure_county = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | landed title |
ordered_de_jure_county_holder | Iterate through all characters directly holding counties within this dejure title | ordered_de_jure_county_holder = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | character |
ordered_de_jure_top_liege | Iterate through all top lieges of the counts within this dejure title | ordered_de_jure_top_liege = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | character |
ordered_dejure_vassal_title_holder | Iterate through all the vassal holders of the title | ordered_dejure_vassal_title_holder = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | character |
ordered_direct_de_facto_vassal_title | Iterate through all de facto vassal titles | ordered_direct_de_facto_vassal_title = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | landed title |
ordered_direct_de_jure_vassal_title | Iterate through the all de jure vassals titles | ordered_direct_de_jure_vassal_title = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | landed title |
ordered_election_candidate | Iterate through all characters who are valid candidates in an election for a title | ordered_election_candidate = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | character |
ordered_elector | Iterate through all characters who are valid electors in an election for a title | ordered_elector = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | character |
ordered_in_de_facto_hierarchy | Iterate through the title itself, all de facto vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal | This is unrelated to the limit; if the limit is met it is added to the list, but its vassals will get checked even if the limit isn't met as long as the 'continue' trigger is ..._de_jure_vassal_and_below = { continue = { conditions } } ordered_in_de_facto_hierarchy = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | landed title |
ordered_in_de_jure_hierarchy | Iterate through the title itself, all de jure vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal | This is unrelated to the limit; if the limit is met it is added to the list, but its vassals will get checked even if the limit isn't met as long as the 'continue' trigger is ..._de_jure_vassal_and_below = { continue = { conditions } } ordered_in_de_jure_hierarchy = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | landed title |
ordered_neighboring_county | Iterate through all neighboring counties. Can only be used in county scope | ordered_neighboring_county = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | landed title |
ordered_this_title_or_de_jure_above | Iterate through this title and all its dejure liege titles | ordered_this_title_or_de_jure_above = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | landed title |
ordered_title_heir | Line of succession for the scoped title | ordered_title_heir = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | character |
ordered_title_joined_faction | Iterate through all factions joined the scope landed title | ordered_title_joined_faction = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | faction |
ordered_title_to_title_neighboring_and_across_water_county | Scopes from a title to a neighboring county (incl. across water, looking trough the de Jure lieges) | ordered_title_to_title_neighboring_and_across_water_county = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | landed title |
ordered_title_to_title_neighboring_and_across_water_duchy | Scopes from a title to a neighboring duchy (incl. across water, looking trough the de Jure lieges) | ordered_title_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | landed title |
ordered_title_to_title_neighboring_and_across_water_empire | Scopes from a title to a neighboring empire (incl. across water, looking trough the de Jure lieges) | ordered_title_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | landed title |
ordered_title_to_title_neighboring_and_across_water_kingdom | Scopes from a title to a neighboring kingdom (incl. across water, looking trough the de Jure lieges) | ordered_title_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | landed title |
ordered_title_to_title_neighboring_county | Scopes from a title to a neighboring county (looking trough the de Jure lieges) | ordered_title_to_title_neighboring_county = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | landed title |
ordered_title_to_title_neighboring_duchy | Scopes from a title to a neighboring duchy (looking trough the de Jure lieges) | ordered_title_to_title_neighboring_duchy = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | landed title |
ordered_title_to_title_neighboring_empire | Scopes from a title to a neighboring empire (looking trough the de Jure lieges) | ordered_title_to_title_neighboring_empire = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | landed title |
ordered_title_to_title_neighboring_kingdom | Scopes from a title to a neighboring kingdom (looking trough the de Jure lieges) | ordered_title_to_title_neighboring_kingdom = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
landed title | landed title |
random_past_holder | Iterate through all past owners of a title from earliest to latest | random_any_past_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | character |
random_past_holder_reversed | Iterate through all past owners of a title from latest to earliest | random_any_past_holder_reversed = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | character |
random_claimant | Iterate through all claimants to title. parameters: explicit = yes/no/all - default yes | random_claimant = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | character |
random_connected_county | Iterate through all counties connected to this one. Is based on top liege | any/every/whatever_connectec_county = { max_naval_distance = 500 allow_one_county_land_gap = yes random_connected_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | landed title |
random_controlled_faith | Iterate through all faiths headed by a title | random_controlled_faith = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | faith |
random_county_province | Iterate through all provinces in a county | random_county_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | province |
random_county_struggle | Iterate through all struggles that a county is involved in. | random_county_struggle = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | struggle |
random_de_jure_county | Iterate through all counties within this dejure title | random_de_jure_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | landed title |
random_de_jure_county_holder | Iterate through all characters directly holding counties within this dejure title | random_de_jure_county_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | character |
random_de_jure_top_liege | Iterate through all top lieges of the counts within this dejure title | random_de_jure_top_liege = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | character |
random_dejure_vassal_title_holder | Iterate through all the vassal holders of the title | random_dejure_vassal_title_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | character |
random_direct_de_facto_vassal_title | Iterate through all de facto vassal titles | random_direct_de_facto_vassal_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | landed title |
random_direct_de_jure_vassal_title | Iterate through the all de jure vassals titles | random_direct_de_jure_vassal_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | landed title |
random_election_candidate | Iterate through all characters who are valid candidates in an election for a title | random_election_candidate = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | character |
random_elector | Iterate through all characters who are valid electors in an election for a title | random_elector = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | character |
random_in_de_facto_hierarchy | Iterate through the title itself, all de facto vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal | This is unrelated to the limit; if the limit is met it is added to the list, but its vassals will get checked even if the limit isn't met as long as the 'continue' trigger is ..._de_jure_vassal_and_below = { continue = { conditions } } random_in_de_facto_hierarchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | landed title |
random_in_de_jure_hierarchy | Iterate through the title itself, all de jure vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal | This is unrelated to the limit; if the limit is met it is added to the list, but its vassals will get checked even if the limit isn't met as long as the 'continue' trigger is ..._de_jure_vassal_and_below = { continue = { conditions } } random_in_de_jure_hierarchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | landed title |
random_neighboring_county | Iterate through all neighboring counties. Can only be used in county scope | random_neighboring_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | landed title |
random_this_title_or_de_jure_above | Iterate through this title and all its dejure liege titles | random_this_title_or_de_jure_above = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | landed title |
random_title_heir | Line of succession for the scoped title | random_title_heir = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | character |
random_title_joined_faction | Iterate through all factions joined the scope landed title | random_title_joined_faction = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | faction |
random_title_to_title_neighboring_and_across_water_county | Scopes from a title to a neighboring county (incl. across water, looking trough the de Jure lieges) | random_title_to_title_neighboring_and_across_water_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | landed title |
random_title_to_title_neighboring_and_across_water_duchy | Scopes from a title to a neighboring duchy (incl. across water, looking trough the de Jure lieges) | random_title_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | landed title |
random_title_to_title_neighboring_and_across_water_empire | Scopes from a title to a neighboring empire (incl. across water, looking trough the de Jure lieges) | random_title_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | landed title |
random_title_to_title_neighboring_and_across_water_kingdom | Scopes from a title to a neighboring kingdom (incl. across water, looking trough the de Jure lieges) | random_title_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | landed title |
random_title_to_title_neighboring_county | Scopes from a title to a neighboring county (looking trough the de Jure lieges) | random_title_to_title_neighboring_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | landed title |
random_title_to_title_neighboring_duchy | Scopes from a title to a neighboring duchy (looking trough the de Jure lieges) | random_title_to_title_neighboring_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | landed title |
random_title_to_title_neighboring_empire | Scopes from a title to a neighboring empire (looking trough the de Jure lieges) | random_title_to_title_neighboring_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | landed title |
random_title_to_title_neighboring_kingdom | Scopes from a title to a neighboring kingdom (looking trough the de Jure lieges) | random_title_to_title_neighboring_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
landed title | landed title |
remove_all_county_modifier_instances | Remove all instances of a modifier from a county | remove_all_county_modifier_instances = name |
landed title | |
remove_county_modifier | Remove a modifier from a county | remove_county_modifier = name |
landed title | |
reset_title_name | Sets the name and adjective of the scoped title back to being based on its key. Won't cause the prefix to change | reset_title_name = yes |
landed title | |
reset_title_prefix | Sets the prefix of the scoped title back to being based on its key. Won't cause its adjective or name to change | reset_title_prefix = yes |
landed title | |
revoke_lease | Revoke the lease of the scoped title | revoke_lease = yes |
landed title | |
set_always_follows_primary_heir | Sets if the title should always go to the primary heir in partition succession | set_always_follows_primary_heir = yes |
landed title | |
set_can_be_named_after_dynasty | Sets if the title can be named after it's holder's dynasty. set_can_be_named_after_dynasty_effect = no | landed title | ||
set_capital_barony | Sets scoped barony to be the county capital | set_capital_barony = yes |
landed title | |
set_capital_county | Sets the capital county of the title to the target county | set_capital_county = <some county title> |
landed title | landed title |
set_color_from_title | Sets the color of the title to the same as the target title (shifted very slightly to not be identical) | set_color_from_title = <some title> |
landed title | landed title |
set_county_culture | sets the culture of a county | usage: set_county_culture = culture:english/root.character_culture |
landed title | culture |
set_county_faith | Changes what faith a county has | landed title | faith | |
set_de_jure_liege_title | Set a new DeJure liege title | set_de_jure_liege_title = new_de_jure_liege |
landed title | landed title |
set_definitive_form | Sets if the title should use a definitive form name (no 'Kingdom of') | set_definitive_form = yes |
landed title | |
set_delete_on_destroy | Sets if the title should be deleted from the gamestate completely when it is destroyed. set_delete_on_destroy = yes | landed title | ||
set_destroy_if_invalid_heir | Sets if the title should be destroyed on succession if there's no heir matching its restrictions. set_destroy_if_invalid_heir = yes | landed title | ||
set_destroy_on_gain_same_tier | Sets if the title should be deleted from the gamestate completely when character gains or create a new title with the same tier.set_destroy_on_gain_same_tier = yes | landed title | ||
set_destroy_on_succession | Sets if the title should be destroyed on succession. set_destroy_on_succession = yes | landed title | ||
set_landless_title | Sets if the title is landless (can be held by rulers with no land) | set_landless_title = yes |
landed title | |
set_no_automatic_claims | Sets if the title should disallow automatic claims (meaning claims will only be added by script, and by pressed claims being inherited). | set_no_automatic_claims = yes |
landed title | |
set_title_name | sets the name (localization key) of the scoped title. The adjective will be constructed by adding '_adj' to the localisation key. Won't cause the prefix to change | set_title_name = TEST_NAME_PLEASE_IGNORE |
landed title | |
set_title_prefix | sets the prefix of the scoped title. Won't cause its name or adjective to change | set_title_prefix = PREFIX_THE |
landed title | |
title_create_faction | the scoped landed title creates a faction of the specified type against the specified target, title_create_faction = { type = X target = Y } | landed title | ||
title_join_faction | the landed title in the scope joins the assigned faction | landed title | faction | |
title_leave_faction | the title in the scope leaves the assigned faction | landed title | faction | |
update_dynamic_coa | update_dynamic_coa = yes | Updates the dynamic coat of arms definition of a given title picking a new one and overwriting the existing set coat of arms with it if picked |
landed title | |
add_culture_tradition | Adds the cultural tradition specified in the RHS to the scope culture.add_culture_tradition = tradition_court_eunuchs | culture | ||
add_innovation | Add innovation to a culture. add_innovation = innovation_key | culture | ||
add_name_list | Adds the name list to the culture | <culture> = { add_name_list = name } |
culture | |
add_random_innovation | Add random available innovation<culture> = { add_random_innovation = culture_group_military/culture_group_civic/culture_group_regional/yes } | culture | ||
add_random_valid_tradition | Adds one random valid tradition to a culture. Target character provides context for can_pick and is_shown. If this would put the culture over the tradition limit, an error is loggedadd_random_valid_tradition = scope:character | culture | character | |
add_random_valid_tradition_replace_if_necessary | Adds one random valid tradition to a culture. Target character provides context for can_pick and is_shown. If this would put the culture over the tradition limit, a random existing tradition is removedadd_random_valid_tradition_replace_if_necessary = scope:character | culture | character | |
change_cultural_acceptance | Changes cultural acceptance with the target culture | change_cultural_acceptance = { target = <culture> value = script value desc = dynamic desc. Description that'll show when hovering over the acceptance tooltip in the culture window } |
culture | |
clear_culture_traditions | Removes all cultural traditions from the scope culture.clear_culture_traditions = yes | culture | ||
copy_all_traditions_from | Replaces all traditions of scoped culture with traditions from the given culturecopy_all_traditions_from = scope:target_culture | culture | culture | |
every_culture_county | Iterate through all counties of the culture | every_culture_county = { limit = { <triggers> } <effects> } |
culture | landed title |
every_culture_duchy | Iterate through all duchies of the culture (duchies with at least one county of the culture | every_culture_duchy = { limit = { <triggers> } <effects> } |
culture | landed title |
every_culture_empire | Iterate through all empires of the culture (empires with at least one county of the culture | every_culture_empire = { limit = { <triggers> } <effects> } |
culture | landed title |
every_culture_kingdom | Iterate through all kingdoms of the culture (kingdoms with at least one county of the culture | every_culture_kingdom = { limit = { <triggers> } <effects> } |
culture | landed title |
every_parent_culture | Iterate through all parent cultures | every_parent_culture = { limit = { <triggers> } <effects> } |
culture | culture |
every_parent_culture_or_above | Iterate through all parent cultures or above | every_parent_culture_or_above = { limit = { <triggers> } <effects> } |
culture | culture |
get_all_innovations_from | Discover all innovations from the target culture | get_all_innovations_from = <culture> |
culture | culture |
get_random_innovation_from | Get random available innovation from another culture | culture | ||
join_era | Joins all culture eras up to and including the given one | join_era = culture_era_type |
culture | |
leave_era | Leaves all culture eras down to and including the given one | leave_era = culture_era_type |
culture | |
ordered_culture_county | Iterate through all counties of the culture | ordered_culture_county = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
culture | landed title |
ordered_culture_duchy | Iterate through all duchies of the culture (duchies with at least one county of the culture | ordered_culture_duchy = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
culture | landed title |
ordered_culture_empire | Iterate through all empires of the culture (empires with at least one county of the culture | ordered_culture_empire = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
culture | landed title |
ordered_culture_kingdom | Iterate through all kingdoms of the culture (kingdoms with at least one county of the culture | ordered_culture_kingdom = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
culture | landed title |
ordered_parent_culture | Iterate through all parent cultures | ordered_parent_culture = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
culture | culture |
ordered_parent_culture_or_above | Iterate through all parent cultures or above | ordered_parent_culture_or_above = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
culture | culture |
random_culture_county | Iterate through all counties of the culture | random_culture_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
culture | landed title |
random_culture_duchy | Iterate through all duchies of the culture (duchies with at least one county of the culture | random_culture_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
culture | landed title |
random_culture_empire | Iterate through all empires of the culture (empires with at least one county of the culture | random_culture_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
culture | landed title |
random_culture_kingdom | Iterate through all kingdoms of the culture (kingdoms with at least one county of the culture | random_culture_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
culture | landed title |
random_parent_culture | Iterate through all parent cultures | random_parent_culture = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
culture | culture |
random_parent_culture_or_above | Iterate through all parent cultures or above | random_parent_culture_or_above = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
culture | culture |
remove_culture_tradition | Removes the cultural tradition specified in the RHS from the scope culture.remove_culture_tradition = tradition_court_eunuchs | culture | ||
remove_innovation | Remove innovation from a culture. remove_innovation = innovation_key | culture | ||
remove_random_culture_tradition | Removes a random cultural tradition from the scope culture.remove_random_culture_tradition = yes | culture | ||
reset_culture_creation_date | Sets the culture creation date to be todays datereset_culture_creation_date = yes | culture | ||
set_cultural_acceptance | Sets cultural acceptance with the target culture | set_cultural_accpetance = { target = <culture> value = script value } |
culture | |
set_culture_name | Permanently sets the name of the scope culture to the parsed text from the provided localization string. | Like 'set_title_name', the new name is static and unchanging (i.e., if the localization key provided is 'Neo-[old_culture.GetName]' and the old culture is French, the new name is just be saved as a simple string, 'Neo-French', so that if/when the old_culture scope is cleaned up the localization does not break.set_culture_name = { noun = dynamic description collective_noun = dynamic description prefix = dynamic description } |
culture | |
set_culture_pillar | Adds the current pillar specified in the RHS to the scope culture, replacing the pillar in the matching slot.set_culture_pillar = ethos_warmonger | culture | ||
set_ethos_from | Set the ethos from the RHS on the scope culture.set_ethos_from = culture:norwegian | culture | culture | |
set_heritage_from | Set the heritage from the RHS on the scope culture.set_heritage_from = culture:norwegian | culture | culture | |
set_language_from | Set the language from the RHS on the scope culture.set_language_from = culture:norwegian | culture | culture | |
set_martial_custom_from | Set the martial custom from the RHS on the scope culture.set_martial_custom_from = culture:norwegian | culture | culture | |
set_name_list | Remove all existing name lists then adds the specified name list to the culture | <culture> = { set_name_list = name } |
culture | |
end_story | Ends a story and executes it's on_end effect, the story can no longer be accessed after this | story cycle | ||
make_story_owner | = character_target makes the character the new owner of the story | story cycle | character | |
change_war_chest_gold | Changes the amount of gold in the war chest by the given amount. change_war_chest_gold = script value | great holy war | ||
change_war_chest_piety | Changes the amount of piety in the war chest by the given amount. change_war_chest_piety = script value | great holy war | ||
change_war_chest_prestige | Changes the amount of prestige in the war chest by the given amount. change_war_chest_prestige = script value | great holy war | ||
divide_war_chest | The scoped GHW gives out its war-chest in full or in part. | divide_war_chest = { defenders = yes (default to attackers instead) faction = script value (default 1 for 100%) gold = no (default = yes) piety = no (default = yes) prestige = no (default = yes) } |
great holy war | |
do_ghw_title_handout | Hands out titles in the target kingdom to the GHW attacker beneficiaries. Will vassalize people based on dejure liege within the taken kingdom. Will refill county garrisons and levies. do_ghw_title_handout = scope:title_and_vassal_change | great holy war | title and vassal change | |
every_pledged_attacker | Iterate through all pledged attackers within a great holy war | every_pledged_attacker = { limit = { <triggers> } <effects> } |
great holy war | character |
every_pledged_defender | Iterate through all pledged defenders within a great holy war | every_pledged_defender = { limit = { <triggers> } <effects> } |
great holy war | character |
ordered_pledged_attacker | Iterate through all pledged attackers within a great holy war | ordered_pledged_attacker = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
great holy war | character |
ordered_pledged_defender | Iterate through all pledged defenders within a great holy war | ordered_pledged_defender = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
great holy war | character |
pledge_attacker | The target character pledges themselves as an attacker in the GHW. Must be of the same faith as the GHW declarer. pledge_attacker = some character | great holy war | character | |
pledge_defender | The target character pledges themselves as a defender in the GHW. Must be of the same faith as the GHW target. pledge_defender = some character | great holy war | character | |
random_pledged_attacker | Iterate through all pledged attackers within a great holy war | random_pledged_attacker = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
great holy war | character |
random_pledged_defender | Iterate through all pledged defenders within a great holy war | random_pledged_defender = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
great holy war | character |
reset_designated_winner | The GHW stops having a designated winner. reset_designated_winner = yes | great holy war | ||
set_designated_winner | The target character becomes the designated winner of the GHW. set_designated_winner = some character | great holy war | character | |
set_great_holy_war_target | Sets the target of the great holy war. | set_great_holy_war_target = { target_character = someone target_title = some title } |
great holy war | |
set_war_declarer | The target character becomes the character that should declare war instead of the religious head. set_war_declarer = some character | great holy war | character | |
start_ghw_war | Starts the GHW war. start_ghw_war = undirected_great_holy_war | great holy war | ||
unpledge_attacker | The target character removes their pledge as an attacker in the GHW. unpledge_attacker = some character | great holy war | character | |
unpledge_defender | The target character removes their pledge as a defender in the GHW. unpledge_defender = some character | great holy war | character | |
activate_holy_site | Activate an inactive holy site<faith_scope> = { activate_holy_site = <holy_site_name> } | faith | ||
add_doctrine | Add doctrine to faith<faith_scope> = { add_doctrine = <doctrine_name> } | faith | ||
change_fervor | Changes the fervor of the faith by the given value. change_fervor = script value | faith | ||
deactivate_holy_site | Deactivate an active holy site<faith_scope> = { deactivate_holy_site = <holy_site_name> } | faith | ||
every_defensive_great_holy_wars | Iterate through all great holy wars this faith is defending against | every_defensive_great_holy_wars = { limit = { <triggers> } <effects> } |
faith | great holy war |
every_faith_character | Iterate through characters of the scoped faith | every_faith_character = { limit = { <triggers> } <effects> } |
faith | character |
every_faith_holy_order | Iterate through all holy orders of the faith | every_faith_holy_order = { limit = { <triggers> } <effects> } |
faith | holy order |
every_faith_playable_ruler | Iterate through playable rulers of the scoped faith | every_faith_playable_ruler = { limit = { <triggers> } <effects> } |
faith | character |
every_faith_ruler | Iterate through rulers of the scoped faith | every_faith_ruler = { limit = { <triggers> } <effects> } |
faith | character |
every_holy_site | Iterate through all holy site baronies of a faith | every_holy_site = { limit = { <triggers> } <effects> } |
faith | landed title |
ordered_defensive_great_holy_wars | Iterate through all great holy wars this faith is defending against | ordered_defensive_great_holy_wars = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
faith | great holy war |
ordered_faith_character | Iterate through characters of the scoped faith | ordered_faith_character = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
faith | character |
ordered_faith_holy_order | Iterate through all holy orders of the faith | ordered_faith_holy_order = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
faith | holy order |
ordered_faith_playable_ruler | Iterate through playable rulers of the scoped faith | ordered_faith_playable_ruler = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
faith | character |
ordered_faith_ruler | Iterate through rulers of the scoped faith | ordered_faith_ruler = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
faith | character |
ordered_holy_site | Iterate through all holy site baronies of a faith | ordered_holy_site = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
faith | landed title |
random_defensive_great_holy_wars | Iterate through all great holy wars this faith is defending against | random_defensive_great_holy_wars = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
faith | great holy war |
random_faith_character | Iterate through characters of the scoped faith | random_faith_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
faith | character |
random_faith_holy_order | Iterate through all holy orders of the faith | random_faith_holy_order = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
faith | holy order |
random_faith_playable_ruler | Iterate through playable rulers of the scoped faith | random_faith_playable_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
faith | character |
random_faith_ruler | Iterate through rulers of the scoped faith | random_faith_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
faith | character |
random_holy_site | Iterate through all holy site baronies of a faith | random_holy_site = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
faith | landed title |
remove_doctrine | Remove doctrine from faith<faith_scope> = { remove_doctrine = <doctrine_name> } | faith | ||
remove_religious_head_title | Removes the religious head title of the faith | remove_religious_head_title = yes |
faith | |
set_religious_head_title | Sets the religious head title of the faith to the given title. set_religious_head_title = scope | faith | landed title | |
start_great_holy_war | Starts a great holy war. | start_great_holy_war = {target_character = someonetarget_title = some titledelay = script value # Number of days until the war should startwar = some war # Optional. Will make this a directed GHW instead of undirected, and tie it to this specific war} |
faith | |
add_building | Add building to the province<province> = { add_building = <building_name> } | province | ||
add_building_slot | Add building slot to the province | province | ||
add_province_modifier | Add a modifier to a province | add_province_modifier = name add_province_modifier = { modifier = name days/weeks/months/years = int } You can also add an optional 'desc' field. This is a dynamic description that'll be used for your timed modifier |
province | |
add_special_building | Add a special building to the province (will also add/change a special slot if needed) | province | ||
add_special_building_slot | Add a special building slot to the province<province> = { add_special_building_slot = <building_name> } | province | ||
begin_create_holding | Start construction of the specified holding type. By default player won't get anything if manually cancels the construction | scope:my_province = { begin_create_holding = castle_holding } Optionally refund cost can be set to some value. scope:my_province = { begin_create_holding = { type = castle_holding refund_cost = { gold = 100 } } } |
province | |
generate_building | Adds a random building to the province, using the AI's construction logic<province> = { generate_building = yes } | province | ||
refill_garrison | The scoped province gets its garrison refilled. refill_levy = yes/no | province | ||
refill_levy | The scoped province gets its levy refilled. refill_levy = yes/no | province | ||
remove_all_province_modifier_instances | Remove all instances of a modifier from a province | remove_all_province_modifier_instances = name |
province | |
remove_building | Remove building from the province<province> = { remove_building = <building_name> } | province | ||
remove_holding | Removes the holding in scoped province, cannot remove capital holdings | province | ||
remove_province_modifier | Remove a modifier from a province | remove_province_modifier = name |
province | |
set_holding_type | Changes the scoped province's holding to another type, removing all buildings that are invalid for the new holding. | This might also allow to construct a new holding in an empty province, but it is untested. |
province | |
spawn_activity | spawns an activity, spawn_activity = { owner = X type = Y days/months/years = Z }, Z is expiration time can be a value or an inclusive "{A B}" interval from which the value will be picked | province | ||
every_killed_character | Iterate through all kills of a character | every_killed_character = { limit = { <triggers> } <effects> } |
character, artifact | character |
ordered_killed_character | Iterate through all kills of a character | ordered_killed_character = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character, artifact | character |
random_killed_character | Iterate through all kills of a character | random_killed_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character, artifact | character |
activate_struggle_catalyst | Activate a catalyst | activate_struggle_catalyst = { catalyst = X character = Y} where X is a catalystY is scope:character # optionalsimplified: activate_struggle_catalyst = <catalyst> |
struggle | |
change_struggle_phase | Change the phase from the current one to a listed scripted phase | change_phase = X where X is a struggle phase type |
struggle | |
end_struggle | End a struggle | end_struggle = yes |
struggle | |
every_interloper_ruler | Iterate through all characters that are interloper in a struggle. | every_interloper_ruler = { limit = { <triggers> } <effects> } |
struggle | character |
every_involved_ruler | Iterate through all characters that are involved in a struggle. | every_involved_ruler = { limit = { <triggers> } <effects> } |
struggle | character |
ordered_interloper_ruler | Iterate through all characters that are interloper in a struggle. | ordered_interloper_ruler = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
struggle | character |
ordered_involved_ruler | Iterate through all characters that are involved in a struggle. | ordered_involved_ruler = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
struggle | character |
random_interloper_ruler | Iterate through all characters that are interloper in a struggle. | random_interloper_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
struggle | character |
random_involved_ruler | Iterate through all characters that are involved in a struggle. | random_involved_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
struggle | character |
set_culture_as_involved | Set a culture as involved in the scoped Struggle. | struggle | culture | |
set_culture_as_uninvolved | Set a culture as uninvolved in the scoped Struggle. | struggle | culture | |
set_faith_as_involved | Set a faith as involved in the scoped Struggle. | struggle | faith | |
set_faith_as_uninvolved | Set a faith as uninvolved in the scoped Struggle. | struggle | faith | |
add_scheme_modifier | adds the specified scheme modifier, add_scheme_modifier = { type = X days = Y } (days are optional, the modifier will expire in Y days if specified) | scheme | ||
add_scheme_progress | Add progress to the scope scheme. (progress is in 0.0 - 100.0 range) | scheme | ||
end_scheme | Ends a specific scheme and removes it without any other effect | scheme | ||
every_scheme_agent | Iterate through all agents in the scheme | every_scheme_agent = { limit = { <triggers> } <effects> } |
scheme | character |
expose_scheme | Exposes the scheme to the defender | scheme | ||
expose_scheme_agent | Exposes the target character as an agent of the current scheme | scheme | character | |
ordered_scheme_agent | Iterate through all agents in the scheme | ordered_scheme_agent = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
scheme | character |
random_scheme_agent | Iterate through all agents in the scheme | random_scheme_agent = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
scheme | character |
remove_scheme_modifier | removes the specified scheme modifier | scheme | ||
scheme_freeze_days | scheme_freeze_days = X freezes the scheme for X days (0 unfreezes the scheme) | scheme | ||
change_inspiration_progress | change_progress = int | Changes the progress of the scoped inspiration |
inspiration | |
invest_gold | invest_gold = value | Invests gold into the scoped inspiration from its sponsor, it handles the removal of the gold from the sponsor, must be a positive value |
inspiration | |
add_secret_participant | Adds an participant to the secret | secret | character | |
disable_exposure_by | Forbids the target character from exposing the secret, disable_exposure_by = target_character | secret | character | |
every_secret_knower | Iterate through all characters who know the secret | every_secret_knower = { limit = { <triggers> } <effects> } |
secret | character |
every_secret_participant | Iterate through participants in a secret | every_secret_participant = { limit = { <triggers> } <effects> } |
secret | character |
expose_secret | Exposes the scope secret | secret | character | |
ordered_secret_knower | Iterate through all characters who know the secret | ordered_secret_knower = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
secret | character |
ordered_secret_participant | Iterate through participants in a secret | ordered_secret_participant = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
secret | character |
random_secret_knower | Iterate through all characters who know the secret | random_secret_knower = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
secret | character |
random_secret_participant | Iterate through participants in a secret | random_secret_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
secret | character |
remove_secret | Removes the scope secret | secret | ||
reveal_to | Reveals the scope secret to the target character | secret | character | |
set_secret_owner | Sets a new owner for the secret | secret | character | |
spend_by | Spends the scope secret, spend_by = target_character | secret | character | |
add_dynasty_modifier | Add a modifier to a dynasty | add_dynasty_modifier = name add_dynasty_modifier = { modifier = name days/weeks/months/years = int } You can also add an optional 'desc' field. This is a dynamic description that'll be used for your timed modifier |
dynasty | |
add_dynasty_perk | Adds dynasty perk. add_dynasty_perk = key | dynasty | ||
add_dynasty_prestige | adds dynasty prestige | dynasty | ||
add_dynasty_prestige_level | adds dynasty prestige levels | dynasty | ||
every_dynasty_member | Iterate through all dynasty members | every_dynasty_member = { limit = { <triggers> } <effects> } |
dynasty | character |
ordered_dynasty_member | Iterate through all dynasty members | ordered_dynasty_member = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
dynasty | character |
random_dynasty_member | Iterate through all dynasty members | random_dynasty_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
dynasty | character |
remove_all_dynasty_modifier_instances | Remove all instances of a modifier from a dynasty | remove_all_dynasty_modifier_instances = name |
dynasty | |
remove_dynasty_modifier | Remove a modifier from a dynasty | remove_dynasty_modifier = name |
dynasty | |
remove_dynasty_perk | Removes dynasty perk. remove_dynasty_perk = key | dynasty | ||
set_dynasty_name | Sets dynasty name | set_dynasty_name=loc_key |
dynasty | |
every_leased_title | Iterate through all titles leased to a holy order | every_leased_title = { limit = { <triggers> } <effects> } |
holy order | landed title |
ordered_leased_title | Iterate through all titles leased to a holy order | ordered_leased_title = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
holy order | landed title |
random_leased_title | Iterate through all titles leased to a holy order | random_leased_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
holy order | landed title |
add_diplomacy_skill | Adds diplomacy skill | none | ||
add_focus_progress | Adds focus progress | none | ||
add_internal_flag | adds effect to be read internally (no effect in the gamestate) | none | ||
add_intrigue_skill | Adds intrigue skill | none | ||
add_learning_skill | Adds learning skill | none | ||
add_martial_skill | Adds martial skill | none | ||
add_prowess_skill | Adds prowess skill | none | ||
add_stewardship_skill | Adds stewardship skill | none | ||
add_title_law | add law to scoped title, overriding any current law from the same group. DOES NOT apply law change costs and effects. | add_title_law = princely_elective_succession_law |
none | |
add_title_law_effects | add law to scoped title, overriding any current law from the same group. DOES apply law change costs and effects. | add_title_law = princely_elective_succession_law |
none | |
add_to_global_variable_list | Adds the event target to a variable list | add_to_variable_list = { name = X target = Y } Where X is the name of the variable Where Y is an event target |
none | |
add_to_list | Adds the current scope to an arbitrarily-named list (or creates the list if not already present) to be referenced later in the (unbroken) event chain | add_to_list = <string> NOTE, if adding a permanent target to a temporary list, the whole list becomes permanent |
none | |
add_to_local_variable_list | Adds the event target to a variable list | add_to_variable_list = { name = X target = Y } Where X is the name of the variable Where Y is an event target |
none | |
add_to_temporary_list | Adds the current scope to an arbitrarily-named list (or creates the list if not already present) to be referenced later in the same effect | add_to_temporary_list = <string> NOTE, if adding a temporary target to a permanent list, the list will stay permanent |
none | |
add_to_variable_list | Adds the event target to a variable list | add_to_variable_list = { name = X target = Y } Where X is the name of the variable Where Y is an event target |
none | |
assert_if | Conditionally cause an assert during run time | assert_if = { limit = { X } text = Y }, where X is a trigger and Y is an optional string |
none | |
assert_read | Conditionally cause an assert during read time | assert_read = X, where X is yes or the string to be printed in the assert |
none | |
break_betrothal | Breaks the betrothal between the scope character to the target character, break_betrothal = target | none | character | |
change_global_variable | Changes the value or a numeric variable | change_variable = { name = X operation = Y } Where X is the name of the numeric variable to modify Where the valid operations are add, subtract, multiply, divide and modulo Where Y is a fixed point value, script value or event target of a value type |
none | |
change_local_variable | Changes the value or a numeric variable | change_variable = { name = X operation = Y } Where X is the name of the numeric variable to modify Where the valid operations are add, subtract, multiply, divide and modulo Where Y is a fixed point value, script value or event target of a value type |
none | |
change_title_holder | = { | holder = 'Character that should get the title' change = 'previously created title_and_vassal_change', adds a title change, will not transfer vassalstake_baronies = yes # Optional; if set, will cause baronies to be taken (rather than vassalized) as well if this title is a countygovernment_base = character # Optional, if the character getting the title was unlanded, their new government will be based on the government of government_base. If no government_base is specified, the government will be based on holder's government. |
none | |
change_title_holder_include_vassals | = { | holder = 'Character that should get the title' change = 'previously created title_and_vassal_change', adds a title change, will transfer vassalstake_baronies = yes # Optional; if set, will cause baronies to be taken (rather than vassalized) as well if this title is a countygovernment_base = character # Optional, if the character getting the title was unlanded, their new government will be based on the government of government_base. If no government_base is specified, the government will be based on holder's government. |
none | |
change_variable | Changes the value or a numeric variable | change_variable = { name = X operation = Y } Where X is the name of the numeric variable to modify Where the valid operations are add, subtract, multiply, divide and modulo Where Y is a fixed point value, script value or event target of a value type |
none | |
clamp_global_variable | Clamps a variable the specified max and min | clamp_variable = { name = X max = Y min = Z } Where X is the name of the variable Where Y and Z are script values |
none | |
clamp_local_variable | Clamps a variable the specified max and min | clamp_variable = { name = X max = Y min = Z } Where X is the name of the variable Where Y and Z are script values |
none | |
clamp_variable | Clamps a variable the specified max and min | clamp_variable = { name = X max = Y min = Z } Where X is the name of the variable Where Y and Z are script values |
none | |
clear_global_variable_list | Empties the list | clear_variable_list = variable_name |
none | |
clear_local_variable_list | Empties the list | clear_variable_list = variable_name |
none | |
clear_saved_scope | Clears a saved scope from the top scope | save_scope_as = cool_scope -> clear_saved_scope = cool_scope |
none | |
clear_traits | Removes all traits for the character. clear_traits = yes | none | ||
clear_variable_list | Empties the list | clear_variable_list = variable_name |
none | |
close_all_views | Closes all views. close_all_views = yes | none | ||
close_view | Tries to close the defined view. | Take care to set player if effect is executed not through UI but through synchronized code. Else all the window will open for all players. close_view = { view = <view name> player = scope:character # optional, else closes for all players who execute the effect }simplified: close_view = <view name> |
none | |
copy_traits | Adds all traits of the target to the character. Skips any traits that the character isn't allowed to have. Will not remove the character's existing traits. copy_traits = scope:character | none | character | |
create_betrothal | Betroth the scope character to the target character, create_betrothal = target (at least one of the characters need to not be adult) | none | character | |
create_betrothal_matrilineal | Betroth the scope character to the target character matrilineally, create_betrothal_matrilineal = target (at least one of the characters need to not be adult) | none | character | |
create_character | Creates a character | save_event_target_as = flag - save the character as an event target save_temporary_event_target_as = flag - save the character as a temporary event target name = age = gender = male/female/character scope gender_female_chance = script_value - Range (0..100) opposite_gender = character scope trait = add this trait random_traits_list = { count = { 1 5 } traitID = { some triggers } traitID = { some triggers } } - A number of traits specified by count (1 if not specified) will be picked from the traits that have their triggers met. Scopes are the same as where create_character is used. More than one grouping like this can be defined random_traits = yes/no health = fertility = mother = father = real_father = (should only be set if the real father is not the same as father=) employer = will end up in this court, will become a pool character unless specified or father/mother is landed location = pool province; mutually exclusive with employer template_character = faith, culture and dynasty are set from 1. template_character 2. father 3. mother 4. employer (not employer for dynasty) unless specified directly faith = faith tag OR a faith scope random_faith = { catholic = { some triggers } cathar = { some triggers }. Random one where the triggers are met will be picked. Scopes are the same as where create_character is used random_faith_in_religion = religion tag OR a faith scope (there's no religion scope) culture = culture name OR a culture scope random_culture = { norse = { some triggers } norwegian = { some triggers }. Random one where the triggers are met will be picked. Scopes are the same as where create_character is used random_culture_in_group = culture group name OR a culture scope (there's no group scope) dynasty_house = dynasty house name OR a dynasty house scope dynasty = generate/inherit/none - What to do if dynasty_house is not specified. generate by default. martial/diplomacy/intrigue... = will get random unless specified after_creation = { some effects } run after character is created. Scope starts off in the character, with the scope it was created in as PREV, and the same top scope and saved targets etc. |
none | |
create_dynamic_title | Creates a dynamic title | The title will be saved to scope:new_titleusage: create_dynamic_title = { tier = <tier> name = key/dynamic description adjective = key/dynamic description (optional; name used if not specified)} |
none | |
create_holy_order | Create a new holy order | create_holy_order = { leader = scope:a_character capital = scope:a_barony_title save_scope_as/save_temporary_scope_as = new_holy_order # optional way to get a reference to the new holy order } |
none | |
create_title_and_vassal_change | starts a title and vassal change and saves it as a temporary event target | create_title_and_vassal_change = { type = conquest (or other type) save_scope_as = change (name of resulting saved scope) add_claim_on_loss = yes (optional) } |
none | |
custom_description_no_bullet | Wraps effects that get a custom description instead of the auto-generated one. Also ensures no bullet point appears | custom_description_no_bullet = { text = <effect_localization_key> subject = <optional subject scope> #defaults to current scope object = <optional object scope> value = <optional script value> ... effects ... } |
none | |
custom_label | just a tooltip, the scope as object (for grouping, localization). Can also be written as custom_label = { text = key subject = scope (optional) <hidden effects> } | none | ||
debug_log | Log a string to the debug log when this effect executes, debug_log = message, the message can be a localization string with ROOT, SCOPE and PREV available | none | ||
debug_log_date | Logs the current date to the debug.log | none | ||
debug_log_scopes | Log the current scope to the debug log when this effect executes yes = full scope info, no=only current scope | none | ||
debug_trigger_event | Like trigger_event, except it'll print the trigger fulfillment and immediate effects of the event too | none | ||
destroy_artifact | Destroy given artifact | destroy_artifact = artifact |
none | artifact |
destroy_inspiration | destroy_inspiration = inspiration | Destroys the targeted inspiration, do not use the destroyed scope after calling this since it will have been removed |
none | inspiration |
divorce | Divorces the scope character from the target character. divorce = target | none | character | |
duel | duel effect that selects an effect based on comparing specified skill of a character to a value or another character's skill. Alternatively, the compare value can be scripted completely | duel = { skill = X target = Y value = Z localization = W ... random list body } Where X is the skill to compare, Y is the target character (requires skill to be set) or integer value Z (works with or without the skill), the rest of the effect is the same as random_list If the skill is unspecified, the effect needs a value Z (which can use scripted math) which it will then use as the duel vlue directly If localization = W is specified, the effect localization W will be used (entry in effect_localization database, not a localization key directly) The skill difference (or scripted duel value) is available as scope:duel_value inside the outcome entries, the duel target is accessible as scope:duel_target Valid skill, target, combinations: skill + target, skill + value, only value Since there is now no automatic weighting, we should be using weight numbers in a comparable range to the scope:duel_value value. Since that will always be between -20 and 20 (unless you do something very unusual), and typically in a more narrow range than that, we should stick to those ranges. Only use larger weights if you want the duel_value to have a smaller impact on the weighting, and only use smaller weights if you want the duel_value to have a huge impact on the weighting. In addition, it is fully possible for the compare_modifier to reduce the weight to 0, which would mean that it will not be possible to happen at all. I've requested code support to make it so that we can define min and max values for weights, but until further notice we should use ranges that are guaranteed to not hit 0, or include min values in the compare_modifier itself. Lastly, remember that if you want the outcome of a duel to scale linearly from (almost) 0% to (almost) 100%, the duel_value should be applied 50% to the good outcome, and -50% to the bad outcome. If you only apply it on one side, you will retain a (presumably significant) chunk of chance for the other outcome. |
none | |
else | Executes enclosed effects if limit criteria of preceding 'if' or 'else_if' is not met | if = { limit = { <triggers> } <effects> } else = { <effects> } |
none | |
else_if | Executes enclosed effects if limit criteria of preceding 'if' or 'else_if' is not met, and its own limit is met | if = { limit = { <triggers> } <effects> } else_if = { limit = { <triggers> } <effects> } |
none | |
end_inspiration_sponsorship | end_inspiration_sponsorship = inspiration | Stops the sponsorship of the targeted inspiration |
none | inspiration |
every_artifact | Iterate through all existing artifacts | every_artifact = { limit = { <triggers> } <effects> } |
none | artifact |
every_barony | Iterate through all baronies in the game | every_barony = { limit = { <triggers> } <effects> } |
none | landed title |
every_character_with_royal_court | Iterate through all characters with a royal court | every_character_with_royal_court = { limit = { <triggers> } <effects> } |
none | character |
every_county | Iterate through all counties in the game | every_county = { limit = { <triggers> } <effects> } |
none | landed title |
every_county_in_region | Iterate through all counties in the region. Put 'region = region_name' inside it | every_county_in_region = { limit = { <triggers> } <effects> } |
none | landed title |
every_culture_global | Iterate through all cultures in the game | every_culture_global = { limit = { <triggers> } <effects> } |
none | culture |
every_duchy | Iterate through all duchies in the game | every_duchy = { limit = { <triggers> } <effects> } |
none | landed title |
every_empire | Iterate through all empires in the game | every_empire = { limit = { <triggers> } <effects> } |
none | landed title |
every_in_global_list | Iterate through all items in global list. list = name or variable = name | every_in_global_list = { limit = { <triggers> } <effects> } |
none | |
every_in_list | Iterate through all items in list. list = name or variable = name | every_in_list = { limit = { <triggers> } <effects> } |
none | |
every_in_local_list | Iterate through all items in local list. list = name or variable = name | every_in_local_list = { limit = { <triggers> } <effects> } |
none | |
every_independent_ruler | Independent rulers list with a COUNT tier or above who hold land | every_independent_ruler = { limit = { <triggers> } <effects> } |
none | character |
every_inspiration | Iterate through all inspirations in the world | every_inspiration = { limit = { <triggers> } <effects> } |
none | inspiration |
every_inspired_character | Iterate through all characters with an inspirations in the world | every_inspired_character = { limit = { <triggers> } <effects> } |
none | character |
every_kingdom | Iterate through all kingdoms in the game | every_kingdom = { limit = { <triggers> } <effects> } |
none | landed title |
every_living_character | Iterate through all living characters | every_living_character = { limit = { <triggers> } <effects> } |
none | character |
every_player | Iterate through all player characters | every_player = { limit = { <triggers> } <effects> } |
none | character |
every_pool_character | Iterate through all characters in the pool of the given province | every_pool_character = { limit = { <triggers> } <effects> } |
none | character |
every_province | Iterate through all provinces (skips non-land and impassable provinces) | every_province = { limit = { <triggers> } <effects> } |
none | province |
every_religion_global | Iterate through all religions in the game | every_religion_global = { limit = { <triggers> } <effects> } |
none | religion |
every_ruler | Rulers list with a COUNT tier o above | every_ruler = { limit = { <triggers> } <effects> } |
none | character |
hidden_effect_new_artifact | Specific Artifact effects intended for use with newly created artifacts. These are hidden from tooltip, with no description generated whatsoever! | none | ||
if | Executes enclosed effects if limit criteria are met | if = { limit = { <triggers> } <effects> } |
none | |
multiply_focus_progress | Multiplies focus progress | none | ||
open_interaction_window | Tries to open the defined view. | interaction = interaction_key - the interaction object key to open redirect = [yes|no] - yes by default, redirect the actor and recipients ( only works if secondary_actor and secondary_recipient are not setup or are invalid) actor = character_actor - must be defined, must coincide with the current player recipient = character_actor - must be defined secondary_actor = character_secontary_actor - optional secondary_recipient = character_secondary_recipient - optional |
none | |
open_view | Tries to open the defined view without scope data. | Take care to set player if effect is executed not through UI but through synchronized code. Else all the window will open for all players. open_view = { view = <view name> view_message = <view specific instruction> # optional player = scope:character # optional, else shows for all players who execute the effect }simplified: open_view = <view name> |
none | |
open_view_data | Tries to open the defined view with scope data. | Take care to set player if effect is executed not through UI but through synchronized code. Else all the window will open for all players. open_view_data = { view = <view name> view_message = <view specific instruction> # optional player = scope:character # optional, else shows for all players who execute the effect } simplified: open_view_data = <view name> for example: scope:faith = { open_view_data = faith_conversion } |
none | |
ordered_artifact | Iterate through all existing artifacts | ordered_artifact = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | artifact |
ordered_barony | Iterate through all baronies in the game | ordered_barony = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | landed title |
ordered_character_with_royal_court | Iterate through all characters with a royal court | ordered_character_with_royal_court = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | character |
ordered_county | Iterate through all counties in the game | ordered_county = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | landed title |
ordered_county_in_region | Iterate through all counties in the region. Put 'region = region_name' inside it | ordered_county_in_region = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | landed title |
ordered_culture_global | Iterate through all cultures in the game | ordered_culture_global = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | culture |
ordered_duchy | Iterate through all duchies in the game | ordered_duchy = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | landed title |
ordered_empire | Iterate through all empires in the game | ordered_empire = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | landed title |
ordered_in_global_list | Iterate through all items in global list. list = name or variable = name | ordered_in_global_list = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | |
ordered_in_list | Iterate through all items in list. list = name or variable = name | ordered_in_list = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | |
ordered_in_local_list | Iterate through all items in local list. list = name or variable = name | ordered_in_local_list = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | |
ordered_independent_ruler | Independent rulers list with a COUNT tier or above who hold land | ordered_independent_ruler = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | character |
ordered_inspiration | Iterate through all inspirations in the world | ordered_inspiration = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | inspiration |
ordered_inspired_character | Iterate through all characters with an inspirations in the world | ordered_inspired_character = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | character |
ordered_kingdom | Iterate through all kingdoms in the game | ordered_kingdom = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | landed title |
ordered_living_character | Iterate through all living characters | ordered_living_character = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | character |
ordered_player | Iterate through all player characters | ordered_player = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | character |
ordered_pool_character | Iterate through all characters in the pool of the given province | ordered_pool_character = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | character |
ordered_province | Iterate through all provinces (skips non-land and impassable provinces) | ordered_province = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | province |
ordered_religion_global | Iterate through all religions in the game | ordered_religion_global = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | religion |
ordered_ruler | Rulers list with a COUNT tier o above | ordered_ruler = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
none | character |
pan_camera_to_province | Pans the camera to the specified province | pan_camera_to_province = scope:army.location |
none | province |
pan_camera_to_title | Pans the camera to the specified title | pan_camera_to_title = capital_barony |
none | landed title |
random_artifact | Iterate through all existing artifacts | random_artifact = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | artifact |
random_barony | Iterate through all baronies in the game | random_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | landed title |
random_character_with_royal_court | Iterate through all characters with a royal court | random_character_with_royal_court = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | character |
random_county | Iterate through all counties in the game | random_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | landed title |
random_county_in_region | Iterate through all counties in the region. Put 'region = region_name' inside it | random_county_in_region = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | landed title |
random_culture_global | Iterate through all cultures in the game | random_culture_global = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | culture |
random_duchy | Iterate through all duchies in the game | random_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | landed title |
random_empire | Iterate through all empires in the game | random_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | landed title |
random_in_global_list | Iterate through all items in global list. list = name or variable = name | random_in_global_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | |
random_in_list | Iterate through all items in list. list = name or variable = name | random_in_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | |
random_in_local_list | Iterate through all items in local list. list = name or variable = name | random_in_local_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | |
random_independent_ruler | Independent rulers list with a COUNT tier or above who hold land | random_independent_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | character |
random_inspiration | Iterate through all inspirations in the world | random_inspiration = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | inspiration |
random_inspired_character | Iterate through all characters with an inspirations in the world | random_inspired_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | character |
random_kingdom | Iterate through all kingdoms in the game | random_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | landed title |
random_living_character | Iterate through all living characters | random_living_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | character |
random_log_scopes | Log the current scope to the random log when this effect executes. Only use temprorarily for debugging purposes as it can introduce localized strings into the Scopes._Random log. yes = full scope info, no=only current scope | none | ||
random_player | Iterate through all player characters | random_player = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | character |
random_pool_character | Iterate through all characters in the pool of the given province | random_pool_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | character |
random_province | Iterate through all provinces (skips non-land and impassable provinces) | random_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | province |
random_religion_global | Iterate through all religions in the game | random_religion_global = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | religion |
random_ruler | Rulers list with a COUNT tier o above | random_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
none | character |
remove_from_list | Removes the current scope from a named list remove_from_list = <string> | none | ||
remove_global_variable | Removes a variable | remove_variable = variable_name |
none | |
remove_list_global_variable | Removes the target from a variable list | remove_list_variable = { name = X target = Y } Where X is the name of the variable Where Y is an event target |
none | |
remove_list_local_variable | Removes the target from a variable list | remove_list_variable = { name = X target = Y } Where X is the name of the variable Where Y is an event target |
none | |
remove_list_variable | Removes the target from a variable list | remove_list_variable = { name = X target = Y } Where X is the name of the variable Where Y is an event target |
none | |
remove_local_variable | Removes a variable | remove_variable = variable_name |
none | |
remove_title_law | remove law from scoped title. This will leave the law group empty, so only do this if you're getting rid of a law group. DOES NOT apply law removal costs and effects. | remove_title_law = princely_elective_succession_law |
none | |
remove_title_law_effects | remove law from scoped title. This will leave the law group empty, so only do this if you're getting rid of a law group. DOES apply law removal costs and effects. | remove_title_law = princely_elective_succession_law |
none | |
remove_variable | Removes a variable | remove_variable = variable_name |
none | |
resolve_title_and_vassal_change | resolve_title_and_vassal_change = scope:change | Execute and destory the target title and vassal change, the change cannot be used after calling this effect |
none | title and vassal change |
round_global_variable | Rounds a variable to the nearest specified value | clamp_variable = { name = X nearest = Y } Where X is the name of the variable Where Y is a script value |
none | |
round_local_variable | Rounds a variable to the nearest specified value | clamp_variable = { name = X nearest = Y } Where X is the name of the variable Where Y is a script value |
none | |
round_variable | Rounds a variable to the nearest specified value | clamp_variable = { name = X nearest = Y } Where X is the name of the variable Where Y is a script value |
none | |
run_interaction | Execute/send the given interaction | interaction = interaction_key - the interaction object key to run redirect = [yes|no] - yes by default, redirect the actor and recipients ( only works if secondary_actor and secondary_recipient are not setup or are invalid) actor = character_actor - must be defined recipient = character_actor - must be defined secondary_actor = character_secontary_actor - optional secondary_recipient = character_secondary_recipient - optional execute_threshold = accept/maybe/decline - will be executed immediately if the AI response is at least this send_threshold = accept/maybe/decline - will be sent if the AI response is at least this At least one of execute_threshold and send_threshold must be set |
none | |
save_opinion_value_as | Saves the scoped character's opinion of the target character as an arbitrarily-named target to be referenced later in the (unbroken) event chain | save_opinion_value_as = { name = <string> target = x } |
none | |
save_scope_as | Saves the current scope as an arbitrarily-named target to be referenced later in the (unbroken) event chain | save_event_target_as = <string> |
none | |
save_scope_value_as | Saves a numerical or bool value as an arbitrarily-named target to be referenced later in the (unbroken) event chain | save_scope_value_as = { name = <string> value = x } |
none | |
save_temporary_opinion_value_as | Saves the scoped character's opinion of the target character as an arbitrarily-named target to be referenced later in the in the same effect | save_temporary_opinion_value_as = { name = <string> target = x |
none | |
save_temporary_scope_as | Saves the current scope as an arbitrarily-named temporary target to be referenced later in the same effect | save_temporary_event_target_as = <string> |
none | |
save_temporary_scope_value_as | Saves a numerical or bool value as an arbitrarily-named temporary target to be referenced later in the same effect | save_temporary_scope_value_as = { name = <string> value = x } |
none | |
set_focus_progress | Sets focus progress | none | ||
set_generated_asexuality_chance | Sets the chance for a generated character to be asexual | set_generated_asexuality_chance = 20 |
none | |
set_generated_bisexuality_chance | Sets the chance for a generated character to be bisexual | set_generated_bisexuality_chance = 20 |
none | |
set_generated_homosexuality_chance | Sets the chance for a generated character to be homosexual | set_generated_homosexuality_chance = 20 |
none | |
set_global_variable | Sets a variable | set_variable = { name = X value = Y days = Z } Where X is the name of the variable used to then access it Where Y is any event target, bool, value, script value or flag (flag:W) An optional days where Z is the number of days or script value; this can't refer to another variable’s value directly and should instead point to a script value that then checks that variable’s value. This variable will be accessible with <type_>var:X. With type being in a scope object or in a top scope Can also be used as set_variable = X (equivalent to set_variable = { name = X value = yes }) |
none | |
set_local_variable | Sets a variable | set_variable = { name = X value = Y days = Z } Where X is the name of the variable used to then access it Where Y is any event target, bool, value, script value or flag (flag:W) An optional days where Z is the number of days or script value; a variable cannot be used in this section, and you should instead use a script value that checks the variable’s value. This variable will be accessible with <type_>var:X. With type being in a scope object or in a top scope Can also be used as set_variable = X (equivalent to set_variable = { name = X value = yes }) |
none | |
set_pregnancy_gender | Set the gender of the unborn child | set_pregnancy_gender = female/male/random |
none | |
set_variable | Sets a variable | set_variable = { name = X value = Y days = Z } Where X is the name of the variable used to then access it Where Y is any event target, bool, value, script value or flag (flag:W) An optional days where Z is the number of days or script value; this cannot refer to another variable’s value directly, and should instead refer to a script value that checks that variable’s value. This variable will be accessible with <type_>var:X. With type being in a scope object or in a top scope Can also be used as set_variable = X (equivalent to set_variable = { name = X value = yes }) |
none | |
setup_claim_cb | = { attacker = scope:attacker | defender = scope:defender claimant = scope:claimant change = scope:change victory = yes/no take_occupied = yes/no } , this effect will add a scope:cb_prestige_factor with a value based on what's being taken civil_war = yes # Will vassalize people based on their capital location rather than being fully contained. Won't steal land from people not vassalized |
none | |
setup_de_jure_cb | = { attacker = scope:attacker | defender = scope:defender change = scope:change victory = yes/no title = some title - Optional; will make it target a specific dejure title rather than *everything* that is dejure the attacker's }, this effect will add a scope:cb_prestige_factor with a value based on what's being taken |
none | |
setup_invasion_cb | = { attacker = scope:attacker | defender = scope:defender change = scope:change victory = yes/no take_occupied = yes/no } , this effect will add a scope:cb_prestige_factor with a value based on what's being taken |
none | |
start_struggle | Start a struggle | start_struggle = { struggle_type = X start_phase = Y } where X is a struggle type, Y is a phase |
none | |
start_tutorial_lesson | Starts the tutorial lesson with the given key. Does nothing if the tutorial is not running, the lesson is completed (or already running), or the lesson cannot be triggered (e.g. trigger fails) | none | ||
trigger_event | triggers an event or on_action | trigger_event = { id = X days/months/years = Y delayed = yes/no } (for events) or trigger_event = { on_action = X days/months/years = Y delayed = yes/no } (for on_actions) Days/months/years are optional and equal to 0 if not specified. If specified, Y can be a value or an inclusive interval "{ A B }" from which the duration will be picked Scopes._Randomly. delayed = yes will delay the event/on_action to the next event tick even when there's no explicit time interval set (delay, but fire ASAP). By default, delayed = no |
none | |
try_create_important_action | Tries to create an important action notification. Will keep the current one if already exists. | important_action_type = important_action_type_key - the important action object key to create. Must be defined. actor = character_actor - optional, can be used by the important action effect recipient = character_actor - optional, can be used by the important action effect secondary_actor = character_secontary_actor - optional, can be used by the important action effect secondary_recipient = character_secondary_recipient - optional, can be used by the important action effect landed_title = landed_title - optional, can be used by the important action effect war = war - optional, can be used by the important action effect artifact = artifact - optional, can be used by the important action effect culture = culture - optional, can be used by the important action effect |
none | |
try_create_suggestion | Tries to create an suggestuib notification. Will keep the current one if already exists. | suggestion_type = suggestion_type_key - the suggestion action object key to create. Must be defined. actor = character_actor - optional, can be used by the suggestion effect recipient = character_actor - optional, can be used by the suggestion effect secondary_actor = character_secontary_actor - optional, can be used by the suggestion effect secondary_recipient = character_secondary_recipient - optional, can be used by the suggestion effect landed_title = landed_title - optional, can be used by the suggestion effect |
none | |
add_amenity_level | add_amenity_level = { type = food value = 2 } | Increases the amenity type by the given value for the scoped character |
character | |
add_character_flag | adds a character flag | usage: add_character_flag = X add_character_flag = { flag = X days/weeks/years = Y } where X is the name of the flag and Y is a value or value interval "{ min max }" |
character | |
add_character_modifier | Add a modifier to a character | add_character_modifier = name add_character_modifier = { modifier = name days/weeks/months/years = int } You can also add an optional 'desc' field. This is a dynamic description that'll be used for your timed modifier |
character | |
add_courtier | Add the target character to the scope character's court | character | character | |
add_diplomacy_lifestyle_perk_points | Adds lifestyle per points to the given character | character | ||
add_diplomacy_lifestyle_xp | Adds lifestyle XP to the given character | character | ||
add_dread | adds (or removes) dread to a character | character | ||
add_gold | adds gold to a character | character | ||
add_hook | Adds a hook on a character | add_hook = { type = X, target = Y, secret = Z, days/months/years = W } Note: days/months/years optional (taken from hook type otherwise) and can be a value or an interval, secret required for hook types that require it. Does send a toast to the player if it's involved. |
character | |
add_hook_no_toast | Adds a hook on a character | add_hook = { type = X, target = Y, secret = Z, days/months/years = W } Note: days/months/years optional (taken from hook type otherwise) and can be a value or an interval, secret required for hook types that require it. Does NOT send a toast to the player. |
character | |
add_intrigue_lifestyle_perk_points | Adds lifestyle per points to the given character | character | ||
add_intrigue_lifestyle_xp | Adds lifestyle XP to the given character | character | ||
add_joined_faction_discontent | add_joined_faction_discontent = X adds (or subtracts) discontent to the factions the scope character is in | character | ||
add_knows_of_killer | Adds the right hand side character as knowing of the killer of the scoped object | dead_person = { add_knows_of_killer = root } |
character | character |
add_learning_lifestyle_perk_points | Adds lifestyle per points to the given character | character | ||
add_learning_lifestyle_xp | Adds lifestyle XP to the given character | character | ||
add_martial_lifestyle_perk_points | Adds lifestyle per points to the given character | character | ||
add_martial_lifestyle_xp | Adds lifestyle XP to the given character | character | ||
add_opinion | Adds a temporary opinion modifier, add_opinion = { modifier = X days/months/years = Y target = Z } | X is a scripted modifier name. Y can be a value or a range "{ A B }" If no timeout are specified, the modifier's scripted default timeout will be used. |
character | |
add_perk | Adds the perk for this character | character | ||
add_personal_artifact_claim | Adds a personal claim on the target artifact to the scoped character | character | artifact | |
add_piety | gives (or takes) piety to a character | character | ||
add_piety_experience | gives (or takes) piety experience to a character | character | ||
add_piety_level | increases (or decreases) the piety level of a character | character | ||
add_piety_no_experience | gives (or takes) piety without experience to a character | character | ||
add_pressed_claim | gives a pressed claim to a character | character | landed title | |
add_prestige | gives (or takes) prestige to a character | character | ||
add_prestige_experience | gives (or takes) prestige experience to a character | character | ||
add_prestige_level | increases (or decreases) the prestige level of a character | character | ||
add_prestige_no_experience | gives (or takes) prestige without experience to a character | character | ||
add_realm_law | Adds the given law to the scoped character | character | ||
add_realm_law_skip_effects | Adds the given law to the scoped character. Skips the cost and the pass effect, and the revoke effects of the current law | character | ||
add_relation_flag | Adds a flag to an existing relation | add_relation_flag = { relation = scripted_relation flag = flag_name (declared in the relation's script) target = other_character } |
character | |
add_scheme_cooldown | Sets a scheme cooldown for the scope character towards = { target=target_character type=scheme_type days/weeks/months/years = duration } | character | ||
add_secret | Adds a secret | add_secret = { type = X target = Y } Note that if you create a Secret in the immediate effect, the tooltips for other effects run in that Secret's scope (such as reveal_to) are likely to be displayed incorrectly, or not to be displayed at all. This is due to the game generating the tooltip before it actually has a Secret that exists to work off of. Test rigorously and use custom tooltips if necessary. Creating a Secret in the immediate and then running effects on it in an event option should produce perfectly normal tooltips. |
character | |
add_stewardship_lifestyle_perk_points | Adds lifestyle per points to the given character | character | ||
add_stewardship_lifestyle_xp | Adds lifestyle XP to the given character | character | ||
add_stress | increases (or decreases) stress of a character | character | ||
add_targeting_factions_discontent | add_targeting_factions_discontent = X adds (or subtracts) discontent to all the factions that are targeting the scope character | character | ||
add_to_scheme | Adds a character as an agent to the scheme | character | scheme | |
add_trait | Adds a trait to a character (the trait will not be added and no tooltip will be shown if the character isn't eligible for the trait, i.e. when already having the trait, having an opposing trait, not fulfilling the trait's is_potential trigger or being outside of the trait's range) | character | ||
add_trait_force_tooltip | Adds a trait to a character (if the add_trait effect would not add the trait - i.e. when already having the trait, having an opposing trait, not fulfilling the trait's is_potential trigger or being outside of the trait's range - a tooltip will be shown but the trait will not be added) | character | ||
add_truce_both_ways | Sets the both-way truce against the specified character | 'character' specifies the target character 'override' says whether it should replace the previous truce even if shorter 'years / months / days' sets the duration of the truce 'result' specifies the result from the scope character's point of view ('white_peace' by default) 'casus_belli' sets the casus belli scope that caused the truce, mutually exclusive with 'name' 'name' sets a custom description. Dynamic description with the current scope 'war' sets the war that caused the truce, mutually exclusive with 'casus_belli' add_truce_both_ways = { character = X years/months/days = Y override = yes/no result = victory/defeat/white_peace casus_belli/war = Z } |
character | |
add_truce_one_way | Sets the truce against the specified character | 'character' specifies the target character 'override' says whether it should replace the previous truce even if shorter 'years / months / days' sets the duration of the truce 'result' specifies the result from the scope character's point of view ('white_peace' by default) 'casus_belli' sets the casus belli scope that caused the truce, mutually exclusive with 'name' 'name' sets a custom description. Dynamic description with the current scope add_truce_one_way = { character = X years/months/days = Y override = yes/no result = victory/defeat/white_peace casus_belli/war = Z } |
character | |
add_tyranny | adds (or removes) tyranny to (or from) a character | character | ||
add_unpressed_claim | gives an unpressed claim to a character | character | landed title | |
add_visiting_courtier | Add the target character as the scope character's guest | character | character | |
allow_alliance | Allows (previously broken) alliance with the target character | character | character | |
allow_in_scheme | Allow the character to join the scheme as an agent | character | scheme | |
apply_ai_vassal_obligation_liege_most_desired | Apply the new level for the most desired AI obligation level the liege in the contract wants | character | ||
apply_ai_vassal_obligation_vassal_most_desired | Apply the new level for the most desired AI obligation level the vassal in the contract wants | character | ||
appoint_court_position | Appoints the target character in target court position within scoped character's court | recipient = character scope - target character to receive the title court_position = court position type - court position type to assign the receiver |
character | |
assign_council_task | Assigns the target character to the council task | assign_council_task = { council_task = council_task_scope target = character_taking_the_position fire_on_actions = [yes] } |
character | |
assign_councillor_type | Assigns the target character to the first available council position of the type available. { type = council_position_type_key target = character_taking_the_position fire_on_actions = [yes] } | character | ||
banish | The character gets banished. | character | ||
becomes_independent | becomes and independent ruler. becomes_independent = { change = 'previously created title_and_vassal_change' | character | ||
break_alliance | Breaks the alliance with the target character | character | character | |
cancel_truce_both_ways | Ends the truce against the specified character, and theirs against the scoped character. cancel_truce_both_ways = scope:character | character | character | |
cancel_truce_one_way | Ends the truce against the specified character. cancel_truce_one_way = scope:character | character | character | |
change_age | Changes the character's age by the given amount. Sets age to 0 if it'd end up below 0. Note that this will completely bypass birthday on-actions, age-related health, and so on, just like the console command | Usage: change_age = script value |
character | |
change_current_court_grandeur | Changes the current court grandeur of a character with a royal court, clamped between NRoyalCourt::COURT_GRANDEUR_MIN and NRoyalCourt::COURT_GRANDEUR_MAX. | character | ||
change_current_weight | Change the current weight of the scoped character | change_current_weight = 20 |
character | |
change_first_name | Change the first name of a character | change_first_name = <localization_key> change_first_name = scope:name/var:name # containing a flag with a localization key change_first_name = { template_character = scope:character } # copy name from the template character |
character | |
change_government | changes the government of a character | character | ||
change_liege | = { liege = 'Character that should become the new liege' change = 'previously created title_and_vassal_change', adds a liege change | character | ||
change_prison_type | Changes the charater's prison type. Scoped character is the prisoner. Accepts any static modifier (see also improson effect). | change_prison_type = house_arrest |
character | |
change_target_weight | Change the target weight of the scoped character | change_target_weight = 20 |
character | |
change_trait_rank | Changes the trait rank = { trait = trait_group rank = change max = maximum new rank } | character | ||
clear_forced_vote | Clears forced voting | clear_forced_vote = yes |
character | |
consume_banish_reasons | 'Consume' all banish reasons that the scoped character has on the target character. Until they get a new reason, they cannot banish the target again. | character | character | |
consume_divorce_reasons | 'Consume' all divorce reason that the scoped character has on the target character. Until they get a new reason, they cannot divorce the target again. | character | character | |
consume_execute_reasons | 'Consume' all execute reasons that the scoped character has on the target character. Until they get a new reason, they cannot execute the target again. | character | character | |
consume_imprisonment_reasons | 'Consume' all imprisonment reasons that the scoped character has on the target character. Until they get a new reason, they cannot imprison the target again. | character | character | |
consume_revoke_title_reason | 'Consume' 1 revoke title reason that the scoped character has on the target character. | character | character | |
copy_inheritable_appearance_from | copies the inheritable appearance attributes (inheritable genes in the character's DNA string) from the target character to the scoped character | character | character | |
copy_localized_text | Copies a piece of localized text from the target character for the given key. | copy_localized_text = { key = key target = character } |
character | |
create_alliance | Create an alliance between the scoped character and the target. The allied through characters determine who gets checked against for if the alliance should persist or not. | create_alliance = { target = scope allied_through_owner = scope allied_through_target = scope } OR as a short hand use just the target to use the owner and target as the allied through characters create_alliance = scope |
character | |
create_artifact | Creates a new artifact and adds it to the inventory of the given character | Be aware that we make use of the current scopes implicitly. This is done in common/artifacts/visuals name = dynamic description - artifact name description = dynamic description - artifact description rarity = enum - artifact rarity, ex. legendary type = flag - inventory slot type, ex. trinket modifier = static modifier - applied to the character whom wields this artifact durability = script value - new durability, will be max by default max_durability = script value - Optional. A value for the max durability, which would override the one normally assigned by the defines decaying = yes/no - Optional. Set if artifact decays with time. Yes by default history = artifact history entry - custom history entry to denote for example that this is artifact was reforged by someone else than the owner type = artifact history entry type - available types: created_before_history created discovered claimed_by_house given stolen inherited conquest taken_in_siege taken_in_battle won_in_duel reforged template = artifact scripted template - a scripted base template with triggers and modifiers visuals = artifact visual type - how this artifact should appear visually generate_history = bool - automatically generate a new history entry if none has been scripted? quality = script value - new quality, used in AI scoring wealth = script value - new wealth, used in AI scoring creator = character scope - set a custom creator of the artifact ( default is the owner ) visuals_source = scope containing landed title, dynasty or house - set a source of coat of arms graphics for the artifact (only few artifact models actually make use of it. Most notable - banners) save_scope_as = new artifact - an optional way to get a reference to the newly created artifact title_history = title - history entries of the given title will be added to the artifact history title_history_date = game date - from which date onwards to copy historical entries from given title creator = character scope - set a custom creator of the artifact ( default is the owner ) |
character | |
create_cadet_branch | no] | character | ||
create_divergent_culture | Creates a new divergent culture from the scope character's culture. The new culture will keep all pillars and traditions of the parent culture it is up to the user to add or remove pillars and traditions as appropriate.The new divergent culture is saved as scope:new_culture. | create_divergent_culture = yes |
character | |
create_divergent_culture_with_side_effects | Creates a new divergent culture from the scope character's culture. This also incurs the cost, does conversion, and such, just as if you'd diverged via the UI. Unlike create_divergent_culture, it will change ethos and suchThe new culture is NOT saved as a scope due to technical limitations. | create_divergent_culture_with_side_effects = yes |
character | |
create_divergent_culture_with_side_effects_excluding_cost | Creates a new divergent culture from the scope character's culture. Ignores the cost, does conversion, and such, just as if you'd diverged via the UI. Unlike create_divergent_culture, it will change ethos and suchThe new culture is NOT saved as a scope due to technical limitations. | create_divergent_culture_with_side_effects_excluding_cost = yes |
character | |
create_faction | the scoped character creates a faction of the specified type against the specified target, create_faction = { type = X target = Y } | character | ||
create_hybrid_culture | Creates a new hybrid culture from the scope character's culture and the RHS culture. The new culture will have a random mix of pillars and traditions from both, like when the AI hybridizes. The new hybrid culture is saved as scope:new_culture. | create_hybrid_culture = culture:anglo-saxon |
character | culture |
create_hybrid_culture_with_side_effects | Creates a new hybrid culture from the scope character's culture and the RHS culture. The new culture will have a random mix of pillars and traditions from both, like when the AI hybridizes. This also incurs the cost, does conversion, and such, just as if you'd hybridized via the UI. The new hybrid culture is NOT saved as a scope due to technical limitations. | create_hybrid_culture_with_side_effects = culture:anglo-saxon |
character | culture |
create_inspiration | create_inspiration = inspiration_type | Creates an inspiration of a given type owned by scoped character, new inspiration is saved as scope:new_inspiration create_inspiration = { type = inspiration_type gold = script_value } As above but overrides the base cost compared to the one defined in the type |
character | |
create_story | creates and initializes a story cycle with the current character as owner | create_story = story_type create_story = { type = story_type save_scope_as/save_temporary_scope_as = scope_name # optional way to get a reference to the new story} |
character | |
death | kills a character, death = { killer = X death_reason = Y artifact = Z }, where X is a character and Y is one of the death reason keys. Optionally artifact Z will be used as the killing artifact instead of the defaulted one from the killer's slot for that death reason's definition. Or death = natural which will pick a natural death reason to kill the character from. | character | ||
depose | The character gets deposed. | character | ||
destroy_title | Destroys a title | destroy_title = title:<title> |
character | landed title |
end_pregnancy | end a pregnancy | character | ||
every_alert_creatable_title | Iterate through all titles that can be created by the character. (only for alerts) | every_alert_creatable_title = { limit = { <triggers> } <effects> } |
character | landed title |
every_alert_usurpable_title | Iterate through all titles that can be usurped by the character. (only for alerts) | every_alert_usurpable_title = { limit = { <triggers> } <effects> } |
character | landed title |
every_ally | Iterate through all allies | every_ally = { limit = { <triggers> } <effects> } |
character | character |
every_ancestor | Iterate through all the ancestors of the scope character up to 5 generations | every_ancestor = { limit = { <triggers> } <effects> } |
character | character |
every_army | Iterate through all armies | every_army = { limit = { <triggers> } <effects> } |
character | army |
every_character_artifact | Iterate through all artifacts in a given characters inventory | every_character_artifact = { limit = { <triggers> } <effects> } |
character | artifact |
every_character_struggle | Iterate through all struggles that character is involved in. | every_character_struggle = { limit = { <triggers> } <effects> } Optional: Narrow down the involvement status *_character_struggle = { involvement = involved | interloper } |
character | struggle |
every_character_to_title_neighboring_and_across_water_county | Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges) | every_character_to_title_neighboring_and_across_water_county = { limit = { <triggers> } <effects> } |
character | landed title |
every_character_to_title_neighboring_and_across_water_duchy | Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges) | every_character_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } <effects> } |
character | landed title |
every_character_to_title_neighboring_and_across_water_empire | Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges) | every_character_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } <effects> } |
character | landed title |
every_character_to_title_neighboring_and_across_water_kingdom | Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges) | every_character_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } <effects> } |
character | landed title |
every_character_to_title_neighboring_county | Scopes from a character to a neighboring county (looking trough the de Jure lieges) | every_character_to_title_neighboring_county = { limit = { <triggers> } <effects> } |
character | landed title |
every_character_to_title_neighboring_duchy | Scopes from a character to a neighboring duchy (looking trough the de Jure lieges) | every_character_to_title_neighboring_duchy = { limit = { <triggers> } <effects> } |
character | landed title |
every_character_to_title_neighboring_empire | Scopes from a character to a neighboring empire (looking trough the de Jure lieges) | every_character_to_title_neighboring_empire = { limit = { <triggers> } <effects> } |
character | landed title |
every_character_to_title_neighboring_kingdom | Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges) | every_character_to_title_neighboring_kingdom = { limit = { <triggers> } <effects> } |
character | landed title |
every_character_war | Wars of the scoped character | every_character_war = { limit = { <triggers> } <effects> } |
character | war |
every_child | Iterate through all children | every_child = { limit = { <triggers> } <effects> } |
character | character |
every_claim | Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all | every_claim = { limit = { <triggers> } <effects> } |
character | landed title |
every_claimed_artifact | Iterate through all claimed artifacts of the scoped character | every_claimed_artifact = { limit = { <triggers> } <effects> } |
character | artifact |
every_close_family_member | Iterate through all the close family [father, mother, siblings, children, grandparents] | every_close_family_member = { limit = { <triggers> } <effects> } |
character | character |
every_close_or_extended_family_member | Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins] | every_close_or_extended_family_member = { limit = { <triggers> } <effects> } |
character | character |
every_concubine | Iterate through all concubines | every_concubine = { limit = { <triggers> } <effects> } |
character | character |
every_consort | Iterate through all consorts (concubines and spouses) | every_consort = { limit = { <triggers> } <effects> } |
character | character |
every_councillor | Iterate through all councillors | every_councillor = { limit = { <triggers> } <effects> } |
character | character |
every_court_position_employer | Iterates through all characters that employ the scoped character in any court position. | every_court_position_employer = { limit = { <triggers> } <effects> } |
character | character |
every_court_position_holder | Iterates through all characters employed by the scoped character in the target court position. | every_court_position_holder = { limit = { <triggers> } <effects> } |
character | character |
every_courtier | Iterate through all courtiers | every_courtier = { limit = { <triggers> } <effects> } |
character | character |
every_courtier_away | Iterate through all courtiers that are away | every_courtier_away = { limit = { <triggers> } <effects> } |
character | character |
every_courtier_or_guest | Iterate through all courtiers and guests (pool and foreign court guests) | every_courtier_or_guest = { limit = { <triggers> } <effects> } |
character | character |
every_de_jure_claim | Iterate through all de jure claims for a character | every_de_jure_claim = { limit = { <triggers> } <effects> } |
character | landed title |
every_diplomacy_councillor | Iterate through all diplomacy-based councillors | every_diplomacy_councillor = { limit = { <triggers> } <effects> } |
character | character |
every_directly_owned_province | Iterate through all directly owned provinces | every_directly_owned_province = { limit = { <triggers> } <effects> } |
character | province |
every_election_title | Iterate through all titles the scoped character can vote on | every_election_title = { limit = { <triggers> } <effects> } |
character | landed title |
every_equipped_character_artifact | Iterate through all equipped artifacts in a given characters inventory | every_equipped_character_artifact = { limit = { <triggers> } <effects> } |
character | artifact |
every_extended_family_member | Iterate through all the extended family [uncles/aunts, nephew/niece, cousins] | every_extended_family_member = { limit = { <triggers> } <effects> } |
character | character |
every_foreign_court_guest | Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege) | every_foreign_court_guest = { limit = { <triggers> } <effects> } |
character | character |
every_former_concubine | Iterate through all former concubines. Not persisted past death | every_former_concubine = { limit = { <triggers> } <effects> } |
character | character |
every_former_concubinist | Iterate through all former concubinists. Not persisted past death | every_former_concubinist = { limit = { <triggers> } <effects> } |
character | character |
every_former_spouse | Iterate through all former spouses | every_former_spouse = { limit = { <triggers> } <effects> } |
character | character |
every_general_councillor | Iterate through all councillors that are not related to a skill | every_general_councillor = { limit = { <triggers> } <effects> } |
character | character |
every_heir | Heirs of the scoped character | every_heir = { limit = { <triggers> } <effects> } |
character | character |
every_heir_title | Iterate through all landed titles character is heir to | every_heir_title = { limit = { <triggers> } <effects> } |
character | landed title |
every_heir_to_title | Iterate through all titles the scoped character is heir to | every_heir_to_title = { limit = { <triggers> } <effects> } |
character | landed title |
every_held_title | Iterate through all held landed titles | every_held_title = { limit = { <triggers> } <effects> } |
character | landed title |
every_hired_mercenary | Iterate through all hired mercenary companies | every_hired_mercenary = { limit = { <triggers> } <effects> } |
character | mercenary company |
every_hooked_character | Iterate through all characters this character has a hook on | every_hooked_character = { limit = { <triggers> } <effects> } |
character | character |
every_hostile_raider | Iterate through anyone the character is hostile to due to their top-liege's realm having been raided | every_hostile_raider = { limit = { <triggers> } <effects> } |
character | character |
every_intrigue_councillor | Iterate through all intrigue-based councillors | every_intrigue_councillor = { limit = { <triggers> } <effects> } |
character | character |
every_knight | Iterate through all knights | every_knight = { limit = { <triggers> } <effects> } |
character | character |
every_known_secret | Iterate through all secrets known by the character | every_known_secret = { limit = { <triggers> } <effects> } |
character | secret |
every_learning_councillor | Iterate through all learning-based councillors | every_learning_councillor = { limit = { <triggers> } <effects> } |
character | character |
every_liege_or_above | Iterate through all lieges above a character (skipping the character themselves) | every_liege_or_above = { limit = { <triggers> } <effects> } |
character | character |
every_martial_councillor | Iterate through all martial-based councillors | every_martial_councillor = { limit = { <triggers> } <effects> } |
character | character |
every_neighboring_and_across_water_realm_same_rank_owner | A sub-realm or realm bordering the scope character's realm (including across water) and has the same rank as the scope character (look for lieges of he owner of the land if necessary) | every_neighboring_and_across_water_realm_same_rank_owner = { limit = { <triggers> } <effects> } |
character | character |
every_neighboring_and_across_water_top_liege_realm | A realm with a different top liege neighboring the realm of the scope character's top liege (including across water); switches to the realm's top title. Can be based on borders a day or two out of date | every_neighboring_and_across_water_top_liege_realm = { limit = { <triggers> } <effects> } |
character | landed title |
every_neighboring_and_across_water_top_liege_realm_owner | A realm with a different top liege neighboring the realm of the scope character's top liege (including across water); switches to the holder of the realm. Can be based on borders a day or two out of date | every_neighboring_and_across_water_top_liege_realm_owner = { limit = { <triggers> } <effects> } |
character | character |
every_neighboring_realm_same_rank_owner | A sub-realm or realm bordering the scope character's realm and has the same rank as the scope character (look for lieges of he owner of the land if necessary) | every_neighboring_realm_same_rank_owner = { limit = { <triggers> } <effects> } |
character | character |
every_neighboring_top_liege_realm | A realm with a different top liege neighboring the realm of the scope character's top liege; switches to the realm's top title. Can be based on borders a day or two out of date | every_neighboring_top_liege_realm = { limit = { <triggers> } <effects> } |
character | landed title |
every_neighboring_top_liege_realm_owner | A realm with a different top liege neighboring the realm of the scope character's top liege; switches to the holder of the realm. Can be based on borders a day or two out of date | every_neighboring_top_liege_realm_owner = { limit = { <triggers> } <effects> } |
character | character |
every_opposite_sex_spouse_candidate | Iterate through all the spouse candidates of the opposite sex of a character. | WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. every_opposite_sex_spouse_candidate = { limit = { <triggers> } <effects> } |
character | character |
every_owned_story | Iterate through all owned stories for a character | every_owned_story = { limit = { <triggers> } <effects> } |
character | story cycle |
every_parent | Iterate through all (both) parents | every_parent = { limit = { <triggers> } <effects> } |
character | character |
every_patroned_holy_order | Iterate through all holy orders that the scoped character is a patron of | every_patroned_holy_order = { limit = { <triggers> } <effects> } |
character | holy order |
every_personal_claimed_artifact | Iterate through all personally claimed artifacts of the scoped character | every_personal_claimed_artifact = { limit = { <triggers> } <effects> } |
character | artifact |
every_pinned_character | Iterate through characters this player has pinned | every_pinned_character = { limit = { <triggers> } <effects> } |
character | character |
every_pinning_character | Iterate through characters whose player has this character pinned | every_pinning_character = { limit = { <triggers> } <effects> } |
character | character |
every_played_character | Iterate through all characters the player playing this character has played. Matches the game over legacy, except for excluding the currently played character | every_played_character = { limit = { <triggers> } <effects> } |
character | character |
every_player_heir | Iterate through player heirs, capped at the first 10 | every_player_heir = { limit = { <triggers> } <effects> } |
character | character |
every_pool_guest | Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege) | every_pool_guest = { limit = { <triggers> } <effects> } |
character | character |
every_potential_marriage_option | Iterate through all potential selectable marriage or betrohed options | every_potential_marriage_option = { limit = { <triggers> } <effects> } |
character | character |
every_pretender_title | Iterate through all landed titles character is pretender to | every_pretender_title = { limit = { <triggers> } <effects> } |
character | landed title |
every_primary_war_enemy | Iterate through all primary war enemies | every_primary_war_enemy = { limit = { <triggers> } <effects> } |
character | character |
every_prisoner | Iterate through all prisoners | every_prisoner = { limit = { <triggers> } <effects> } |
character | character |
every_prowess_councillor | Iterate through all prowess-based councillors | every_prowess_councillor = { limit = { <triggers> } <effects> } |
character | character |
every_raid_target | Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges | every_raid_target = { limit = { <triggers> } <effects> } |
character | character |
every_realm_county | Iterate through all counties in the realm. Based on top liege | every_realm_county = { limit = { <triggers> } <effects> } |
character | landed title |
every_realm_de_jure_duchy | Iterate through all de jure duchies that have at least one county in the realm. Based on top liege | every_realm_de_jure_duchy = { limit = { <triggers> } <effects> } |
character | landed title |
every_realm_de_jure_empire | Iterate through all de jure empire that have at least one county in the realm. Based on top liege | every_realm_de_jure_empire = { limit = { <triggers> } <effects> } |
character | landed title |
every_realm_de_jure_kingdom | Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege | every_realm_de_jure_kingdom = { limit = { <triggers> } <effects> } |
character | landed title |
every_realm_province | Iterate through all realm provinces of a character | every_realm_province = { limit = { <triggers> } <effects> } |
character | province |
every_relation | Iterate through scripted relations of a given type or multiple types, if someone is multiple relations they will only be in the list once | every_relation = { limit = { <triggers> } <effects> } |
character | character |
every_same_sex_spouse_candidate | Iterate through all the spouse candidates of the same sex of a character. | WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. every_same_sex_spouse_candidate = { limit = { <triggers> } <effects> } |
character | character |
every_scheme | Iterate through all schemes owned by the character | every_scheme = { limit = { <triggers> } <effects> } |
character | scheme |
every_secret | Iterate through all secrets of the character | every_secret = { limit = { <triggers> } <effects> } |
character | secret |
every_sibling | Iterate through all siblings | every_sibling = { limit = { <triggers> } <effects> } |
character | character |
every_sponsored_inspiration | Iterate through all sponsored inspirations | every_sponsored_inspiration = { limit = { <triggers> } <effects> } |
character | inspiration |
every_spouse | Iterate through all spouses | every_spouse = { limit = { <triggers> } <effects> } |
character | character |
every_spouse_candidate | Iterate through all the spouse candidates of a character. | WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. every_spouse_candidate = { limit = { <triggers> } <effects> } |
character | character |
every_stewardship_councillor | Iterate through all stewardship-based councillors | every_stewardship_councillor = { limit = { <triggers> } <effects> } |
character | character |
every_sub_realm_barony | Iterate through all baronies in sub-realm | every_sub_realm_barony = { limit = { <triggers> } <effects> } |
character | landed title |
every_sub_realm_county | Iterate through all counties in sub-realm | every_sub_realm_county = { limit = { <triggers> } <effects> } |
character | landed title |
every_sub_realm_duchy | Iterate through all duchies in sub-realm | every_sub_realm_duchy = { limit = { <triggers> } <effects> } |
character | landed title |
every_sub_realm_empire | Iterate through all empires in sub-realm | every_sub_realm_empire = { limit = { <triggers> } <effects> } |
character | landed title |
every_sub_realm_kingdom | Iterate through all kingdoms in sub-realm | every_sub_realm_kingdom = { limit = { <triggers> } <effects> } |
character | landed title |
every_sub_realm_title | Iterate through all titles in sub-realm | every_sub_realm_title = { limit = { <triggers> } <effects> } |
character | landed title |
every_targeting_faction | Iterate through all factions targeting the scope character | every_targeting_faction = { limit = { <triggers> } <effects> } |
character | faction |
every_targeting_scheme | Iterate through all schemes targeting the character | every_targeting_scheme = { limit = { <triggers> } <effects> } |
character | scheme |
every_targeting_secret | Iterate through all secrets that target the specified scope | every_targeting_secret = { limit = { <triggers> } <effects> } |
character | secret |
every_traveling_family_member | Iterate though all characters that should travel with the scoped one (when moving between courts for instance); includes the scoped character | every_traveling_family_member = { limit = { <triggers> } <effects> } |
character | character |
every_truce_holder | Iterate through all characters that have a truce on this character | every_truce_holder = { limit = { <triggers> } <effects> } |
character | character |
every_truce_target | Iterate through all characters this character has a truce on | every_truce_target = { limit = { <triggers> } <effects> } |
character | character |
every_unspent_known_secret | Iterate through all unspent secrets known by the character | every_unspent_known_secret = { limit = { <triggers> } <effects> } |
character | secret |
every_vassal | Iterate through all DIRECT vassals | every_vassal = { limit = { <triggers> } <effects> } |
character | character |
every_vassal_or_below | Iterate through ALL vassals, not just direct vassals | every_vassal_or_below = { limit = { <triggers> } <effects> } |
character | character |
every_war_ally | Iterate through all direct war allies | every_war_ally = { limit = { <triggers> } <effects> } |
character | character |
every_war_enemy | Iterate through all direct war enemies | every_war_enemy = { limit = { <triggers> } <effects> } |
character | character |
execute_decision | Execute the specified decision for the scoped character | character | ||
finish_council_task | The councillor finish the current assigned task successfully. | character | ||
fire_councillor | The scope character fires the target character form teh council. | character | character | |
forbid_from_scheme | Forbid the scope character from joining the target scheme as an agent (and kick the character out if already in the scheme) | character | scheme | |
force_add_to_scheme | Adds a character as an agent to the scheme and forces them to stay | { scheme = target_Scheme days/months/years = duration } |
character | |
force_character_skill_recalculation | Forces a character's skills to be recalculated immediately, bypassing the wait for the daily tick. | NOTE: Only use this when *absolutely* necessary, as it will impact performance negatively if misused Usage: force_character_skill_recalculation = yes/no |
character | |
force_vote_as | Forces the character to vote the same as the target | force_vote_as = { target = someone days/months/years = x } |
character | |
get_title | gives a title to a character | character | landed title | |
give_nickname | Give a nickname to this character | character | ||
imprison | Imprisons the target character as this character's prisoner, imprison = { target = X reason = Y type = Z }, where X is a character, Y is a flag, Z is a static modifier | character | ||
join_faction | the character in the scope joins the assigned faction | character | faction | |
join_faction_forced | the character in the scope is forced to join a faction by a character for a defined time, | join_faction_forced = { faction = X forced_by = Y days/months/years = duration } |
character | |
join_faction_skip_check | the character in the scope joins the assigned faction skiping the can_character_join trigger | character | faction | |
learn_court_language_of | The character learns the court language of the target characterlearn_court_language_of = scope:target_character | character | character | |
learn_language | The character learns the languagelearn_language = language_norwegian | character | ||
learn_language_of_culture | The character learns the language of the target culturelearn_language_of_culture = scope:target_culture | character | culture | |
leave_faction | the charcter in the scope leaves the assigned faction | character | faction | |
make_claim_strong | makes a claim strong (character adds the claim if not having it already) | character | landed title | |
make_claim_weak | makes a claim weak (character adds the claim if not having it already) | character | landed title | |
make_concubine | Makes the target character a concubine of the scope character, the target should not be imprisoned | character | character | |
make_pregnant | makes a character pregnant | father= 'the real father' number_of_children= X known_bastard=yes/no |
character | |
make_pregnant_no_checks | makes a character pregnant. Doesn't error on things like celibacy | father= 'the real father' number_of_children= X known_bastard=yes/no |
character | |
make_trait_active | Activates an inactive trait. Tooltip will not be shown if the character cannot have the trait. | character | ||
make_trait_active_force_tooltip | Activates an inactive trait. Tooltip will be shown even if the character cannot have the trait. | character | ||
make_trait_inactive | Makes a current trait of a character inactive. Tooltip will not be shown if the character doesn't have the trait. | character | ||
make_trait_inactive_force_tooltip | Makes a current trait of a character inactive. Tooltip will be shown even if the character doesn't have the trait. | character | ||
make_unprunable | The scope character will no longer be prunable after their death. Use with care, as this will make everyone related to them unprunable too. So you should only use this if someone absolutely *needs* to stick around several years after their death. Example: make_unprunable = yes | character | ||
marry | Marries the scoped character to the target character. | marry = target |
character | character |
marry_matrilineal | Marries the scoped character to the target character matrilineally. | marry_matrilineal = target |
character | character |
move_to_pool | The scoped character (courtier or guest) leaves their current court and moves into the pool | scope:guest = { move_to_pool = yes } |
character | |
move_to_pool_at | The scoped character (courtier/guest/pool character) leaves their current court (if any) and moves into the pool of the specified province | scope:guest = { move_to_pool_at = scope:some_province } |
character | province |
open_appoint_court_position_window | Opens the appointment window for the specified court position with scoped character as liege | character | ||
ordered_alert_creatable_title | Iterate through all titles that can be created by the character. (only for alerts) | ordered_alert_creatable_title = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_alert_usurpable_title | Iterate through all titles that can be usurped by the character. (only for alerts) | ordered_alert_usurpable_title = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_ally | Iterate through all allies | ordered_ally = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_ancestor | Iterate through all the ancestors of the scope character up to 5 generations | ordered_ancestor = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_army | Iterate through all armies | ordered_army = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | army |
ordered_character_artifact | Iterate through all artifacts in a given characters inventory | ordered_character_artifact = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | artifact |
ordered_character_struggle | Iterate through all struggles that character is involved in. | ordered_character_struggle = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } Optional: Narrow down the involvement status *_character_struggle = { involvement = involved | interloper } |
character | struggle |
ordered_character_to_title_neighboring_and_across_water_county | Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges) | ordered_character_to_title_neighboring_and_across_water_county = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_character_to_title_neighboring_and_across_water_duchy | Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges) | ordered_character_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_character_to_title_neighboring_and_across_water_empire | Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges) | ordered_character_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_character_to_title_neighboring_and_across_water_kingdom | Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges) | ordered_character_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_character_to_title_neighboring_county | Scopes from a character to a neighboring county (looking trough the de Jure lieges) | ordered_character_to_title_neighboring_county = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_character_to_title_neighboring_duchy | Scopes from a character to a neighboring duchy (looking trough the de Jure lieges) | ordered_character_to_title_neighboring_duchy = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_character_to_title_neighboring_empire | Scopes from a character to a neighboring empire (looking trough the de Jure lieges) | ordered_character_to_title_neighboring_empire = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_character_to_title_neighboring_kingdom | Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges) | ordered_character_to_title_neighboring_kingdom = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_character_war | Wars of the scoped character | ordered_character_war = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | war |
ordered_child | Iterate through all children | ordered_child = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_claim | Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all | ordered_claim = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_claimed_artifact | Iterate through all claimed artifacts of the scoped character | ordered_claimed_artifact = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | artifact |
ordered_close_family_member | Iterate through all the close family [father, mother, siblings, children, grandparents] | ordered_close_family_member = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_close_or_extended_family_member | Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins] | ordered_close_or_extended_family_member = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_concubine | Iterate through all concubines | ordered_concubine = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_consort | Iterate through all consorts (concubines and spouses) | ordered_consort = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_councillor | Iterate through all councillors | ordered_councillor = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_court_position_employer | Iterates through all characters that employ the scoped character in any court position. | ordered_court_position_employer = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_court_position_holder | Iterates through all characters employed by the scoped character in the target court position. | ordered_court_position_holder = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_courtier | Iterate through all courtiers | ordered_courtier = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_courtier_away | Iterate through all courtiers that are away | ordered_courtier_away = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_courtier_or_guest | Iterate through all courtiers and guests (pool and foreign court guests) | ordered_courtier_or_guest = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_de_jure_claim | Iterate through all de jure claims for a character | ordered_de_jure_claim = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_diplomacy_councillor | Iterate through all diplomacy-based councillors | ordered_diplomacy_councillor = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_directly_owned_province | Iterate through all directly owned provinces | ordered_directly_owned_province = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | province |
ordered_election_title | Iterate through all titles the scoped character can vote on | ordered_election_title = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_equipped_character_artifact | Iterate through all equipped artifacts in a given characters inventory | ordered_equipped_character_artifact = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | artifact |
ordered_extended_family_member | Iterate through all the extended family [uncles/aunts, nephew/niece, cousins] | ordered_extended_family_member = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_foreign_court_guest | Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege) | ordered_foreign_court_guest = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_former_concubine | Iterate through all former concubines. Not persisted past death | ordered_former_concubine = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_former_concubinist | Iterate through all former concubinists. Not persisted past death | ordered_former_concubinist = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_former_spouse | Iterate through all former spouses | ordered_former_spouse = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_general_councillor | Iterate through all councillors that are not related to a skill | ordered_general_councillor = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_heir | Heirs of the scoped character | ordered_heir = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_heir_title | Iterate through all landed titles character is heir to | ordered_heir_title = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_heir_to_title | Iterate through all titles the scoped character is heir to | ordered_heir_to_title = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_held_title | Iterate through all held landed titles | ordered_held_title = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_hired_mercenary | Iterate through all hired mercenary companies | ordered_hired_mercenary = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | mercenary company |
ordered_hooked_character | Iterate through all characters this character has a hook on | ordered_hooked_character = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_hostile_raider | Iterate through anyone the character is hostile to due to their top-liege's realm having been raided | ordered_hostile_raider = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_intrigue_councillor | Iterate through all intrigue-based councillors | ordered_intrigue_councillor = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_knight | Iterate through all knights | ordered_knight = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_known_secret | Iterate through all secrets known by the character | ordered_known_secret = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | secret |
ordered_learning_councillor | Iterate through all learning-based councillors | ordered_learning_councillor = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_liege_or_above | Iterate through all lieges above a character (skipping the character themselves) | ordered_liege_or_above = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_martial_councillor | Iterate through all martial-based councillors | ordered_martial_councillor = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_neighboring_and_across_water_realm_same_rank_owner | A sub-realm or realm bordering the scope character's realm (including across water) and has the same rank as the scope character (look for lieges of he owner of the land if necessary) | ordered_neighboring_and_across_water_realm_same_rank_owner = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_neighboring_and_across_water_top_liege_realm | A realm with a different top liege neighboring the realm of the scope character's top liege (including across water); switches to the realm's top title. Can be based on borders a day or two out of date | ordered_neighboring_and_across_water_top_liege_realm = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_neighboring_and_across_water_top_liege_realm_owner | A realm with a different top liege neighboring the realm of the scope character's top liege (including across water); switches to the holder of the realm. Can be based on borders a day or two out of date | ordered_neighboring_and_across_water_top_liege_realm_owner = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_neighboring_realm_same_rank_owner | A sub-realm or realm bordering the scope character's realm and has the same rank as the scope character (look for lieges of he owner of the land if necessary) | ordered_neighboring_realm_same_rank_owner = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_neighboring_top_liege_realm | A realm with a different top liege neighboring the realm of the scope character's top liege; switches to the realm's top title. Can be based on borders a day or two out of date | ordered_neighboring_top_liege_realm = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_neighboring_top_liege_realm_owner | A realm with a different top liege neighboring the realm of the scope character's top liege; switches to the holder of the realm. Can be based on borders a day or two out of date | ordered_neighboring_top_liege_realm_owner = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_opposite_sex_spouse_candidate | Iterate through all the spouse candidates of the opposite sex of a character. | WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. ordered_opposite_sex_spouse_candidate = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_owned_story | Iterate through all owned stories for a character | ordered_owned_story = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | story cycle |
ordered_parent | Iterate through all (both) parents | ordered_parent = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_patroned_holy_order | Iterate through all holy orders that the scoped character is a patron of | ordered_patroned_holy_order = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | holy order |
ordered_personal_claimed_artifact | Iterate through all personally claimed artifacts of the scoped character | ordered_personal_claimed_artifact = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | artifact |
ordered_pinned_character | Iterate through characters this player has pinned | ordered_pinned_character = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_pinning_character | Iterate through characters whose player has this character pinned | ordered_pinning_character = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_played_character | Iterate through all characters the player playing this character has played. Matches the game over legacy, except for excluding the currently played character | ordered_played_character = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_player_heir | Iterate through player heirs, capped at the first 10 | ordered_player_heir = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_pool_guest | Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege) | ordered_pool_guest = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_potential_marriage_option | Iterate through all potential selectable marriage or betrohed options | ordered_potential_marriage_option = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_pretender_title | Iterate through all landed titles character is pretender to | ordered_pretender_title = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_primary_war_enemy | Iterate through all primary war enemies | ordered_primary_war_enemy = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_prisoner | Iterate through all prisoners | ordered_prisoner = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_prowess_councillor | Iterate through all prowess-based councillors | ordered_prowess_councillor = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_raid_target | Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges | ordered_raid_target = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_realm_county | Iterate through all counties in the realm. Based on top liege | ordered_realm_county = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_realm_de_jure_duchy | Iterate through all de jure duchies that have at least one county in the realm. Based on top liege | ordered_realm_de_jure_duchy = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_realm_de_jure_empire | Iterate through all de jure empire that have at least one county in the realm. Based on top liege | ordered_realm_de_jure_empire = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_realm_de_jure_kingdom | Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege | ordered_realm_de_jure_kingdom = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_realm_province | Iterate through all realm provinces of a character | ordered_realm_province = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | province |
ordered_relation | Iterate through scripted relations of a given type or multiple types, if someone is multiple relations they will only be in the list once | ordered_relation = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_same_sex_spouse_candidate | Iterate through all the spouse candidates of the same sex of a character. | WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. ordered_same_sex_spouse_candidate = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_scheme | Iterate through all schemes owned by the character | ordered_scheme = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | scheme |
ordered_secret | Iterate through all secrets of the character | ordered_secret = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | secret |
ordered_sibling | Iterate through all siblings | ordered_sibling = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_sponsored_inspiration | Iterate through all sponsored inspirations | ordered_sponsored_inspiration = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | inspiration |
ordered_spouse | Iterate through all spouses | ordered_spouse = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_spouse_candidate | Iterate through all the spouse candidates of a character. | WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. ordered_spouse_candidate = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_stewardship_councillor | Iterate through all stewardship-based councillors | ordered_stewardship_councillor = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_sub_realm_barony | Iterate through all baronies in sub-realm | ordered_sub_realm_barony = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_sub_realm_county | Iterate through all counties in sub-realm | ordered_sub_realm_county = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_sub_realm_duchy | Iterate through all duchies in sub-realm | ordered_sub_realm_duchy = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_sub_realm_empire | Iterate through all empires in sub-realm | ordered_sub_realm_empire = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_sub_realm_kingdom | Iterate through all kingdoms in sub-realm | ordered_sub_realm_kingdom = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_sub_realm_title | Iterate through all titles in sub-realm | ordered_sub_realm_title = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | landed title |
ordered_targeting_faction | Iterate through all factions targeting the scope character | ordered_targeting_faction = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | faction |
ordered_targeting_scheme | Iterate through all schemes targeting the character | ordered_targeting_scheme = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | scheme |
ordered_targeting_secret | Iterate through all secrets that target the specified scope | ordered_targeting_secret = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | secret |
ordered_traveling_family_member | Iterate though all characters that should travel with the scoped one (when moving between courts for instance); includes the scoped character | ordered_traveling_family_member = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_truce_holder | Iterate through all characters that have a truce on this character | ordered_truce_holder = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_truce_target | Iterate through all characters this character has a truce on | ordered_truce_target = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_unspent_known_secret | Iterate through all unspent secrets known by the character | ordered_unspent_known_secret = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | secret |
ordered_vassal | Iterate through all DIRECT vassals | ordered_vassal = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_vassal_or_below | Iterate through ALL vassals, not just direct vassals | ordered_vassal_or_below = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_war_ally | Iterate through all direct war allies | ordered_war_ally = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
ordered_war_enemy | Iterate through all direct war enemies | ordered_war_enemy = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
character | character |
pay_long_term_gold | the scope character pays gold to the target character, pay_gold = { target = X gold = Y } (AI budget category long term) | character | ||
pay_long_term_income | the scope character immediately pays gold corresponding to their income to the target character, pay_income = { target = X days/months/years = Y } (AI budget long term) | character | ||
pay_short_term_gold | the scope character pays gold to the target character, pay_gold = { target = X gold = Y } (AI budget category short term) | character | ||
pay_short_term_income | the scope character immediately pays gold corresponding to their income to the target character, pay_income = { target = X days/months/years = Y } (AI budget short term) | character | ||
play_music_cue | Plays the specified music cue. | character | ||
play_sound_effect | Plays the specified sound effect. | character | ||
random_alert_creatable_title | Iterate through all titles that can be created by the character. (only for alerts) | random_alert_creatable_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_alert_usurpable_title | Iterate through all titles that can be usurped by the character. (only for alerts) | random_alert_usurpable_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_ally | Iterate through all allies | random_ally = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_ancestor | Iterate through all the ancestors of the scope character up to 5 generations | random_ancestor = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_army | Iterate through all armies | random_army = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | army |
random_character_artifact | Iterate through all artifacts in a given characters inventory | random_character_artifact = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | artifact |
random_character_struggle | Iterate through all struggles that character is involved in. | random_character_struggle = { limit = { <triggers> } (optional) weight = { mtth } <effects> } Optional: Narrow down the involvement status *_character_struggle = { involvement = involved | interloper } |
character | struggle |
random_character_to_title_neighboring_and_across_water_county | Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges) | random_character_to_title_neighboring_and_across_water_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_character_to_title_neighboring_and_across_water_duchy | Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges) | random_character_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_character_to_title_neighboring_and_across_water_empire | Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges) | random_character_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_character_to_title_neighboring_and_across_water_kingdom | Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges) | random_character_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_character_to_title_neighboring_county | Scopes from a character to a neighboring county (looking trough the de Jure lieges) | random_character_to_title_neighboring_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_character_to_title_neighboring_duchy | Scopes from a character to a neighboring duchy (looking trough the de Jure lieges) | random_character_to_title_neighboring_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_character_to_title_neighboring_empire | Scopes from a character to a neighboring empire (looking trough the de Jure lieges) | random_character_to_title_neighboring_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_character_to_title_neighboring_kingdom | Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges) | random_character_to_title_neighboring_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_character_war | Wars of the scoped character | random_character_war = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | war |
random_child | Iterate through all children | random_child = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_claim | Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all | random_claim = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_claimed_artifact | Iterate through all claimed artifacts of the scoped character | random_claimed_artifact = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | artifact |
random_close_family_member | Iterate through all the close family [father, mother, siblings, children, grandparents] | random_close_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_close_or_extended_family_member | Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins] | random_close_or_extended_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_concubine | Iterate through all concubines | random_concubine = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_consort | Iterate through all consorts (concubines and spouses) | random_consort = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_councillor | Iterate through all councillors | random_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_court_position_employer | Iterates through all characters that employ the scoped character in any court position. | random_court_position_employer = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_court_position_holder | Iterates through all characters employed by the scoped character in the target court position. | random_court_position_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_courtier | Iterate through all courtiers | random_courtier = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_courtier_away | Iterate through all courtiers that are away | random_courtier_away = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_courtier_or_guest | Iterate through all courtiers and guests (pool and foreign court guests) | random_courtier_or_guest = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_de_jure_claim | Iterate through all de jure claims for a character | random_de_jure_claim = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_diplomacy_councillor | Iterate through all diplomacy-based councillors | random_diplomacy_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_directly_owned_province | Iterate through all directly owned provinces | random_directly_owned_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | province |
random_election_title | Iterate through all titles the scoped character can vote on | random_election_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_equipped_character_artifact | Iterate through all equipped artifacts in a given characters inventory | random_equipped_character_artifact = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | artifact |
random_extended_family_member | Iterate through all the extended family [uncles/aunts, nephew/niece, cousins] | random_extended_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_foreign_court_guest | Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege) | random_foreign_court_guest = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_former_concubine | Iterate through all former concubines. Not persisted past death | random_former_concubine = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_former_concubinist | Iterate through all former concubinists. Not persisted past death | random_former_concubinist = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_former_spouse | Iterate through all former spouses | random_former_spouse = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_general_councillor | Iterate through all councillors that are not related to a skill | random_general_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_heir | Heirs of the scoped character | random_heir = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_heir_title | Iterate through all landed titles character is heir to | random_heir_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_heir_to_title | Iterate through all titles the scoped character is heir to | random_heir_to_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_held_title | Iterate through all held landed titles | random_held_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_hired_mercenary | Iterate through all hired mercenary companies | random_hired_mercenary = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | mercenary company |
random_hooked_character | Iterate through all characters this character has a hook on | random_hooked_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_hostile_raider | Iterate through anyone the character is hostile to due to their top-liege's realm having been raided | random_hostile_raider = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_intrigue_councillor | Iterate through all intrigue-based councillors | random_intrigue_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_knight | Iterate through all knights | random_knight = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_known_secret | Iterate through all secrets known by the character | random_known_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | secret |
random_learning_councillor | Iterate through all learning-based councillors | random_learning_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_liege_or_above | Iterate through all lieges above a character (skipping the character themselves) | random_liege_or_above = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_martial_councillor | Iterate through all martial-based councillors | random_martial_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_neighboring_and_across_water_realm_same_rank_owner | A sub-realm or realm bordering the scope character's realm (including across water) and has the same rank as the scope character (look for lieges of he owner of the land if necessary) | random_neighboring_and_across_water_realm_same_rank_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_neighboring_and_across_water_top_liege_realm | A realm with a different top liege neighboring the realm of the scope character's top liege (including across water); switches to the realm's top title. Can be based on borders a day or two out of date | random_neighboring_and_across_water_top_liege_realm = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_neighboring_and_across_water_top_liege_realm_owner | A realm with a different top liege neighboring the realm of the scope character's top liege (including across water); switches to the holder of the realm. Can be based on borders a day or two out of date | random_neighboring_and_across_water_top_liege_realm_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_neighboring_realm_same_rank_owner | A sub-realm or realm bordering the scope character's realm and has the same rank as the scope character (look for lieges of he owner of the land if necessary) | random_neighboring_realm_same_rank_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_neighboring_top_liege_realm | A realm with a different top liege neighboring the realm of the scope character's top liege; switches to the realm's top title. Can be based on borders a day or two out of date | random_neighboring_top_liege_realm = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_neighboring_top_liege_realm_owner | A realm with a different top liege neighboring the realm of the scope character's top liege; switches to the holder of the realm. Can be based on borders a day or two out of date | random_neighboring_top_liege_realm_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_opposite_sex_spouse_candidate | Iterate through all the spouse candidates of the opposite sex of a character. | WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. random_opposite_sex_spouse_candidate = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_owned_story | Iterate through all owned stories for a character | random_owned_story = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | story cycle |
random_parent | Iterate through all (both) parents | random_parent = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_patroned_holy_order | Iterate through all holy orders that the scoped character is a patron of | random_patroned_holy_order = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | holy order |
random_personal_claimed_artifact | Iterate through all personally claimed artifacts of the scoped character | random_personal_claimed_artifact = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | artifact |
random_pinned_character | Iterate through characters this player has pinned | random_pinned_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_pinning_character | Iterate through characters whose player has this character pinned | random_pinning_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_played_character | Iterate through all characters the player playing this character has played. Matches the game over legacy, except for excluding the currently played character | random_played_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_player_heir | Iterate through player heirs, capped at the first 10 | random_player_heir = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_pool_guest | Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege) | random_pool_guest = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_potential_marriage_option | Iterate through all potential selectable marriage or betrohed options | random_potential_marriage_option = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_pretender_title | Iterate through all landed titles character is pretender to | random_pretender_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_primary_war_enemy | Iterate through all primary war enemies | random_primary_war_enemy = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_prisoner | Iterate through all prisoners | random_prisoner = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_prowess_councillor | Iterate through all prowess-based councillors | random_prowess_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_raid_target | Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges | random_raid_target = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_realm_county | Iterate through all counties in the realm. Based on top liege | random_realm_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_realm_de_jure_duchy | Iterate through all de jure duchies that have at least one county in the realm. Based on top liege | random_realm_de_jure_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_realm_de_jure_empire | Iterate through all de jure empire that have at least one county in the realm. Based on top liege | random_realm_de_jure_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_realm_de_jure_kingdom | Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege | random_realm_de_jure_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_realm_province | Iterate through all realm provinces of a character | random_realm_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | province |
random_relation | Iterate through scripted relations of a given type or multiple types, if someone is multiple relations they will only be in the list once | random_relation = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_same_sex_spouse_candidate | Iterate through all the spouse candidates of the same sex of a character. | WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. random_same_sex_spouse_candidate = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_scheme | Iterate through all schemes owned by the character | random_scheme = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | scheme |
random_secret | Iterate through all secrets of the character | random_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | secret |
random_sibling | Iterate through all siblings | random_sibling = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_sponsored_inspiration | Iterate through all sponsored inspirations | random_sponsored_inspiration = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | inspiration |
random_spouse | Iterate through all spouses | random_spouse = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_spouse_candidate | Iterate through all the spouse candidates of a character. | WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN. random_spouse_candidate = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_stewardship_councillor | Iterate through all stewardship-based councillors | random_stewardship_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_sub_realm_barony | Iterate through all baronies in sub-realm | random_sub_realm_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_sub_realm_county | Iterate through all counties in sub-realm | random_sub_realm_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_sub_realm_duchy | Iterate through all duchies in sub-realm | random_sub_realm_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_sub_realm_empire | Iterate through all empires in sub-realm | random_sub_realm_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_sub_realm_kingdom | Iterate through all kingdoms in sub-realm | random_sub_realm_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_sub_realm_title | Iterate through all titles in sub-realm | random_sub_realm_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | landed title |
random_targeting_faction | Iterate through all factions targeting the scope character | random_targeting_faction = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | faction |
random_targeting_scheme | Iterate through all schemes targeting the character | random_targeting_scheme = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | scheme |
random_targeting_secret | Iterate through all secrets that target the specified scope | random_targeting_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | secret |
random_traveling_family_member | Iterate though all characters that should travel with the scoped one (when moving between courts for instance); includes the scoped character | random_traveling_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_truce_holder | Iterate through all characters that have a truce on this character | random_truce_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_truce_target | Iterate through all characters this character has a truce on | random_truce_target = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_unspent_known_secret | Iterate through all unspent secrets known by the character | random_unspent_known_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | secret |
random_vassal | Iterate through all DIRECT vassals | random_vassal = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_vassal_or_below | Iterate through ALL vassals, not just direct vassals | random_vassal_or_below = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_war_ally | Iterate through all direct war allies | random_war_ally = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
random_war_enemy | Iterate through all direct war enemies | random_war_enemy = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
character | character |
recruit_courtier | Recruits the target to become a courtier. Example scope:liege = { recruit_courtier = scope:new_courtier } | character | character | |
refund_all_perks | Refunds all perks of the character. Example: refund_all_perks = yes | character | ||
refund_perks | Refunds all perks of the RHS lifestyle. Example: refund_perks = intrigue_lifestyle | character | ||
release_from_prison | releases the character from the prison, imprison = X, where X is a boolean value | character | ||
remove_all_character_modifier_instances | Remove all instances of a modifier from a character | remove_all_character_modifier_instances = name |
character | |
remove_character_flag | removes a character flag | character | ||
remove_character_modifier | Remove a modifier from a character | remove_character_modifier = name |
character | |
remove_claim | removes an explicit (not from a living parent/grand parent) claim | character | landed title | |
remove_concubine | Removes the target character as a concubine of the scope character | character | character | |
remove_courtier_or_guest | Removes the target character (guest or courtier) from the scope character's court | scope:host = { remove_courtier_or_guest = scope:guest } # move to pool, staying in same province scope:host = { remove_courtier_or_guest = { character = scope:guest new_location = scope:some_province # optionally specify a new location } } |
character | character |
remove_decision_cooldown | Remove the cooldown on taking a decision for the scoped character | remove_decision_cooldown = decision_name |
character | |
remove_hook | Removes a hook on a character, remove_hook = { target = X, type = Y }, if type is specified, the hook will only be removed if it is of that type | character | ||
remove_interaction_cooldown | Remove the cooldown on using an interaction for the scoped character | remove_interaction_cooldown = interaction_name |
character | |
remove_interaction_cooldown_against | Remove the cooldown on using an interaction against the target character for the scoped character | remove_interaction_cooldown_against = { interaction = interaction_name target = character } |
character | |
remove_localized_text | Removes a piece of localized text from being stored on the character with a given key, you should do this whenever you are done with the custom text so as to not bloat saves | remove_localized_text = key |
character | |
remove_long_term_gold | removes gold from a character (AI's long term budget) | character | ||
remove_nickname | no] | character | ||
remove_opinion | Removes a temporary opinion modifier, remove_opinion = { target = X modifier = Y single = Z (no by default) } where X is a character, Y is the opinion modifier, Z tells whether to remove all instances of the modifier or just one | character | ||
remove_perk | Remove the perk for this character | character | ||
remove_personal_artifact_claim | Removes a personal claim on the target artifact from the scoped character | character | artifact | |
remove_realm_law | Removes the given law from the scoped character. This will leave the law group empty, so only do this if you're getting rid of a law group | character | ||
remove_relation_antiquarian | Removes scripted relationship | character | character | |
remove_relation_best_friend | Removes scripted relationship | character | character | |
remove_relation_bully | Removes scripted relationship | character | character | |
remove_relation_court_physician | Removes scripted relationship | character | character | |
remove_relation_crush | Removes scripted relationship | character | character | |
remove_relation_flag | Removed a flag from an existing relation flag = flag_name (declared in scripted_relation) target = other_character relation = scripted_relation | character | ||
remove_relation_friend | Removes scripted relationship | character | character | |
remove_relation_guardian | Removes scripted relationship | character | character | |
remove_relation_intrigue_mentor | Removes scripted relationship | character | character | |
remove_relation_intrigue_student | Removes scripted relationship | character | character | |
remove_relation_lover | Removes scripted relationship | character | character | |
remove_relation_mentor | Removes scripted relationship | character | character | |
remove_relation_nemesis | Removes scripted relationship | character | character | |
remove_relation_oaf | Removes scripted relationship | character | character | |
remove_relation_potential_friend | Removes scripted relationship | character | character | |
remove_relation_potential_lover | Removes scripted relationship | character | character | |
remove_relation_potential_rival | Removes scripted relationship | character | character | |
remove_relation_rival | Removes scripted relationship | character | character | |
remove_relation_soldier_friend | Removes scripted relationship | character | character | |
remove_relation_soulmate | Removes scripted relationship | character | character | |
remove_relation_student | Removes scripted relationship | character | character | |
remove_relation_victim | Removes scripted relationship | character | character | |
remove_relation_ward | Removes scripted relationship | character | character | |
remove_scheme_cooldown_against | Remove the cooldown on using a scheme against the target character for the scoped character | remove_scheme_cooldown_against = { scheme = scheme_name target = character } |
character | |
remove_short_term_gold | removes gold from a character (AI's short term budget) | character | ||
remove_trait | Removes a trait from a character. Tooltip will not be shown if the character doesn't have the trait. | character | ||
remove_trait_force_tooltip | Removes a trait from a character. Tooltip will be shown even if the character doesn't have the trait. | character | ||
replace_court_position | Replaces the target character holding target court position within scoped character's court with target character | recipient = character scope - target character to receive the title holder = character scope - target character to revoke the target court position of in favour of recipient court_position = court position type - court position type to assign the receiver |
character | |
reset_beneficiary | The target character stops having a beneficiary. reset_beneficiary = yes | character | ||
return_to_court | Returns the scope character to the employers court. | character | ||
reverse_add_opinion | Adds a temporary reverse opinion modifier, reverse_add_opinion = { modifier = X days/months/years = Y target = Z } | X is a scripted modifier name. Y can be a value or a range "{ A B }" If no timeout are specified, the modifier's scripted default timeout will be used. |
character | |
revoke_court_position | Revokes target position from scoped character. | court_position = court position type - court position type to revoke from scoped character's court |
character | |
scriptedtests_recalculate_character_modifier | Recalculates the modifier of the scoped character | character | ||
scriptedtests_recalculate_succession | Recalculates the line of succession of the scoped character | character | ||
set_absolute_country_control | Sets if this character has absolute country control, unlock_character_movement = yes/no/boolean event target | character | ||
set_age | Sets the character's age. Note that this will completely bypass birthday on-actions, age-related health, and so on, just like the console command | Usage: set_age = script value |
character | |
set_amenity_level | set_amenity_level = { type = food value = 2 } | Sets the amenity type to the given value for the scoped character |
character | |
set_beneficiary | The target character becomes the beneficiary of the scoped character. set_beneficiary = some character | character | character | |
set_character_faith | Changes what faith a character has executing the effects for it. For history setup use 'set_character_faith_history' instead. | character | faith | |
set_character_faith_history | Changes what faith a character has NOT executing the effects for it. USE ONLY IN HISOTRY SETUP! | character | faith | |
set_character_faith_with_conversion | Changes what faith a character has, as if they used the faith-view interaction (minus the piety cost). So vassals who'd accept will get converted, as will capitals | character | faith | |
set_child_of_concubine_on_pregnancy | Sets the child to be (or not be) a child of a concubine during pregnancy | character | ||
set_council_task | Sets the task of the scope councillor { task_type = council_position_type_key target = for_targeted_tasks } | character | ||
set_court_language | Set the character's court language to the given languageset_court_language = language_norwegian | character | ||
set_court_type | Set the court type for this character's royal court | character | ||
set_culture | Set the culture for this character | character | culture | |
set_culture_same_as | sets the culture of the character to be the same as the culture of the target | character | character | |
set_current_court_grandeur | Sets the current court grandeur of a character with a royal court, clamped between NRoyalCourt::COURT_GRANDEUR_MIN and NRoyalCourt::COURT_GRANDEUR_MAX. | Does not apply a grace period, and removes any existing one. |
character | |
set_death_reason | set_death_reason = { killer = X death_reason = Y artifact = Z } | All parameters are optional. Sets the death reason, the killer, and artifact used in the death of a dead character |
character | |
set_default_education | Set the default education focus for this character | character | ||
set_designated_heir | Sets the given character as designated heir | character | character | |
set_employer | Add the scope character to the target character's court | character | character | |
set_father | sets the father of a character | character | character | |
set_focus | Set the focus for this character | character | ||
set_house | Sets the dynasty house of the character | character | dynasty house | |
set_immortal_age | Changes what age the character became immortal at. Only works if already immortal | set_immortal_age = 20 |
character | |
set_killer_public | Sets the scoped character's killer as being publicly known | set_killer_public = bool |
character | |
set_knight_status | Sets the knight status of the character to Forced/Default/Disallowed | character | ||
set_known_bastard_on_pregnancy | Sets the child to a known or unknown bastard during pregnancy | character | ||
set_mother | Sets the mother of a character | character | character | |
set_num_pregnancy_children | Set the number of children | character | ||
set_override_designated_winner | The scoped character will put their beneficiary on the throne if they're the #1 participant if this is called with 'yes'. Call with 'no' to turn it off again. set_override_designate_winner = yes/no | character | ||
set_player_character | The scope character's player will now play as the target character. Scope must be player-controlled. Target cannot be player-controlled. Example:set_player_character = scope:title_recipient | character | character | |
set_pregnancy_assumed_father | Set the assumed father of the pregnancy | character | character | |
set_primary_spouse | Set the primary spouse of a character | set_primary_spouse = scope |
character | character |
set_primary_title_to | Sets the primary title for a character | set_primary_title_to = <title> |
character | landed title |
set_real_father | Changes the real father of the character scope | character | character | |
set_realm_capital | Set a new realm capital | character = { set_realm_capital = new_title } |
character | landed title |
set_relation_antiquarian | Sets scripted relationship | character | character | |
set_relation_best_friend | Sets scripted relationship | character | character | |
set_relation_bully | Sets scripted relationship | character | character | |
set_relation_court_physician | Sets scripted relationship | character | character | |
set_relation_crush | Sets scripted relationship | character | character | |
set_relation_friend | Sets scripted relationship | character | character | |
set_relation_guardian | Sets scripted relationship | character | character | |
set_relation_intrigue_mentor | Sets scripted relationship | character | character | |
set_relation_intrigue_student | Sets scripted relationship | character | character | |
set_relation_lover | Sets scripted relationship | character | character | |
set_relation_mentor | Sets scripted relationship | character | character | |
set_relation_nemesis | Sets scripted relationship | character | character | |
set_relation_oaf | Sets scripted relationship | character | character | |
set_relation_potential_friend | Sets scripted relationship | character | character | |
set_relation_potential_lover | Sets scripted relationship | character | character | |
set_relation_potential_rival | Sets scripted relationship | character | character | |
set_relation_rival | Sets scripted relationship | character | character | |
set_relation_soldier_friend | Sets scripted relationship | character | character | |
set_relation_soulmate | Sets scripted relationship | character | character | |
set_relation_student | Sets scripted relationship | character | character | |
set_relation_victim | Sets scripted relationship | character | character | |
set_relation_ward | Sets scripted relationship | character | character | |
set_sexuality | Sets the sexuality of the character | character | ||
set_to_lowborn | Set the character to lowborn | character | ||
set_trait_rank | Sets the trait rank = { trait = trait_group rank = new rank } | character | ||
set_vassal_contract_modification_blocked | Blocks the vassal contract from being modified with regards to being checked by 'vassal_contract_is_blocked_from_modification' | character | ||
spawn_army | Spawns an army for this character. If the character is not at war, the regiments will be created, but the army will not be spawned. | Usage: spawn_army = { levies = int/script value # optional, number of men men_at_arms = { # optional, multiple can be specified. Need either levies or MAA type = key men/stacks = int/script value } location = province origin = province # optional, location used if not set. This is used for where to base bonuses and the like on war = war # optional. If set, the stack will disband after the war ends war_keep_on_attacker_victory = yes/no # Default: no. Tied to a war. Normally the stack will disband upon victory (if a war is specified), but this parameter prevents that from happening upon attacker victory inheritable = yes/no # Default: yes uses_supply = yes/no # Default: yes army = army # optional. If set, the stack will merge into this army save_scope_as/save_temporary_scope_as = new_army # optional way to get a reference to the new army. Note this might not be set if the army wasn't spawned (e.g. if the character is not at war) name = description # gives the troops a specific name that shows up in interfaces } |
character | |
sponsor_inspiration | sponsor_inspiration = inspiration | Sets the sponsor of the target inspiration to the scoped character |
character | inspiration |
start_default_task | Force the Councillor to revert to the default task. Any relevant percentage progress will be lost (even if the councillor was performing the default task already). | character | ||
start_scheme | starts a scheme = { type = X target = Y } | character | ||
start_war | starts a war = { casus_belli/cb = X target = Y claimant = Z target_title = W1 target_title = W2 ... } where X is a casus belli type, Y is the target character, Z i the (optional) claimant, W1, W2.... are targeted titles. | If there are no title targets, the effect will pick one of possible title targets. |
character | |
store_localized_text_in_death | Makes a piece of localized text with the given key be stored on the character even after death, you should use this sparingly to avoid save bloat and use 'remove_localized_text' if you no longer need itsaves | store_localized_text_in_death = key |
character | |
stress_impact | Stress impact according to specified traits (trait = value), use base = value for a base value that's always added | character | ||
unlearn_court_language_of | The character unlearns the court language of the target character. Cannot unlearn the language of your cultureunlearn_court_language_of = scope:target_character | character | character | |
unlearn_language | The character unlearns the language. Cannot unlearn the language of your cultureunlearn_language = language_norwegian | character | ||
unlearn_language_of_culture | The character unlearns the language of the target culture. Cannot unlearn the language of your cultureunlearn_language_of_culture = scope:target_culture | character | culture | |
use_hook | Uses a hook a character has (removes if weak, puts on cooldown if strong), use_hook = some_character | character | character | |
vassal_contract_decrease_obligation_level | decrease the obligation level of the scoped character's vassal contract | character | ||
vassal_contract_increase_obligation_level | increase the obligation level of the scoped character's vassal contract | character | ||
vassal_contract_set_obligation_level | change the obligation level of the scoped character's vassal contract | vassal_contract_set_obligation_level = { type = name level = 1 } # index to obligation level vassal_contract_set_obligation_level = { type = name level = feudal_obligation_low } |
character | |
visit_court_of | Add the scope character as the target character's guest | character | character | |
every_faith | Iterate through all faiths within a religion | every_faith = { limit = { <triggers> } <effects> } |
religion | faith |
ordered_faith | Iterate through all faiths within a religion | ordered_faith = { limit = { <triggers> } order_by = script_value position = int min = int max = script_value check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max <effects> } |
religion | faith |
random_faith | Iterate through all faiths within a religion | random_faith = { limit = { <triggers> } (optional) weight = { mtth } <effects> } |
religion | faith |
Opinion Modifiers[编辑 | 编辑源代码]
In order to add an opinion modifier, a modifier must be defined inside a file under common/opinion_modifiers
. A constant modifier looks like this:
custom_opinion_modifier_name = { opinion = 20 imprisonment_reason = yes revoke_title_reason = yes banish_reason = yes execute_reason = yes }
While a modifier that changes over time looks like this:
custom_opinion_modifier_name = { monthly_change = -.05 decaying = yes max = 20 stacking = yes }
Other valid keys can be found by example in game/common/opinion_modifiers
.
You will also want to add an entry to a localization file with the same name as the opinion modifier. This will show up as the description when an in-game tooltip is shown.
文档 | Effects • 触发器 • 修正 • 作用域 • 变量 • 数据类型 • 本地化 • 可定制的本地化 |
脚本 | AI • 剧本 • 角色 • 效果指令 • 内阁 • 文化 • 决议 • 宗族 • 事件 • 政体 • 历史 • 地产 • 生活方式 • 军队 • 宗教 • Story cycles • 头衔 • 特质 |
地图 | 地图 • 地形 |
图形 | 3D模型 • Exporters • 界面 • Coat of arms • Graphical assets • Fonts • Particles • Shaders • Unit models |
音频 | Music • Sound |
其他 | 控制台指令 • 校验码 • 模组结构 • Troubleshooting |