Effects:修订间差异

本页面所适用的版本可能已经过时,最后更新于1.5
(翻译部分内容)
无编辑摘要
第1行: 第1行:
{{Version|1.0}}{{需要翻译}}
{{Version|1.5}}
'''Effects''', also known as '''commands''', are using in [[scripting]] to alter the target that was selected via [[scope]]s and [[condition]]s. They are also able to iterate through lists. They appear in command blocks, such as the ''immediate'' and ''option'' sections of [[Event modding|event]]s, as well as in [[scripted effect]]s which can group commands into reusable macros. Scripting commands are different from [[console commands]], though there may be equivalents between the two. Available effects depend on the current scope.
'''Effects''', also known as '''commands''', are used in [[scripting]] to alter the target that was selected via [[scope]]s and [[condition]]s. They are also able to iterate through lists.


== List of effects ==
They appear in:
Note that this list has been generated programmatically from the output of the "script_docs" console command. Using script_docs, effects supported from multiple scopes are given as being supported from "none" scope only, but this is probably not the case.
*command blocks (the ''immediate'' and ''option'' sections of [[events]], or similar: effect, creation_effect, gain_effect, success, ...)
*[[scripted effect]]s, which can be used to group commands into re-usable macro.
Scripting commands are different from [[console commands]], though there may be equivalents between the two. Available effects depend on the current scope.


=== From war scope战争作用域 ===
== Conditional effects ==
The following effects are only usable in the war scope. 以下效果只在战争作用域中可用。
Effects used to provide basic conditional functionality.
{| class="wikitable sortable" width="100%"
{| class="wikitable sortable" width="100%"
! width="15%" | 名称
! width="15%" | Name
! width="15%" | 描述
! width="15%" | Description
! width="25%" | 用法
! width="25%" | Usage
! width="20%" | 可用的作用域
! width="20%" | Supported scopes
! width="20%" | 可用的目标
! width="20%" | Supported targets
|-
|-
|add_attacker
|if
|adds the target character to the scope war as an attacker
|Executes enclosed effects if limit criteria are met
使目标角色作为进攻方加入作为作用域的战争
|if = { limit = { <triggers> } <effects> }
|Unspecified未明确
|none
|war战争
|
|character
|-
|-
|add_defender
|else_if
|adds the target character to the scope war as a defender
|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> }
|Unspecified未明确
else_if = { limit = { <triggers> } <effects> }
|war战争
|none
|character
|
|-
|-
|end_war
|else
|ends the war with the specified winner
|Executes enclosed effects if limit criteria of preceding 'if' or 'else_if' is not met
以指定一方胜利结束战争
|if = { limit = { <triggers> } <effects> }
|end_war = attacker/defender/white_peace
else = { <effects> }
|war战争
|none
|
|
|}
== 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\'''").
{| class="wikitable sortable" style="font-size:90%; text-align:left; width:100%"
! Name !! Desc !! Example !! Scopes !! Target <!--!! Category-->
|-
| add_house_artifact_claim
| Adds a claim on the target artifact to the scoped house
| <pre></pre>
| dynasty house
| artifact
|-
|-
|every_war_attacker
| add_house_modifier
|Iterate through all attackers in the war
| Add a modifier to a house
|every_war_attacker = { limit = { <triggers> } <effects> }
| <pre>add_house_modifier = name
|war战争
add_house_modifier = { modifier = name days/weeks/months/years = int }
|character
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_war_defender
| every_house_claimed_artifact
|Iterate through all defenders in the war
| Iterate through all claimed artifacts of the scoped house
|every_war_defender = { limit = { <triggers> } <effects> }
| <pre>every_house_claimed_artifact = { limit = { <triggers> } <effects> }</pre>
|war战争
| dynasty house
|character
| artifact
|-
|-
|every_war_participant
| every_house_member
|Iterate through all participants in the war
| Iterate through all house members
|every_war_participant = { limit = { <triggers> } <effects> }
| <pre>every_house_member = { limit = { <triggers> } <effects> }</pre>
|war战争
| dynasty house
|character
| character
|-
|-
|ordered_war_attacker
| ordered_house_claimed_artifact
|Iterate through all attackers in the war
| Iterate through all claimed artifacts of the scoped house
|ordered_war_attacker = {
| <pre>ordered_house_claimed_artifact = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第62行: 第78行:
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战争
| dynasty house
|character
| artifact
|-
|-
|ordered_war_defender
| ordered_house_member
|Iterate through all defenders in the war
| Iterate through all house members
|ordered_war_defender = {
| <pre>ordered_house_member = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第75行: 第91行:
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战争
| dynasty house
|character
| 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
|
|-
|-
|ordered_war_participant
| remove_house_artifact_claim
|Iterate through all participants in the war
| Removes a claim on the target artifact from the scoped house
|ordered_war_participant = {
| <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 faction county members
| <pre>ordered_faction_county_member = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第88行: 第178行:
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战争
| faction
|character
| landed title
|-
|-
|random_war_attacker
| ordered_faction_member
|Iterate through all attackers in the war
| Iterate through all faction character members
|random_war_attacker = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_faction_member = {
|war战争
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>
| faction
| character
|-
|-
|random_war_defender
| random_faction_county_member
|Iterate through all defenders in the war
| Iterate through all faction county members
|random_war_defender = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_faction_county_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|war战争
| faction
|character
| landed title
|-
|-
|random_war_participant
| random_faction_member
|Iterate through all participants in the war
| Iterate through all faction character members
|random_war_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_faction_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|war战争
| faction
|character
| character
|-
|-
|remove_participant
| remove_special_character
|removes the target character from the scope war
| Removes the special character for the scope faction
将目标角色从参战方移除
| <pre></pre>
|Unspecified未明确
| faction
|war战争
|character
|-
|-
|set_called_to
| remove_special_title
|sets the target character as already called to the scope war
| Removes the special character for the scope faction
|Unspecified未明确
| <pre></pre>
|war战争
| faction
|character
|-
|-
|set_casus_belli
| set_special_character
|sets the casus belli of the scope war
| Sets the special character for the scope faction
设置战争目标
| <pre></pre>
|Unspecified未明确
| faction
|war战争
| character
|
|-
|}
| set_special_title
 
| Sets the special title for the scope faction
=== From story cycle scope ===
| <pre></pre>
The following effects are only usable in the story cycle scope.
| faction
{| class="wikitable sortable" width="100%"
| landed title
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|end_story
| add_attacker
|Ends a story and executes it's on_end effect, the story can no longer be accessed after this
| adds the target character to the scope war as an attacker
|Unspecified
| <pre></pre>
|story cycle
| war
|
| character
|-
|-
|make_story_owner
| add_defender
|makes the character the new owner of the story
| adds the target character to the scope war as a defender
|make_story_owner = character_target
| <pre></pre>
|story cycle
| war
|character
| character
|}
 
=== From secret scope ===
The following effects are only usable in the secret scope.
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|add_secret_participant
| clear_claimant
|Adds an participant to the secret
| Removes the claimant from a war
|Unspecified
| <pre></pre>
|secret
| war
|character
|-
|-
|disable_exposure_by
| end_war
|Forbids the target character from exposing the secret
| ends the war with the specified winner, end_war = attacker/defender/white_peace
|disable_exposure_by = target_character
| <pre></pre>
|secret
| war
|character
|-
|-
|every_secret_knower
| every_war_attacker
|Iterate through all characters who know the secret
| Iterate through all attackers in the war
|every_secret_knower = { limit = { <triggers> } <effects> }
| <pre>every_war_attacker = { limit = { <triggers> } <effects> }</pre>
|secret
| war
|character
| character
|-
|-
|every_secret_participant
| every_war_defender
|Iterate through participants in a secret
| Iterate through all defenders in the war
|every_secret_participant = { limit = { <triggers> } <effects> }
| <pre>every_war_defender = { limit = { <triggers> } <effects> }</pre>
|secret
| war
|character
| character
|-
|-
|expose_secret
| every_war_participant
|Exposes the scope secret
| Iterate through all participants in the war
|Unspecified
| <pre>every_war_participant = { limit = { <triggers> } <effects> }</pre>
|secret
| war
|character
| character
|-
|-
|ordered_secret_knower
| ordered_war_attacker
|Iterate through all characters who know the secret
| Iterate through all attackers in the war
|ordered_secret_knower = {
| <pre>ordered_war_attacker = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第201行: 第282行:
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
| war
|character
| character
|-
|-
|ordered_secret_participant
| ordered_war_defender
|Iterate through participants in a secret
| Iterate through all defenders in the war
|ordered_secret_participant = {
| <pre>ordered_war_defender = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第214行: 第295行:
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
| war
|character
| character
|-
|-
|random_secret_knower
| ordered_war_participant
|Iterate through all characters who know the secret
| Iterate through all participants in the war
|random_secret_knower = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_war_participant = {
|secret
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>
| war
| character
|-
|-
|random_secret_participant
| random_war_attacker
|Iterate through participants in a secret
| Iterate through all attackers in the war
|random_secret_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_war_attacker = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|secret
| war
|character
| character
|-
|-
|remove_secret
| random_war_defender
|Removes the scope secret
| Iterate through all defenders in the war
|Unspecified
| <pre>random_war_defender = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|secret
| war
|
| character
|-
|-
|reveal_to
| random_war_participant
|Reveals the scope secret to the target character
| Iterate through all participants in the war
|Unspecified
| <pre>random_war_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|secret
| war
|character
| character
|-
|-
|set_secret_owner
| remove_participant
|Sets a new owner for the secret
| removes the target character from the scope war
|Unspecified
| <pre></pre>
|secret
| war
|character
| character
|-
|-
|spend_by
| set_called_to
|Spends the scope secret
| sets the target character as already called to the scope war
|spend_by = target_character
| <pre></pre>
|secret
| war
|character
| character
|}
 
=== From scheme scope ===
The following effects are only usable in the scheme scope.
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|add_scheme_modifier
| set_casus_belli
|adds the specified scheme modifier, add_scheme_modifier = { type = X days = Y } (days are optional, the modifier will expire in Y days if specified)
| sets the casus belli of the scope war
|Unspecified
| <pre></pre>
|scheme
| 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
|-
|-
|add_scheme_progress
| every_participant
|Add progress to the scope scheme. (progress is in 0.0 - 100.0 range)
| Iterate through all participants in an activity
|Unspecified
| <pre>every_participant = { limit = { <triggers> } <effects> }</pre>
|scheme
| activity
|
| character
|-
|-
|end_scheme
| invite_character_to_activity
|Ends a specific scheme and removes it without any other effect
| invite a character to the activity
|Unspecified
| <pre></pre>
|scheme
| activity
|
| character
|-
|-
|every_scheme_agent
| move_activity
|Iterate through all agents in the scheme
| Moves activity and all members to given location
|every_scheme_agent = { limit = { <triggers> } <effects> }
| <pre>move_activity = scope:province</pre>
|scheme
| activity
|character
| province
|-
|-
|expose_scheme
| ordered_activity_declined
|Exposes the scheme to the defender
| Iterate through all characters who declined an activity invite to a specific activity
|Unspecified
| <pre>ordered_activity_declined = {
|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>
| activity
| character
|-
|-
|expose_scheme_agent
| ordered_activity_invited
|Exposes the target character as an agent of the current scheme
| Iterate through all characters who have unanswered invites to a specific activity
|Unspecified
| <pre>ordered_activity_invited = {
|scheme
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>
| activity
| character
|-
|-
|ordered_scheme_agent
| ordered_participant
|Iterate through all agents in the scheme
| Iterate through all participants in an activity
|ordered_scheme_agent = {
| <pre>ordered_participant = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第309行: 第431行:
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>
|scheme
| activity
|character
| character
|-
|-
|random_scheme_agent
| random_activity_declined
|Iterate through all agents in the scheme
| Iterate through all characters who declined an activity invite to a specific activity
|random_scheme_agent = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_activity_declined = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|scheme
| activity
|character
| character
|-
|-
|remove_scheme_modifier
| random_activity_invited
|removes the specified scheme modifier
| Iterate through all characters who have unanswered invites to a specific activity
|Unspecified
| <pre>random_activity_invited = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|scheme
| 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
|-
|-
|scheme_freeze_days
| every_side_knight
|scheme_freeze_days = X freezes the scheme for X days (0 unfreezes the scheme)
| Iterate through all knights
|Unspecified
| <pre>every_side_knight = { limit = { <triggers> } <effects> }</pre>
|scheme
| combat side
|
| character
|}
 
=== From religion scope ===
The following effects are only usable in the religion scope.
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|every_faith
| lose_combat
|Iterate through all faiths within a religion
| ends the combat as the losing side (doesn't end the combat if evaluated to false)
|every_faith = { limit = { <triggers> } <effects> }
| <pre></pre>
|religion
| combat side
|faith
|-
|-
|ordered_faith
| ordered_side_commander
|Iterate through all faiths within a religion
| Iterate through all commanders (the commanders of every army on the side, not just the one leading the battle)
|ordered_faith = {
| <pre>ordered_side_commander = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第356行: 第486行:
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>
|religion
| combat side
|faith
| character
|-
|-
|random_faith
| ordered_side_knight
|Iterate through all faiths within a religion
| Iterate through all knights
|random_faith = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_side_knight = {
|religion
limit = { <triggers> }
|faith
order_by = script_value
|}
position = int
 
min = int
=== From province scope ===
max = script_value
The following effects are only usable in the province scope.
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
{| class="wikitable sortable" width="100%"
<effects> }</pre>
! width="15%" | Name
| combat side
! width="15%" | Description
| character
! width="25%" | Usage
|-
! width="20%" | Supported scopes
| random_side_commander
! width="20%" | Supported targets
| 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
|-
|-
|add_building
| win_combat
|Add building to the province<province> = { add_building = <building_name> }
| ends the combat as the winning side (doesn't end the combat if evaluated to false)
|Unspecified
| <pre></pre>
|province
| combat side
|
|-
|-
|add_building_slot
| add_from_contribution_attackers
|Add building slot to the province
| Adds prestige, gold and piety based on contribution to allied attackers. parameters: prestige, gold, piety.
|Unspecified
| <pre></pre>
|province
| casus belli
|
|-
|-
|add_province_modifier
| add_from_contribution_defenders
|Add a modifier to a province
| Adds prestige, gold and piety based on contribution to allied defenders. parameters: prestige, gold, piety.
|add_province_modifier = name
| <pre></pre>
add_province_modifier = { modifier = name days/weeks/months/years = int }
| casus belli
|province
|
|-
|-
|add_special_building
| every_target_title
|Add a special building to the province (will also add/change a special slot if needed)
| Iterate through all casus belli's target titles
|Unspecified
| <pre>every_target_title = { limit = { <triggers> } <effects> }</pre>
|province
| casus belli
|
| landed title
|-
|-
|add_special_building_slot
| ordered_target_title
|Add a special building slot to the province<province> = { add_special_building_slot = <building_name> }
| Iterate through all casus belli's target titles
|Unspecified
| <pre>ordered_target_title = {
|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>
| casus belli
| landed title
|-
|-
|refill_garrison
| random_target_title
|The scoped province gets its garrison refilled. refill_levy = yes/no
| Iterate through all casus belli's target titles
|Unspecified
| <pre>random_target_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|province
| casus belli
|
| landed title
|-
|-
|refill_levy
| add_loot
|The scoped province gets its levy refilled
| Adds loot to the currently scoped raiding army.
|refill_levy = yes/no
| <pre>Usage:
|province
add_loot = VALUE</pre>
|
| army
|-
|-
|remove_all_province_modifier_instances
| assign_commander
|Remove all instances of a modifier from a province
| Assign a commander for the scoped army
|remove_all_province_modifier_instances = name
| <pre>set_commander = scope:a_character</pre>
|province
| army
|
| character
|-
|-
|remove_province_modifier
| remove_commander
|Remove a modifier from a province
| Removes the currently assigned commander from the scoped army
|remove_province_modifier = name
| <pre>remove_commander = yes</pre>
|province
| army
|
|-
|-
|set_holding_type
| set_army_location
|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.
| 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_holding_type = holding_typr
| <pre>set_army_location = scope:province</pre>
|province
| army
|
| province
|-
|-
|spawn_activity
| add_artifact_history
|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
| Adds a history entry to the artifact, could for example be a reforging event
|Unspecified
| <pre>
|province
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
=== From landed title scope ===
location = province - where the event took place</pre>
The following effects are only usable in the landed title scope.
| artifact
{| class="wikitable sortable" width="100%"
|
! width="15%" | Name
|-
! width="15%" | Description
| add_artifact_modifier
! width="25%" | Usage
| Adds a static modifier to the given artifact
! width="20%" | Supported scopes
| <pre>add_artifact_modifier = modifier_name
! width="20%" | Supported targets
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_county_modifier
| add_durability
|Add a modifier to a county
| Add this much to the artifacts durability
|add_county_modifier = name
| <pre></pre>
add_county_modifier = { modifier = name days/weeks/months/years = int }
| artifact
|landed title
|
|-
|-
|change_county_control
| clear_artifact_modifiers
|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.
| Removes all modifiers from the scoped artifact
|Unspecified
| <pre>clear_artifact_modifiers = yes</pre>
|landed title
| artifact
|
|-
|-
|change_de_jure_drift_progress
| copy_artifact_modifiers
|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> } }
| Copies the modifiers of the target artifact. Does *not* clear out existing modifiers
|Unspecified
| <pre>copy_artifact_modifiers = target_artifact</pre>
|landed title
| artifact
|
| artifact
|-
|-
|change_development_level
| every_artifact_claimant
|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.
| Iterate through all characters with a claim on the scoped artifact
|Unspecified
| <pre>every_artifact_claimant = { limit = { <triggers> } <effects> }</pre>
|landed title
| artifact
|
| character
|-
|-
|change_development_progress
| every_artifact_house_claimant
|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.
| Iterate through all dynasty houses with a claim on the scoped artifact
|Unspecified
| <pre>every_artifact_house_claimant = { limit = { <triggers> } <effects> }</pre>
|landed title
| artifact
|
| dynasty house
|-
|-
|change_development_progress_with_overflow
| ordered_artifact_claimant
|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
| Iterate through all characters with a claim on the scoped artifact
|Unspecified
| <pre>ordered_artifact_claimant = {
|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>
| artifact
| character
|-
|-
|clear_title_laws
| ordered_artifact_house_claimant
|remove all title laws from the scoped title. DOES NOT apply law removal costs and effects.
| Iterate through all dynasty houses with a claim on the scoped artifact
|clear_title_laws = yes
| <pre>ordered_artifact_house_claimant = {
|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>
| artifact
| dynasty house
|-
|-
|clear_title_laws_effects
| random_artifact_claimant
|remove all title laws from the scoped title. DOES apply law removal costs and effects.
| Iterate through all characters with a claim on the scoped artifact
|clear_title_laws_effects = yes
| <pre>random_artifact_claimant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| artifact
|
| character
|-
|-
|copy_title_history
| random_artifact_house_claimant
|Copy title history from another title
| Iterate through all dynasty houses with a claim on the scoped artifact
|copy_title_history = source_title
| <pre>random_artifact_house_claimant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| artifact
|landed title
| dynasty house
|-
|-
|every_claimant
| reforge_artifact
|Iterate through all claimants to title. parameters: explicit = yes/no/all - default yes
| Reforges the given artifact, restoring its durability and potentially changing any other attributes such as type or modifiers unless those fields are left empty
|every_claimant = { limit = { <triggers> } <effects> }
| <pre>
|landed title
Be aware that we make use of the current scopes implicitly. This is done in common/artifacts/visuals
|character
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
|-
|-
|every_connected_county
| remove_artifact_feature_group
|Iterate through all counties connected to this one. Is based on top liege
| Removes th feature from the specified group from the artifact.
|every_connected_county = {
| <pre>Cannot remove required groups.
max_naval_distance = 500
remove_artifact_feature_group = key</pre>
allow_one_county_land_gap = yes
| artifact
every_connected_county = { limit = { <triggers> } <effects> }
|landed title
|landed title
|-
|-
|every_county_province
| remove_artifact_modifier
|Iterate through all provinces in a county
| Removes a static modifier to the given artifact
|every_county_province = { limit = { <triggers> } <effects> }
| <pre>remove_artifact_modifier = modifier_name
|landed title
NOTE: does not support duration!</pre>
|province
| artifact
|-
|-
|every_de_jure_county_holder
| set_artifact_description
|Iterate through all characters directly holding counties within this dejure title
| Sets the description of the given artifact
|every_de_jure_county_holder = { limit = { <triggers> } <effects> }
| <pre>set_artifact_description = dynamic desc</pre>
|landed title
| artifact
|character
|-
|-
|every_de_jure_top_liege
| set_artifact_feature
|Iterate through all top lieges of the counts within this dejure title
| Sets the specified feature on the artifact.
|every_de_jure_top_liege = { limit = { <triggers> } <effects> }
| <pre>If there's already a feature of that group, it gets overridden.
|landed title
set_artifact_feature = key</pre>
|character
| artifact
|-
|-
|every_dejure_vassal_title_holder
| set_artifact_feature_group
|Iterate through all the vassal holders of the title
| Sets a feature from the specified group on the artifact.
|every_dejure_vassal_title_holder = { limit = { <triggers> } <effects> }
| <pre>Uses the current scopes. Uses the weighting from the group.
|landed title
If there's already a feature of that group, it gets overridden.
|character
set_artifact_feature_group = key</pre>
| artifact
|-
|-
|every_election_candidate
| set_artifact_name
|Iterate through all characters who are valid candidates in an election for a title
| Sets the name of the given artifact
|every_election_candidate = { limit = { <triggers> } <effects> }
| <pre>set_artifact_name = dynamic name</pre>
|landed title
| artifact
|character
|-
|-
|every_elector
| set_artifact_rarity
|Iterate through all characters who are valid electors in an election for a title
| Sets the rarity of the scoped artifact. Note that this does not update graphics and the like
|every_elector = { limit = { <triggers> } <effects> }
| <pre>set_artifact_rarity = common</pre>
|landed title
| artifact
|character
|-
|-
|every_in_de_facto_hierarchy
| set_max_durability
|Iterate through the title itself, all de facto vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal
| Sets the artifact's max durability
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 } }
| <pre></pre>
|every_in_de_facto_hierarchy = { limit = { <triggers> } <effects> }
| artifact
|landed title
|landed title
|-
|-
|every_in_de_jure_hierarchy
| set_owner
|Iterate through the title itself, all de jure vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal
| Change the artifacts owner and transfer it to the given character
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 } }
| <pre>
|every_in_de_jure_hierarchy = { limit = { <triggers> } <effects> }
set_artifact_owner = {}
|landed title
target = character scope - the new owner character
|landed title
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
|-
|-
|every_neighboring_county
| set_should_decay
|Iterate through all neighboring counties. Can only be used in county scope
| Set if the scoped artifact should decay with time or not
|every_neighboring_county = { limit = { <triggers> } <effects> }
| <pre>set_should_decay = yes/no</pre>
|landed title
| artifact
|landed title
|-
|-
|every_this_title_or_de_jure_above
| generate_coa
|Iterate through this title and all its dejure liege titles
| Generates a coat of arms for the scoped landed title, dynasty or house
|every_this_title_or_de_jure_above = { limit = { <triggers> } <effects> }
| <pre>generate_coa = yes</pre>
|landed title
| landed title, dynasty, dynasty house
|landed title
|-
|-
|every_title_heir
| reset_coa
|Line of succession for the scoped title
| Rest the coat of arms for the scoped landed title, dynasty or house to its template
|every_title_heir = { limit = { <triggers> } <effects> }
| <pre>reset_coa = yes</pre>
|landed title
| landed title, dynasty, dynasty house
|character
|-
|-
|every_title_joined_faction
| set_coa
|Iterate through all factions joined the scope landed title
| 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
|every_title_joined_faction = { limit = { <triggers> } <effects> }
| <pre>set_coa = k_england
|landed title
set_coa = scope:new_coa</pre>
|faction
| landed title, dynasty, dynasty house
|-
|-
|every_title_to_title_neighboring_and_across_water_barony
| add_county_modifier
|Scopes from a title to a neighboring barony (incl. across water, looking trough the de Jure lieges)
| Add a modifier to a county
|every_title_to_title_neighboring_and_across_water_barony = { limit = { <triggers> } <effects> }
| <pre>add_county_modifier = name
|landed title
add_county_modifier = { modifier = name days/weeks/months/years = int }
|landed title
You can also add an optional 'desc' field. This is a dynamic description that'll be used for your timed modifier</pre>
| landed title
|-
|-
|every_title_to_title_neighboring_and_across_water_county
| change_county_control
|Scopes from a title to a neighboring county (incl. across water, looking trough the de Jure lieges)
| 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.
|every_title_to_title_neighboring_and_across_water_county = { limit = { <triggers> } <effects> }
| <pre></pre>
|landed title
| landed title
|landed title
|-
|-
|every_title_to_title_neighboring_and_across_water_duchy
| change_de_jure_drift_progress
|Scopes from a title to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
| 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> } }
|every_title_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } <effects> }
| <pre></pre>
|landed title
| landed title
|landed title
|-
|-
|every_title_to_title_neighboring_and_across_water_empire
| change_development_level
|Scopes from a title to a neighboring empire (incl. across water, looking trough the de Jure lieges)
| 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.
|every_title_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } <effects> }
| <pre></pre>
|landed title
| landed title
|landed title
|-
|-
|every_title_to_title_neighboring_and_across_water_kingdom
| change_development_progress
|Scopes from a title to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
| 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.
|every_title_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } <effects> }
| <pre></pre>
|landed title
| landed title
|landed title
|-
|-
|every_title_to_title_neighboring_barony
| change_development_progress_with_overflow
|Scopes from a title to a neighboring barony (looking trough the de Jure lieges)
| 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
|every_title_to_title_neighboring_barony = { limit = { <triggers> } <effects> }
| <pre></pre>
|landed title
| landed title
|landed title
|-
|-
|every_title_to_title_neighboring_county
| clear_title_laws
|Scopes from a title to a neighboring county (looking trough the de Jure lieges)
| remove all title laws from the scoped title. DOES NOT apply law removal costs and effects.
|every_title_to_title_neighboring_county = { limit = { <triggers> } <effects> }
| <pre>clear_title_laws = yes</pre>
|landed title
| landed title
|landed title
|-
|-
|every_title_to_title_neighboring_duchy
| clear_title_laws_effects
|Scopes from a title to a neighboring duchy (looking trough the de Jure lieges)
| remove all title laws from the scoped title. DOES apply law removal costs and effects.
|every_title_to_title_neighboring_duchy = { limit = { <triggers> } <effects> }
| <pre>clear_title_laws_effects = yes</pre>
|landed title
| landed title
|landed title
|-
|-
|every_title_to_title_neighboring_empire
| copy_title_history
|Scopes from a title to a neighboring empire (looking trough the de Jure lieges)
| Copy title history from another title
|every_title_to_title_neighboring_empire = { limit = { <triggers> } <effects> }
| <pre>copy_title_history = source_title</pre>
|landed title
| landed title
|landed title
| landed title
|-
|-
|every_title_to_title_neighboring_kingdom
| every_any_past_holder
|Scopes from a title to a neighboring kingdom (looking trough the de Jure lieges)
| Iterate through all past owners of a title from earliest to latest
|every_title_to_title_neighboring_kingdom = { limit = { <triggers> } <effects> }
| <pre>every_any_past_holder = { limit = { <triggers> } <effects> }</pre>
|landed title
| landed title
|landed title
| character
|-
|-
|lease_out_to
| every_any_past_holder_reversed
|Lease out the scoped title
| Iterate through all past owners of a title from latest to earliest
|lease_out_to = scope:a_holy_order
| <pre>every_any_past_holder_reversed = { limit = { <triggers> } <effects> }</pre>
|landed title
| landed title
|
| character
|-
|-
|ordered_claimant
| every_claimant
|Iterate through all claimants to title. parameters: explicit = yes/no/all - default yes
| Iterate through all claimants to title. parameters: explicit = yes/no/all - default yes
|ordered_claimant = {
| <pre>every_claimant = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| 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 = {
max_naval_distance = 500
allow_one_county_land_gap = yes
every_connected_county = { limit = { <triggers> } <effects> }</pre>
| landed title
| landed title
|-
| every_county_province
| Iterate through all provinces in a county
| <pre>every_county_province = { limit = { <triggers> } <effects> }</pre>
| landed title
| province
|-
| 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
| 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
| 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
| character
|-
| 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
| 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
| 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
..._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
..._de_jure_vassal_and_below = { continue = { conditions } }
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
|-
| 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
|-
| every_title_heir
| Line of succession for the scoped title
| <pre>every_title_heir = { limit = { <triggers> } <effects> }</pre>
| 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
| 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
|-
| 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
|-
| 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
|-
| 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
|-
| 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
|-
| 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
|-
| 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
|-
| 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
|-
| lease_out_to
| Lease out the scoped title
| <pre>lease_out_to = scope:a_holy_order</pre>
| landed title
| holy order
|-
| ordered_any_past_holder
| Iterate through all past owners of a title from earliest to latest
| <pre>ordered_any_past_holder = {
limit = { <triggers> }
order_by = script_value
order_by = script_value
position = int
position = int
第672行: 第1,025行:
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
| landed title
|character
| character
|-
|-
|ordered_connected_county
| ordered_any_past_holder_reversed
|Iterate through all counties connected to this one. Is based on top liege
| Iterate through all past owners of a title from latest to earliest
|ordered_connected_county = {
| <pre>ordered_any_past_holder_reversed = {
max_naval_distance = 500
allow_one_county_land_gap = yes
}
ordered_connected_county = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第689行: 第1,038行:
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
| landed title
|landed title
| character
|-
|-
|ordered_county_province
| ordered_claimant
|Iterate through all provinces in a county
| Iterate through all claimants to title. parameters: explicit = yes/no/all - default yes
|ordered_county_province = {
| <pre>ordered_claimant = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第702行: 第1,051行:
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
| landed title
|province
| character
|-
|-
|ordered_de_jure_county_holder
| ordered_connected_county
|Iterate through all characters directly holding counties within this dejure title
| Iterate through all counties connected to this one. Is based on top liege
|ordered_de_jure_county_holder = {
| <pre>any/every/whatever_connectec_county = {
max_naval_distance = 500
allow_one_county_land_gap = yes
ordered_connected_county = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第715行: 第1,067行:
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
| landed title
|character
| landed title
|-
|-
|ordered_de_jure_top_liege
| ordered_county_province
|Iterate through all top lieges of the counts within this dejure title
| Iterate through all provinces in a county
|ordered_de_jure_top_liege = {
| <pre>ordered_county_province = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第728行: 第1,080行:
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
| landed title
|character
| province
|-
|-
|ordered_dejure_vassal_title_holder
| ordered_de_jure_county_holder
|Iterate through all the vassal holders of the title
| Iterate through all characters directly holding counties within this dejure title
|ordered_dejure_vassal_title_holder = {
| <pre>ordered_de_jure_county_holder = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第741行: 第1,093行:
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
| landed title
|character
| character
|-
|-
|ordered_election_candidate
| ordered_de_jure_top_liege
|Iterate through all characters who are valid candidates in an election for a title
| Iterate through all top lieges of the counts within this dejure title
|ordered_election_candidate = {
| <pre>ordered_de_jure_top_liege = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第754行: 第1,106行:
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
| landed title
|character
| character
|-
|-
|ordered_elector
| ordered_dejure_vassal_title_holder
|Iterate through all characters who are valid electors in an election for a title
| Iterate through all the vassal holders of the title
|ordered_elector = {
| <pre>ordered_dejure_vassal_title_holder = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第767行: 第1,119行:
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
| landed title
|character
| character
|-
|-
|ordered_in_de_facto_hierarchy
| ordered_election_candidate
|Iterate through the title itself, all de facto vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal
| Iterate through all characters who are valid candidates in an election for a title
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
| <pre>ordered_election_candidate = {
..._de_jure_vassal_and_below = { continue = { conditions } }
|ordered_in_de_facto_hierarchy = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第782行: 第1,132行:
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
| landed title
|landed title
| character
|-
|-
|ordered_in_de_jure_hierarchy
| ordered_elector
|Iterate through the title itself, all de jure vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal
| Iterate through all characters who are valid electors in an election for a title
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
| <pre>ordered_elector = {
..._de_jure_vassal_and_below = { continue = { conditions } }
|ordered_in_de_jure_hierarchy = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第797行: 第1,145行:
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
| landed title
|landed title
| character
|-
|-
|ordered_neighboring_county
| ordered_in_de_facto_hierarchy
|Iterate through all neighboring counties. Can only be used in county scope
| Iterate through the title itself, all de facto vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal
|ordered_neighboring_county = {
| <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> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第810行: 第1,160行:
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
| landed title
|landed title
| landed title
|-
|-
|ordered_this_title_or_de_jure_above
| ordered_in_de_jure_hierarchy
|Iterate through this title and all its dejure liege titles
| Iterate through the title itself, all de jure vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal
|ordered_this_title_or_de_jure_above = {
| <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> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第823行: 第1,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>
|landed title
| landed title
|landed title
| landed title
|-
|-
|ordered_title_heir
| ordered_neighboring_county
|Line of succession for the scoped title
| Iterate through all neighboring counties. Can only be used in county scope
|ordered_title_heir = {
| <pre>ordered_neighboring_county = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第836行: 第1,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>
|landed title
| landed title
|character
| landed title
|-
|-
|ordered_title_joined_faction
| ordered_this_title_or_de_jure_above
|Iterate through all factions joined the scope landed title
| Iterate through this title and all its dejure liege titles
|ordered_title_joined_faction = {
| <pre>ordered_this_title_or_de_jure_above = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第849行: 第1,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>
|landed title
| landed title
|faction
| landed title
|-
|-
|ordered_title_to_title_neighboring_and_across_water_barony
| ordered_title_heir
|Scopes from a title to a neighboring barony (incl. across water, looking trough the de Jure lieges)
| Line of succession for the scoped title
|ordered_title_to_title_neighboring_and_across_water_barony = {
| <pre>ordered_title_heir = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第862行: 第1,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>
|landed title
| landed title
|landed title
| character
|-
|-
|ordered_title_to_title_neighboring_and_across_water_county
| ordered_title_joined_faction
|Scopes from a title to a neighboring county (incl. across water, looking trough the de Jure lieges)
| Iterate through all factions joined the scope landed title
|ordered_title_to_title_neighboring_and_across_water_county = {
| <pre>ordered_title_joined_faction = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第875行: 第1,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>
|landed title
| landed title
|landed title
| faction
|-
|-
|ordered_title_to_title_neighboring_and_across_water_duchy
| ordered_title_to_title_neighboring_and_across_water_county
|Scopes from a title to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
| 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_duchy = {
| <pre>ordered_title_to_title_neighboring_and_across_water_county = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第888行: 第1,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>
|landed title
| landed title
|landed title
| landed title
|-
|-
|ordered_title_to_title_neighboring_and_across_water_empire
| ordered_title_to_title_neighboring_and_across_water_duchy
|Scopes from a title to a neighboring empire (incl. across water, looking trough the de Jure lieges)
| 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_empire = {
| <pre>ordered_title_to_title_neighboring_and_across_water_duchy = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第901行: 第1,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>
|landed title
| landed title
|landed title
| landed title
|-
|-
|ordered_title_to_title_neighboring_and_across_water_kingdom
| ordered_title_to_title_neighboring_and_across_water_empire
|Scopes from a title to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
| 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_kingdom = {
| <pre>ordered_title_to_title_neighboring_and_across_water_empire = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第914行: 第1,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>
|landed title
| landed title
|landed title
| landed title
|-
|-
|ordered_title_to_title_neighboring_barony
| ordered_title_to_title_neighboring_and_across_water_kingdom
|Scopes from a title to a neighboring barony (looking trough the de Jure lieges)
| Scopes from a title to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
|ordered_title_to_title_neighboring_barony = {
| <pre>ordered_title_to_title_neighboring_and_across_water_kingdom = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第927行: 第1,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>
|landed title
| landed title
|landed title
| landed title
|-
|-
|ordered_title_to_title_neighboring_county
| ordered_title_to_title_neighboring_county
|Scopes from a title to a neighboring county (looking trough the de Jure lieges)
| Scopes from a title to a neighboring county (looking trough the de Jure lieges)
|ordered_title_to_title_neighboring_county = {
| <pre>ordered_title_to_title_neighboring_county = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第940行: 第1,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>
|landed title
| landed title
|landed title
| landed title
|-
|-
|ordered_title_to_title_neighboring_duchy
| ordered_title_to_title_neighboring_duchy
|Scopes from a title to a neighboring duchy (looking trough the de Jure lieges)
| Scopes from a title to a neighboring duchy (looking trough the de Jure lieges)
|ordered_title_to_title_neighboring_duchy = {
| <pre>ordered_title_to_title_neighboring_duchy = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第953行: 第1,305行:
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
| landed title
|landed title
| landed title
|-
|-
|ordered_title_to_title_neighboring_empire
| ordered_title_to_title_neighboring_empire
|Scopes from a title to a neighboring empire (looking trough the de Jure lieges)
| Scopes from a title to a neighboring empire (looking trough the de Jure lieges)
|ordered_title_to_title_neighboring_empire = {
| <pre>ordered_title_to_title_neighboring_empire = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第966行: 第1,318行:
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
| landed title
|landed title
| landed title
|-
|-
|ordered_title_to_title_neighboring_kingdom
| ordered_title_to_title_neighboring_kingdom
|Scopes from a title to a neighboring kingdom (looking trough the de Jure lieges)
| Scopes from a title to a neighboring kingdom (looking trough the de Jure lieges)
|ordered_title_to_title_neighboring_kingdom = {
| <pre>ordered_title_to_title_neighboring_kingdom = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第979行: 第1,331行:
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
| landed title
|landed title
| landed title
|-
|-
|random_claimant
| random_any_past_holder
|Iterate through all claimants to title. parameters: explicit = yes/no/all - default yes
| Iterate through all past owners of a title from earliest to latest
|random_claimant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_any_past_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|character
| character
|-
|-
|random_connected_county
| random_any_past_holder_reversed
|Iterate through all counties connected to this one. Is based on top liege
| Iterate through all past owners of a title from latest to earliest
random_connected_county = {
| <pre>random_any_past_holder_reversed = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
max_naval_distance = 500
| landed title
allow_one_county_land_gap = yes
| character
}
|random_connected_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|landed title
|-
|-
|random_county_province
| random_claimant
|Iterate through all provinces in a county
| Iterate through all claimants to title. parameters: explicit = yes/no/all - default yes
|random_county_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_claimant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|province
| character
|-
|-
|random_de_jure_county_holder
| random_connected_county
|Iterate through all characters directly holding counties within this dejure title
| Iterate through all counties connected to this one. Is based on top liege
|random_de_jure_county_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>any/every/whatever_connectec_county = {
|landed title
max_naval_distance = 500
|character
allow_one_county_land_gap = yes
random_connected_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
| landed title
| landed title
|-
|-
|random_de_jure_top_liege
| random_county_province
|Iterate through all top lieges of the counts within this dejure title
| Iterate through all provinces in a county
|random_de_jure_top_liege = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_county_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|character
| province
|-
|-
|random_dejure_vassal_title_holder
| random_de_jure_county_holder
|Iterate through all the vassal holders of the title
| Iterate through all characters directly holding counties within this dejure title
|random_dejure_vassal_title_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_de_jure_county_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|character
| character
|-
|-
|random_election_candidate
| random_de_jure_top_liege
|Iterate through all characters who are valid candidates in an election for a title
| Iterate through all top lieges of the counts within this dejure title
|random_election_candidate = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_de_jure_top_liege = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|character
| character
|-
|-
|random_elector
| random_dejure_vassal_title_holder
|Iterate through all characters who are valid electors in an election for a title
| Iterate through all the vassal holders of the title
|random_elector = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_dejure_vassal_title_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|character
| character
|-
|-
|random_in_de_facto_hierarchy
| random_election_candidate
|Iterate through the title itself, all de facto vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal
| Iterate through all characters who are valid candidates in an election for a title
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
| <pre>random_election_candidate = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
| 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 } }
..._de_jure_vassal_and_below = { continue = { conditions } }
|random_in_de_facto_hierarchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
random_in_de_facto_hierarchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|landed title
| landed title
|
|-
|-
|random_in_de_jure_hierarchy
| 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
| 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
| <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 } }
..._de_jure_vassal_and_below = { continue = { conditions } }
|random_in_de_jure_hierarchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
random_in_de_jure_hierarchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|landed title
| landed title
|-
|-
|random_neighboring_county
| random_neighboring_county
|Iterate through all neighboring counties. Can only be used in county scope
| Iterate through all neighboring counties. Can only be used in county scope
|random_neighboring_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_neighboring_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|landed title
| landed title
|-
|-
|random_this_title_or_de_jure_above
| random_this_title_or_de_jure_above
|Iterate through this title and all its dejure liege titles
| Iterate through this title and all its dejure liege titles
|random_this_title_or_de_jure_above = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_this_title_or_de_jure_above = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|landed title
| landed title
|-
|-
|random_title_heir
| random_title_heir
|Line of succession for the scoped title
| Line of succession for the scoped title
|random_title_heir = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_title_heir = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|character
| character
|-
|-
|random_title_joined_faction
| random_title_joined_faction
|Iterate through all factions joined the scope landed title
| Iterate through all factions joined the scope landed title
|random_title_joined_faction = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_title_joined_faction = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|faction
| faction
|-
|-
|random_title_to_title_neighboring_and_across_water_barony
| random_title_to_title_neighboring_and_across_water_county
|Scopes from a title to a neighboring barony (incl. across water, looking trough the de Jure lieges)
| 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_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_title_to_title_neighboring_and_across_water_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|landed title
| landed title
|-
|-
|random_title_to_title_neighboring_and_across_water_county
| random_title_to_title_neighboring_and_across_water_duchy
|Scopes from a title to a neighboring county (incl. across water, looking trough the de Jure lieges)
| 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_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_title_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|landed title
| landed title
|-
|-
|random_title_to_title_neighboring_and_across_water_duchy
| random_title_to_title_neighboring_and_across_water_empire
|Scopes from a title to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
| 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_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_title_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|landed title
| landed title
|-
|-
|random_title_to_title_neighboring_and_across_water_empire
| random_title_to_title_neighboring_and_across_water_kingdom
|Scopes from a title to a neighboring empire (incl. across water, looking trough the de Jure lieges)
| 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_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_title_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|landed title
| landed title
|-
|-
|random_title_to_title_neighboring_and_across_water_kingdom
| random_title_to_title_neighboring_county
|Scopes from a title to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
| Scopes from a title to a neighboring county (looking trough the de Jure lieges)
|random_title_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_title_to_title_neighboring_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|landed title
| landed title
|-
|-
|random_title_to_title_neighboring_barony
| random_title_to_title_neighboring_duchy
|Scopes from a title to a neighboring barony (looking trough the de Jure lieges)
| Scopes from a title to a neighboring duchy (looking trough the de Jure lieges)
|random_title_to_title_neighboring_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_title_to_title_neighboring_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|landed title
| landed title
|-
|-
|random_title_to_title_neighboring_county
| random_title_to_title_neighboring_empire
|Scopes from a title to a neighboring county (looking trough the de Jure lieges)
| Scopes from a title to a neighboring empire (looking trough the de Jure lieges)
|random_title_to_title_neighboring_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_title_to_title_neighboring_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|landed title
| landed title
|-
|-
|random_title_to_title_neighboring_duchy
| random_title_to_title_neighboring_kingdom
|Scopes from a title to a neighboring duchy (looking trough the de Jure lieges)
| Scopes from a title to a neighboring kingdom (looking trough the de Jure lieges)
|random_title_to_title_neighboring_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_title_to_title_neighboring_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|landed title
| landed title
|landed title
| landed title
|-
|-
|random_title_to_title_neighboring_empire
| remove_all_county_modifier_instances
|Scopes from a title to a neighboring empire (looking trough the de Jure lieges)
| Remove all instances of a modifier from a county
|random_title_to_title_neighboring_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>remove_all_county_modifier_instances = name</pre>
|landed title
| landed title
|landed title
|-
|-
|random_title_to_title_neighboring_kingdom
| remove_county_modifier
|Scopes from a title to a neighboring kingdom (looking trough the de Jure lieges)
| Remove a modifier from a county
|random_title_to_title_neighboring_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>remove_county_modifier = name</pre>
|landed title
| landed title
|landed title
|-
|-
|remove_all_county_modifier_instances
| reset_title_name
|Remove all instances of a modifier from a county
| Sets the name and adjective of the scoped title back to being based on its key. Won't cause the prefix to change
|remove_all_county_modifier_instances = name
| <pre>reset_title_name = yes</pre>
|landed title
| 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
|-
|-
|remove_county_modifier
| set_always_follows_primary_heir
|Remove a modifier from a county
| Sets if the title should always go to the primary heir in partition succession
|remove_county_modifier = name
| <pre>set_always_follows_primary_heir = yes</pre>
|landed title
| landed title
|
|-
|-
|reset_title_name
| set_can_be_named_after_dynasty
|Sets the name and adjective of the scoped title back to being based on its key. Won't cause the prefix to change
| Sets if the title can be named after it's holder's dynasty. set_can_be_named_after_dynasty_effect = no
|reset_title_name = yes
| <pre></pre>
|landed title
| landed title
|
|-
|-
|reset_title_prefix
| set_capital_barony
|Sets the prefix of the scoped title back to being based on its key. Won't cause its adjective or name to change
| Sets scoped barony to be the county capital
|reset_title_prefix = yes
| <pre>set_capital_barony = yes</pre>
|landed title
| landed title
|
|-
|-
|revoke_lease
| set_capital_county
|Revoke the lease of the scoped title
| Sets the capital county of the title to the target county
|revoke_lease = yes
| <pre>set_capital_county = <some county title></pre>
|landed title
| landed title
|
| landed title
|-
|-
|set_always_follows_primary_heir
| set_color_from_title
|Sets if the title should always go to the primary heir in partition succession
| Sets the color of the title to the same as the target title (shifted very slightly to not be identical)
|set_always_follows_primary_heir = yes
| <pre>set_color_from_title = <some title></pre>
|landed title
| landed title
|
| landed title
|-
|-
|set_capital_county
| set_county_culture
|Sets the capital county of the title to the target county
| sets the culture of a county
|set_capital_county = <some county title>
| <pre>usage:
|landed title
set_county_culture = culture:english/root.character_culture</pre>
|landed title
| landed title
| culture
|-
|-
|set_color_from_title
| set_county_faith
|Sets the color of the title to the same as the target title (shifted very slightly to not be identical)
| Changes what faith a county has
|set_color_from_title = <some title>
| <pre></pre>
|landed title
| landed title
|landed title
| faith
|-
|-
|set_county_culture
| set_de_jure_liege_title
|Sets the culture of a county
| Set a new DeJure liege title
|set_county_culture = english/root.character_culture
| <pre>set_de_jure_liege_title = new_de_jure_liege</pre>
|landed title
| landed title
|
| landed title
|-
|-
|set_county_faith
| set_definitive_form
|Changes what faith a county has
| Sets if the title should use a definitive form name (no 'Kingdom of')
|Unspecified
| <pre>set_definitive_form = yes</pre>
|landed title
| landed title
|
|-
|-
|set_de_jure_liege_title
| set_delete_on_destroy
|Set a new DeJure liege title
| Sets if the title should be deleted from the gamestate completely when it is destroyed. set_delete_on_destroy = yes
|set_de_jure_liege_title = new_de_jure_liege
| <pre></pre>
|landed title
| landed title
|landed title
|-
|-
|set_definitive_form
| set_destroy_if_invalid_heir
|Sets if the title should use a definitive form name (no 'Kingdom of')
| Sets if the title should be destroyed on succession if there's no heir matching its restrictions. set_destroy_if_invalid_heir = yes
|set_definitive_form = yes
| <pre></pre>
|landed title
| landed title
|
|-
|-
|set_delete_on_destroy
| set_destroy_on_gain_same_tier
|Sets if the title should be deleted from the gamestate completely when it is destroyed
| 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
|set_delete_on_destroy = yes
| <pre></pre>
|landed title
| landed title
|
|-
|-
|set_destroy_if_invalid_heir
| set_destroy_on_succession
|Sets if the title should be destroyed on succession if there's no heir matching its restrictions
| Sets if the title should be destroyed on succession. set_destroy_on_succession = yes
|set_destroy_if_invalid_heir = yes
| <pre></pre>
|landed title
| landed title
|
|-
|-
|set_destroy_on_succession
| set_landless_title
|Sets if the title should be destroyed on succession
| Sets if the title is landless (can be held by rulers with no land)
|set_destroy_on_succession = yes
| <pre>set_landless_title = yes</pre>
|landed title
| landed title
|
|-
|-
|set_landless_title
| set_no_automatic_claims
|Sets if the title is landless (can be held by rulers with no land)
| Sets if the title should disallow automatic claims (meaning claims will only be added by script, and by pressed claims being inherited).
|set_landless_title = yes
| <pre>set_no_automatic_claims = yes</pre>
|landed title
| landed title
|
|-
|-
|set_no_automatic_claims
| set_title_name
|Sets if the title should disallow automatic claims (meaning claims will only be added by script, and by pressed claims being inherited).
| 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_no_automatic_claims = yes
| <pre>set_title_name = TEST_NAME_PLEASE_IGNORE</pre>
|landed title
| landed title
|
|-
|-
|set_title_name
| set_title_prefix
|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
| sets the prefix of the scoped title. Won't cause its name or adjective to change
|set_title_name = TEST_NAME_PLEASE_IGNORE
| <pre>set_title_prefix = PREFIX_THE</pre>
|landed title
| landed title
|
|-
|-
|set_title_prefix
| title_create_faction
|sets the prefix of the scoped title. Won't cause its name or adjective to change
| the scoped landed title creates a faction of the specified type against the specified target, title_create_faction = { type = X target = Y }
|set_title_prefix = PREFIX_THE
| <pre></pre>
|landed title
| landed title
|
|-
|-
|title_create_faction
| title_join_faction
|the scoped landed title creates a faction of the specified type against the specified target, title_create_faction = { type = X target = Y }
| the landed title in the scope joins the assigned faction
|Unspecified
| <pre></pre>
|landed title
| landed title
|
| faction
|-
|-
|title_join_faction
| title_leave_faction
|the landed title in the scope joins the assigned faction
| the title in the scope leaves the assigned faction
|Unspecified
| <pre></pre>
|landed title
| landed title
|
| faction
|-
|-
|title_leave_faction
| update_dynamic_coa
|the title in the scope leaves the assigned faction
| update_dynamic_coa = yes
|Unspecified
| <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
| landed title
|
|}
 
=== From holy order scope ===
The following effects are only usable in the holy order scope.
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|every_leased_title
| add_culture_tradition
|Iterate through all titles leased to a holy order
| Adds the cultural tradition specified in the RHS to the scope culture.add_culture_tradition = tradition_court_eunuchs
|every_leased_title = { limit = { <triggers> } <effects> }
| <pre></pre>
|holy order
| culture
|landed title
|-
|-
|ordered_leased_title
| add_innovation
|Iterate through all titles leased to a holy order
| Add innovation to a culture. add_innovation = innovation_key
|ordered_leased_title = {
| <pre></pre>
limit = { <triggers> }
| culture
order_by = script_value
|
position = int
|-
min = int
| add_name_list
max = script_value
| Adds the name list to the culture
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
| <pre><culture> = { add_name_list = name }</pre>
<effects> }
| culture
|holy order
|
|landed title
|-
| 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
|-
| 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
|-
| 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
|-
| 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
|-
| 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
|-
|-
|random_leased_title
| every_parent_culture
|Iterate through all titles leased to a holy order
| Iterate through all parent cultures
|random_leased_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_parent_culture = { limit = { <triggers> } <effects> }</pre>
|holy order
| culture
|landed title
| culture
|}
 
=== From dynasty scope ===
The following effects are only usable in the dynasty scope.
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|add_dynasty_modifier
| every_parent_culture_or_above
|Add a modifier to a dynasty
| Iterate through all parent cultures or above
|add_dynasty_modifier = name
| <pre>every_parent_culture_or_above = { limit = { <triggers> } <effects> }</pre>
add_dynasty_modifier = { modifier = name days/weeks/months/years = int }
| culture
|dynasty
| culture
|
|-
|-
|add_dynasty_perk
| get_all_innovations_from
|Adds dynasty perk
| Discover all innovations from the target culture
|add_dynasty_perk = key
| <pre>get_all_innovations_from = <culture></pre>
|dynasty
| culture
|
| culture
|-
|-
|add_dynasty_prestige
| get_random_innovation_from
|adds dynasty prestige
| Get random available innovation from another culture
|Unspecified
| <pre></pre>
|dynasty
| culture
|
|-
|-
|add_dynasty_prestige_level
| join_era
|adds dynasty prestige levels
| Joins all culture eras up to and including the given one
|Unspecified
| <pre>join_era = culture_era_type</pre>
|dynasty
| culture
|
|-
|-
|every_dynasty_member
| leave_era
|Iterate through all dynasty members
| Leaves all culture eras down to and including the given one
|every_dynasty_member = { limit = { <triggers> } <effects> }
| <pre>leave_era = culture_era_type</pre>
|dynasty
| culture
|character
|-
|-
|ordered_dynasty_member
| ordered_culture_county
|Iterate through all dynasty members
| Iterate through all counties of the culture
|ordered_dynasty_member = {
| <pre>ordered_culture_county = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第1,353行: 第1,770行:
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
| culture
|character
| landed title
|-
|-
|random_dynasty_member
| ordered_culture_duchy
|Iterate through all dynasty members
| Iterate through all duchies of the culture (duchies with at least one county of the culture
|random_dynasty_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_culture_duchy = {
|dynasty
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>
| culture
| landed title
|-
|-
|remove_all_dynasty_modifier_instances
| ordered_culture_empire
|Remove all instances of a modifier from a dynasty
| Iterate through all empires of the culture (empires with at least one county of the culture
|remove_all_dynasty_modifier_instances = name
| <pre>ordered_culture_empire = {
|dynasty
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|remove_dynasty_modifier
| ordered_culture_kingdom
|Remove a modifier from a dynasty
| Iterate through all kingdoms of the culture (kingdoms with at least one county of the culture
|remove_dynasty_modifier = name
| <pre>ordered_culture_kingdom = {
|dynasty
limit = { <triggers> }
|
order_by = script_value
 
position = int
|}
min = int
 
max = script_value
=== From dynasty house scope ===
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
The following effects are only usable in the dynasty house scope.
<effects> }</pre>
{| class="wikitable sortable" width="100%"
| culture
! width="15%" | Name
| landed title
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|add_house_modifier
| ordered_parent_culture
|Add a modifier to a house
| Iterate through all parent cultures
|add_house_modifier = name
| <pre>ordered_parent_culture = {
add_house_modifier = { modifier = name days/weeks/months/years = int }
limit = { <triggers> }
|dynasty house
order_by = script_value
|
position = int
|-
min = int
|every_house_member
max = script_value
|Iterate through all house members
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|every_house_member = { limit = { <triggers> } <effects> }
<effects> }</pre>
|dynasty house
| culture
|character
| culture
|-
|-
|ordered_house_member
| ordered_parent_culture_or_above
|Iterate through all house members
| Iterate through all parent cultures or above
|ordered_house_member = {
| <pre>ordered_parent_culture_or_above = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第1,408行: 第1,835行:
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
| culture
|character
| culture
|-
| random_culture_county
| Iterate through all counties of the culture
| <pre>random_culture_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
| culture
| landed title
|-
|-
|random_house_member
| random_culture_duchy
|Iterate through all house members
| Iterate through all duchies of the culture (duchies with at least one county of the culture
|random_house_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_culture_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|dynasty house
| culture
|character
| landed title
|-
|-
|remove_all_house_modifier_instances
| random_culture_empire
|Remove all instances of a modifier from a house
| Iterate through all empires of the culture (empires with at least one county of the culture
|remove_all_house_modifier_instances = name
| <pre>random_culture_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|dynasty house
| culture
|
| landed title
|-
|-
|remove_house_modifier
| random_culture_kingdom
|Remove a modifier from a house
| Iterate through all kingdoms of the culture (kingdoms with at least one county of the culture
|remove_house_modifier = name
| <pre>random_culture_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|dynasty house
| culture
|
| landed title
|}
 
=== From culture scope ===
The following effects are only usable in the culture scope.
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|add_innovation
| random_parent_culture
|Add innovation to a culture
| Iterate through all parent cultures
|Unspecified
| <pre>random_parent_culture = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|culture
| culture
|
| culture
|-
|-
|add_random_innovation
| random_parent_culture_or_above
|Add random available innovation<culture> = { add_random_innovation = culture_group_military/culture_group_civic/culture_group_regional/yes }
| Iterate through all parent cultures or above
|Unspecified
| <pre>random_parent_culture_or_above = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|culture
| culture
|
| culture
|-
|-
|get_all_innovations_from
| remove_culture_tradition
|Discover all innovations from the target culture
| Removes the cultural tradition specified in the RHS from the scope culture.remove_culture_tradition = tradition_court_eunuchs
|get_all_innovations_from = <culture>
| <pre></pre>
|culture
| culture
|culture
|-
|-
|get_random_innovation_from
| remove_innovation
|Get random available innovation from another culture
| Remove innovation from a culture. remove_innovation = innovation_key
|Unspecified
| <pre></pre>
|culture
| culture
|
|}
 
=== From character scope ===
The following effects are only usable in the character scope
==== Standard ====
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|add_character_flag
| remove_random_culture_tradition
|Adds a character flag. X is the name of the flag and Y is a value or value interval "{ min max }".
| Removes a random cultural tradition from the scope culture.remove_random_culture_tradition = yes
|add_character_flag = { flag = X [days/weeks/years = Y] }
| <pre></pre>
|character
| culture
|
|-
|-
|add_character_modifier
| reset_culture_creation_date
|Add a modifier to a character
| Sets the culture creation date to be todays datereset_culture_creation_date = yes
|add_character_modifier = name
| <pre></pre>
add_character_modifier = { modifier = name days/weeks/months/years = int }
| culture
|character
|
|-
|-
|add_courtier
| set_cultural_acceptance
|Add the target character to the scope character's court
| Sets cultural acceptance with the target culture
|Unspecified
| <pre>set_cultural_accpetance = { target = <culture> value = script value }</pre>
|character
| culture
|character
|-
|-
|add_diplomacy_lifestyle_perk_points
| set_culture_name
|Adds lifestyle per points to the given character
| Permanently sets the name of the scope culture to the parsed text from the provided localization string.
|Unspecified
| <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 = {
|character
noun = dynamic description
|
collective_noun = dynamic description
prefix = dynamic description
}</pre>
| culture
|-
|-
|add_diplomacy_lifestyle_xp
| set_culture_pillar
|Adds lifestyle XP to the given character. Can be used with lifestyles not currently focused on.
| Adds the current pillar specified in the RHS to the scope culture, replacing the pillar in the matching slot.set_culture_pillar = ethos_warmonger
|add_diplomacy_lifestyle_xp = int
| <pre></pre>
|character
| culture
|
|-
|-
|add_dread
| set_ethos_from
|adds (or removes) dread to a character
| Set the ethos from the RHS on the scope culture.set_ethos_from = culture:norwegian
|Unspecified
| <pre></pre>
|character
| culture
|
| culture
|-
|-
|add_gold
| set_heritage_from
|adds gold to a character
| Set the heritage from the RHS on the scope culture.set_heritage_from = culture:norwegian
|Unspecified
| <pre></pre>
|character
| culture
|
| culture
|-
|-
|add_hook
| set_language_from
|Adds a hook on a 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.
| Set the language from the RHS on the scope culture.set_language_from = culture:norwegian
|add_hook = { type = X, target = Y, secret = Z, days/months/years = W  }
| <pre></pre>
|character
| culture
|
| culture
|-
|-
|add_hook_no_toast
| set_martial_custom_from
|Adds a hook on a 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.
| Set the martial custom from the RHS on the scope culture.set_martial_custom_from = culture:norwegian
|add_hook = { type = X, target = Y, secret = Z, days/months/years = W  }
| <pre></pre>
|character
| culture
|
| culture
|-
|-
|add_intrigue_lifestyle_perk_points
| set_name_list
|Adds lifestyle per points to the given character
| Remove all existing name lists then adds the specified name list to the culture
|Unspecified
| <pre><culture> = { set_name_list = name }</pre>
|character
| culture
|
|-
|-
|add_intrigue_lifestyle_xp
| end_story
|Adds lifestyle XP to the given character
| Ends a story and executes it's on_end effect, the story can no longer be accessed after this
|Unspecified
| <pre></pre>
|character
| story cycle
|
|-
|-
|add_joined_faction_discontent
| make_story_owner
|add_joined_faction_discontent = X adds (or subtracts) discontent to the factions the scope character is in
| = character_target  makes the character the new owner of the story
|Unspecified
| <pre></pre>
|character
| story cycle
|
| character
|-
|-
|add_knows_of_killer
| change_war_chest_gold
|Adds the right hand side character as knowing of the killer of the scoped object
| Changes the amount of gold in the war chest by the given amount. change_war_chest_gold = script value
|dead_person = { add_knows_of_killer = root }
| <pre></pre>
|character
| great holy war
|character
|-
|-
|add_learning_lifestyle_perk_points
| change_war_chest_piety
|Adds lifestyle per points to the given character
| Changes the amount of piety in the war chest by the given amount. change_war_chest_piety = script value
|Unspecified
| <pre></pre>
|character
| great holy war
|
|-
|-
|add_learning_lifestyle_xp
| change_war_chest_prestige
|Adds lifestyle XP to the given character
| Changes the amount of prestige in the war chest by the given amount. change_war_chest_prestige = script value
|Unspecified
| <pre></pre>
|character
| great holy war
|
|-
|-
|add_martial_lifestyle_perk_points
| divide_war_chest
|Adds lifestyle per points to the given character
| The scoped GHW gives out its war-chest in full or in part.
|Unspecified
| <pre>divide_war_chest = {
|character
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
|-
|-
|add_martial_lifestyle_xp
| do_ghw_title_handout
|Adds lifestyle XP to the given character
| 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
|Unspecified
| <pre></pre>
|character
| great holy war
|
| title and vassal change
|-
|-
|add_opinion
| every_pledged_attacker
|Adds a temporary opinion modifier. 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.
| Iterate through all pledged attackers within a great holy war
|add_opinion = { modifier = X days/months/years = Y target = Z }
| <pre>every_pledged_attacker = { limit = { <triggers> } <effects> }</pre>
|character
| great holy war
|
| character
|-
|-
|add_perk
| every_pledged_defender
|Adds the perk for this character
| Iterate through all pledged defenders within a great holy war
|Unspecified
| <pre>every_pledged_defender = { limit = { <triggers> } <effects> }</pre>
|character
| great holy war
|
| character
|-
|-
|add_piety
| ordered_pledged_attacker
|gives (or takes) piety to a character
| Iterate through all pledged attackers within a great holy war
|Unspecified
| <pre>ordered_pledged_attacker = {
|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>
| great holy war
| character
|-
|-
|add_piety_experience
| ordered_pledged_defender
|gives (or takes) piety experience to a character
| Iterate through all pledged defenders within a great holy war
|Unspecified
| <pre>ordered_pledged_defender = {
|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>
| great holy war
| character
|-
|-
|add_piety_level
| pledge_attacker
|increases (or decreases) the piety level of a character
| 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
|Unspecified
| <pre></pre>
|character
| great holy war
|
| character
|-
|-
|add_pressed_claim
| pledge_defender
|gives a pressed claim to a character
| 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
|Unspecified
| <pre></pre>
|character
| great holy war
|landed title
| character
|-
|-
|add_prestige
| random_pledged_attacker
|gives (or takes) prestige to a character
| Iterate through all pledged attackers within a great holy war
|Unspecified
| <pre>random_pledged_attacker = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| great holy war
|
| character
|-
|-
|add_prestige_experience
| random_pledged_defender
|gives (or takes) prestige experience to a character
| Iterate through all pledged defenders within a great holy war
|Unspecified
| <pre>random_pledged_defender = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| great holy war
|
| character
|-
|-
|add_prestige_level
| reset_designated_winner
|increases (or decreases) the prestige level of a character
| The GHW stops having a designated winner. reset_designated_winner = yes
|Unspecified
| <pre></pre>
|character
| great holy war
|
|-
|-
|add_realm_law
| set_designated_winner
|Adds the given law to the scoped character
| The target character becomes the designated winner of the GHW. set_designated_winner = some character
|Unspecified
| <pre></pre>
|character
| great holy war
|
| character
|-
|-
|add_realm_law_skip_effects
| set_great_holy_war_target
|Adds the given law to the scoped character. Skips the cost and the pass effect, and the revoke effects of the current law
| Sets the target of the great holy war.
|Unspecified
| <pre>set_great_holy_war_target = { target_character = someone target_title = some title }</pre>
|character
| great holy war
|
|-
|-
|add_scheme_cooldown
| set_war_declarer
|Sets a scheme cooldown for the scope character towards = { target=target_character type=scheme_type days/weeks/months/years = duration }
| The target character becomes the character that should declare war instead of the religious head. set_war_declarer = some character
|Unspecified
| <pre></pre>
|character
| great holy war
|
| character
|-
|-
|add_secret
| start_ghw_war
|Adds a secret
| Starts the GHW war. start_ghw_war = undirected_great_holy_war
|add_secret = { type = X target = Y }
| <pre></pre>
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.
| great holy war
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
| unpledge_attacker
|Adds lifestyle per points to the given character
| The target character removes their pledge as an attacker in the GHW. unpledge_attacker = some character
|Unspecified
| <pre></pre>
|character
| great holy war
|
| character
|-
|-
|add_stewardship_lifestyle_xp
| unpledge_defender
|Adds lifestyle XP to the given character
| The target character removes their pledge as a defender in the GHW. unpledge_defender = some character
|Unspecified
| <pre></pre>
|character
| great holy war
|
| character
|-
|-
|add_stress
| activate_holy_site
|Increases stress of a character. Negative values decrease stress.
| Activate an inactive holy site<faith_scope> = { activate_holy_site = <holy_site_name> }
|Unspecified
| <pre></pre>
|character
| faith
|
|-
|-
|add_targeting_factions_discontent
| add_doctrine
|add_targeting_factions_discontent = X adds (or subtracts) discontent to all the factions that are targeting the scope character
| Add doctrine to faith<faith_scope> = { add_doctrine = <doctrine_name> }
|Unspecified
| <pre></pre>
|character
| faith
|
|-
|-
|add_to_scheme
| change_fervor
|Adds a character as an agent to the scheme
| Changes the fervor of the faith by the given value. change_fervor = script value
|Unspecified
| <pre></pre>
|character
| faith
|
|-
|-
|add_trait
| deactivate_holy_site
|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)
| Deactivate an active holy site<faith_scope> = { deactivate_holy_site = <holy_site_name> }
|Unspecified
| <pre></pre>
|character
| faith
|
|-
|-
|add_trait_force_tooltip
| every_defensive_great_holy_wars
|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)
| Iterate through all great holy wars this faith is defending against
|Unspecified
| <pre>every_defensive_great_holy_wars = { limit = { <triggers> } <effects> }</pre>
|character
| faith
|
| great holy war
|-
|-
|add_truce_both_ways
| every_faith_character
|Sets the both-way truce against the specified character
| Iterate through characters of the scoped faith
'character' specifies the target character
| <pre>every_faith_character = { limit = { <triggers> } <effects> }</pre>
'override' says whether it should replace the previous truce even if shorter
| faith
'years / months / days' sets the duration of the truce
| character
'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
| every_faith_holy_order
|Sets the truce against the specified character
| Iterate through all holy orders of the faith
'character' specifies the target character
| <pre>every_faith_holy_order = { limit = { <triggers> } <effects> }</pre>
'override' says whether it should replace the previous truce even if shorter
| faith
'years / months / days' sets the duration of the truce
| holy order
'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
| every_faith_playable_ruler
|adds (or removes) tyranny to (or from) a character
| Iterate through playable rulers of the scoped faith
|Unspecified
| <pre>every_faith_playable_ruler = { limit = { <triggers> } <effects> }</pre>
|character
| faith
|
| character
|-
|-
|add_unpressed_claim
| every_faith_ruler
|gives an unpressed claim to a character
| Iterate through rulers of the scoped faith
|Unspecified
| <pre>every_faith_ruler = { limit = { <triggers> } <effects> }</pre>
|character
| faith
|landed title
| character
|-
|-
|add_visiting_courtier
| every_holy_site
|Add the target character as the scope character's guest
| Iterate through all holy site baronies of a faith
|Unspecified
| <pre>every_holy_site = { limit = { <triggers> } <effects> }</pre>
|character
| faith
|character
| landed title
|-
|-
|allow_alliance
| ordered_defensive_great_holy_wars
|Allows (previously broken) alliance with the target character
| Iterate through all great holy wars this faith is defending against
|Unspecified
| <pre>ordered_defensive_great_holy_wars = {
|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
| great holy war
|-
|-
|allow_in_scheme
| ordered_faith_character
|Allow the character to join the scheme as an agent
| Iterate through characters of the scoped faith
|Unspecified
| <pre>ordered_faith_character = {
|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>
| faith
| character
|-
|-
|apply_ai_vassal_obligation_liege_most_desired
| ordered_faith_holy_order
|Apply the new level for the most desired AI obligation level the liege in the contract wants
| Iterate through all holy orders of the faith
|Unspecified
| <pre>ordered_faith_holy_order = {
|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>
| faith
| holy order
|-
|-
|apply_ai_vassal_obligation_vassal_most_desired
| ordered_faith_playable_ruler
|Apply the new level for the most desired AI obligation level the vassal in the contract wants
| Iterate through playable rulers of the scoped faith
|Unspecified
| <pre>ordered_faith_playable_ruler = {
|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>
| faith
| character
|-
|-
|assign_council_task
| ordered_faith_ruler
|Assigns the target character to the council task
| Iterate through rulers of the scoped faith
|
| <pre>ordered_faith_ruler = {
<pre>
limit = { <triggers> }
assign_council_task = {
order_by = script_value
   council_task = council_task_scope
position = int
   target = character_taking_the_position
min = int
   fire_on_actions = [yes]
max = script_value
}
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
</pre>
<effects> }</pre>
|character
| faith
|
| character
|-
|-
|assign_councillor_type
| ordered_holy_site
|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] }
| Iterate through all holy site baronies of a faith
|Unspecified
| <pre>ordered_holy_site = {
|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>
| faith
| landed title
|-
|-
|banish
| random_defensive_great_holy_wars
|The character gets banished.
| Iterate through all great holy wars this faith is defending against
|Unspecified
| <pre>random_defensive_great_holy_wars = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| faith
|
| great holy war
|-
|-
|becomes_independent
| random_faith_character
|becomes and independent ruler
| Iterate through characters of the scoped faith
|becomes_independent = { change = 'previously created title_and_vassal_change'
| <pre>random_faith_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| faith
|
| character
|-
|-
|break_alliance
| random_faith_holy_order
|Breaks the alliance with the target character
| Iterate through all holy orders of the faith
|Unspecified
| <pre>random_faith_holy_order = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| faith
|character
| holy order
|-
|-
|cancel_truce_both_ways
| random_faith_playable_ruler
|Ends the truce against the specified character, and theirs against the scoped character.
| Iterate through playable rulers of the scoped faith
|cancel_truce_both_ways = scope:character
| <pre>random_faith_playable_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| faith
|character
| character
|-
|-
|cancel_truce_one_way
| random_faith_ruler
|Ends the truce against the specified character.
| Iterate through rulers of the scoped faith
|cancel_truce_one_way = scope:character
| <pre>random_faith_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| faith
|character
| character
|-
|-
|change_current_weight
| random_holy_site
|Change the current weight of the scoped character
| Iterate through all holy site baronies of a faith
|change_current_weight = 20
| <pre>random_holy_site = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| faith
|
| landed title
|-
|-
|change_first_name
| remove_doctrine
|Change the first name of a character
| Remove doctrine from faith<faith_scope> = { remove_doctrine = <doctrine_name> }
|change_first_name = <localization_key>
| <pre></pre>
change_first_name = scope:name/var:name # containing a flag with a localization key
| faith
change_first_name = { template_character = scope:character } # copy name from the template character
|character
|
|-
|-
|change_government
| remove_religious_head_title
|changes the government of a character
| Removes the religious head title of the faith
|Unspecified
| <pre>remove_religious_head_title = yes</pre>
|character
| 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
|-
|-
|change_liege
| start_great_holy_war
| = { liege = 'Character that should become the new liege' change = 'previously created title_and_vassal_change', adds a liege change
| Starts a great holy war.
|Unspecified
| <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>
|character
| faith
|
|-
|-
|change_prison_type
| add_building
|Changes the charater's prison type. Scoped character is the prisoner. Accepts any static modifier (see also improson effect).
| Add building to the province<province> = { add_building = <building_name> }
|change_prison_type = house_arrest
| <pre></pre>
|character
| province
|
|-
|-
|change_target_weight
| add_building_slot
|Change the target weight of the scoped character
| Add building slot to the province
|change_target_weight = 20
| <pre></pre>
|character
| province
|
|-
|-
|clear_forced_vote
| add_province_modifier
|Clears forced voting
| Add a modifier to a province
|clear_forced_vote = yes
| <pre>add_province_modifier = name
|character
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
|-
|-
|consume_banish_reasons
| add_special_building
|'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.
| Add a special building to the province (will also add/change a special slot if needed)
|Unspecified
| <pre></pre>
|character
| province
|character
|-
|-
|consume_divorce_reasons
| add_special_building_slot
|'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.
| Add a special building slot to the province<province> = { add_special_building_slot = <building_name> }
|Unspecified
| <pre></pre>
|character
| province
|character
|-
|-
|consume_execute_reasons
| begin_create_holding
|'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.
| Start construction of the specified holding type. By default player won't get anything if manually cancels the construction
|Unspecified
| <pre>scope:my_province = {
|character
begin_create_holding = castle_holding
|character
}
Optionally refund cost can be set to some value.
scope:my_province = {
begin_create_holding = {
type = castle_holding
refund_cost = {
gold = 100
}
}
}</pre>
| province
|-
|-
|consume_imprisonment_reasons
| generate_building
|'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.
| Adds a random building to the province, using the AI's construction logic<province> = { generate_building = yes }
|Unspecified
| <pre></pre>
|character
| province
|character
|-
|-
|consume_revoke_title_reason
| refill_garrison
|'Consume' 1 revoke title reason that the scoped character has on the target character.
| The scoped province gets its garrison refilled. refill_levy = yes/no
|Unspecified
| <pre></pre>
|character
| province
|character
|-
|-
|copy_inheritable_appearance_from
| refill_levy
|copies the inheritable appearance attributes (inheritable genes in the character's DNA string) from the target character to the scoped character
| The scoped province gets its levy refilled. refill_levy = yes/no
|Unspecified
| <pre></pre>
|character
| province
|character
|-
|-
|create_alliance
| remove_all_province_modifier_instances
|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.
| Remove all instances of a modifier from a province
|
| <pre>remove_all_province_modifier_instances = name</pre>
<pre>
| province
create_alliance = {
target = scope
allied_through_owner = scope
allied_through_target = scope
}
</pre>
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_cadet_branch
| remove_building
|The scope character creates a cadet branch of the house he is in [yes|no]
| Remove building from the province<province> = { remove_building = <building_name> }
|Unspecified
| <pre></pre>
|character
| province
|
|-
|-
|create_faction
| remove_holding
|the scoped character creates a faction of the specified type against the specified target, create_faction = { type = X target = Y }
| Removes the holding in scoped province, cannot remove capital holdings
|Unspecified
| <pre></pre>
|character
| province
|
|-
|-
|create_story
| remove_province_modifier
|Creates and initializes a story cycle with the current character as owner
| Remove a modifier from a province
|create_story = story_type<br><pre>create_story = {
| <pre>remove_province_modifier = name</pre>
type = story_type
| province
save_scope_as/save_temporary_scope_as = scope_name # optional way to get a reference to the new story
}
</pre>
|character
|
|-
|-
|death
| set_holding_type
|kills a character, death = { killer = X death_reason = Y }, X is a character and Y is one of the death reason keys. Or death = natural which will pick a natural death reason to kill the character from.
| Changes the scoped province's holding to another type, removing all buildings that are invalid for the new holding.
|Unspecified
| <pre>This might also allow to construct a new holding in an empty province, but it is untested.</pre>
|character
| province
|
|-
|-
|depose
| spawn_activity
|The character gets deposed.
| 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
|Unspecified
| <pre></pre>
|character
| province
|
|-
|-
|destroy_title
| every_killed_character
|Destroys a title
| Iterate through all kills of a character
|Unspecified
| <pre>every_killed_character = { limit = { <triggers> } <effects> }</pre>
|character
| character, artifact
|landed title
| character
|-
|-
|end_pregnancy
| ordered_killed_character
|end a pregnancy
| Iterate through all kills of a character
|Unspecified
| <pre>ordered_killed_character = {
|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, 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
|-
|-
|execute_decision
| add_scheme_modifier
|Execute the specified decision for the scoped character
| adds the specified scheme modifier, add_scheme_modifier = { type = X days = Y } (days are optional, the modifier will expire in Y days if specified)
|Unspecified
| <pre></pre>
|character
| scheme
|
|-
|-
|finish_council_task
| add_scheme_progress
|The councillor finish the current assigned task successfully.
| Add progress to the scope scheme. (progress is in 0.0 - 100.0 range)
|Unspecified
| <pre></pre>
|character
| scheme
|
|-
|-
|fire_councillor
| end_scheme
|The scope character fires the target character form teh council.
| Ends a specific scheme and removes it without any other effect
|Unspecified
| <pre></pre>
|character
| scheme
|character
|-
|-
|forbid_from_scheme
| every_scheme_agent
|Forbid the scope character from joining the target scheme as an agent (and kick the character out if already in the scheme)
| Iterate through all agents in the scheme
|Unspecified
| <pre>every_scheme_agent = { limit = { <triggers> } <effects> }</pre>
|character
| scheme
|
| character
|-
|-
|force_add_to_scheme
| expose_scheme
|Adds a character as an agent to the scheme and forces them to stay
| Exposes the scheme to the defender
|
| <pre></pre>
<pre>
| scheme
force_add_to_scheme = {
   scheme = target_Scheme
   days/months/years = duration
}
</pre>
|character
|
|-
|-
|force_vote_as
| expose_scheme_agent
|Forces the character to vote the same as the target
| Exposes the target character as an agent of the current scheme
|force_vote_as = { target = someone days/months/years = x }
| <pre></pre>
|character
| scheme
|
| character
|-
|-
|get_title
| ordered_scheme_agent
|gives a title to a character
| Iterate through all agents in the scheme
|Unspecified
| <pre>ordered_scheme_agent = {
|character
limit = { <triggers> }
|landed title
order_by = script_value
|-
position = int
|give_nickname
min = int
|Give a nickname to this character
max = script_value
|Unspecified
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|character
<effects> }</pre>
|
| scheme
| character
|-
|-
|imprison
| random_scheme_agent
|Imprisons the target character as this character's prisoner, imprison = { target = X reason = Y type = Z }, X is a character, Y is a flag, Z is a static modifier
| Iterate through all agents in the scheme
|Unspecified
| <pre>random_scheme_agent = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| scheme
|
| character
|-
|-
|join_faction
| remove_scheme_modifier
|the character in the scope joins the assigned faction
| removes the specified scheme modifier
|Unspecified
| <pre></pre>
|character
| scheme
|
|-
|-
|join_faction_forced
| scheme_freeze_days
|The character in the scope is forced to join a faction by a character for a defined time
| scheme_freeze_days = X freezes the scheme for X days (0 unfreezes the scheme)
|<pre>
| <pre></pre>
join_faction_forced = {
| scheme
   faction = X
   forced_by = Y
   days/months/years = duration
}
</pre>
|character
|
|-
|-
|join_faction_skip_check
| change_inspiration_progress
|the character in the scope joins the assigned faction skiping the can_character_join trigger
| change_progress = int
|Unspecified
| <pre>Changes the progress of the scoped inspiration</pre>
|character
| inspiration
|
|-
|-
|leave_faction
| invest_gold
|the charcter in the scope leaves the assigned faction
| invest_gold = value
|Unspecified
| <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>
|character
| inspiration
|
|-
|-
|make_claim_strong
| add_secret_participant
|makes a claim strong (character adds the claim if not having it already)
| Adds an participant to the secret
|Unspecified
| <pre></pre>
|character
| secret
|landed title
| character
|-
|-
|make_claim_weak
| disable_exposure_by
|makes a claim weak (character adds the claim if not having it already)
| Forbids the target character from exposing the secret, disable_exposure_by = target_character
|Unspecified
| <pre></pre>
|character
| secret
|landed title
| character
|-
|-
|make_concubine
| every_secret_knower
|Makes the target character a concubine of the scope character, the target should not be imprisoned
| Iterate through all characters who know the secret
|Unspecified
| <pre>every_secret_knower = { limit = { <triggers> } <effects> }</pre>
|character
| secret
|character
| character
|-
|-
|make_pregnant
| every_secret_participant
|makes a character pregnant
| Iterate through participants in a secret
|make_pregnant = {
| <pre>every_secret_participant = { limit = { <triggers> } <effects> }</pre>
father = 'the real father'
| secret
number_of_children = X
| character
known_bastard = yes/no
|character
|
|-
|-
|make_trait_active
| expose_secret
|Activates an inactive trait. Tooltip will not be shown if the character cannot have the trait.
| Exposes the scope secret
|Unspecified
| <pre></pre>
|character
| secret
|
| character
|-
|-
|make_trait_active_force_tooltip
| ordered_secret_knower
|Activates an inactive trait. Tooltip will be shown even if the character cannot have the trait.
| Iterate through all characters who know the secret
|Unspecified
| <pre>ordered_secret_knower = {
|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>
| secret
| character
|-
|-
|make_trait_inactive
| ordered_secret_participant
|Makes a current trait of a character inactive. Tooltip will not be shown if the character doesn't have the trait. NOTE: If the character doesn't currently have the trait, it will be added to the character!
| Iterate through participants in a secret
|Unspecified
| <pre>ordered_secret_participant = {
|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>
| 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
|-
|-
|make_trait_inactive_force_tooltip
| random_secret_participant
|Makes a current trait of a character inactive. Tooltip will be shown even if the character doesn't have the trait. NOTE: If the character doesn't currently have the trait, it will be added to the character!
| Iterate through participants in a secret
|Unspecified
| <pre>random_secret_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| secret
|
| character
|-
|-
|make_unprunable
| remove_secret
|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
| Removes the scope secret
|Unspecified
| <pre></pre>
|character
| secret
|
|-
|-
|marry
| reveal_to
|Marries the scoped character to the target character
| Reveals the scope secret to the target character
|marry = target
| <pre></pre>
|character
| secret
|character
| character
|-
|-
|marry_matrilineal
| set_secret_owner
|Marries the scoped character to the target character matrilineally
| Sets a new owner for the secret
|marry_matrilineal = target
| <pre></pre>
|character
| secret
|character
| character
|-
|-
|move_to_pool
| spend_by
|The scoped character (courtier or guest) leaves their current court and moves into the pool
| Spends the scope secret, spend_by = target_character
|scope:guest = { move_to_pool = yes }
| <pre></pre>
|character
| secret
|
| character
|-
|-
|move_to_pool_at
| add_dynasty_modifier
|The scoped character (courtier/guest/pool character) leaves their current court (if any) and moves into the pool of the specified province
| Add a modifier to a dynasty
|scope:guest = { move_to_pool_at = scope:some_province }
| <pre>add_dynasty_modifier = name
|character
add_dynasty_modifier = { modifier = name days/weeks/months/years = int }
|province
You can also add an optional 'desc' field. This is a dynamic description that'll be used for your timed modifier</pre>
| dynasty
|-
|-
|pay_long_term_gold
| add_dynasty_perk
|the scope character pays gold to the target character, pay_gold = { target = X gold = Y } (AI budget category long term)
| Adds dynasty perk. add_dynasty_perk = key
|Unspecified
| <pre></pre>
|character
| dynasty
|
|-
|-
|pay_long_term_income
| add_dynasty_prestige
|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)
| adds dynasty prestige
|Unspecified
| <pre></pre>
|character
| dynasty
|
|-
|-
|pay_short_term_gold
| add_dynasty_prestige_level
|the scope character pays gold to the target character, pay_gold = { target = X gold = Y } (AI budget category short term)
| adds dynasty prestige levels
|Unspecified
| <pre></pre>
|character
| dynasty
|
|-
|-
|pay_short_term_income
| every_dynasty_member
|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)
| Iterate through all dynasty members
|Unspecified
| <pre>every_dynasty_member = { limit = { <triggers> } <effects> }</pre>
|character
| dynasty
|
| character
|-
|-
|play_music_cue
| ordered_dynasty_member
|Plays the specified music cue.
| Iterate through all dynasty members
|Unspecified
| <pre>ordered_dynasty_member = {
|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>
| dynasty
| character
|-
|-
|recalculate_scripted_relation
| random_dynasty_member
|Recalculates the effect of a scripted relation
| Iterate through all dynasty members
|recalculate_scripted_relation= friend
| <pre>random_dynasty_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| dynasty
|
| character
|-
|-
|recruit_courtier
| remove_all_dynasty_modifier_instances
|Recruits the target to become a courtier.
| Remove all instances of a modifier from a dynasty
|scope:liege = { recruit_courtier = scope:new_courtier }
| <pre>remove_all_dynasty_modifier_instances = name</pre>
|character
| dynasty
|character
|-
|-
|refund_all_perks
| remove_dynasty_modifier
|Refunds all perks of the character. Example: refund_all_perks = yes
| Remove a modifier from a dynasty
|Unspecified
| <pre>remove_dynasty_modifier = name</pre>
|character
| dynasty
|
|-
|-
|refund_perks
| remove_dynasty_perk
|Refunds all perks of the RHS lifestyle. Example: refund_perks = intrigue_lifestyle
| Removes dynasty perk. remove_dynasty_perk = key
|Unspecified
| <pre></pre>
|character
| dynasty
|
|-
|-
|release_from_prison
| set_dynasty_name
|releases the character from the prison, imprison = X, X is a boolean value
| Sets dynasty name
|Unspecified
| <pre>set_dynasty_name=loc_key</pre>
|character
| dynasty
|
|-
|-
|remove_all_character_modifier_instances
| every_leased_title
|Remove all instances of a modifier from a character
| Iterate through all titles leased to a holy order
|remove_all_character_modifier_instances = name
| <pre>every_leased_title = { limit = { <triggers> } <effects> }</pre>
|character
| holy order
|
| landed title
|-
|-
|remove_character_flag
| ordered_leased_title
|removes a character flag
| Iterate through all titles leased to a holy order
|Unspecified
| <pre>ordered_leased_title = {
|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>
| holy order
| landed title
|-
|-
|remove_character_modifier
| random_leased_title
|Remove a modifier from a character
| Iterate through all titles leased to a holy order
|remove_character_modifier = name
| <pre>random_leased_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| holy order
|
| landed title
|-
|-
|remove_claim
| add_diplomacy_skill
|removes an explicit (not from a living parent/grand parent) claim
| Adds diplomacy skill
|Unspecified
| <pre></pre>
|character
| none
|landed title
|-
|-
|remove_concubine
| add_focus_progress
|Removes the target character as a concubine of the scope character
| Adds focus progress
|Unspecified
| <pre></pre>
|character
| none
|character
|-
|-
|remove_courtier_or_guest
| add_internal_flag
|Removes the target character (guest or courtier) from the scope character's court
| adds effect to be read internally (no effect in the gamestate)
|scope:host = { remove_courtier_or_guest = scope:guest } # move to pool, staying in same province
| <pre></pre>
scope:host = {
| none
remove_courtier_or_guest = {
character = scope:guest
new_location = scope:some_province # optionally specify a new location
}
}
|character
|character
|-
|-
|remove_decision_cooldown
| add_intrigue_skill
|Remove the cooldown on taking a decision for the scoped character
| Adds intrigue skill
|remove_decision_cooldown = decision_name
| <pre></pre>
|character
| none
|
|-
|-
|remove_hook
| add_learning_skill
|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
| Adds learning skill
|Unspecified
| <pre></pre>
|character
| none
|
|-
|-
|remove_interaction_cooldown
| add_martial_skill
|Remove the cooldown on using an interaction for the scoped character
| Adds martial skill
|remove_interaction_cooldown = interaction_name
| <pre></pre>
|character
| none
|
|-
|-
|remove_interaction_cooldown_against
| add_prowess_skill
|Remove the cooldown on using an interaction against the target character for the scoped character
| Adds prowess skill
|remove_interaction_cooldown_against = { interaction = interaction_name target = character }
| <pre></pre>
|character
| none
|
|-
|-
|remove_long_term_gold
| add_stewardship_skill
|removes gold from a character (AI's long term budget)
| Adds stewardship skill
|Unspecified
| <pre></pre>
|character
| none
|
|-
|-
|remove_nickname
| add_title_law
|Removes any nickname from the current character [yes|no]
| add law to scoped title, overriding any current law from the same group. DOES NOT apply law change costs and effects.
|Unspecified
| <pre>add_title_law = princely_elective_succession_law</pre>
|character
| none
|
|-
|-
|remove_opinion
| add_title_law_effects
|Removes a temporary opinion modifier, remove_opinion = { target = X modifier = Y single = Z (no by default) } X is a character, Y is the opinion modifier, Z tells whether to remove all instances of the modifier or just one
| add law to scoped title, overriding any current law from the same group. DOES apply law change costs and effects.
|Unspecified
| <pre>add_title_law = princely_elective_succession_law</pre>
|character
| none
|
|-
|-
|remove_perk
| add_to_global_variable_list
|Remove the perk for this character
| Adds the event target to a variable list
|Unspecified
| <pre>add_to_variable_list = { name = X target = Y }
|character
Where X is the name of the variable
|
Where Y is an event target</pre>
| none
|-
|-
|remove_realm_law
| add_to_list
|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
| 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
|Unspecified
| <pre>add_to_list = <string> NOTE, if adding a permanent target to a temporary list, the whole list becomes permanent</pre>
|character
| none
|
|-
|-
|remove_relation_best_friend
| add_to_local_variable_list
|Removes scripted relationship
| Adds the event target to a variable list
|Unspecified
| <pre>add_to_variable_list = { name = X target = Y }
|character
Where X is the name of the variable
|character
Where Y is an event target</pre>
| none
|-
|-
|remove_relation_bully
| add_to_temporary_list
|Removes scripted relationship
| 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
|Unspecified
| <pre>add_to_temporary_list = <string> NOTE, if adding a temporary target to a permanent list, the list will stay permanent</pre>
|character
| none
|character
|-
|-
|remove_relation_court_physician
| add_to_variable_list
|Removes scripted relationship
| Adds the event target to a variable list
|Unspecified
| <pre>add_to_variable_list = { name = X target = Y }
|character
Where X is the name of the variable
|character
Where Y is an event target</pre>
| none
|-
|-
|remove_relation_crush
| assert_if
|Removes scripted relationship
| Conditionally cause an assert during run time
|Unspecified
| <pre>assert_if = { limit = { X } text = Y }, where X is a trigger and Y is an optional string</pre>
|character
| none
|character
|-
|-
|remove_relation_flag
| assert_read
|Removed a flag from an existing relation flag = flag_name (declared in scripted_relation) target = other_character relation = scripted_relation
| Conditionally cause an assert during read time
|Unspecified
| <pre>assert_read = X, where X is yes or the string to be printed in the assert</pre>
|character
| none
|
|-
|-
|remove_relation_friend
| break_betrothal
|Removes scripted relationship
| Breaks the betrothal between the scope character to the target character, break_betrothal = target
|Unspecified
| <pre></pre>
|character
| none
|character
| character
|-
|-
|remove_relation_guardian
| change_global_variable
|Removes scripted relationship
| Changes the value or a numeric variable
|Unspecified
| <pre>change_variable = { name = X operation = Y }
|character
Where X is the name of the numeric variable to modify
|character
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
|-
|-
|remove_relation_intrigue_mentor
| change_local_variable
|Removes scripted relationship
| Changes the value or a numeric variable
|Unspecified
| <pre>change_variable = { name = X operation = Y }
|character
Where X is the name of the numeric variable to modify
|character
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
|-
|-
|remove_relation_intrigue_student
| change_title_holder
|Removes scripted relationship
| = {
|Unspecified
| <pre>holder = 'Character that should get the title'
|character
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>
|character
| none
|-
|-
|remove_relation_lover
| change_title_holder_include_vassals
|Removes scripted relationship
| = {
|Unspecified
| <pre>holder = 'Character that should get the title'
|character
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>
|character
| none
|-
|-
|remove_relation_mentor
| change_variable
|Removes scripted relationship
| Changes the value or a numeric variable
|Unspecified
| <pre>change_variable = { name = X operation = Y }
|character
Where X is the name of the numeric variable to modify
|character
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
|-
|-
|remove_relation_nemesis
| clamp_global_variable
|Removes scripted relationship
| Clamps a variable the specified max and min
|Unspecified
| <pre>clamp_variable = { name = X max = Y min = Z }
|character
Where X is the name of the variable
|character
Where Y and Z are script values</pre>
| none
|-
|-
|remove_relation_oaf
| clamp_local_variable
|Removes scripted relationship
| Clamps a variable the specified max and min
|Unspecified
| <pre>clamp_variable = { name = X max = Y min = Z }
|character
Where X is the name of the variable
|character
Where Y and Z are script values</pre>
| none
|-
|-
|remove_relation_potential_friend
| clamp_variable
|Removes scripted relationship
| Clamps a variable the specified max and min
|Unspecified
| <pre>clamp_variable = { name = X max = Y min = Z }
|character
Where X is the name of the variable
|character
Where Y and Z are script values</pre>
| none
|-
|-
|remove_relation_potential_lover
| clear_global_variable_list
|Removes scripted relationship
| Empties the list
|Unspecified
| <pre>clear_variable_list = variable_name</pre>
|character
| none
|character
|-
|-
|remove_relation_potential_rival
| clear_local_variable_list
|Removes scripted relationship
| Empties the list
|Unspecified
| <pre>clear_variable_list = variable_name</pre>
|character
| none
|character
|-
|-
|remove_relation_rival
| clear_saved_scope
|Removes scripted relationship
| Clears a saved scope from the top scope
|Unspecified
| <pre>save_scope_as = cool_scope -> clear_saved_scope = cool_scope</pre>
|character
| none
|character
|-
|-
|remove_relation_soldier_friend
| clear_traits
|Removes scripted relationship
| Removes all traits for the character. clear_traits = yes
|Unspecified
| <pre></pre>
|character
| none
|character
|-
|-
|remove_relation_soulmate
| clear_variable_list
|Removes scripted relationship
| Empties the list
|Unspecified
| <pre>clear_variable_list = variable_name</pre>
|character
| none
|character
|-
|-
|remove_relation_student
| close_all_views
|Removes scripted relationship
| Closes all views. close_all_views = yes
|Unspecified
| <pre></pre>
|character
| none
|character
|-
|-
|remove_relation_victim
| close_view
|Removes scripted relationship
| Tries to close the defined view.
|Unspecified
| <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.
|character
close_view = {
|character
   view = <view name>
   player = scope:character # optional, else closes for all players who execute the effect
}simplified: close_view = <view name></pre>
| none
|-
|-
|remove_relation_ward
| copy_traits
|Removes scripted relationship
| 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
|Unspecified
| <pre></pre>
|character
| none
|character
| character
|-
|-
|remove_scheme_cooldown_against
| create_betrothal
|Remove the cooldown on using a scheme against the target character for the scoped character
| Betroth the scope character to the target character, create_betrothal = target (at least one of the characters need to not be adult)
|remove_scheme_cooldown_against = { scheme = scheme_name target = character }
| <pre></pre>
|character
| none
|
| character
|-
|-
|remove_short_term_gold
| create_betrothal_matrilineal
|removes gold from a character (AI's short term budget)
| Betroth the scope character to the target character matrilineally, create_betrothal_matrilineal = target (at least one of the characters need to not be adult)
|Unspecified
| <pre></pre>
|character
| none
|
| character
|-
|-
|remove_trait
| create_character
|Removes a trait from a character. Tooltip will not be shown if the character doesn't have the trait.
| Creates a character
|Unspecified
| <pre>
|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.</pre>
| none
|-
|-
|remove_trait_force_tooltip
| create_dynamic_title
|Removes a trait from a character. Tooltip will be shown even if the character doesn't have the trait.
| Creates a dynamic title
|Unspecified
| <pre>The title will be saved to scope:new_titleusage:
|character
create_dynamic_title = {
|
tier = <tier>
name = key/dynamic description adjective = key/dynamic description (optional; name used if not specified)}</pre>
| none
|-
|-
|reset_beneficiary
| create_holy_order
|The target character stops having a beneficiary
| Create a new holy order
|reset_beneficiary = yes
| <pre>create_holy_order = {
|character
   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
| Wraps effects that get a custom description instead of the auto-generated one
| <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
|-
|-
|return_to_court
| custom_description_no_bullet
|Returns the scope character to the employers court.
| Wraps effects that get a custom description instead of the auto-generated one. Also ensures no bullet point appears
|Unspecified
| <pre>custom_description_no_bullet = {
|character
text = <effect_localization_key>
|
subject = <optional subject scope> #defaults to current scope
object = <optional object scope>
value = <optional script value>
... effects ...
}</pre>
| none
|-
|-
|reverse_add_opinion
| custom_label
|Adds a temporary reverse opinion modifier. 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.
| just a tooltip, the scope as object (for grouping, localization). Can also be written as custom_label = { text = key subject = scope (optional) <hidden effects> }
|reverse_add_opinion = { modifier = X days/months/years = Y target = Z }
| <pre></pre>
|character
| none
|
|-
|-
|scriptedtests_recalculate_character_modifier
| custom_tooltip
|Recalculates the modifier of the scoped character
| just a tooltip, the scope as subject (for grouping, localization). Can also be written as custom_tooltip = { text = key subject = scope (optional) <hidden effects> }
|Unspecified
| <pre></pre>
|character
| none
|
|-
|-
|scriptedtests_recalculate_succession
| debug_log
|Recalculates the line of succession of the scoped character
| 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
|Unspecified
| <pre></pre>
|character
| none
|
|-
|-
|send_interface_message
| debug_log_date
|Sends a message to the player playing the character in the scope and then executes any effects inside.
| Logs the current date to the debug.log
For the message text and tooltip, $EFFECT$ contains the text description of the effects in the past tense.
| <pre></pre>
And $DESC$ contains the text from the desc field.
| none
|
<pre>
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 or title
right_icon = scope:the_title # optional, character 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
| debug_log_scopes
|Sends a message to the player playing the character in the scope and then executes any effects inside.
| Log the current scope to the debug log when this effect executes yes = full scope info, no=only current scope
For the message text and tooltip, $EFFECT$ contains the text description of the effects in the past tense.
| <pre></pre>
And $DESC$ contains the text from the desc field.
| none
|
<pre>
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 or title
right_icon = scope:the_title # optional, character 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
|
|-
|-
|set_absolute_country_control
| debug_trigger_event
|Sets if this character has absolute country control, unlock_character_movement = yes/no/boolean event target
| Like trigger_event, except it'll print the trigger fulfillment and immediate effects of the event too
|Unspecified
| <pre></pre>
|character
| none
|
|-
|-
|set_beneficiary
| destroy_artifact
|The target character becomes the beneficiary of the scoped character. set_beneficiary = some character
| Destroy given artifact
|Unspecified
| <pre>destroy_artifact = artifact</pre>
|character
| none
|character
| artifact
|-
|-
|set_character_faith
| destroy_inspiration
|Changes what faith a character has executing the effects for it. For history setup use 'set_character_faith_history' instead.
| destroy_inspiration = inspiration
|Unspecified
| <pre>Destroys the targeted inspiration, do not use the destroyed scope after calling this since it will have been removed</pre>
|character
| none
|faith
| inspiration
|-
|-
|set_character_faith_history
| divorce
|Changes what faith a character has NOT executing the effects for it. USE ONLY IN HISOTRY SETUP!
| Divorces the scope character from the target character. divorce = target
|Unspecified
| <pre></pre>
|character
| none
|faith
| character
|-
|-
|set_character_faith_with_conversion
| duel
|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
| 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
|set_character_faith_with_conversion = faith:<religion>
| <pre>duel = {
|character
   skill = X
|faith
   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
|-
|-
|set_child_of_concubine_on_pregnancy
| else
|Sets the child to be (or not be) a child of a concubine during pregnancy
| Executes enclosed effects if limit criteria of preceding 'if' or 'else_if' is not met
|Unspecified
| <pre>if = { limit = { <triggers> } <effects> }
|character
else = { <effects> }</pre>
|
| none
|-
|-
|set_council_task
| else_if
|Sets the task of the scope councillor { task_type = council_position_type_key target = for_targeted_tasks  }
| Executes enclosed effects if limit criteria of preceding 'if' or 'else_if' is not met, and its own limit is met
|Unspecified
| <pre>if = { limit = { <triggers> } <effects> }
|character
else_if = { limit = { <triggers> } <effects> }</pre>
|
| none
|-
|-
|set_culture
| end_inspiration_sponsorship
|Set the culture for this character
| end_inspiration_sponsorship = inspiration
|Unspecified
| <pre>Stops the sponsorship of the targeted inspiration</pre>
|character
| none
|culture
| inspiration
|-
|-
|set_culture_same_as
| every_artifact
|Sets the culture of the character to be the same as the culture of the target
| Iterate through all existing artifacts
|Unspecified
| <pre>every_artifact = { limit = { <triggers> } <effects> }</pre>
|character
| none
|character
| artifact
|-
|-
|set_death_reason
| every_barony
|sets the death reason and the killer of a dead character, set_death_reason = { killer = X death_reason = Y }, both parameters are optional
| Iterate through all baronies in the game
|Unspecified
| <pre>every_barony = { limit = { <triggers> } <effects> }</pre>
|character
| none
|
| landed title
|-
|-
|set_default_education
| every_character_with_royal_court
|Set the default education focus for this character
| Iterate through all characters with a royal court
|Unspecified
| <pre>every_character_with_royal_court = { limit = { <triggers> } <effects> }</pre>
|character
| none
|
| character
|-
|-
|set_designated_heir
| every_county
|Sets the given character as designated heir
| Iterate through all counties in the game
|Unspecified
| <pre>every_county = { limit = { <triggers> } <effects> }</pre>
|character
| none
|character
| landed title
|-
|-
|set_employer
| every_county_in_region
|Add the scope character to the target character's court
| Iterate through all counties in the region. Put 'region = region_name' inside it
|Unspecified
| <pre>every_county_in_region = { limit = { <triggers> } <effects> }</pre>
|character
| none
|character
| landed title
|-
|-
|set_father
| every_culture_global
|sets the father of a character
| Iterate through all cultures in the game
|Unspecified
| <pre>every_culture_global = { limit = { <triggers> } <effects> }</pre>
|character
| none
|character
| culture
|-
|-
|set_focus
| every_duchy
|Set the focus for this character
| Iterate through all duchies in the game
|Unspecified
| <pre>every_duchy = { limit = { <triggers> } <effects> }</pre>
|character
| none
|
| landed title
|-
|-
|set_house
| every_empire
|Sets the dynasty house of the character
| Iterate through all empires in the game
|Unspecified
| <pre>every_empire = { limit = { <triggers> } <effects> }</pre>
|character
| none
|dynasty house
| landed title
|-
|-
|set_immortal_age
| every_in_global_list
|Changes what age the character became immortal at. Only works if already immortal
| Iterate through all items in global list. list = name or variable = name
|set_immortal_age = 20
| <pre>every_in_global_list = { limit = { <triggers> } <effects> }</pre>
|character
| none
|
|-
|-
|set_killer_public
| every_in_list
|Sets the scoped character's killer as being publicly known
| Iterate through all items in list. list = name or variable = name
|set_killer_public = bool
| <pre>every_in_list = { limit = { <triggers> } <effects> }</pre>
|character
| none
|
|-
|-
|set_known_bastard_on_pregnancy
| every_in_local_list
|Sets the child to a known or unknown bastard during pregnancy
| Iterate through all items in local list. list = name or variable = name
|Unspecified
| <pre>every_in_local_list = { limit = { <triggers> } <effects> }</pre>
|character
| none
|
|-
|-
|set_num_pregnancy_children
| every_independent_ruler
|Set the number of children
| Independent rulers list with a COUNT tier or above who hold land
|Unspecified
| <pre>every_independent_ruler = { limit = { <triggers> } <effects> }</pre>
|character
| none
|
| character
|-
|-
|set_override_designated_winner
| every_inspiration
|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
| Iterate through all inspirations in the world
|Unspecified
| <pre>every_inspiration = { limit = { <triggers> } <effects> }</pre>
|character
| none
|
| inspiration
|-
|-
|set_player_character
| every_inspired_character
|The scope character's player will now play as the target character. Scope must be player-controlled. Target cannot be player-controlled. Example: make_unprunable = yes
| Iterate through all characters with an inspirations in the world
|Unspecified
| <pre>every_inspired_character = { limit = { <triggers> } <effects> }</pre>
|character
| none
|character
| character
|-
|-
|set_pregnancy_assumed_father
| every_kingdom
|Set the assumed father of the pregnancy
| Iterate through all kingdoms in the game
|Unspecified
| <pre>every_kingdom = { limit = { <triggers> } <effects> }</pre>
|character
| none
|character
| landed title
|-
|-
|set_primary_spouse
| every_living_character
|Set the primary spouse of a character
| Iterate through all living characters
|set_primary_spouse = scope
| <pre>every_living_character = { limit = { <triggers> } <effects> }</pre>
|character
| none
|character
| character
|-
|-
|set_primary_title_to
| every_player
|Sets the primary title for a character
| Iterate through all player characters
|set_primary_title_to = <title>
| <pre>every_player = { limit = { <triggers> } <effects> }</pre>
|character
| none
|landed title
| character
|-
|-
|set_real_father
| every_pool_character
|Changes the real father of the character scope
| Iterate through all characters in the pool of the given province
|Unspecified
| <pre>every_pool_character = { limit = { <triggers> } <effects> }</pre>
|character
| none
|character
| character
|-
|-
|set_realm_capital
| every_province
|Set a new realm capital
| Iterate through all provinces (skips non-land and impassable provinces)
|character = { set_realm_capital = new_title }
| <pre>every_province = { limit = { <triggers> } <effects> }</pre>
|character
| none
|landed title
| province
|-
|-
|set_relation_best_friend
| every_religion_global
|Sets scripted relationship
| Iterate through all religions in the game
|Unspecified
| <pre>every_religion_global = { limit = { <triggers> } <effects> }</pre>
|character
| none
|character
| religion
|-
|-
|set_relation_bully
| every_ruler
|Sets scripted relationship
| Rulers list with a COUNT tier o above
|Unspecified
| <pre>every_ruler = { limit = { <triggers> } <effects> }</pre>
|character
| none
|character
| character
|-
|-
|set_relation_court_physician
| hidden_effect
|Sets scripted relationship
| Effect not shown in tooltips
|Unspecified
| <pre></pre>
|character
| none
|character
|-
|-
|set_relation_crush
| hidden_effect_new_artifact
|Sets scripted relationship
| Specific Artifact effects intended for use with newly created artifacts. These are hidden from tooltip, with no description generated whatsoever!
|Unspecified
| <pre></pre>
|character
| none
|character
|-
|-
|set_relation_friend
| if
|Sets scripted relationship
| Executes enclosed effects if limit criteria are met
|Unspecified
| <pre>if = { limit = { <triggers> } <effects> }</pre>
|character
| none
|character
|-
|-
|set_relation_guardian
| multiply_focus_progress
|Sets scripted relationship
| Multiplies focus progress
|Unspecified
| <pre></pre>
|character
| none
|character
|-
|-
|set_relation_intrigue_mentor
| open_interaction_window
|Sets scripted relationship
| Tries to open the defined view.
|Unspecified
| <pre>
|character
interaction = interaction_key - the interaction object key to open
|character
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
|-
|-
|set_relation_intrigue_student
| open_view
|Sets scripted relationship
| Tries to open the defined view without scope data.
|Unspecified
| <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.
|character
open_view = {
|character
   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
|-
|-
|set_relation_lover
| open_view_data
|Sets scripted relationship
| Tries to open the defined view with scope data.
|Unspecified
| <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.
|character
open_view_data = {
|character
   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
|-
|-
|set_relation_mentor
| ordered_artifact
|Sets scripted relationship
| Iterate through all existing artifacts
|Unspecified
| <pre>ordered_artifact = {
|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>
| none
| artifact
|-
|-
|set_relation_nemesis
| ordered_barony
|Sets scripted relationship
| Iterate through all baronies in the game
|Unspecified
| <pre>ordered_barony = {
|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>
| none
| landed title
|-
|-
|set_relation_oaf
| ordered_character_with_royal_court
|Sets scripted relationship
| Iterate through all characters with a royal court
|Unspecified
| <pre>ordered_character_with_royal_court = {
|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>
| none
| character
|-
|-
|set_relation_potential_friend
| ordered_county
|Sets scripted relationship
| Iterate through all counties in the game
|Unspecified
| <pre>ordered_county = {
|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>
| none
| landed title
|-
|-
|set_relation_potential_lover
| ordered_county_in_region
|Sets scripted relationship
| Iterate through all counties in the region. Put 'region = region_name' inside it
|Unspecified
| <pre>ordered_county_in_region = {
|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>
| none
| landed title
|-
|-
|set_relation_potential_rival
| ordered_culture_global
|Sets scripted relationship
| Iterate through all cultures in the game
|Unspecified
| <pre>ordered_culture_global = {
|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>
| none
| culture
|-
|-
|set_relation_rival
| ordered_duchy
|Sets scripted relationship
| Iterate through all duchies in the game
|Unspecified
| <pre>ordered_duchy = {
|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>
| none
| landed title
|-
|-
|set_relation_soldier_friend
| ordered_empire
|Sets scripted relationship
| Iterate through all empires in the game
|Unspecified
| <pre>ordered_empire = {
|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>
| none
| landed title
|-
|-
|set_relation_soulmate
| ordered_in_global_list
|Sets scripted relationship
| Iterate through all items in global list. list = name or variable = name
|Unspecified
| <pre>ordered_in_global_list = {
|character
limit = { <triggers> }
|character
order_by = script_value
|-
position = int
|set_relation_student
min = int
|Sets scripted relationship
max = script_value
|Unspecified
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|character
<effects> }</pre>
|character
| none
|-
|set_relation_victim
|Sets scripted relationship
|Unspecified
|character
|character
|-
|-
|set_relation_ward
| ordered_in_list
|Sets scripted relationship
| Iterate through all items in list. list = name or variable = name
|Unspecified
| <pre>ordered_in_list = {
|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>
| none
|-
|-
|set_sexuality
| ordered_in_local_list
|Sets the sexuality of the character
| Iterate through all items in local list. list = name or variable = name
|Unspecified
| <pre>ordered_in_local_list = {
|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>
| none
|-
|-
|set_to_lowborn
| ordered_independent_ruler
|Set the character to lowborn
| Independent rulers list with a COUNT tier or above who hold land
|Unspecified
| <pre>ordered_independent_ruler = {
|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>
| none
| character
|-
|-
|set_vassal_contract_modification_blocked
| ordered_inspiration
|Blocks the vassal contract from being modified with regards to being checked by 'vassal_contract_is_blocked_from_modification'
| Iterate through all inspirations in the world
|Unspecified
| <pre>ordered_inspiration = {
|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>
| none
| inspiration
|-
|-
|spawn_army
| ordered_inspired_character
|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.
| Iterate through all characters with an inspirations in the world
|
| <pre>ordered_inspired_character = {
<pre>
limit = { <triggers> }
spawn_army = {
order_by = script_value
levies = int/script value # optional, number of men
position = int
men_at_arms = { # optional, multiple can be specified. Need either levies or MAA
min = int
     type = key
max = script_value
     men/stacks = int/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>
location = province
| none
origin = province # optional, location used if not set. This is used for where to base bonuses and the like on
| character
war = war # optional. If set, the stack will disband after the war ends
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
|
|-
|-
|start_default_task
| ordered_kingdom
|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).
| Iterate through all kingdoms in the game
|Unspecified
| <pre>ordered_kingdom = {
|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>
| none
| landed title
|-
|-
|start_scheme
| ordered_living_character
|starts a scheme  = { type = X target = Y }
| Iterate through all living characters
|Unspecified
| <pre>ordered_living_character = {
|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>
| none
| character
|-
|-
|start_war
| ordered_player
|Starts a war. 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.
| Iterate through all player characters
|start_war = { casus_belli/cb = X target = Y claimant = Z target_title = W1 target_title = W2 ... }
| <pre>ordered_player = {
|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>
| none
| character
|-
|-
|stress_impact
| ordered_pool_character
|Stress impact according to specified traits (trait = value), use base = value for a base value that's always added
| Iterate through all characters in the pool of the given province
|Unspecified
| <pre>ordered_pool_character = {
|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>
| none
| character
|-
| ordered_province
| Iterate through all provinces (skips non-land and impassable provinces)
| <pre>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> }</pre>
| none
| province
|-
| ordered_religion_global
| Iterate through all religions in the game
| <pre>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> }</pre>
| none
| religion
|-
| ordered_ruler
| Rulers list with a COUNT tier o above
| <pre>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> }</pre>
| none
| character
|-
| pan_camera_to_province
| Pans the camera to the specified province
| <pre>pan_camera_to_province = scope:army.location</pre>
| none
| province
|-
|-
|use_hook
| pan_camera_to_title
|Uses a hook a character has (removes if weak, puts on cooldown if strong)
| Pans the camera to the specified title
|use_hook = some_character
| <pre>pan_camera_to_title = capital_barony</pre>
|character
| none
|character
| landed title
|-
|-
|vassal_contract_decrease_obligation_level
| random
|decrease the obligation level of the scoped character's vassal contract
| a random effect, random = { chance = X modifier = Y effects... }
|Unspecified
| <pre>where X is a chance of the enclosed effects being fired and can be modified by optional value modifier list (AKA MTTH) Y</pre>
|character
| none
|
|-
|-
|vassal_contract_increase_obligation_level
| random_artifact
|increase the obligation level of the scoped character's vassal contract
| Iterate through all existing artifacts
|Unspecified
| <pre>random_artifact = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|
| artifact
|-
|-
|vassal_contract_set_obligation_level
| random_barony
|change the obligation level of the scoped character's vassal contract
| Iterate through all baronies in the game
|vassal_contract_set_obligation_level = { type = name level = 1 } # index to obligation level
| <pre>random_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
vassal_contract_set_obligation_level = { type = name level = feudal_obligation_low }
| none
|character
| landed title
|
|-
|-
|visit_court_of
| random_character_with_royal_court
|Add the scope character as the target character's guest
| Iterate through all characters with a royal court
|Unspecified
| <pre>random_character_with_royal_court = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|character
| character
 
|}
==== Beginning with 'every' ====
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|every_alert_creatable_title
| random_county
|Iterate through all titles that can be created by the character. (only for alerts)
| Iterate through all counties in the game
|every_alert_creatable_title = { limit = { <triggers> } <effects> }
| <pre>random_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|landed title
| landed title
|-
|-
|every_alert_usurpable_title
| random_county_in_region
|Iterate through all titles that can be usurped by the character. (only for alerts)
| Iterate through all counties in the region. Put 'region = region_name' inside it
|every_alert_usurpable_title = { limit = { <triggers> } <effects> }
| <pre>random_county_in_region = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|landed title
| landed title
|-
|-
|every_ally
| random_culture_global
|Iterate through all allies
| Iterate through all cultures in the game
|every_ally = { limit = { <triggers> } <effects> }
| <pre>random_culture_global = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|character
| culture
|-
|-
|every_ancestor
| random_duchy
|Iterate through all the ancestors of the scope character up to 5 generations
| Iterate through all duchies in the game
|every_ancestor = { limit = { <triggers> } <effects> }
| <pre>random_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|character
| landed title
|-
|-
|every_army
| random_empire
|Iterate through all armies
| Iterate through all empires in the game
|every_army = { limit = { <triggers> } <effects> }
| <pre>random_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|army
| landed title
|-
|-
|every_character_to_title_neighboring_and_across_water_barony
| random_in_global_list
|Scopes from a character to a neighboring barony (incl. across water, looking trough the de Jure lieges)
| Iterate through all items in global list. list = name or variable = name
|every_character_to_title_neighboring_and_across_water_barony = { limit = { <triggers> } <effects> }
| <pre>random_in_global_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|landed title
|-
|-
|every_character_to_title_neighboring_and_across_water_county
| random_in_list
|Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges)
| Iterate through all items in list. list = name or variable = name
|every_character_to_title_neighboring_and_across_water_county = { limit = { <triggers> } <effects> }
| <pre>random_in_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|landed title
|-
|-
|every_character_to_title_neighboring_and_across_water_duchy
| random_in_local_list
|Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
| Iterate through all items in local list. list = name or variable = name
|every_character_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } <effects> }
| <pre>random_in_local_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|landed title
|-
|-
|every_character_to_title_neighboring_and_across_water_empire
| random_independent_ruler
|Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges)
| Independent rulers list with a COUNT tier or above who hold land
|every_character_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } <effects> }
| <pre>random_independent_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|landed title
| character
|-
|-
|every_character_to_title_neighboring_and_across_water_kingdom
| random_inspiration
|Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
| Iterate through all inspirations in the world
|every_character_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } <effects> }
| <pre>random_inspiration = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|landed title
| inspiration
|-
|-
|every_character_to_title_neighboring_barony
| random_inspired_character
|Scopes from a character to a neighboring barony (looking trough the de Jure lieges)
| Iterate through all characters with an inspirations in the world
|every_character_to_title_neighboring_barony = { limit = { <triggers> } <effects> }
| <pre>random_inspired_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|landed title
| character
|-
|-
|every_character_to_title_neighboring_county
| random_kingdom
|Scopes from a character to a neighboring county (looking trough the de Jure lieges)
| Iterate through all kingdoms in the game
|every_character_to_title_neighboring_county = { limit = { <triggers> } <effects> }
| <pre>random_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|landed title
| landed title
|-
|-
|every_character_to_title_neighboring_duchy
| random_list
|Scopes from a character to a neighboring duchy (looking trough the de Jure lieges)
| a random list effect
|every_character_to_title_neighboring_duchy = { limit = { <triggers> } <effects> }
| <pre>random_list = { X1 = { trigger = { enables/disable this effect} modifier/compare_modifier/opinion_modifier = Y1 effect1 } X2 = { trigger = { enables/disable this effect} modifier/compare_modifier/opinion_modifier = Y2 effect2 } ... }
|character
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).
|landed title
The chances can be modified by optional value modifier lists Y1, Y2... (AKA MTTH)</pre>
| none
|-
|-
|every_character_to_title_neighboring_empire
| random_living_character
|Scopes from a character to a neighboring empire (looking trough the de Jure lieges)
| Iterate through all living characters
|every_character_to_title_neighboring_empire = { limit = { <triggers> } <effects> }
| <pre>random_living_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|landed title
| character
|-
|-
|every_character_to_title_neighboring_kingdom
| random_log_scopes
|Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges)
| 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
|every_character_to_title_neighboring_kingdom = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| none
|landed title
|-
|-
|every_character_war
| random_player
|Wars of the scoped character
| Iterate through all player characters
|every_character_war = { limit = { <triggers> } <effects> }
| <pre>random_player = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|war
| character
|-
|-
|every_child
| random_pool_character
|Iterate through all children
| Iterate through all characters in the pool of the given province
|every_child = { limit = { <triggers> } <effects> }
| <pre>random_pool_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|character
| character
|-
|-
|every_claim
| random_province
|Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all
| Iterate through all provinces (skips non-land and impassable provinces)
|every_claim = { limit = { <triggers> } <effects> }
| <pre>random_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|landed title
| province
|-
|-
|every_close_family_member
| random_religion_global
|Iterate through all the close family [father, mother, siblings, children, grandparents]
| Iterate through all religions in the game
|every_close_family_member = { limit = { <triggers> } <effects> }
| <pre>random_religion_global = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|character
| religion
|-
|-
|every_close_or_extended_family_member
| random_ruler
|Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins]
| Rulers list with a COUNT tier o above
|every_close_or_extended_family_member = { limit = { <triggers> } <effects> }
| <pre>random_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|character
| none
|character
| character
|-
|-
|every_concubine
| remove_from_list
|Iterate through all concubines
| Removes the current scope from a named list remove_from_list = <string>
|every_concubine = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| none
|character
|-
|-
|every_consort
| remove_global_variable
|Iterate through all consorts (concubines and spouses)
| Removes a variable
|every_consort = { limit = { <triggers> } <effects> }
| <pre>remove_variable = variable_name</pre>
|character
| none
|character
|-
|-
|every_councillor
| remove_list_global_variable
|Iterate through all councillors
| Removes the target from a variable list
|every_councillor = { limit = { <triggers> } <effects> }
| <pre>remove_list_variable = { name = X target = Y }
|character
Where X is the name of the variable
|character
Where Y is an event target</pre>
| none
|-
|-
|every_courtier
| remove_list_local_variable
|Iterate through all courtiers
| Removes the target from a variable list
|every_courtier = { limit = { <triggers> } <effects> }
| <pre>remove_list_variable = { name = X target = Y }
|character
Where X is the name of the variable
|character
Where Y is an event target</pre>
| none
|-
|-
|every_courtier_away
| remove_list_variable
|Iterate through all courtiers that are away
| Removes the target from a variable list
|every_courtier_away = { limit = { <triggers> } <effects> }
| <pre>remove_list_variable = { name = X target = Y }
|character
Where X is the name of the variable
|character
Where Y is an event target</pre>
| none
|-
|-
|every_courtier_or_guest
| remove_local_variable
|Iterate through all courtiers and guests (pool and foreign court guests)
| Removes a variable
|every_courtier_or_guest = { limit = { <triggers> } <effects> }
| <pre>remove_variable = variable_name</pre>
|character
| none
|character
|-
|-
|every_de_jure_claim
| remove_title_law
|Iterate through all de jure claims for a character
| 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.
|every_de_jure_claim = { limit = { <triggers> } <effects> }
| <pre>remove_title_law = princely_elective_succession_law</pre>
|character
| none
|landed title
|-
|-
|every_diplomacy_councillor
| remove_title_law_effects
|Iterate through all diplomacy-based councillors
| 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.
|every_diplomacy_councillor = { limit = { <triggers> } <effects> }
| <pre>remove_title_law = princely_elective_succession_law</pre>
|character
| none
|character
|-
|-
|every_directly_owned_province
| remove_variable
|Iterate through all directly owned provinces
| Removes a variable
|every_directly_owned_province = { limit = { <triggers> } <effects> }
| <pre>remove_variable = variable_name</pre>
|character
| none
|province
|-
|-
|every_election_title
| resolve_title_and_vassal_change
|Iterate through all titles the scoped character can vote on
| resolve_title_and_vassal_change = scope:change
|every_election_title = { limit = { <triggers> } <effects> }
| <pre>Execute and destory the target title and vassal change, the change cannot be used after calling this effect</pre>
|character
| none
|landed title
| title and vassal change
|-
|-
|every_extended_family_member
| round_global_variable
|Iterate through all the extended family [uncles/aunts, nephew/niece, cousins]
| Rounds a variable to the nearest specified value
|every_extended_family_member = { limit = { <triggers> } <effects> }
| <pre>clamp_variable = { name = X nearest = Y }
|character
Where X is the name of the variable
|character
Where Y is a script value</pre>
| none
|-
|-
|every_foreign_court_guest
| round_local_variable
|Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege)
| Rounds a variable to the nearest specified value
|every_foreign_court_guest = { limit = { <triggers> } <effects> }
| <pre>clamp_variable = { name = X nearest = Y }
|character
Where X is the name of the variable
|character
Where Y is a script value</pre>
| none
|-
|-
|every_former_concubine
| round_variable
|Iterate through all former concubines. Not persisted past death
| Rounds a variable to the nearest specified value
|every_former_concubine = { limit = { <triggers> } <effects> }
| <pre>clamp_variable = { name = X nearest = Y }
|character
Where X is the name of the variable
|character
Where Y is a script value</pre>
| none
|-
|-
|every_former_concubinist
| run_interaction
|Iterate through all former concubinists. Not persisted past death
| Execute/send the given interaction
|every_former_concubinist = { limit = { <triggers> } <effects> }
| <pre>
|character
interaction = interaction_key - the interaction object key to run
|character
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
|-
|-
|every_former_spouse
| save_opinion_value_as
|Iterate through all former spouses
| Saves the scoped character's opinion of the target character as an arbitrarily-named target to be referenced later in the (unbroken) event chain
|every_former_spouse = { limit = { <triggers> } <effects> }
| <pre>save_opinion_value_as = { name = <string> target = x }</pre>
|character
| none
|character
|-
|-
|every_general_councillor
| save_scope_as
|Iterate through all councillors that are not related to a skill
| Saves the current scope as an arbitrarily-named target to be referenced later in the (unbroken) event chain
|every_general_councillor = { limit = { <triggers> } <effects> }
| <pre>save_event_target_as = <string></pre>
|character
| none
|character
|-
|-
|every_heir
| save_scope_value_as
|Heirs of the scoped character
| Saves a numerical or bool value as an arbitrarily-named target to be referenced later in the (unbroken) event chain
|every_heir = { limit = { <triggers> } <effects> }
| <pre>save_scope_value_as = { name = <string> value = x }</pre>
|character
| none
|character
|-
|-
|every_heir_title
| save_temporary_opinion_value_as
|Iterate through all landed titles character is heir to
| 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
|every_heir_title = { limit = { <triggers> } <effects> }
| <pre>save_temporary_opinion_value_as = { name = <string> target = x</pre>
|character
| none
|landed title
|-
|-
|every_heir_to_title
| save_temporary_scope_as
|Iterate through all titles the scoped character is heir to
| Saves the current scope as an arbitrarily-named temporary target to be referenced later in the same effect
|every_heir_to_title = { limit = { <triggers> } <effects> }
| <pre>save_temporary_event_target_as = <string></pre>
|character
| none
|landed title
|-
|-
|every_held_title
| save_temporary_scope_value_as
|Iterate through all held landed titles
| Saves a numerical or bool value as an arbitrarily-named temporary target to be referenced later in the same effect
|every_held_title = { limit = { <triggers> } <effects> }
| <pre>save_temporary_scope_value_as = { name = <string> value = x }</pre>
|character
| none
|landed title
|-
|-
|every_hired_mercenary
| set_focus_progress
|Iterate through all hired mercenary companies
| Sets focus progress
|every_hired_mercenary = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| none
|mercenary company
|-
|-
|every_hooked_character
| set_generated_asexuality_chance
|Iterate through all characters this character has a hook on
| Sets the chance for a generated character to be asexual
|every_hooked_character = { limit = { <triggers> } <effects> }
| <pre>set_generated_asexuality_chance = 20</pre>
|character
| none
|character
|-
|-
|every_hostile_raider
| set_generated_bisexuality_chance
|Iterate through anyone the character is hostile to due to their top-liege's realm having been raided
| Sets the chance for a generated character to be bisexual
|every_hostile_raider = { limit = { <triggers> } <effects> }
| <pre>set_generated_bisexuality_chance = 20</pre>
|character
| none
|character
|-
|-
|every_intrigue_councillor
| set_generated_homosexuality_chance
|Iterate through all intrigue-based councillors
| Sets the chance for a generated character to be homosexual
|every_intrigue_councillor = { limit = { <triggers> } <effects> }
| <pre>set_generated_homosexuality_chance = 20</pre>
|character
| none
|character
|-
|-
|every_knight
| set_global_variable
|Iterate through all knights
| Sets a variable
|every_knight = { limit = { <triggers> } <effects> }
| <pre>set_variable = { name = X value = Y days = Z }
|character
Where X is the name of the variable used to then access it
|character
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 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
|-
|-
|every_known_secret
| set_local_variable
|Iterate through all secrets known by the character
| Sets a variable
|every_known_secret = { limit = { <triggers> } <effects> }
| <pre>set_variable = { name = X value = Y days = Z }
|character
Where X is the name of the variable used to then access it
|secret
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 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
|-
|-
|every_learning_councillor
| set_pregnancy_gender
|Iterate through all learning-based councillors
| Set the gender of the unborn child
|every_learning_councillor = { limit = { <triggers> } <effects> }
| <pre>set_pregnancy_gender = female/male/random</pre>
|character
| none
|character
|-
|-
|every_liege_or_above
| set_variable
|Iterate through all lieges above a character (skipping the character themselves)
| Sets a variable
|every_liege_or_above = { limit = { <triggers> } <effects> }
| <pre>set_variable = { name = X value = Y days = Z }
|character
Where X is the name of the variable used to then access it
|character
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 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
|-
|-
|every_martial_councillor
| setup_claim_cb
|Iterate through all martial-based councillors
| = { attacker = scope:attacker
|every_martial_councillor = { limit = { <triggers> } <effects> }
| <pre> defender = scope:defender
|character
claimant = scope:claimant
|character
  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
|-
|-
|every_neighboring_and_across_water_realm_same_rank_owner
| setup_de_jure_cb
|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)
| = { attacker = scope:attacker
|every_neighboring_and_across_water_realm_same_rank_owner = { limit = { <triggers> } <effects> }
| <pre>defender = scope:defender
|character
change = scope:change
|character
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
|-
|-
|every_neighboring_and_across_water_top_liege_realm
| setup_invasion_cb
|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
| = { attacker = scope:attacker
|every_neighboring_and_across_water_top_liege_realm = { limit = { <triggers> } <effects> }
| <pre> defender = scope:defender
|character
  change = scope:change victory = yes/no
|landed title
take_occupied = yes/no } , this effect will add a scope:cb_prestige_factor with a value based on what's being taken</pre>
| none
|-
|-
|every_neighboring_and_across_water_top_liege_realm_owner
| show_as_tooltip
|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
| Effect only shown in tooltips (but not executed)
|every_neighboring_and_across_water_top_liege_realm_owner = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| none
|character
|-
|-
|every_neighboring_realm_same_rank_owner
| start_tutorial_lesson
|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)
| 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)
|every_neighboring_realm_same_rank_owner = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| none
|character
|-
|-
|every_neighboring_top_liege_realm
| switch
|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
| Switch on a trigger for the evaluation of another trigger with an optional fallback trigger.
|every_neighboring_top_liege_realm = { limit = { <triggers> } <effects> }
| <pre>switch = {
|character
trigger = simple_assign_trigger
|landed title
case_1 = { <effects> }
case_2 = { <effects> }
case_n = { <effects> }
fallback = { <effects> }</pre>
| none
|-
|-
|every_neighboring_top_liege_realm_owner
| trigger_event
|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
| triggers an event or on_action
|every_neighboring_top_liege_realm_owner = { limit = { <triggers> } <effects> }
| <pre>trigger_event = { id = X days/months/years = Y delayed = yes/no } (for events)
|character
or
|character
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
|-
|-
|every_owned_story
| try_create_important_action
|Iterate through all owned stories for a character
| Tries to create an important action notification. Will keep the current one if already exists.
|every_owned_story = { limit = { <triggers> } <effects> }
| <pre>
|character
important_action_type = important_action_type_key - the important action object key to create. Must be defined.
|story cycle
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
|-
|-
|every_parent
| try_create_suggestion
|Iterate through all (both) parents
| Tries to create an suggestuib notification. Will keep the current one if already exists.
|every_parent = { limit = { <triggers> } <effects> }
| <pre>
|character
suggestion_type = suggestion_type_key - the suggestion action object key to create. Must be defined.
|character
actor = character_actor - optional, can be used by the suggestion effect
|-
recipient = character_actor - optional, can be used by the suggestion effect
|every_patroned_holy_order
secondary_actor = character_secontary_actor - optional, can be used by the suggestion effect
|Iterate through all holy orders that the scoped character is a patron of
secondary_recipient = character_secondary_recipient - optional, can be used by the suggestion effect
|every_patroned_holy_order = { limit = { <triggers> } <effects> }
landed_title = landed_title - optional, can be used by the suggestion effect</pre>
|character
| none
|holy order
|-
|-
|every_pinned_character
| while
|Iterate through characters this player has pinned
| Repeats enclosed effects while limit criteria are met or until set iteration count is reached
|every_pinned_character = { limit = { <triggers> } <effects> }
| <pre>while = { limit = { <triggers> } <effects> }
|character
while = { count = 3 <effects> }
|character
Default max of 1000.</pre>
| none
|-
|-
|every_pinning_character
| add_amenity_level
|Iterate through characters whose player has this character pinned
| add_amenity_level = { type = food value = 2 }
|every_pinning_character = { limit = { <triggers> } <effects> }
| <pre>Increases the amenity type by the given value for the scoped character</pre>
|character
| character
|character
|-
|-
|every_player_heir
| add_character_flag
|Iterate through player heirs, capped at the first 10
| adds a character flag
|every_player_heir = { limit = { <triggers> } <effects> }
| <pre>usage:
|character
add_character_flag = X
|character
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
|-
|-
|every_pool_guest
| add_character_modifier
|Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege)
| Add a modifier to a character
|every_pool_guest = { limit = { <triggers> } <effects> }
| <pre>add_character_modifier = name
|character
add_character_modifier = { modifier = name days/weeks/months/years = int }
|character
You can also add an optional 'desc' field. This is a dynamic description that'll be used for your timed modifier</pre>
| character
|-
|-
|every_potential_marriage_option
| add_courtier
|Iterate through all potential selectable marriage or betrohed options
| Add the target character to the scope character's court
|every_potential_marriage_option = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|character
| character
|-
|-
|every_pretender_title
| add_diplomacy_lifestyle_perk_points
|Iterate through all landed titles character is pretender to
| Adds lifestyle per points to the given character
|every_pretender_title = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|landed title
|-
|-
|every_primary_war_enemy
| add_diplomacy_lifestyle_xp
|Iterate through all primary war enemies
| Adds lifestyle XP to the given character
|every_primary_war_enemy = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|character
|-
|-
|every_prisoner
| add_dread
|Iterate through all prisoners
| adds (or removes) dread to a character
|every_prisoner = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|character
|-
|-
|every_prowess_councillor
| add_gold
|Iterate through all prowess-based councillors
| adds gold to a character
|every_prowess_councillor = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|character
|-
|-
|every_raid_target
| add_hook
|Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges
| Adds a hook on a character
|every_raid_target = { limit = { <triggers> } <effects> }
| <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.
|character
Does send a toast to the player if it's involved.</pre>
| character
|-
|-
|every_realm_county
| add_hook_no_toast
|Iterate through all counties in the realm. Based on top liege
| Adds a hook on a character
|every_realm_county = { limit = { <triggers> } <effects> }
| <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.
|landed title
Does NOT send a toast to the player.</pre>
| character
|-
|-
|every_realm_de_jure_duchy
| add_intrigue_lifestyle_perk_points
|Iterate through all de jure duchies that have at least one county in the realm. Based on top liege
| Adds lifestyle per points to the given character
|every_realm_de_jure_duchy = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|landed title
|-
|-
|every_realm_de_jure_empire
| add_intrigue_lifestyle_xp
|Iterate through all de jure empire that have at least one county in the realm. Based on top liege
| Adds lifestyle XP to the given character
|every_realm_de_jure_empire = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|landed title
|-
|-
|every_realm_de_jure_kingdom
| add_joined_faction_discontent
|Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege
| add_joined_faction_discontent = X adds (or subtracts) discontent to the factions the scope character is in
|every_realm_de_jure_kingdom = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|landed title
|-
|-
|every_realm_province
| add_knows_of_killer
|Iterate through all realm provinces of a character
| Adds the right hand side character as knowing of the killer of the scoped object
|every_realm_province = { limit = { <triggers> } <effects> }
| <pre>dead_person = { add_knows_of_killer = root }</pre>
|character
| character
|province
| character
|-
|-
|every_relation
| add_learning_lifestyle_perk_points
|Iterate through scripted relations of a given type or multiple types, if someone is multiple relations they will only be in the list once
| Adds lifestyle per points to the given character
|every_relation = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|character
|-
|-
|every_scheme
| add_learning_lifestyle_xp
|Iterate through all schemes owned by the character
| Adds lifestyle XP to the given character
|every_scheme = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|scheme
|-
|-
|every_secret
| add_martial_lifestyle_perk_points
|Iterate through all secrets of the character
| Adds lifestyle per points to the given character
|every_secret = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|secret
|-
|-
|every_sibling
| add_martial_lifestyle_xp
|Iterate through all siblings
| Adds lifestyle XP to the given character
|every_sibling = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|character
|-
|-
|every_spouse
| add_opinion
|Iterate through all spouses
| Adds a temporary opinion modifier, add_opinion = { modifier = X days/months/years = Y target = Z }
|every_spouse = { limit = { <triggers> } <effects> }
| <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
|character
|-
|-
|every_spouse_candidate
| add_perk
|Iterate through all the spouse candidates of a character. WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
| Adds the perk for this character
|every_spouse_candidate = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|character
|-
|-
|every_stewardship_councillor
| add_personal_artifact_claim
|Iterate through all stewardship-based councillors
| Adds a personal claim on the target artifact to the scoped character
|every_stewardship_councillor = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|character
| artifact
|-
|-
|every_sub_realm_barony
| add_piety
|Iterate through all baronies in sub-realm
| gives (or takes) piety to a character
|every_sub_realm_barony = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|landed title
|-
|-
|every_sub_realm_county
| add_piety_experience
|Iterate through all counties in sub-realm
| gives (or takes) piety experience to a character
|every_sub_realm_county = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|landed title
|-
|-
|every_sub_realm_duchy
| add_piety_level
|Iterate through all duchies in sub-realm
| increases (or decreases) the piety level of a character
|every_sub_realm_duchy = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|landed title
|-
|-
|every_sub_realm_empire
| add_piety_no_experience
|Iterate through all empires in sub-realm
| gives (or takes) piety without experience to a character
|every_sub_realm_empire = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|landed title
|-
|-
|every_sub_realm_kingdom
| add_pressed_claim
|Iterate through all kingdoms in sub-realm
| gives a pressed claim to a character
|every_sub_realm_kingdom = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|landed title
| landed title
|-
|-
|every_sub_realm_title
| add_prestige
|Iterate through all titles in sub-realm
| gives (or takes) prestige to a character
|every_sub_realm_title = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|landed title
|-
|-
|every_targeting_faction
| add_prestige_experience
|Iterate through all factions targeting the scope character
| gives (or takes) prestige experience to a character
|every_targeting_faction = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|faction
|-
|-
|every_targeting_scheme
| add_prestige_level
|Iterate through all schemes targeting the character
| increases (or decreases) the prestige level of a character
|every_targeting_scheme = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|scheme
|-
|-
|every_targeting_secret
| add_prestige_no_experience
|Iterate through all secrets that target the specified scope
| gives (or takes) prestige without experience to a character
|every_targeting_secret = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|secret
|-
|-
|every_traveling_family_member
| add_realm_law
|Iterate though all characters that should travel with the scoped one (when moving between courts for instance); includes the scoped character
| Adds the given law to the scoped character
|every_traveling_family_member = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|character
|-
|-
|every_truce_holder
| add_realm_law_skip_effects
|Iterate through all characters that have a truce on this character
| Adds the given law to the scoped character. Skips the cost and the pass effect, and the revoke effects of the current law
|every_truce_holder = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|character
|-
|-
|every_truce_target
| add_relation_flag
|Iterate through all characters this character has a truce on
| Adds a flag to an existing relation
|every_truce_target = { limit = { <triggers> } <effects> }
| <pre>add_relation_flag = {
|character
  relation = scripted_relation
|character
  flag = flag_name (declared in the relation's script)
  target = other_character
}</pre>
| character
|-
|-
|every_unspent_known_secret
| add_scheme_cooldown
|Iterate through all unspent secrets known by the character
| Sets a scheme cooldown for the scope character towards = { target=target_character type=scheme_type days/weeks/months/years = duration }
|every_unspent_known_secret = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|secret
|-
|-
|every_vassal
| add_secret
|Iterate through all DIRECT vassals
| Adds a secret
|every_vassal = { limit = { <triggers> } <effects> }
| <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.
|character
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
|-
|-
|every_vassal_or_below
| add_stewardship_lifestyle_perk_points
|Iterate through ALL vassals, not just direct vassals
| Adds lifestyle per points to the given character
|every_vassal_or_below = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|character
|-
|-
|every_war_ally
| add_stewardship_lifestyle_xp
|Iterate through all direct war allies
| Adds lifestyle XP to the given character
|every_war_ally = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|character
|-
|-
|every_war_enemy
| add_stress
|Iterate through all direct war enemies
| increases (or decreases) stress of a character
|every_war_enemy = { limit = { <triggers> } <effects> }
| <pre></pre>
|character
| character
|character
|}
 
==== Beginning with 'ordered' ====
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|ordered_alert_creatable_title
| add_targeting_factions_discontent
|Iterate through all titles that can be created by the character. (only for alerts)
| add_targeting_factions_discontent = X adds (or subtracts) discontent to all the factions that are targeting the scope character
|ordered_alert_creatable_title = {
| <pre></pre>
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> }
|character
|landed title
|-
|-
|ordered_alert_usurpable_title
| add_to_scheme
|Iterate through all titles that can be usurped by the character. (only for alerts)
| Adds a character as an agent to the scheme
|ordered_alert_usurpable_title = {
| <pre></pre>
limit = { <triggers> }
| character
order_by = script_value
| scheme
position = int
min = int
max = 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
| add_trait
|Iterate through all allies
| 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)
|ordered_ally = {
| <pre></pre>
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> }
|character
|character
|-
|-
|ordered_ancestor
| add_trait_force_tooltip
|Iterate through all the ancestors of the scope character up to 5 generations
| 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)
|ordered_ancestor = {
| <pre></pre>
limit = { <triggers> }
| character
order_by = script_value
|
position = int
|-
min = int
| add_truce_both_ways
max = script_value
| Sets the both-way truce against the specified character
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
| <pre>'character' specifies the target character
<effects> }
'override' says whether it should replace the previous truce even if shorter
|character
'years / months / days' sets the duration of the truce
|character
'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
|-
|-
|ordered_army
| add_unpressed_claim
|Iterate through all armies
| gives an unpressed claim to a character
|ordered_army = {
| <pre></pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
min = int
max = 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_to_title_neighboring_and_across_water_barony
| add_visiting_courtier
|Scopes from a character to a neighboring barony (incl. across water, looking trough the de Jure lieges)
| Add the target character as the scope character's guest
|ordered_character_to_title_neighboring_and_across_water_barony = {
| <pre></pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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_county
| allow_alliance
|Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges)
| Allows (previously broken) alliance with the target character
|ordered_character_to_title_neighboring_and_across_water_county = {
| <pre></pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
|-
min = int
| allow_in_scheme
max = script_value
| Allow the character to join the scheme as an agent
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
| <pre></pre>
<effects> }
| character
|character
| scheme
|landed title
|-
| 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
|-
|-
|ordered_character_to_title_neighboring_and_across_water_duchy
| apply_ai_vassal_obligation_vassal_most_desired
|Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
| Apply the new level for the most desired AI obligation level the vassal in the contract wants
|ordered_character_to_title_neighboring_and_across_water_duchy = {
| <pre></pre>
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> }
|character
|landed title
|-
|-
|ordered_character_to_title_neighboring_and_across_water_empire
| appoint_court_position
|Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges)
| Appoints the target character in target court position within scoped character's court
|ordered_character_to_title_neighboring_and_across_water_empire = {
| <pre>
limit = { <triggers> }
recipient = character scope - target character to receive the title
order_by = script_value
court_position = court position type - court position type to assign the receiver</pre>
position = int
| character
min = int
max = 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
| assign_council_task
|Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
| Assigns the target character to the council task
|ordered_character_to_title_neighboring_and_across_water_kingdom = {
| <pre>assign_council_task = {
limit = { <triggers> }
   council_task = council_task_scope
order_by = script_value
   target = character_taking_the_position   fire_on_actions = [yes]
position = int
}</pre>
min = int
| character
max = 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_barony
| assign_councillor_type
|Scopes from a character to a neighboring barony (looking trough the de Jure lieges)
| 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] }
|ordered_character_to_title_neighboring_barony = {
| <pre></pre>
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> }
|character
|landed title
|-
|-
|ordered_character_to_title_neighboring_county
| banish
|Scopes from a character to a neighboring county (looking trough the de Jure lieges)
| The character gets banished.
|ordered_character_to_title_neighboring_county = {
| <pre></pre>
limit = { <triggers> }
| character
order_by = script_value
|
position = int
|-
min = int
| becomes_independent
max = script_value
| becomes and independent ruler. becomes_independent = { change = 'previously created title_and_vassal_change'
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
| <pre></pre>
<effects> }
| character
|character
|landed title
|-
|-
|ordered_character_to_title_neighboring_duchy
| break_alliance
|Scopes from a character to a neighboring duchy (looking trough the de Jure lieges)
| Breaks the alliance with the target character
|ordered_character_to_title_neighboring_duchy = {
| <pre></pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| cancel_truce_both_ways
|Scopes from a character to a neighboring empire (looking trough the de Jure lieges)
| Ends the truce against the specified character, and theirs against the scoped character. cancel_truce_both_ways = scope:character
|ordered_character_to_title_neighboring_empire = {
| <pre></pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| cancel_truce_one_way
|Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges)
| Ends the truce against the specified character. cancel_truce_one_way = scope:character
|ordered_character_to_title_neighboring_kingdom = {
| <pre></pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| change_age
|Wars of the scoped character
| 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
|ordered_character_war = {
| <pre>   Usage: change_age = script value</pre>
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> }
|character
|war
|-
|-
|ordered_child
| change_current_court_grandeur
|Iterate through all children
| Changes the current court grandeur of a character with a royal court, clamped between NRoyalCourt::COURT_GRANDEUR_MIN and NRoyalCourt::COURT_GRANDEUR_MAX.
|ordered_child = {
| <pre></pre>
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> }
|character
|character
|-
|-
|ordered_claim
| change_current_weight
|Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all
| Change the current weight of the scoped character
|ordered_claim = {
| <pre>change_current_weight = 20</pre>
limit = { <triggers> }
| character
order_by = script_value
|
position = int
|-
min = int
| change_first_name
max = script_value
| Change the first name of a character
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
| <pre>change_first_name = <localization_key>
<effects> }
change_first_name = scope:name/var:name # containing a flag with a localization key
|character
change_first_name = { template_character = scope:character } # copy name from the template character</pre>
|landed title
| character
|
|-
| change_government
| changes the government of a character
| <pre></pre>
| character
|-
|-
|ordered_close_family_member
| change_liege
|Iterate through all the close family [father, mother, siblings, children, grandparents]
| = { liege = 'Character that should become the new liege' change = 'previously created title_and_vassal_change', adds a liege change
|ordered_close_family_member = {
| <pre></pre>
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> }
|character
|character
|-
|-
|ordered_close_or_extended_family_member
| change_prison_type
|Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins]
| Changes the charater's prison type. Scoped character is the prisoner. Accepts any static modifier (see also improson effect).
|ordered_close_or_extended_family_member = {
| <pre>change_prison_type = house_arrest</pre>
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> }
|character
|character
|-
|-
|ordered_concubine
| change_target_weight
|Iterate through all concubines
| Change the target weight of the scoped character
|ordered_concubine = {
| <pre>change_target_weight = 20</pre>
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> }
|character
|character
|-
|-
|ordered_consort
| change_trait_rank
|Iterate through all consorts (concubines and spouses)
| Changes the trait rank = { trait = trait_group rank = change max = maximum new rank }
|ordered_consort = {
| <pre></pre>
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> }
|character
|character
|-
|-
|ordered_councillor
| clear_forced_vote
|Iterate through all councillors
| Clears forced voting
|ordered_councillor = {
| <pre>clear_forced_vote = yes</pre>
limit = { <triggers> }
| character
order_by = script_value
|
position = int
|-
min = int
| consume_banish_reasons
max = script_value
| '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.
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
| <pre></pre>
<effects> }
| 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
|-
| 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
|-
|-
|ordered_courtier
| consume_imprisonment_reasons
|Iterate through all courtiers
| '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.
|ordered_courtier = {
| <pre></pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| consume_revoke_title_reason
|Iterate through all courtiers that are away
| 'Consume' 1 revoke title reason that the scoped character has on the target character.
|ordered_courtier_away = {
| <pre></pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| copy_inheritable_appearance_from
|Iterate through all courtiers and guests (pool and foreign court guests)
| copies the inheritable appearance attributes (inheritable genes in the character's DNA string) from the target character to the scoped character
|ordered_courtier_or_guest = {
| <pre></pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| copy_localized_text
|Iterate through all de jure claims for a character
| Copies a piece of localized text from the target character for the given key.
|ordered_de_jure_claim = {
| <pre>copy_localized_text = { key = key target = character }</pre>
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> }
|character
|landed title
|-
|-
|ordered_diplomacy_councillor
| create_alliance
|Iterate through all diplomacy-based councillors
| 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.
|ordered_diplomacy_councillor = {
| <pre>create_alliance = {
limit = { <triggers> }
target = scope
order_by = script_value
allied_through_owner = scope
position = int
allied_through_target = scope
min = int
}
max = script_value
OR as a short hand use just the target to use the owner and target as the allied through characters
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
create_alliance = scope</pre>
<effects> }
| character
|character
|
|character
|-
| create_artifact
| Creates a new artifact and adds it to the inventory of the given character
| <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)
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
|-
|-
|ordered_directly_owned_province
| create_cadet_branch
|Iterate through all directly owned provinces
| The scope character creates a cadet branch of the house he is in [yes|no]
|ordered_directly_owned_province = {
| <pre></pre>
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> }
|character
|province
|-
|-
|ordered_election_title
| create_divergent_culture
|Iterate through all titles the scoped character can vote on
| 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.
|ordered_election_title = {
| <pre>create_divergent_culture = yes</pre>
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> }
|character
|landed title
|-
|-
|ordered_extended_family_member
| create_divergent_culture_with_side_effects
|Iterate through all the extended family [uncles/aunts, nephew/niece, cousins]
| 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.
|ordered_extended_family_member = {
| <pre>create_divergent_culture_with_side_effects = yes</pre>
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> }
|character
|character
|-
|-
|ordered_foreign_court_guest
| create_divergent_culture_with_side_effects_excluding_cost
|Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege)
| 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.
|ordered_foreign_court_guest = {
| <pre>create_divergent_culture_with_side_effects_excluding_cost = yes</pre>
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> }
|character
|character
|-
|-
|ordered_former_concubine
| create_faction
|Iterate through all former concubines. Not persisted past death
| the scoped character creates a faction of the specified type against the specified target, create_faction = { type = X target = Y }
|ordered_former_concubine = {
| <pre></pre>
limit = { <triggers> }
| character
order_by = script_value
|
position = int
|-
min = int
| create_hybrid_culture
max = script_value
| 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.
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
| <pre>create_hybrid_culture = culture:anglo-saxon</pre>
<effects> }
| character
|character
| culture
|character
|-
| 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
| culture
|-
|-
|ordered_former_concubinist
| create_inspiration
|Iterate through all former concubinists. Not persisted past death
| create_inspiration = inspiration_type
|ordered_former_concubinist = {
| <pre>Creates an inspiration of a given type owned by scoped character, new inspiration is saved as scope:new_inspiration
limit = { <triggers> }
create_inspiration = { type = inspiration_type gold = script_value }
order_by = script_value
As above but overrides the base cost compared to the one defined in the type</pre>
position = int
| character
min = int
max = 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
| create_story
|Iterate through all former spouses
| creates and initializes a story cycle with the current character as owner
|ordered_former_spouse = {
| <pre>create_story = story_type
limit = { <triggers> }
create_story = {
order_by = script_value
type = story_type
position = int
save_scope_as/save_temporary_scope_as = scope_name # optional way to get a reference to the new story}</pre>
min = int
| character
max = 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
| death
|Iterate through all councillors that are not related to a skill
| 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.
|ordered_general_councillor = {
| <pre></pre>
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> }
|character
|character
|-
|-
|ordered_heir
| depose
|Heirs of the scoped character
| The character gets deposed.
|ordered_heir = {
| <pre></pre>
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> }
|character
|character
|-
|-
|ordered_heir_title
| destroy_title
|Iterate through all landed titles character is heir to
| Destroys a title
|ordered_heir_title = {
| <pre></pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
|-
min = int
| end_pregnancy
max = script_value
| end a pregnancy
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
| <pre></pre>
<effects> }
| character
|character
|
|landed title
|-
| 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
| 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
| landed title
|-
|-
|ordered_heir_to_title
| every_ally
|Iterate through all titles the scoped character is heir to
| Iterate through all allies
|ordered_heir_to_title = {
| <pre>every_ally = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_ancestor
|Iterate through all held landed titles
| Iterate through all the ancestors of the scope character up to 5 generations
|ordered_held_title = {
| <pre>every_ancestor = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_army
|Iterate through all hired mercenary companies
| Iterate through all armies
|ordered_hired_mercenary = {
| <pre>every_army = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| army
position = int
min = int
max = 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
| every_character_artifact
|Iterate through all characters this character has a hook on
| Iterate through all artifacts in a given characters inventory
|ordered_hooked_character = {
| <pre>every_character_artifact = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| artifact
position = int
min = int
max = 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
| every_character_to_title_neighboring_and_across_water_county
|Iterate through anyone the character is hostile to due to their top-liege's realm having been raided
| Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges)
|ordered_hostile_raider = {
| <pre>every_character_to_title_neighboring_and_across_water_county = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
min = int
max = 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
| every_character_to_title_neighboring_and_across_water_duchy
|Iterate through all intrigue-based councillors
| Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
|ordered_intrigue_councillor = {
| <pre>every_character_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
min = int
max = 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
| every_character_to_title_neighboring_and_across_water_empire
|Iterate through all knights
| Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges)
|ordered_knight = {
| <pre>every_character_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
min = int
max = 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
| every_character_to_title_neighboring_and_across_water_kingdom
|Iterate through all secrets known by the character
| Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
|ordered_known_secret = {
| <pre>every_character_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
min = int
max = 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
| every_character_to_title_neighboring_county
|Iterate through all learning-based councillors
| Scopes from a character to a neighboring county (looking trough the de Jure lieges)
|ordered_learning_councillor = {
| <pre>every_character_to_title_neighboring_county = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
min = int
max = 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
| every_character_to_title_neighboring_duchy
|Iterate through all lieges above a character (skipping the character themselves)
| Scopes from a character to a neighboring duchy (looking trough the de Jure lieges)
|ordered_liege_or_above = {
| <pre>every_character_to_title_neighboring_duchy = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
min = int
max = 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
| every_character_to_title_neighboring_empire
|Iterate through all martial-based councillors
| Scopes from a character to a neighboring empire (looking trough the de Jure lieges)
|ordered_martial_councillor = {
| <pre>every_character_to_title_neighboring_empire = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
|-
min = int
| every_character_to_title_neighboring_kingdom
max = script_value
| Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges)
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
| <pre>every_character_to_title_neighboring_kingdom = { limit = { <triggers> } <effects> }</pre>
<effects> }
| character
|character
| landed title
|character
|-
| every_character_war
| Wars of the scoped character
| <pre>every_character_war = { limit = { <triggers> } <effects> }</pre>
| character
| war
|-
|-
|ordered_neighboring_and_across_water_realm_same_rank_owner
| every_child
|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)
| Iterate through all children
|ordered_neighboring_and_across_water_realm_same_rank_owner = {
| <pre>every_child = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_claim
|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
| Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all
|ordered_neighboring_and_across_water_top_liege_realm = {
| <pre>every_claim = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
min = int
max = 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
| every_claimed_artifact
|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
| Iterate through all claimed artifacts of the scoped character
|ordered_neighboring_and_across_water_top_liege_realm_owner = {
| <pre>every_claimed_artifact = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| artifact
position = int
min = int
max = 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
| every_close_family_member
|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)
| Iterate through all the close family [father, mother, siblings, children, grandparents]
|ordered_neighboring_realm_same_rank_owner = {
| <pre>every_close_family_member = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_close_or_extended_family_member
|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
| Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins]
|ordered_neighboring_top_liege_realm = {
| <pre>every_close_or_extended_family_member = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_concubine
|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
| Iterate through all concubines
|ordered_neighboring_top_liege_realm_owner = {
| <pre>every_concubine = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_consort
|Iterate through all owned stories for a character
| Iterate through all consorts (concubines and spouses)
|ordered_owned_story = {
| <pre>every_consort = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_councillor
|Iterate through all (both) parents
| Iterate through all councillors
|ordered_parent = {
| <pre>every_councillor = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_court_position_employer
|Iterate through all holy orders that the scoped character is a patron of
| Iterates through all characters that employ the scoped character in any court position.
|ordered_patroned_holy_order = {
| <pre>every_court_position_employer = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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_pinned_character
| every_court_position_holder
|Iterate through characters this player has pinned
| Iterates through all characters employed by the scoped character in the target court position.
|ordered_pinned_character = {
| <pre>every_court_position_holder = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_courtier
|Iterate through characters whose player has this character pinned
| Iterate through all courtiers
|ordered_pinning_character = {
| <pre>every_courtier = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
|-
min = int
| every_courtier_away
max = script_value
| Iterate through all courtiers that are away
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
| <pre>every_courtier_away = { limit = { <triggers> } <effects> }</pre>
<effects> }
| character
|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
|-
|-
|ordered_player_heir
| every_de_jure_claim
|Iterate through player heirs, capped at the first 10
| Iterate through all de jure claims for a character
|ordered_player_heir = {
| <pre>every_de_jure_claim = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
min = int
max = 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
| every_diplomacy_councillor
|Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege)
| Iterate through all diplomacy-based councillors
|ordered_pool_guest = {
| <pre>every_diplomacy_councillor = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_directly_owned_province
|Iterate through all potential selectable marriage or betrohed options
| Iterate through all directly owned provinces
|ordered_potential_marriage_option = {
| <pre>every_directly_owned_province = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| province
position = int
min = int
max = 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
| every_election_title
|Iterate through all landed titles character is pretender to
| Iterate through all titles the scoped character can vote on
|ordered_pretender_title = {
| <pre>every_election_title = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
min = int
max = 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
| every_equipped_character_artifact
|Iterate through all primary war enemies
| Iterate through all equipped artifacts in a given characters inventory
|ordered_primary_war_enemy = {
| <pre>every_equipped_character_artifact = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| artifact
position = int
min = int
max = 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
| every_extended_family_member
|Iterate through all prisoners
| Iterate through all the extended family [uncles/aunts, nephew/niece, cousins]
|ordered_prisoner = {
| <pre>every_extended_family_member = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_foreign_court_guest
|Iterate through all prowess-based councillors
| Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege)
|ordered_prowess_councillor = {
| <pre>every_foreign_court_guest = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_former_concubine
|Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges
| Iterate through all former concubines. Not persisted past death
|ordered_raid_target = {
| <pre>every_former_concubine = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_former_concubinist
|Iterate through all counties in the realm. Based on top liege
| Iterate through all former concubinists. Not persisted past death
|ordered_realm_county = {
| <pre>every_former_concubinist = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_former_spouse
|Iterate through all de jure duchies that have at least one county in the realm. Based on top liege
| Iterate through all former spouses
|ordered_realm_de_jure_duchy = {
| <pre>every_former_spouse = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_general_councillor
|Iterate through all de jure empire that have at least one county in the realm. Based on top liege
| Iterate through all councillors that are not related to a skill
|ordered_realm_de_jure_empire = {
| <pre>every_general_councillor = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
|-
min = int
| every_heir
max = script_value
| Heirs of the scoped character
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
| <pre>every_heir = { limit = { <triggers> } <effects> }</pre>
<effects> }
| character
|character
| character
|landed title
|-
|-
|ordered_realm_de_jure_kingdom
| every_heir_title
|Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege
| Iterate through all landed titles character is heir to
|<pre>
| <pre>every_heir_title = { limit = { <triggers> } <effects> }</pre>
ordered_realm_de_jure_kingdom = {
| character
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_realm_province
| every_heir_to_title
|Iterate through all realm provinces of a character
| Iterate through all titles the scoped character is heir to
|ordered_realm_province = {
| <pre>every_heir_to_title = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
min = int
max = 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
| every_held_title
|Iterate through scripted relations of a given type or multiple types, if someone is multiple relations they will only be in the list once
| Iterate through all held landed titles
|ordered_relation = {
| <pre>every_held_title = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
min = int
max = 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
| every_hired_mercenary
|Iterate through all schemes owned by the character
| Iterate through all hired mercenary companies
|ordered_scheme = {
| <pre>every_hired_mercenary = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| mercenary company
position = int
min = int
max = 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
| every_hooked_character
|Iterate through all secrets of the character
| Iterate through all characters this character has a hook on
|ordered_secret = {
| <pre>every_hooked_character = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_hostile_raider
|Iterate through all siblings
| Iterate through anyone the character is hostile to due to their top-liege's realm having been raided
|ordered_sibling = {
| <pre>every_hostile_raider = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
|-
min = int
| every_intrigue_councillor
max = script_value
| Iterate through all intrigue-based councillors
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
| <pre>every_intrigue_councillor = { limit = { <triggers> } <effects> }</pre>
<effects> }
| character
|character
| character
|character
|-
| every_knight
| Iterate through all knights
| <pre>every_knight = { limit = { <triggers> } <effects> }</pre>
| character
| character
|-
| every_known_secret
| Iterate through all secrets known by the character
| <pre>every_known_secret = { limit = { <triggers> } <effects> }</pre>
| character
| secret
|-
|-
|ordered_spouse
| every_learning_councillor
|Iterate through all spouses
| Iterate through all learning-based councillors
|ordered_spouse = {
| <pre>every_learning_councillor = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_liege_or_above
|Iterate through all the spouse candidates of a character. WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
| Iterate through all lieges above a character (skipping the character themselves)
|ordered_spouse_candidate = {
| <pre>every_liege_or_above = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_martial_councillor
|Iterate through all stewardship-based councillors
| Iterate through all martial-based councillors
|ordered_stewardship_councillor = {
| <pre>every_martial_councillor = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_neighboring_and_across_water_realm_same_rank_owner
|Iterate through all baronies in sub-realm
| 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_sub_realm_barony = {
| <pre>every_neighboring_and_across_water_realm_same_rank_owner = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_neighboring_and_across_water_top_liege_realm
|Iterate through all counties in sub-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_sub_realm_county = {
| <pre>every_neighboring_and_across_water_top_liege_realm = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
min = int
max = 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
| every_neighboring_and_across_water_top_liege_realm_owner
|Iterate through all duchies in sub-realm
| 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_sub_realm_duchy = {
| <pre>every_neighboring_and_across_water_top_liege_realm_owner = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_neighboring_realm_same_rank_owner
|Iterate through all empires in sub-realm
| 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_sub_realm_empire = {
| <pre>every_neighboring_realm_same_rank_owner = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_neighboring_top_liege_realm
|Iterate through all kingdoms in sub-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_sub_realm_kingdom = {
| <pre>every_neighboring_top_liege_realm = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
min = int
max = 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
| every_neighboring_top_liege_realm_owner
|Iterate through all titles in sub-realm
| 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_sub_realm_title = {
| <pre>every_neighboring_top_liege_realm_owner = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_opposite_sex_spouse_candidate
|Iterate through all factions targeting the scope character
| Iterate through all the spouse candidates of the opposite sex of a character.
|ordered_targeting_faction = {
| <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
limit = { <triggers> }
every_opposite_sex_spouse_candidate = { limit = { <triggers> } <effects> }</pre>
order_by = script_value
| character
position = int
| character
min = int
max = 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
| every_owned_story
|Iterate through all schemes targeting the character
| Iterate through all owned stories for a character
|ordered_targeting_scheme = {
| <pre>every_owned_story = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| story cycle
position = int
|-
min = int
| every_parent
max = script_value
| Iterate through all (both) parents
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
| <pre>every_parent = { limit = { <triggers> } <effects> }</pre>
<effects> }
| character
|character
| character
|scheme
|-
| 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
| holy order
|-
|-
|ordered_targeting_secret
| every_personal_claimed_artifact
|Iterate through all secrets that target the specified scope
| Iterate through all personally claimed artifacts of the scoped character
|ordered_targeting_secret = {
| <pre>every_personal_claimed_artifact = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| artifact
position = int
min = int
max = 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
| every_pinned_character
|Iterate though all characters that should travel with the scoped one (when moving between courts for instance); includes the scoped character
| Iterate through characters this player has pinned
|ordered_traveling_family_member = {
| <pre>every_pinned_character = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_pinning_character
|Iterate through all characters that have a truce on this character
| Iterate through characters whose player has this character pinned
|ordered_truce_holder = {
| <pre>every_pinning_character = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_played_character
|Iterate through all characters this character has a truce on
| Iterate through all characters the player playing this character has played. Matches the game over legacy, except for excluding the currently played character
|ordered_truce_target = {
| <pre>every_played_character = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_player_heir
|Iterate through all unspent secrets known by the character
| Iterate through player heirs, capped at the first 10
|ordered_unspent_known_secret = {
| <pre>every_player_heir = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
|-
min = int
| every_pool_guest
max = script_value
| Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege)
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
| <pre>every_pool_guest = { limit = { <triggers> } <effects> }</pre>
<effects> }
| character
|character
| character
|secret
|-
| every_potential_marriage_option
| Iterate through all potential selectable marriage or betrohed options
| <pre>every_potential_marriage_option = { limit = { <triggers> } <effects> }</pre>
| character
| character
|-
| every_pretender_title
| Iterate through all landed titles character is pretender to
| <pre>every_pretender_title = { limit = { <triggers> } <effects> }</pre>
| character
| landed title
|-
| every_primary_war_enemy
| Iterate through all primary war enemies
| <pre>every_primary_war_enemy = { limit = { <triggers> } <effects> }</pre>
| character
| character
|-
| every_prisoner
| Iterate through all prisoners
| <pre>every_prisoner = { limit = { <triggers> } <effects> }</pre>
| character
| character
|-
| every_prowess_councillor
| Iterate through all prowess-based councillors
| <pre>every_prowess_councillor = { limit = { <triggers> } <effects> }</pre>
| character
| character
|-
|-
|ordered_vassal
| every_raid_target
|Iterate through all DIRECT vassals
| Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges
|ordered_vassal = {
| <pre>every_raid_target = { limit = { <triggers> } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| every_realm_county
|Iterate through ALL vassals, not just direct vassals
| Iterate through all counties in the realm. Based on top liege
|ordered_vassal_or_below = {
| <pre>
limit = { <triggers> }
every_realm_county = { limit = { <triggers> } <effects> }</pre>
order_by = script_value
| character
position = int
| landed title
min = int
max = 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
| every_realm_de_jure_duchy
|Iterate through all direct war allies
| Iterate through all de jure duchies that have at least one county in the realm. Based on top liege
|ordered_war_ally = {
| <pre>
limit = { <triggers> }
every_realm_de_jure_duchy = { limit = { <triggers> } <effects> }</pre>
order_by = script_value
| character
position = int
| landed title
min = int
max = 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
| every_realm_de_jure_empire
|Iterate through all direct war enemies
| Iterate through all de jure empire that have at least one county in the realm. Based on top liege
|ordered_war_enemy = {
| <pre>
limit = { <triggers> }
every_realm_de_jure_empire = { limit = { <triggers> } <effects> }</pre>
order_by = script_value
| character
position = int
| landed title
min = int
max = 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
|}
 
==== Beginning with 'random' ====
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|random_alert_creatable_title
| every_realm_de_jure_kingdom
|Iterate through all titles that can be created by the character. (only for alerts)
| Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege
|random_alert_creatable_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>
|character
every_realm_de_jure_kingdom = { limit = { <triggers> } <effects> }</pre>
|landed title
| character
| landed title
|-
|-
|random_alert_usurpable_title
| every_realm_province
|Iterate through all titles that can be usurped by the character. (only for alerts)
| Iterate through all realm provinces of a character
|random_alert_usurpable_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_realm_province = { limit = { <triggers> } <effects> }</pre>
|character
| character
|landed title
| province
|-
|-
|random_ally
| every_relation
|Iterate through all allies
| 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_ally = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_relation = { limit = { <triggers> } <effects> }</pre>
|character
| character
|character
| character
|-
|-
|random_ancestor
| every_same_sex_spouse_candidate
|Iterate through all the ancestors of the scope character up to 5 generations
| Iterate through all the spouse candidates of the same sex of a character.
|random_ancestor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
|character
every_same_sex_spouse_candidate = { limit = { <triggers> } <effects> }</pre>
|character
| character
| character
|-
|-
|random_army
| every_scheme
|Iterate through all armies
| Iterate through all schemes owned by the character
|random_army = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_scheme = { limit = { <triggers> } <effects> }</pre>
|character
| character
|army
| scheme
|-
|-
|random_character_to_title_neighboring_and_across_water_barony
| every_secret
|Scopes from a character to a neighboring barony (incl. across water, looking trough the de Jure lieges)
| Iterate through all secrets of the character
|random_character_to_title_neighboring_and_across_water_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_secret = { limit = { <triggers> } <effects> }</pre>
|character
| character
|landed title
| secret
|-
|-
|random_character_to_title_neighboring_and_across_water_county
| every_sibling
|Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges)
| Iterate through all siblings
|random_character_to_title_neighboring_and_across_water_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_sibling = { limit = { <triggers> } <effects> }</pre>
|character
| character
|landed title
| character
|-
|-
|random_character_to_title_neighboring_and_across_water_duchy
| every_sponsored_inspiration
|Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
| Iterate through all sponsored inspirations
|random_character_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_sponsored_inspiration = { limit = { <triggers> } <effects> }</pre>
|character
| character
|landed title
| inspiration
|-
|-
|random_character_to_title_neighboring_and_across_water_empire
| every_spouse
|Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges)
| Iterate through all spouses
|random_character_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_spouse = { limit = { <triggers> } <effects> }</pre>
|character
| character
|landed title
| character
|-
|-
|random_character_to_title_neighboring_and_across_water_kingdom
| every_spouse_candidate
|Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
| Iterate through all the spouse candidates of a character.
|random_character_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
|character
every_spouse_candidate = { limit = { <triggers> } <effects> }</pre>
|landed title
| character
| character
|-
|-
|random_character_to_title_neighboring_barony
| every_stewardship_councillor
|Scopes from a character to a neighboring barony (looking trough the de Jure lieges)
| Iterate through all stewardship-based councillors
|random_character_to_title_neighboring_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_stewardship_councillor = { limit = { <triggers> } <effects> }</pre>
|character
| character
|landed title
| character
|-
|-
|random_character_to_title_neighboring_county
| every_sub_realm_barony
|Scopes from a character to a neighboring county (looking trough the de Jure lieges)
| Iterate through all baronies in sub-realm
|random_character_to_title_neighboring_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_sub_realm_barony = { limit = { <triggers> } <effects> }</pre>
|character
| character
|landed title
| landed title
|-
|-
|random_character_to_title_neighboring_duchy
| every_sub_realm_county
|Scopes from a character to a neighboring duchy (looking trough the de Jure lieges)
| Iterate through all counties in sub-realm
|random_character_to_title_neighboring_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_sub_realm_county = { limit = { <triggers> } <effects> }</pre>
|character
| character
|landed title
| landed title
|-
|-
|random_character_to_title_neighboring_empire
| every_sub_realm_duchy
|Scopes from a character to a neighboring empire (looking trough the de Jure lieges)
| Iterate through all duchies in sub-realm
|random_character_to_title_neighboring_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_sub_realm_duchy = { limit = { <triggers> } <effects> }</pre>
|character
| character
|landed title
| landed title
|-
|-
|random_character_to_title_neighboring_kingdom
| every_sub_realm_empire
|Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges)
| Iterate through all empires in sub-realm
|random_character_to_title_neighboring_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_sub_realm_empire = { limit = { <triggers> } <effects> }</pre>
|character
| character
|landed title
| landed title
|-
|-
|random_character_war
| every_sub_realm_kingdom
|Wars of the scoped character
| Iterate through all kingdoms in sub-realm
|random_character_war = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_sub_realm_kingdom = { limit = { <triggers> } <effects> }</pre>
|character
| character
|war
| landed title
|-
|-
|random_child
| every_sub_realm_title
|Iterate through all children
| Iterate through all titles in sub-realm
|random_child = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_sub_realm_title = { limit = { <triggers> } <effects> }</pre>
|character
| character
|character
| landed title
|-
|-
|random_claim
| every_targeting_faction
|Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all
| Iterate through all factions targeting the scope character
|random_claim = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_targeting_faction = { limit = { <triggers> } <effects> }</pre>
|character
| character
|landed title
| faction
|-
|-
|random_close_family_member
| every_targeting_scheme
|Iterate through all the close family [father, mother, siblings, children, grandparents]
| Iterate through all schemes targeting the character
|random_close_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_targeting_scheme = { limit = { <triggers> } <effects> }</pre>
|character
| character
|character
| scheme
|-
|-
|random_close_or_extended_family_member
| every_targeting_secret
|Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins]
| Iterate through all secrets that target the specified scope
|random_close_or_extended_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_targeting_secret = { limit = { <triggers> } <effects> }</pre>
|character
| character
|character
| secret
|-
|-
|random_concubine
| every_traveling_family_member
|Iterate through all concubines
| Iterate though all characters that should travel with the scoped one (when moving between courts for instance); includes the scoped character
|random_concubine = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_traveling_family_member = { limit = { <triggers> } <effects> }</pre>
|character
| character
|character
| character
|-
|-
|random_consort
| every_truce_holder
|Iterate through all consorts (concubines and spouses)
| Iterate through all characters that have a truce on this character
|random_consort = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_truce_holder = { limit = { <triggers> } <effects> }</pre>
|character
| character
|character
| character
|-
|-
|random_councillor
| every_truce_target
|Iterate through all councillors
| Iterate through all characters this character has a truce on
|random_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_truce_target = { limit = { <triggers> } <effects> }</pre>
|character
| character
|character
| character
|-
|-
|random_courtier
| every_unspent_known_secret
|Iterate through all courtiers
| Iterate through all unspent secrets known by the character
|random_courtier = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_unspent_known_secret = { limit = { <triggers> } <effects> }</pre>
|character
| character
|character
| secret
|-
|-
|random_courtier_away
| every_vassal
|Iterate through all courtiers that are away
| Iterate through all DIRECT vassals
|random_courtier_away = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_vassal = { limit = { <triggers> } <effects> }</pre>
|character
| character
|character
| character
|-
|-
|random_courtier_or_guest
| every_vassal_or_below
|Iterate through all courtiers and guests (pool and foreign court guests)
| Iterate through ALL vassals, not just direct vassals
|random_courtier_or_guest = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_vassal_or_below = { limit = { <triggers> } <effects> }</pre>
|character
| character
|character
| character
|-
|-
|random_de_jure_claim
| every_war_ally
|Iterate through all de jure claims for a character
| Iterate through all direct war allies
|random_de_jure_claim = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_war_ally = { limit = { <triggers> } <effects> }</pre>
|character
| character
|landed title
| character
|-
|-
|random_diplomacy_councillor
| every_war_enemy
|Iterate through all diplomacy-based councillors
| Iterate through all direct war enemies
|random_diplomacy_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>every_war_enemy = { limit = { <triggers> } <effects> }</pre>
|character
| character
|character
| character
|-
|-
|random_directly_owned_province
| execute_decision
|Iterate through all directly owned provinces
| Execute the specified decision for the scoped character
|random_directly_owned_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|province
|-
|-
|random_election_title
| finish_council_task
|Iterate through all titles the scoped character can vote on
| The councillor finish the current assigned task successfully.
|random_election_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|landed title
|-
|-
|random_extended_family_member
| fire_councillor
|Iterate through all the extended family [uncles/aunts, nephew/niece, cousins]
| The scope character fires the target character form teh council.
|random_extended_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|character
| character
|-
|-
|random_foreign_court_guest
| forbid_from_scheme
|Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege)
| Forbid the scope character from joining the target scheme as an agent (and kick the character out if already in the scheme)
|random_foreign_court_guest = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|character
| scheme
|-
|-
|random_former_concubine
| force_add_to_scheme
|Iterate through all former concubines. Not persisted past death
| Adds a character as an agent to the scheme and forces them to stay
|random_former_concubine = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>{
|character
   scheme = target_Scheme
|character
   days/months/years = duration
}</pre>
| character
|-
|-
|random_former_concubinist
| force_character_skill_recalculation
|Iterate through all former concubinists. Not persisted past death
| Forces a character's skills to be recalculated immediately, bypassing the wait for the daily tick.
|random_former_concubinist = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>NOTE: Only use this when *absolutely* necessary, as it will impact performance negatively if misused
|character
  Usage: force_character_skill_recalculation = yes/no</pre>
|character
| character
|-
|-
|random_former_spouse
| force_vote_as
|Iterate through all former spouses
| Forces the character to vote the same as the target
|random_former_spouse = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>force_vote_as = { target = someone days/months/years = x }</pre>
|character
| character
|character
|-
|-
|random_general_councillor
| get_title
|Iterate through all councillors that are not related to a skill
| gives a title to a character
|random_general_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|character
| landed title
|-
|-
|random_heir
| give_nickname
|Heirs of the scoped character
| Give a nickname to this character
|random_heir = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|character
|-
|-
|random_heir_title
| imprison
|Iterate through all landed titles character is heir to
| 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
|random_heir_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|landed title
|-
|-
|random_heir_to_title
| join_faction
|Iterate through all titles the scoped character is heir to
| the character in the scope joins the assigned faction
|random_heir_to_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|landed title
| faction
|-
|-
|random_held_title
| join_faction_forced
|Iterate through all held landed titles
| the character in the scope is forced to join a faction by a character for a defined time,
|random_held_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>join_faction_forced = {
|character
   faction = X
|landed title
   forced_by = Y
   days/months/years = duration
}</pre>
| character
|-
|-
|random_hired_mercenary
| join_faction_skip_check
|Iterate through all hired mercenary companies
| the character in the scope joins the assigned faction skiping the can_character_join trigger
|random_hired_mercenary = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|mercenary company
| faction
|-
|-
|random_hooked_character
| learn_court_language_of
|Iterate through all characters this character has a hook on
| The character learns the court language of the target characterlearn_court_language_of = scope:target_character
|random_hooked_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|character
| character
|-
|-
|random_hostile_raider
| learn_language
|Iterate through anyone the character is hostile to due to their top-liege's realm having been raided
| The character learns the languagelearn_language = language_norwegian
|random_hostile_raider = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|character
|-
|-
|random_intrigue_councillor
| learn_language_of_culture
|Iterate through all intrigue-based councillors
| The character learns the language of the target culturelearn_language_of_culture = scope:target_culture
|random_intrigue_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|character
| culture
|-
|-
|random_knight
| leave_faction
|Iterate through all knights
| the charcter in the scope leaves the assigned faction
|random_knight = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|character
| faction
|-
|-
|random_known_secret
| make_claim_strong
|Iterate through all secrets known by the character
| makes a claim strong (character adds the claim if not having it already)
|random_known_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|secret
| landed title
|-
|-
|random_learning_councillor
| make_claim_weak
|Iterate through all learning-based councillors
| makes a claim weak (character adds the claim if not having it already)
|random_learning_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|character
| landed title
|-
|-
|random_liege_or_above
| make_concubine
|Iterate through all lieges above a character (skipping the character themselves)
| Makes the target character a concubine of the scope character, the target should not be imprisoned
|random_liege_or_above = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|character
| character
|-
|-
|random_martial_councillor
| make_pregnant
|Iterate through all martial-based councillors
| makes a character pregnant
|random_martial_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre> father= 'the real father'
|character
number_of_children= X
|character
known_bastard=yes/no</pre>
| character
|-
|-
|random_neighboring_and_across_water_realm_same_rank_owner
| make_pregnant_no_checks
|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)
| makes a character pregnant. Doesn't error on things like celibacy
|random_neighboring_and_across_water_realm_same_rank_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre> father= 'the real father'
|character
number_of_children= X
|character
known_bastard=yes/no</pre>
| character
|-
|-
|random_neighboring_and_across_water_top_liege_realm
| make_trait_active
|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
| Activates an inactive trait. Tooltip will not be shown if the character cannot have the trait.
|random_neighboring_and_across_water_top_liege_realm = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|landed title
|-
|-
|random_neighboring_and_across_water_top_liege_realm_owner
| make_trait_active_force_tooltip
|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
| Activates an inactive trait. Tooltip will be shown even if the character cannot have the trait.
|random_neighboring_and_across_water_top_liege_realm_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|character
|-
|-
|random_neighboring_realm_same_rank_owner
| make_trait_inactive
|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)
| Makes a current trait of a character inactive. Tooltip will not be shown if the character doesn't have the trait.
|random_neighboring_realm_same_rank_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|character
|-
|-
|random_neighboring_top_liege_realm
| make_trait_inactive_force_tooltip
|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
| Makes a current trait of a character inactive. Tooltip will be shown even if the character doesn't have the trait.
|random_neighboring_top_liege_realm = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|landed title
|-
|-
|random_neighboring_top_liege_realm_owner
| make_unprunable
|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
| 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
|random_neighboring_top_liege_realm_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|character
|-
|-
|random_owned_story
| marry
|Iterate through all owned stories for a character
| Marries the scoped character to the target character.
|random_owned_story = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>marry = target</pre>
|character
| character
|story cycle
| character
|-
|-
|random_parent
| marry_matrilineal
|Iterate through all (both) parents
| Marries the scoped character to the target character matrilineally.
|random_parent = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>marry_matrilineal = target</pre>
|character
| character
|character
| character
|-
|-
|random_patroned_holy_order
| move_to_pool
|Iterate through all holy orders that the scoped character is a patron of
| The scoped character (courtier or guest) leaves their current court and moves into the pool
|random_patroned_holy_order = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>scope:guest = { move_to_pool = yes }</pre>
|character
| character
|holy order
|-
|-
|random_pinned_character
| move_to_pool_at
|Iterate through characters this player has pinned
| The scoped character (courtier/guest/pool character) leaves their current court (if any) and moves into the pool of the specified province
|random_pinned_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>scope:guest = { move_to_pool_at = scope:some_province }</pre>
|character
| character
|character
| province
|-
|-
|random_pinning_character
| open_appoint_court_position_window
|Iterate through characters whose player has this character pinned
| Opens the appointment window for the specified court position with scoped character as liege
|random_pinning_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre></pre>
|character
| character
|character
|-
|-
|random_player_heir
| ordered_alert_creatable_title
|Iterate through player heirs, capped at the first 10
| Iterate through all titles that can be created by the character. (only for alerts)
|random_player_heir = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_alert_creatable_title = {
|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
| landed title
|-
|-
|random_pool_guest
| ordered_alert_usurpable_title
|Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege)
| Iterate through all titles that can be usurped by the character. (only for alerts)
|random_pool_guest = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_alert_usurpable_title = {
|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
| landed title
|-
|-
|random_potential_marriage_option
| ordered_ally
|Iterate through all potential selectable marriage or betrohed options
| Iterate through all allies
|random_potential_marriage_option = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_ally = {
|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
| character
|-
|-
|random_pretender_title
| ordered_ancestor
|Iterate through all landed titles character is pretender to
| Iterate through all the ancestors of the scope character up to 5 generations
|random_pretender_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_ancestor = {
|character
limit = { <triggers> }
|landed title
order_by = script_value
|-
position = int
|random_primary_war_enemy
min = int
|Iterate through all primary war enemies
max = script_value
|random_primary_war_enemy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|character
<effects> }</pre>
|character
| character
| character
|-
|-
|random_prisoner
| ordered_army
|Iterate through all prisoners
| Iterate through all armies
|random_prisoner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_army = {
|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
| army
|-
|-
|random_prowess_councillor
| ordered_character_artifact
|Iterate through all prowess-based councillors
| Iterate through all artifacts in a given characters inventory
|random_prowess_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_character_artifact = {
|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
|-
|-
|random_raid_target
| ordered_character_to_title_neighboring_and_across_water_county
|Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges
| Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges)
|random_raid_target = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_character_to_title_neighboring_and_across_water_county = {
|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
| landed title
|-
|-
|random_realm_county
| ordered_character_to_title_neighboring_and_across_water_duchy
|Iterate through all counties in the realm. Based on top liege
| Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
|random_realm_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_character_to_title_neighboring_and_across_water_duchy = {
|character
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
|-
|-
|random_realm_de_jure_duchy
| ordered_character_to_title_neighboring_and_across_water_empire
|Iterate through all de jure duchies that have at least one county in the realm. Based on top liege
| Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges)
|random_realm_de_jure_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_character_to_title_neighboring_and_across_water_empire = {
|character
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
|-
|-
|random_realm_de_jure_empire
| ordered_character_to_title_neighboring_and_across_water_kingdom
|Iterate through all de jure empire that have at least one county in the realm. Based on top liege
| Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
|random_realm_de_jure_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_character_to_title_neighboring_and_across_water_kingdom = {
|character
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
|-
|-
|random_realm_de_jure_kingdom
| ordered_character_to_title_neighboring_county
|Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege
| Scopes from a character to a neighboring county (looking trough the de Jure lieges)
|random_realm_de_jure_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_character_to_title_neighboring_county = {
|character
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
|-
|-
|random_realm_province
| ordered_character_to_title_neighboring_duchy
|Iterate through all realm provinces of a character
| Scopes from a character to a neighboring duchy (looking trough the de Jure lieges)
|random_realm_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_character_to_title_neighboring_duchy = {
|character
limit = { <triggers> }
|province
order_by = script_value
position = int
min = int
max = 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
|-
|-
|random_relation
| ordered_character_to_title_neighboring_empire
|Iterate through scripted relations of a given type or multiple types, if someone is multiple relations they will only be in the list once
| Scopes from a character to a neighboring empire (looking trough the de Jure lieges)
|random_relation = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_character_to_title_neighboring_empire = {
|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
| landed title
|-
|-
|random_scheme
| ordered_character_to_title_neighboring_kingdom
|Iterate through all schemes owned by the character
| Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges)
|random_scheme = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_character_to_title_neighboring_kingdom = {
|character
limit = { <triggers> }
|scheme
order_by = script_value
position = int
min = int
max = 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
|-
|-
|random_secret
| ordered_character_war
|Iterate through all secrets of the character
| Wars of the scoped character
|random_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_character_war = {
|character
limit = { <triggers> }
|secret
order_by = script_value
|-
position = int
|random_sibling
min = int
|Iterate through all siblings
max = script_value
|random_sibling = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|character
<effects> }</pre>
|character
| character
|-
| war
|random_spouse
|Iterate through all spouses
|random_spouse = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|-
|-
|random_spouse_candidate
| ordered_child
|Iterate through all the spouse candidates of a character. WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
| Iterate through all children
|random_spouse_candidate = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_child = {
|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
| character
|-
|-
|random_stewardship_councillor
| ordered_claim
|Iterate through all stewardship-based councillors
| Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all
|random_stewardship_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_claim = {
|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
| landed title
|-
|-
|random_sub_realm_barony
| ordered_claimed_artifact
|Iterate through all baronies in sub-realm
| Iterate through all claimed artifacts of the scoped character
|random_sub_realm_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_claimed_artifact = {
|character
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
| artifact
|-
|-
|random_sub_realm_county
| ordered_close_family_member
|Iterate through all counties in sub-realm
| Iterate through all the close family [father, mother, siblings, children, grandparents]
|random_sub_realm_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_close_family_member = {
|character
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
| character
|-
|-
|random_sub_realm_duchy
| ordered_close_or_extended_family_member
|Iterate through all duchies in sub-realm
| Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins]
|random_sub_realm_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_close_or_extended_family_member = {
|character
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
| character
|-
|-
|random_sub_realm_empire
| ordered_concubine
|Iterate through all empires in sub-realm
| Iterate through all concubines
|random_sub_realm_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_concubine = {
|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
|}
 
=== From faction scope ===
The following effects are only usable in the faction scope.
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|add_faction_discontent
|add_faction_discontent = X adds (or subtracts) discontent to the scope faction
|Unspecified
|faction
|
|-
|destroy_faction
|the scope faction is destoryed [yes|no]
|Unspecified
|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> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,410行: 第5,781行:
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
|landed title
| character
|-
|-
|ordered_faction_member
| ordered_consort
|Iterate through all faction character members
| Iterate through all consorts (concubines and spouses)
|ordered_faction_member = {
| <pre>ordered_consort = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,423行: 第5,794行:
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
| character
|-
|-
|random_faction_county_member
| ordered_councillor
|Iterate through all faction county members
| Iterate through all councillors
|random_faction_county_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_councillor = {
|faction
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
| character
|-
|-
|random_faction_member
| ordered_court_position_employer
|Iterate through all faction character members
| Iterates through all characters that employ the scoped character in any court position.
|random_faction_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_court_position_employer = {
|faction
limit = { <triggers> }
|character
order_by = script_value
|-
position = int
|remove_special_character
min = int
|Removes the special character for the scope faction
max = script_value
|Unspecified
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|faction
<effects> }</pre>
|
| character
|-
| character
|remove_special_title
|Removes the special character for the scope faction
|Unspecified
|faction
|
|-
|set_special_character
|Sets the special character for the scope faction
|Unspecified
|faction
|character
|-
|set_special_title
|Sets the special title for the scope faction
|Unspecified
|faction
|landed title
|}
 
=== From faith scope ===
The following effects are only usable in the faith scope.
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|activate_holy_site
| ordered_court_position_holder
|Activate an inactive holy site<faith_scope> = { activate_holy_site = <holy_site_name> }
| Iterates through all characters employed by the scoped character in the target court position.
|Unspecified
| <pre>ordered_court_position_holder = {
|faith
|
|-
|add_doctrine
|Add doctrine to faith<faith_scope> = { add_doctrine = <doctrine_name> }
|Unspecified
|faith
|
|-
|change_fervor
|Changes the fervor of the faith by the given value
|change_fervor = script value
|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_holy_order
|Iterate through all holy orders of the faith
|every_faith_holy_order = { limit = { <triggers> } <effects> }
|faith
|holy order
|-
|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> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,518行: 第5,833行:
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>
|faith
| character
|great holy war
| character
|-
|-
|ordered_faith_holy_order
| ordered_courtier
|Iterate through all holy orders of the faith
| Iterate through all courtiers
|ordered_faith_holy_order = {
| <pre>ordered_courtier = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,531行: 第5,846行:
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>
|faith
| character
|holy order
| character
|-
|-
|ordered_holy_site
| ordered_courtier_away
|Iterate through all holy site baronies of a faith
| Iterate through all courtiers that are away
|ordered_holy_site = {
| <pre>ordered_courtier_away = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,544行: 第5,859行:
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>
|faith
| character
|landed title
| character
|-
|-
|random_defensive_great_holy_wars
| ordered_courtier_or_guest
|Iterate through all great holy wars this faith is defending against
| Iterate through all courtiers and guests (pool and foreign court guests)
|random_defensive_great_holy_wars = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_courtier_or_guest = {
|faith
limit = { <triggers> }
|great holy war
order_by = script_value
|-
position = int
|random_faith_holy_order
min = int
|Iterate through all holy orders of the faith
max = script_value
|random_faith_holy_order = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|faith
<effects> }</pre>
|holy order
| character
|-
| 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> }
|Unspecified
|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
|
|}
 
 
=== From activity scope ===
The following effects are only usable in the activity scope.
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|accept_invitation_for_character
|accept a characters invitation to the activity
|Unspecified
|activity
|character
|-
|-
|decline_invitation_for_character
| ordered_de_jure_claim
|decline a characters invitation to the activity
| Iterate through all de jure claims for a character
|Unspecified
| <pre>ordered_de_jure_claim = {
|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
|Unspecified
|activity
|character
|-
|ordered_activity_declined
|Iterate through all characters who declined an activity invite to a specific activity
|ordered_activity_declined = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,646行: 第5,885行:
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
| landed title
|-
|-
|ordered_activity_invited
| ordered_diplomacy_councillor
|Iterate through all characters who have unanswered invites to a specific activity
| Iterate through all diplomacy-based councillors
|ordered_activity_invited = {
| <pre>ordered_diplomacy_councillor = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,659行: 第5,898行:
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
| character
|-
|-
|ordered_participant
| ordered_directly_owned_province
|Iterate through all participants in an activity
| Iterate through all directly owned provinces
|ordered_participant = {
| <pre>ordered_directly_owned_province = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,672行: 第5,911行:
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
| province
|-
|-
|random_activity_declined
| ordered_election_title
|Iterate through all characters who declined an activity invite to a specific activity
| Iterate through all titles the scoped character can vote on
|random_activity_declined = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_election_title = {
|activity
limit = { <triggers> }
|character
order_by = script_value
|-
position = int
|random_activity_invited
min = int
|Iterate through all characters who have unanswered invites to a specific activity
max = script_value
|random_activity_invited = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|activity
<effects> }</pre>
|character
| character
|-
| landed title
|random_participant
|Iterate through all participants in an activity
|random_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|activity
|character
|}
 
=== From army scope ===
The following effects are only usable in the army scope.
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|assign_commander
| ordered_equipped_character_artifact
|Assign a commander for the scoped army
| Iterate through all equipped artifacts in a given characters inventory
|assign_commander = scope:a_character
| <pre>ordered_equipped_character_artifact = {
|army
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
|-
|-
|remove_commander
| ordered_extended_family_member
|Removes the currently assigned commander from the scoped army
| Iterate through all the extended family [uncles/aunts, nephew/niece, cousins]
|remove_commander = yes
| <pre>ordered_extended_family_member = {
|army
limit = { <triggers> }
|
order_by = script_value
|}
position = int
 
min = int
=== From great holy war scope ===
max = script_value
The following effects are only usable in the great holy war scope.
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
{| class="wikitable sortable" width="100%"
<effects> }</pre>
! width="15%" | Name
| character
! width="15%" | Description
| character
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|change_war_chest_gold
| ordered_foreign_court_guest
|Changes the amount of gold in the war chest by the given amount
| Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege)
|change_war_chest_gold = script value
| <pre>ordered_foreign_court_guest = {
|great holy 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
| character
|-
|-
|change_war_chest_piety
| ordered_former_concubine
|Changes the amount of piety in the war chest by the given amount
| Iterate through all former concubines. Not persisted past death
|change_war_chest_piety = script value
| <pre>ordered_former_concubine = {
|great holy 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
| character
|-
|-
|change_war_chest_prestige
| ordered_former_concubinist
|Changes the amount of prestige in the war chest by the given amount
| Iterate through all former concubinists. Not persisted past death
|change_war_chest_prestige = script value
| <pre>ordered_former_concubinist = {
|great holy 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
| character
|-
|-
|divide_war_chest
| ordered_former_spouse
|The scoped GHW gives out its war-chest in full or in part.
| Iterate through all former spouses
|divide_war_chest = {
| <pre>ordered_former_spouse = {
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.
|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> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,783行: 第6,002行:
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>
|great holy war
| character
|character
| character
|-
|-
|ordered_pledged_defender
| ordered_general_councillor
|Iterate through all pledged defenders within a great holy war
| Iterate through all councillors that are not related to a skill
|ordered_pledged_defender = {
| <pre>ordered_general_councillor = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,796行: 第6,015行:
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>
|great holy war
| character
|character
| character
|-
|-
|pledge_attacker
| ordered_heir
|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
| Heirs of the scoped character
|Unspecified
| <pre>ordered_heir = {
|great holy war
limit = { <triggers> }
|character
order_by = script_value
|-
position = int
|pledge_defender
min = int
|The target character pledges themselves as a defender in the GHW. Must be of the same faith as the GHW target.
max = script_value
|pledge_defender = some character
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|great holy war
<effects> }</pre>
|character
| character
|-
| 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
|Unspecified
|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
|}
 
=== From combat side scope ===
The following effects are only usable in the combat side scope.
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|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
| ordered_heir_title
|Iterate through all commanders (the commanders of every army on the side, not just the one leading the battle)
| Iterate through all landed titles character is heir to
|every_side_commander = { limit = { <triggers> } <effects> }
| <pre>ordered_heir_title = {
|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)
|Unspecified
|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> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,909行: 第6,041行:
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
|character
| landed title
|-
|-
|ordered_side_knight
| ordered_heir_to_title
|Iterate through all knights
| Iterate through all titles the scoped character is heir to
|ordered_side_knight = {
| <pre>ordered_heir_to_title = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,922行: 第6,054行:
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
|character
| landed title
|-
|-
|random_side_commander
| ordered_held_title
|Iterate through all commanders (the commanders of every army on the side, not just the one leading the battle)
| Iterate through all held landed titles
|random_side_commander = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_held_title = {
|combat side
limit = { <triggers> }
|character
order_by = script_value
|-
position = int
|random_side_knight
min = int
|Iterate through all knights
max = script_value
|random_side_knight = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|combat side
<effects> }</pre>
|character
| character
|-
| landed title
|win_combat
|ends the combat as the winning side (doesn't end the combat if evaluated to false)
|Unspecified
|combat side
|
|}
 
=== From casus belli scope ===
The following effects are only usable in the casus belli scope.
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|add_from_contribution_attackers
| ordered_hired_mercenary
|Adds prestige, gold and piety based on contribution to allied attackers. parameters: prestige, gold, piety.
| Iterate through all hired mercenary companies
|Unspecified
| <pre>ordered_hired_mercenary = {
|casus belli
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|add_from_contribution_defenders
| ordered_hooked_character
|Adds prestige, gold and piety based on contribution to allied defenders. parameters: prestige, gold, piety.
| Iterate through all characters this character has a hook on
|Unspecified
| <pre>ordered_hooked_character = {
|casus belli
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|every_target_title
| ordered_hostile_raider
|Iterate through all casus belli's target titles
| Iterate through anyone the character is hostile to due to their top-liege's realm having been raided
|every_target_title = { limit = { <triggers> } <effects> }
| <pre>ordered_hostile_raider = {
|casus belli
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
| character
|-
|-
|ordered_target_title
| ordered_intrigue_councillor
|Iterate through all casus belli's target titles
| Iterate through all intrigue-based councillors
|ordered_target_title = {
| <pre>ordered_intrigue_councillor = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,981行: 第6,119行:
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>
|casus belli
| character
|landed title
| character
|-
|-
|random_target_title
| ordered_knight
|Iterate through all casus belli's target titles
| Iterate through all knights
|random_target_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>ordered_knight = {
|casus belli
limit = { <triggers> }
|landed title
order_by = script_value
 
position = int
|}
min = int
 
max = script_value
=== Shared/other ===
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
 
<effects> }</pre>
{| class="wikitable sortable" width="100%"
| character
! width="15%" | Name
| character
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|add_relation_flag
| ordered_known_secret
|Adds a flag to an existing relation
| Iterate through all secrets known by the character
|<pre>add_relation_flag = {
| <pre>ordered_known_secret = {
  relation = scripted_relation
limit = { <triggers> }
  flag = flag_name (declared in the relation's script)
order_by = script_value
  target = other_character
position = int
}
min = int
</pre>
max = script_value
|
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|character
<effects> }</pre>
| character
| secret
|-
|-
|set_add_claim_on_loss
| ordered_learning_councillor
|if set, any title losses will result in claims being added to the previous holder
| Iterate through all learning-based councillors
|Unspecified
| <pre>ordered_learning_councillor = {
|title and vassal change
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|set_title_and_vassal_change_type
| ordered_liege_or_above
|Sets the type of change. Valid types: conquest, conquest_holy_war, conquest_claim, conquest_populist, inheritance, abdication, destroyed, created, usurped, granted, revoked, election, independency, returned, leased_out, lease_revoked, faction_demand,
| Iterate through all lieges above a character (skipping the character themselves)
|set_title_and_vassal_change_type = [type]
| <pre>ordered_liege_or_above = {
|title and vassal change
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|generate_coa
| ordered_martial_councillor
|Generates a coat of arms for the scoped landed title, dynasty or house
| Iterate through all martial-based councillors
|generate_coa = yes
| <pre>ordered_martial_councillor = {
|landed title, dynasty, dynasty house
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|reset_coa
| ordered_neighboring_and_across_water_realm_same_rank_owner
|Rest the coat of arms for the scoped landed title, dynasty or house to its template
| 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)
|reset_coa = yes
| <pre>ordered_neighboring_and_across_water_realm_same_rank_owner = {
|landed title, dynasty, dynasty house
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|set_coa
| ordered_neighboring_and_across_water_top_liege_realm
|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
| 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
|set_coa = k_england
| <pre>ordered_neighboring_and_across_water_top_liege_realm = {
set_coa = scope:new_coa
limit = { <triggers> }
|landed title, dynasty, dynasty house
order_by = script_value
|
position = int
min = int
max = 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
|-
|-
|add_diplomacy_skill
| ordered_neighboring_and_across_water_top_liege_realm_owner
|Adds diplomacy skill
| 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
|Unspecified
| <pre>ordered_neighboring_and_across_water_top_liege_realm_owner = {
|none
limit = { <triggers> }
|
order_by = script_value
|-
position = int
|add_focus_progress
min = int
|Adds focus progress
max = script_value
|Unspecified
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|none
<effects> }</pre>
|
| character
| character
|-
|-
|add_internal_flag
| ordered_neighboring_realm_same_rank_owner
|adds effect to be read internally (no effect in the gamestate)
| 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)
|Unspecified
| <pre>ordered_neighboring_realm_same_rank_owner = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|add_intrigue_skill
| ordered_neighboring_top_liege_realm
|Adds intrigue skill
| 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
|Unspecified
| <pre>ordered_neighboring_top_liege_realm = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|add_learning_skill
| ordered_neighboring_top_liege_realm_owner
|Adds learning skill
| 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
|Unspecified
| <pre>ordered_neighboring_top_liege_realm_owner = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|add_martial_skill
| ordered_opposite_sex_spouse_candidate
|Adds martial skill
| Iterate through all the spouse candidates of the opposite sex of a character.
|Unspecified
| <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
|none
ordered_opposite_sex_spouse_candidate = {
|
limit = { <triggers> }
|-
order_by = script_value
|add_prowess_skill
position = int
|Adds prowess skill
min = int
|Unspecified
max = script_value
|none
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
|-
|-
|add_stewardship_skill
| ordered_owned_story
|Adds stewardship skill
| Iterate through all owned stories for a character
|Unspecified
| <pre>ordered_owned_story = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|add_title_law
| ordered_parent
|add law to scoped title, overriding any current law from the same group. DOES NOT apply law change costs and effects.
| Iterate through all (both) parents
|add_title_law = princely_elective_succession_law
| <pre>ordered_parent = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|add_title_law_effects
| ordered_patroned_holy_order
|Add law to scoped title, overriding any current law from the same group. DOES apply law change costs and effects.
| Iterate through all holy orders that the scoped character is a patron of
|Unspecified
| <pre>ordered_patroned_holy_order = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|add_to_global_variable_list
| ordered_personal_claimed_artifact
|Adds the event target to a variable list. X is the name of the variable. Y is an event target.
| Iterate through all personally claimed artifacts of the scoped character
|add_to_variable_list = { name = X target = Y }
| <pre>ordered_personal_claimed_artifact = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|add_to_list
| ordered_pinned_character
|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
| Iterate through characters this player has pinned
|add_to_list = <string> NOTE, if adding a permanent target to a temporary list, the whole list becomes permanent
| <pre>ordered_pinned_character = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|add_to_local_variable_list
| ordered_pinning_character
|Adds the event target to a variable list. X is the name of the variable. Y is an event target.
| Iterate through characters whose player has this character pinned
|add_to_variable_list = { name = X target = Y }
| <pre>ordered_pinning_character = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|add_to_temporary_list
| ordered_played_character
|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
| Iterate through all characters the player playing this character has played. Matches the game over legacy, except for excluding the currently played character
|add_to_temporary_list = <string> NOTE, if adding a temporary target to a permanent list, the list will stay permanent
| <pre>ordered_played_character = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|add_to_variable_list
| ordered_player_heir
|Adds the event target to a variable list. X is the name of the variable. Y is an event target.
| Iterate through player heirs, capped at the first 10
|add_to_variable_list = { name = X target = Y }
| <pre>ordered_player_heir = {
|none
limit = { <triggers> }
|
order_by = script_value
|-
position = int
|assert_if
min = int
|Conditionally cause an assert during run time, X is a trigger and Y is an optional string
max = script_value
|assert_if = { limit = { X } text = Y }
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|none
<effects> }</pre>
|
| character
| character
|-
|-
|assert_read
| ordered_pool_guest
|Conditionally cause an assert during read time
| Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege)
|assert_read = X, X is yes or the string to be printed in the assert
| <pre>ordered_pool_guest = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|break_betrothal
| ordered_potential_marriage_option
|Breaks the betrothal between the scope character to the target character
| Iterate through all potential selectable marriage or betrohed options
|break_betrothal = target
| <pre>ordered_potential_marriage_option = {
|none
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
|-
|-
|break_if
| ordered_pretender_title
|conditionally break execution of effects, break_if = { X }, X is a trigger
| Iterate through all landed titles character is pretender to
|Unspecified
| <pre>ordered_pretender_title = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|change_global_variable
| ordered_primary_war_enemy
|Changes the value or a numeric variable
| Iterate through all primary war enemies
Where X is the name of the numeric variable to modify
| <pre>ordered_primary_war_enemy = {
Where the valid operations are add, subtract, multiply, divide and modulo
limit = { <triggers> }
Y is a fixed point value, script value or event target of a value type
order_by = script_value
|change_variable = { name = X operation = Y }
position = int
|none
min = int
|
max = 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
|-
|-
|change_local_variable
| ordered_prisoner
|Changes the value or a numeric variable
| Iterate through all prisoners
Where X is the name of the numeric variable to modify
| <pre>ordered_prisoner = {
Where the valid operations are add, subtract, multiply, divide and modulo
limit = { <triggers> }
Y is a fixed point value, script value or event target of a value type
order_by = script_value
|change_variable = { name = X operation = Y }
position = int
|none
min = int
|
max = 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
|-
|-
|change_title_holder
| ordered_prowess_councillor
|Changes Title Holder.
| Iterate through all prowess-based councillors
holder = 'Character that should get the title'
| <pre>ordered_prowess_councillor = {
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.
limit = { <triggers> }
|change_title_holder = {
order_by = script_value
holder =
position = int
change =
min = int
}
max = script_value
|none
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
|-
|-
|change_title_holder_include_vassals
| ordered_raid_target
|Changes Title Holder.
| Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges
holder = 'Character that should get the title'
| <pre>ordered_raid_target = {
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.
limit = { <triggers> }
|change_title_holder_include_vassals = {
order_by = script_value
holder =
position = int
change =
min = int
}
max = script_value
|none
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
|-
|-
|change_trait_rank
| ordered_realm_county
|Changes the trait rank = { trait = trait_group rank = change max = maximum new rank }
| Iterate through all counties in the realm. Based on top liege
|Unspecified
| <pre>
|none
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
|-
|-
|change_variable
| ordered_realm_de_jure_duchy
|Changes the value or a numeric variable
| Iterate through all de jure duchies that have at least one county in the realm. Based on top liege
Where X is the name of the numeric variable to modify
| <pre>
Where the valid operations are add, subtract, multiply, divide and modulo
ordered_realm_de_jure_duchy = {
Y is a fixed point value, script value or event target of a value type
limit = { <triggers> }
|change_variable = { name = X operation = Y }
order_by = script_value
|none
position = int
|
min = int
max = 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
|-
|-
|clamp_global_variable
| ordered_realm_de_jure_empire
|Clamps a variable the specified max and min
| Iterate through all de jure empire that have at least one county in the realm. Based on top liege
Where X is the name of the variable
| <pre>
Where Y and Z are script values
ordered_realm_de_jure_empire = {
|clamp_variable = { name = X max = Y min = Z }
limit = { <triggers> }
|none
order_by = script_value
|
position = int
min = int
max = 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
|-
|-
|clamp_local_variable
| ordered_realm_de_jure_kingdom
|Clamps a variable the specified max and min
| Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege
Where X is the name of the variable
| <pre>
Where Y and Z are script values
ordered_realm_de_jure_kingdom = {
|clamp_variable = { name = X max = Y min = Z }
limit = { <triggers> }
|none
order_by = script_value
|
position = int
min = int
max = 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
|-
|-
|clamp_variable
| ordered_realm_province
|Clamps a variable the specified max and min
| Iterate through all realm provinces of a character
Where X is the name of the variable
| <pre>ordered_realm_province = {
Where Y and Z are script values
limit = { <triggers> }
|clamp_variable = { name = X max = Y min = Z }
order_by = script_value
|none
position = int
|
min = int
max = 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
|-
|-
|clear_global_variable_list
| ordered_relation
|Empties the list
| Iterate through scripted relations of a given type or multiple types, if someone is multiple relations they will only be in the list once
|clear_global_variable_list = variable_name
| <pre>ordered_relation = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|clear_local_variable_list
| ordered_same_sex_spouse_candidate
|Empties the list
| Iterate through all the spouse candidates of the same sex of a character.
|clear_local_variable_list = variable_name
| <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
|none
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
|-
|-
|clear_saved_scope
| ordered_scheme
|Clears a saved scope from the top scope
| Iterate through all schemes owned by the character
|clear_saved_scope = cool_scope
| <pre>ordered_scheme = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|clear_variable_list
| ordered_secret
|Empties the list
| Iterate through all secrets of the character
|clear_variable_list = variable_name
| <pre>ordered_secret = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|close_all_views
| ordered_sibling
|Closes all views
| Iterate through all siblings
|close_all_views = yes
| <pre>ordered_sibling = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|close_view
| ordered_sponsored_inspiration
|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.
| Iterate through all sponsored inspirations
|close_view = {
| <pre>ordered_sponsored_inspiration = {
   view = <view name>
limit = { <triggers> }
   player = scope:character # optional, else closes for all players who execute the effect
order_by = script_value
}
position = int
close_view = <view name>
min = int
|none
max = 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
| inspiration
|-
|-
|complete_activity
| ordered_spouse
|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
| Iterate through all spouses
|Unspecified
| <pre>ordered_spouse = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|create_betrothal
| ordered_spouse_candidate
|Betroth the scope character to the target character, create_betrothal = target (at least one of the characters need to not be adult)
| Iterate through all the spouse candidates of a character.
|Unspecified
| <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
|none
ordered_spouse_candidate = {
|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
|-
|-
|create_betrothal_matrilineal
| ordered_stewardship_councillor
|Betroth the scope character to the target character matrilineally, create_betrothal_matrilineal = target (at least one of the characters need to not be adult)
| Iterate through all stewardship-based councillors
|Unspecified
| <pre>ordered_stewardship_councillor = {
|none
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
|-
|-
|create_character
| ordered_sub_realm_barony
|Creates a character
| Iterate through all baronies in sub-realm
|
| <pre>ordered_sub_realm_barony = {
<pre>create_character = {
limit = { <triggers> }
save_event_target_as = flag #save the character as an event target
order_by = script_value
save_temporary_event_target_as = flag #save the character as a temporary event target
position = int
name = <name>
min = int
age = <age>
max = script_value
gender = male/female/character scope
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
gender_female_chance = script_value #Range (0..100)
<effects> }</pre>
opposite_gender = character scope
| character
trait = <trait id>#add this trait
| landed title
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 = <health>
fertility = <fertility>
mother = <character>
father = <character>
real_father = <character> #(should only be set if the real father is not the same as father=)
employer = <character> #will end up in this court, will become a pool character unless specified or father/mother is landed
location = <character> #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
| ordered_sub_realm_county
|Creates a dynamic title. The title will be saved to (scope:new_title) usage:
| Iterate through all counties in sub-realm
|create_dynamic_title = {
| <pre>ordered_sub_realm_county = {
tier = <tier>
limit = { <triggers> }
name = key/dynamic description adjective = key/dynamic description (optional; name used if not specified), use generate_coa for generate title icon }
order_by = script_value
|none
position = int
|
min = int
max = 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
|-
|-
|create_holy_order
| ordered_sub_realm_duchy
|Create a new holy order
| Iterate through all duchies in sub-realm
|create_holy_order = {
| <pre>ordered_sub_realm_duchy = {
   leader = scope:a_character
limit = { <triggers> }
   capital = scope:a_barony_title
order_by = script_value
   save_scope_as/save_temporary_scope_as = new_holy_order # optional way to get a reference to the new holy order
position = int
}
min = int
|none
max = 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
|-
|-
|create_title_and_vassal_change
| ordered_sub_realm_empire
|starts a title and vassal change and saves it as a temporary event target
| Iterate through all empires in sub-realm
|Unspecified
| <pre>ordered_sub_realm_empire = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|custom_description
| ordered_sub_realm_kingdom
|Wraps effects that get a custom description instead of the auto-generated one
| Iterate through all kingdoms in sub-realm
|custom_description = {
| <pre>ordered_sub_realm_kingdom = {
text = <effect_localization_key>
limit = { <triggers> }
subject = <optional subject scope> #defaults to current scope
order_by = script_value
object = <optional object scope>
position = int
value = <optional script value>
min = int
... effects ...
max = script_value
}
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|none
<effects> }</pre>
|
| character
| landed title
|-
|-
|custom_description_no_bullet
| ordered_sub_realm_title
|Wraps effects that get a custom description instead of the auto-generated one. Also ensures no bullet point appears
| Iterate through all titles in sub-realm
|custom_description_no_bullet = {
| <pre>ordered_sub_realm_title = {
text = <effect_localization_key>
limit = { <triggers> }
subject = <optional subject scope> #defaults to current scope
order_by = script_value
object = <optional object scope>
position = int
value = <optional script value>
min = int
... effects ...
max = script_value
}
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|none
<effects> }</pre>
|
| character
| landed title
|-
|-
|custom_label
| ordered_targeting_faction
|just a tooltip, the scope as object (for grouping, localization)
| Iterate through all factions targeting the scope character
|Unspecified
| <pre>ordered_targeting_faction = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
| faction
|-
|-
|custom_tooltip
| ordered_targeting_scheme
|just a tooltip, the scope as subject (for grouping, localization)
| Iterate through all schemes targeting the character
|Unspecified
| <pre>ordered_targeting_scheme = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|debug_log
| ordered_targeting_secret
|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
| Iterate through all secrets that target the specified scope
|Unspecified
| <pre>ordered_targeting_secret = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|debug_log_date
| ordered_traveling_family_member
|Logs the current date to the debug.log
| Iterate though all characters that should travel with the scoped one (when moving between courts for instance); includes the scoped character
|Unspecified
| <pre>ordered_traveling_family_member = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|debug_log_scopes
| ordered_truce_holder
|Log the current scope to the debug log when this effect executes yes = full scope info, no=only current scope
| Iterate through all characters that have a truce on this character
|Unspecified
| <pre>ordered_truce_holder = {
|none
limit = { <triggers> }
|
order_by = script_value
position = int
min = int
max = 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
|-
|-
|divorce
| ordered_truce_target
|Divorces the scope character from the target character.
| Iterate through all characters this character has a truce on
|divorce = target
| <pre>ordered_truce_target = {
|none
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
|-
|-
|duel
| ordered_unspent_known_secret
|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
| Iterate through all unspent secrets known by the character
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
| <pre>ordered_unspent_known_secret = {
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
limit = { <triggers> }
If localization = W is specified, the effect localization W will be used (entry in effect_localization database, not a localization key directly)
order_by = script_value
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
position = int
Valid skill, target, combinations: skill + target, skill + value, only value
min = int
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.
max = script_value
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.
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
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.
<effects> }</pre>
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.
| character
|duel = {
| secret
   skill = X
   target = Y
   value = Z
   localization = W
   ... random list body
}
|none
|
|-
|-
|every_barony
| ordered_vassal
|Iterate through all baronies in the game
| Iterate through all DIRECT vassals
|every_barony = { limit = { <triggers> } <effects> }
| <pre>ordered_vassal = {
|none
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
| character
|-
|-
|every_county
| ordered_vassal_or_below
|Iterate through all counties in the game
| Iterate through ALL vassals, not just direct vassals
|every_county = { limit = { <triggers> } <effects> }
| <pre>ordered_vassal_or_below = {
|none
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
| character
|-
|-
|every_county_in_region
| ordered_war_ally
|Iterate through all counties in the region. Put 'region = region_name' inside it
| Iterate through all direct war allies
|every_county_in_region = { limit = { <triggers> } <effects> }
| <pre>ordered_war_ally = {
|none
limit = { <triggers> }
|landed title
order_by = script_value
|-
position = int
|every_duchy
min = int
|Iterate through all duchies in the game
max = script_value
|every_duchy = { limit = { <triggers> } <effects> }
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|none
<effects> }</pre>
|landed title
| character
| character
|-
|-
|every_empire
| ordered_war_enemy
|Iterate through all empires in the game
| Iterate through all direct war enemies
|every_empire = { limit = { <triggers> } <effects> }
| <pre>ordered_war_enemy = {
|none
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
| 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
|-
|-
|every_in_global_list
| pay_short_term_income
|Iterate through all items in global list. list = name or variable = name
| 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)
|every_in_global_list = { limit = { <triggers> } <effects> }
| <pre></pre>
|none
| character
|
|-
|-
|every_in_list
| play_music_cue
|Iterate through all items in list. list = name or variable = name
| Plays the specified music cue.
|every_in_list = { limit = { <triggers> } <effects> }
| <pre></pre>
|none
| character
|
|-
|-
|every_in_local_list
| play_sound_effect
|Iterate through all items in local list. list = name or variable = name
| Plays the specified sound effect.
|every_in_local_list = { limit = { <triggers> } <effects> }
| <pre></pre>
|none
| character
|
|-
|-
|every_independent_ruler
| random_alert_creatable_title
|Independent rulers list with a COUNT tier o above
| Iterate through all titles that can be created by the character. (only for alerts)
|every_independent_ruler = { limit = { <triggers> } <effects> }
| <pre>random_alert_creatable_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|character
| landed title
|-
|-
|every_kingdom
| random_alert_usurpable_title
|Iterate through all kingdoms in the game
| Iterate through all titles that can be usurped by the character. (only for alerts)
|every_kingdom = { limit = { <triggers> } <effects> }
| <pre>random_alert_usurpable_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|landed title
| landed title
|-
|-
|every_living_character
| random_ally
|Iterate through all living characters
| Iterate through all allies
|every_living_character = { limit = { <triggers> } <effects> }
| <pre>random_ally = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|character
| character
|-
|-
|every_player
| random_ancestor
|Iterate through all player characters
| Iterate through all the ancestors of the scope character up to 5 generations
|every_player = { limit = { <triggers> } <effects> }
| <pre>random_ancestor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|character
| character
|-
|-
|every_pool_character
| random_army
|Iterate through all characters in the pool of the given province
| Iterate through all armies
|every_pool_character = { limit = { <triggers> } <effects> }
| <pre>random_army = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|character
| army
|-
|-
|every_province
| random_character_artifact
|Iterate through all provinces (skips non-land and impassable provinces)
| Iterate through all artifacts in a given characters inventory
|every_province = { limit = { <triggers> } <effects> }
| <pre>random_character_artifact = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|province
| artifact
|-
|-
|every_religion_global
| random_character_to_title_neighboring_and_across_water_county
|Iterate through all religions in the game
| Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges)
|every_religion_global = { limit = { <triggers> } <effects> }
| <pre>random_character_to_title_neighboring_and_across_water_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|religion
| landed title
|-
|-
|every_ruler
| random_character_to_title_neighboring_and_across_water_duchy
|Rulers list with a COUNT tier o above
| Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
|every_ruler = { limit = { <triggers> } <effects> }
| <pre>random_character_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|character
| landed title
|-
|-
|hidden_effect
| random_character_to_title_neighboring_and_across_water_empire
|Effect not shown in tooltips
| Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges)
|Unspecified
| <pre>random_character_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| landed title
|-
|-
|multiply_focus_progress
| random_character_to_title_neighboring_and_across_water_kingdom
|Multiplies focus progress
| Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
|Unspecified
| <pre>random_character_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| landed title
|-
|-
|open_interaction_window
| random_character_to_title_neighboring_county
|Tries to open the defined view.
| Scopes from a character to a neighboring county (looking trough the de Jure lieges)
|open_interaction_window = {
| <pre>random_character_to_title_neighboring_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
interaction = interaction_key - the interaction object key to open
| character
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)
| landed title
actor = character_actor - must be defined, must coincide with the current player
|-
recipient = character_actor - must be defined
| random_character_to_title_neighboring_duchy
secondary_actor = character_secontary_actor - optional
| Scopes from a character to a neighboring duchy (looking trough the de Jure lieges)
secondary_recipient = character_secondary_recipient - optional
| <pre>random_character_to_title_neighboring_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| landed title
|-
|-
|open_view
| random_character_to_title_neighboring_empire
|Tries to open the defined view without scope data.
| Scopes from a character to a neighboring empire (looking trough the de Jure lieges)
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.
| <pre>random_character_to_title_neighboring_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|
| character
<pre>open_view = {
| landed title
   view = <view name>
   view_message = <view specific instruction> # optional
   player = scope:character # optional, else shows for all players who execute the effect
}
</pre>
simplified: open_view = <view name>
|none
|
|-
|-
|open_view_data
| random_character_to_title_neighboring_kingdom
|Tries to open the defined view with scope data.
| Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges)
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.
| <pre>random_character_to_title_neighboring_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|
| character
<pre>open_view_data = {
| landed title
   view = <view name>
   view_message = <view specific instruction> # optional
   player = scope:character # optional, else shows for all players who execute the effect
}
</pre>
open_view_data = <view name>
for example: scope:faith = { open_view_data = faith_conversion }
|none
|
|-
|-
|ordered_barony
| random_character_war
|Iterate through all baronies in the game
| Wars of the scoped character
|ordered_barony = {
| <pre>random_character_war = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| war
position = int
min = int
max = 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
| random_child
|Iterate through all counties in the game
| Iterate through all children
|ordered_county = {
| <pre>random_child = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| random_claim
|Iterate through all counties in the region. Put 'region = region_name' inside it
| Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all
|ordered_county_in_region = {
| <pre>random_claim = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
|-
min = int
| random_claimed_artifact
max = script_value
| Iterate through all claimed artifacts of the scoped character
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
| <pre>random_claimed_artifact = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
<effects> }
| character
|none
| artifact
|landed title
|-
| 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
|-
|-
|ordered_duchy
| random_concubine
|Iterate through all duchies in the game
| Iterate through all concubines
|ordered_duchy = {
| <pre>random_concubine = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| random_consort
|Iterate through all empires in the game
| Iterate through all consorts (concubines and spouses)
|ordered_empire = {
| <pre>random_consort = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| random_councillor
|Iterate through all items in global list. list = name or variable = name
| Iterate through all councillors
|ordered_in_global_list = {
| <pre>random_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| random_court_position_employer
|Iterate through all items in list. list = name or variable = name
| Iterates through all characters that employ the scoped character in any court position.
|ordered_in_list = {
| <pre>random_court_position_employer = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
|-
min = int
| random_court_position_holder
max = script_value
| Iterates through all characters employed by the scoped character in the target court position.
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
| <pre>random_court_position_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
<effects> }
| character
|none
| 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
|-
|-
|ordered_in_local_list
| random_courtier_or_guest
|Iterate through all items in local list. list = name or variable = name
| Iterate through all courtiers and guests (pool and foreign court guests)
|ordered_in_local_list = {
| <pre>random_courtier_or_guest = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| random_de_jure_claim
|Independent rulers list with a COUNT tier o above
| Iterate through all de jure claims for a character
|ordered_independent_ruler = {
| <pre>random_de_jure_claim = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| landed title
position = int
min = int
max = 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
| random_diplomacy_councillor
|Iterate through all kingdoms in the game
| Iterate through all diplomacy-based councillors
|ordered_kingdom = {
| <pre>random_diplomacy_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| random_directly_owned_province
|Iterate through all living characters
| Iterate through all directly owned provinces
|ordered_living_character = {
| <pre>random_directly_owned_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| province
position = int
|-
min = int
| random_election_title
max = script_value
| Iterate through all titles the scoped character can vote on
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
| <pre>random_election_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
<effects> }
| character
|none
| landed title
|character
|-
|-
|ordered_player
| random_equipped_character_artifact
|Iterate through all player characters
| Iterate through all equipped artifacts in a given characters inventory
|ordered_player = {
| <pre>random_equipped_character_artifact = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| artifact
position = int
min = int
max = 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
| random_extended_family_member
|Iterate through all characters in the pool of the given province
| Iterate through all the extended family [uncles/aunts, nephew/niece, cousins]
|ordered_pool_character = {
| <pre>random_extended_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| random_foreign_court_guest
|Iterate through all provinces (skips non-land and impassable provinces)
| Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege)
|ordered_province = {
| <pre>random_foreign_court_guest = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| random_former_concubine
|Iterate through all religions in the game
| Iterate through all former concubines. Not persisted past death
|ordered_religion_global = {
| <pre>random_former_concubine = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| random_former_concubinist
|Rulers list with a COUNT tier o above
| Iterate through all former concubinists. Not persisted past death
|ordered_ruler = {
| <pre>random_former_concubinist = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
limit = { <triggers> }
| character
order_by = script_value
| character
position = int
min = int
max = 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
| random_former_spouse
|Pans the camera to the specified province
| Iterate through all former spouses
|pan_camera_to_province = scope:army.location
| <pre>random_former_spouse = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|province
| character
|-
|-
|pan_camera_to_title
| random_general_councillor
|Pans the camera to the specified title
| Iterate through all councillors that are not related to a skill
|pan_camera_to_title = capital_barony
| <pre>random_general_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|landed title
| character
|-
|-
|random
| random_heir
|A random effect. X is a chance of the enclosed effects being fired and can be modified by optional value modifier list (AKA MTTH) Y
| Heirs of the scoped character
|random = { chance = X modifier = Y effects... }
| <pre>random_heir = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| character
|-
|-
|random_barony
| random_heir_title
|Iterate through all baronies in the game
| Iterate through all landed titles character is heir to
|random_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_heir_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|landed title
| landed title
|-
|-
|random_county
| random_heir_to_title
|Iterate through all counties in the game
| Iterate through all titles the scoped character is heir to
|random_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_heir_to_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|landed title
| landed title
|-
|-
|random_county_in_region
| random_held_title
|Iterate through all counties in the region. Put 'region = region_name' inside it
| Iterate through all held landed titles
|random_county_in_region = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_held_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|landed title
| landed title
|-
|-
|random_duchy
| random_hired_mercenary
|Iterate through all duchies in the game
| Iterate through all hired mercenary companies
|random_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_hired_mercenary = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|landed title
| mercenary company
|-
|-
|random_empire
| random_hooked_character
|Iterate through all empires in the game
| Iterate through all characters this character has a hook on
|random_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_hooked_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|landed title
| character
|-
|-
|random_in_global_list
| random_hostile_raider
|Iterate through all items in global list. list = name or variable = name
| Iterate through anyone the character is hostile to due to their top-liege's realm having been raided
|random_in_global_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_hostile_raider = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| character
|-
|-
|random_in_list
| random_intrigue_councillor
|Iterate through all items in list. list = name or variable = name
| Iterate through all intrigue-based councillors
|random_in_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_intrigue_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| character
|-
|-
|random_in_local_list
| random_knight
|Iterate through all items in local list. list = name or variable = name
| Iterate through all knights
|random_in_local_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_knight = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| character
|-
|-
|random_independent_ruler
| random_known_secret
|Independent rulers list with a COUNT tier o above
| Iterate through all secrets known by the character
|random_independent_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_known_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|character
| secret
|-
|-
|random_kingdom
| random_learning_councillor
|Iterate through all kingdoms in the game
| Iterate through all learning-based councillors
|random_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_learning_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|landed title
| character
|-
|-
|random_list
| random_liege_or_above
|a random list effect
| Iterate through all lieges above a character (skipping the character themselves)
|random_list = { X1 = { trigger = { enables/disable this effect} modifier/compare_modifier/opinion_modifier = Y1 effect1 } X2 = { trigger = { enables/disable this effect} modifier/compare_modifier/opinion_modifier = Y2 effect2 } ... }
| <pre>random_liege_or_above = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
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).
| character
The chances can be modified by optional value modifier lists Y1, Y2... (AKA MTTH)
| character
|none
|
|-
|-
|random_living_character
| random_martial_councillor
|Iterate through all living characters
| Iterate through all martial-based councillors
|random_living_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_martial_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|character
| character
|-
|-
|random_log_scopes
| random_neighboring_and_across_water_realm_same_rank_owner
|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 random log. yes = full scope info, no=only current scope
| 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)
|Unspecified
| <pre>random_neighboring_and_across_water_realm_same_rank_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| character
|-
|-
|random_player
| random_neighboring_and_across_water_top_liege_realm
|Iterate through all player characters
| 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_player = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_neighboring_and_across_water_top_liege_realm = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|character
| landed title
|-
|-
|random_pool_character
| random_neighboring_and_across_water_top_liege_realm_owner
|Iterate through all characters in the pool of the given province
| 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_pool_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_neighboring_and_across_water_top_liege_realm_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|character
| character
|-
|-
|random_province
| random_neighboring_realm_same_rank_owner
|Iterate through all provinces (skips non-land and impassable provinces)
| 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_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_neighboring_realm_same_rank_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|province
| character
|-
|-
|random_religion_global
| random_neighboring_top_liege_realm
|Iterate through all religions in the game
| 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_religion_global = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_neighboring_top_liege_realm = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|religion
| landed title
|-
|-
|random_ruler
| random_neighboring_top_liege_realm_owner
|Rulers list with a COUNT tier o above
| 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_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| <pre>random_neighboring_top_liege_realm_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|character
| character
|-
|-
|remove_from_list
| random_opposite_sex_spouse_candidate
|Removes the current scope from a named list remove_from_list = <string>
| Iterate through all the spouse candidates of the opposite sex of a character.
|Unspecified
| <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
|none
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
|-
|-
|remove_global_variable
| random_parent
|Removes a variable
| Iterate through all (both) parents
|remove_global_variable = variable_name
| <pre>random_parent = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| character
|-
|-
|remove_list_global_variable
| random_patroned_holy_order
|Removes the target from a variable list
| Iterate through all holy orders that the scoped character is a patron of
Where X is the name of the variable
| <pre>random_patroned_holy_order = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
Y is an event target
| character
|remove_list_global_variable = { name = X target = Y }
| holy order
|none
|
|-
|-
|remove_list_local_variable
| random_personal_claimed_artifact
|Removes the target from a variable list
| Iterate through all personally claimed artifacts of the scoped character
Where X is the name of the variable
| <pre>random_personal_claimed_artifact = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
Y is an event target
| character
|remove_list_local_variable = { name = X target = Y }
| artifact
|none
|
|-
|-
|remove_list_variable
| random_pinned_character
|Removes the target from a variable list
| Iterate through characters this player has pinned
Where X is the name of the variable
| <pre>random_pinned_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
Y is an event target
| character
|remove_list_variable = { name = X target = Y }
| character
|none
|
|-
|-
|remove_title_law
| random_pinning_character
|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.
| Iterate through characters whose player has this character pinned
|remove_title_law = princely_elective_succession_law
| <pre>random_pinning_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| character
|-
|-
|remove_variable
| random_played_character
|Removes a variable. Local or Global
| Iterate through all characters the player playing this character has played. Matches the game over legacy, except for excluding the currently played character
|remove_variable = variable_name
| <pre>random_played_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| character
|-
|-
|resolve_title_and_vassal_change
| random_player_heir
|Execute and destory the target title and vassal change, the change cannot be used after calling this effect
| Iterate through player heirs, capped at the first 10
|resolve_title_and_vassal_change = scope:change
| <pre>random_player_heir = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|title and vassal change
| character
|-
|-
|clamp_variable
| random_pool_guest
|Rounds a variable (global or loval) to the nearest specified value
| Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege)
Where X is the name of the variable
| <pre>random_pool_guest = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
Y is a script value
| character
|clamp_variable = { name = X nearest = Y }
| character
|none
|
|-
|-
|save_scope_as
| random_potential_marriage_option
|Saves the current scope as an arbitrarily-named target to be referenced later in the (unbroken) event chain
| Iterate through all potential selectable marriage or betrohed options
|save_event_target_as = <string>
| <pre>random_potential_marriage_option = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| character
|-
|-
|save_scope_value_as
| random_pretender_title
|Saves a numerical or bool value as an arbitrarily-named target to be referenced later in the (unbroken) event chain
| Iterate through all landed titles character is pretender to
|save_scope_value_as = { name = <string> value = x }
| <pre>random_pretender_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| landed title
|-
|-
|save_temporary_scope_as
| random_primary_war_enemy
|Saves the current scope as an arbitrarily-named temporary target to be referenced later in the same effect
| Iterate through all primary war enemies
|save_temporary_event_target_as = <string>
| <pre>random_primary_war_enemy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| character
|-
|-
|save_temporary_scope_value_as
| random_prisoner
|Saves a numerical or bool value as an arbitrarily-named temporary target to be referenced later in the same effect
| Iterate through all prisoners
|save_temporary_scope_value_as = { name = <string> value = x }
| <pre>random_prisoner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| character
|-
|-
|set_focus_progress
| random_prowess_councillor
|Sets focus progress
| Iterate through all prowess-based councillors
|Unspecified
| <pre>random_prowess_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| character
|-
|-
|set_generated_asexuality_chance
| random_raid_target
|Sets the chance for a generated character to be asexual
| Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges
|set_generated_asexuality_chance = 20
| <pre>random_raid_target = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| character
|-
|-
|set_generated_bisexuality_chance
| random_realm_county
|Sets the chance for a generated character to be bisexual
| Iterate through all counties in the realm. Based on top liege
|set_generated_bisexuality_chance = 20
| <pre>
|none
random_realm_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|
| character
| landed title
|-
|-
|set_generated_homosexuality_chance
| random_realm_de_jure_duchy
|Sets the chance for a generated character to be homosexual
| Iterate through all de jure duchies that have at least one county in the realm. Based on top liege
|set_generated_homosexuality_chance = 20
| <pre>
|none
random_realm_de_jure_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|
| character
| landed title
|-
|-
|set_trait_rank
| random_realm_de_jure_empire
|Sets the trait rank = { trait = trait_group rank = new rank }
| Iterate through all de jure empire that have at least one county in the realm. Based on top liege
|Unspecified
| <pre>
|none
random_realm_de_jure_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|
| character
| landed title
|-
|-
|set_variable
| random_realm_de_jure_kingdom
|Sets a variable. Either global or local.
| Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege
Where X is the name of the variable used to then access it
| <pre>
Y is any event target, bool, value, script value or flag (flag:W)
random_realm_de_jure_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
An optional days or years where Z is the number of days or years or script value
| character
This variable will be accessible with <type_>var:X. With type being in a scope object or in a top scope
| landed title
|set_variable = { name = X value = Y days = Z }
set_variable = { name = X value = Y years = Z }
|none
|
|-
|-
|setup_claim_cb
| random_realm_province
|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
| Iterate through all realm provinces of a character
|setup_claim_cb = {
| <pre>random_realm_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
attacker = scope:attacker
| character
defender = scope:defender
| province
claimant = scope:claimant
change = scope:change victory = yes/no
take_occupied = yes/no
}
|none
|
|-
|-
|setup_de_jure_cb
| random_relation
|this effect will add a scope:cb_prestige_factor with a value based on what's being taken
| Iterate through scripted relations of a given type or multiple types, if someone is multiple relations they will only be in the list once
|setup_de_jure_cb = {
| <pre>random_relation = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
attacker = scope:attacker
| character
defender = scope:defender
| character
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
}
|none
|
|-
|-
|setup_invasion_cb
| random_same_sex_spouse_candidate
|this effect will add a scope:cb_prestige_factor with a value based on what's being taken
| Iterate through all the spouse candidates of the same sex of a character.
|setup_invasion_cb = {
| <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
attacker = scope:attacker
random_same_sex_spouse_candidate = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
defender = scope:defender
| character
change = scope:change victory = yes/no
| character
take_occupied = yes/no
}
|none
|
|-
|-
|show_as_tooltip
| random_scheme
|Effect only shown in tooltips (but not executed)
| Iterate through all schemes owned by the character
|Unspecified
| <pre>random_scheme = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| scheme
|-
|-
|start_tutorial_lesson
| random_secret
|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)
| Iterate through all secrets of the character
|Unspecified
| <pre>random_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|none
| character
|
| secret
|-
|-
|switch
| random_sibling
|Switch on a trigger for the evaluation of another trigger with an optional fallback trigger.
| Iterate through all siblings
|switch = {
| <pre>random_sibling = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
trigger = simple_assign_trigger
| character
case_1 = { <effects> }
| character
case_2 = { <effects> }
case_n = { <effects> }
fallback = { <effects> }
|none
|
|-
|-
|trigger_event
| random_sponsored_inspiration
|triggers an event or on_action
| Iterate through all sponsored inspirations
|
| <pre>random_sponsored_inspiration = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
For events:
| character
<pre>
| inspiration
trigger_event = {
id = X
days/months/years = Y
}
</pre>
For on_actions:
<pre>
trigger_event = {
on_action = X
days/months/years = Y
}
</pre>
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 randomly.
|none
|
|-
|-
|try_create_important_action
| random_spouse
|Tries to create an important action notification. Will keep the current one if already exists.
| Iterate through all spouses
|try_create_important_action
| <pre>random_spouse = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
important_action_type = important_action_type_key - the important action object key to create. Must be defined.
| character
actor = character_actor - optional, can be used by the important action effect
| character
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
| random_spouse_candidate
secondary_recipient = character_secondary_recipient - optional, can be used by the important action effect
| Iterate through all the spouse candidates of a character.
landed_title = landed_title
| <pre>WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
optional, can be used by the important action effect
random_spouse_candidate = { limit = { <triggers> } (optional) weight = { mtth } <effects> }</pre>
|Unspecified
| character
|none
| 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
|-
|-
|try_create_suggestion
| remove_all_character_modifier_instances
|Tries to create an suggestuib notification. Will keep the current one if already exists.
| Remove all instances of a modifier from a character
|try_create_suggestion
| <pre>remove_all_character_modifier_instances = name</pre>
suggestion_type = suggestion_type_key - the suggestion action object key to create. Must be defined.
| character
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
| remove_character_flag
secondary_recipient = character_secondary_recipient - optional, can be used by the suggestion effect
| removes a character flag
landed_title = landed_title
| <pre></pre>
optional, can be used by the suggestion effect
| character
|Unspecified
|
|none
|-
|
| 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
|
|-
| 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
|
|-
| 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
|}
|}
<br>
 
{{Modding navbox}}
{{Modding navbox}}
[[Category: 模组制作]]
[[Category:Modding]]
[[en:Effects]]

2022年5月20日 (五) 19:22的版本

Effects, also known as commands, are used in scripting to alter the target that was selected via scopes and conditions. They are also able to iterate through lists.

They appear in:

  • command blocks (the immediate and option sections of events, or similar: effect, creation_effect, gain_effect, success, ...)
  • scripted effects, which can be used to group commands into re-usable macro.

Scripting commands are different from console commands, though there may be equivalents between the two. Available effects depend on the current scope.

Conditional effects

Effects used to provide basic conditional functionality.

Name Description Usage Supported scopes Supported targets
if Executes enclosed effects if limit criteria are met if = { limit = { <triggers> } <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
else Executes enclosed effects if limit criteria of preceding 'if' or 'else_if' is not met if = { limit = { <triggers> } <effects> }

else = { <effects> }

none

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\").

Name Desc Example Scopes Target
add_house_artifact_claim Adds a claim on the target artifact to the scoped house

dynasty house artifact
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_any_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_any_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_county_province Iterate through all provinces in a county
every_county_province = { limit = { <triggers> } <effects> }
landed title province
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_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_any_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_any_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_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_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_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_any_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_any_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_county_province Iterate through all provinces in a county
random_county_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
landed title province
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_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
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 Wraps effects that get a custom description instead of the auto-generated one
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_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
custom_tooltip just a tooltip, the scope as subject (for grouping, localization). Can also be written as custom_tooltip = { 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 Effect not shown in tooltips

none
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 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_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_list a random list effect
random_list = { X1 = { trigger = { enables/disable this effect} modifier/compare_modifier/opinion_modifier = Y1 effect1 } X2 = { trigger = { enables/disable this effect} modifier/compare_modifier/opinion_modifier = Y2 effect2 } ... }
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
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 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
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 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
show_as_tooltip Effect only shown in tooltips (but not executed)

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
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
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
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
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

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_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_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_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
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
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