Effects:修订间差异

本页面所适用的版本可能已经过时,最后更新于1.0
(09:28, 17 October 2020‎ 136.169.168.164)
(09:48, 4 January 2021‎ 2a00:23c6:709b:9d01:ed97:f71c:8649:6c65)
第1行: 第1行:
{{Version|1.0}}{{需要翻译}}
{{Version|1.0}}{{需要翻译}}
Effects are used in order to affect the game dynamically from within scopes.
'''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.


== List of effects ==
== List of effects ==
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.
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.
=== From war scope ===
The following effects are only usable in the war scope.
{| class="wikitable sortable" width="100%"
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Name
第11行: 第14行:
! width="20%" | Supported targets
! width="20%" | Supported targets
|-
|-
|add_dynasty_modifier
|add_attacker
|Add a modifier to a dynasty
|adds the target character to the scope war as an attacker
|add_dynasty_modifier = name
|Unspecified
add_dynasty_modifier = { modifier = name days/weeks/months/years = int }
|war
|dynasty
|character
|
|-
|-
|add_dynasty_perk
|add_defender
|Adds dynasty perk
|adds the target character to the scope war as a defender
|add_dynasty_perk = key
|Unspecified
|dynasty
|war
|
|character
|-
|-
|add_dynasty_prestige
|end_war
|adds dynasty prestige
|ends the war with the specified winner, end_war = attacker/defender/white_peace
|Unspecified
|Unspecified
|dynasty
|war
|
|
|-
|-
|add_dynasty_prestige_level
|every_war_attacker
|adds dynasty prestige levels
|Iterate through all attackers in the war
|Unspecified
|every_war_attacker = { limit = { <triggers> } <effects> }
|dynasty
|war
|
|character
|-
|-
|every_dynasty_member
|every_war_defender
|Iterate through all dynasty members
|Iterate through all defenders in the war
|every_dynasty_member = { limit = { <triggers> } <effects> }
|every_war_defender = { limit = { <triggers> } <effects> }
|dynasty
|war
|character
|character
|-
|-
|ordered_dynasty_member
|every_war_participant
|Iterate through all dynasty members
|Iterate through all participants in the war
|ordered_dynasty_member = {
|every_war_participant = { limit = { <triggers> } <effects> }
limit = { <triggers> }
|war
order_by = script_value
|character
position = int
|-
|ordered_war_attacker
|Iterate through all attackers in the war
|ordered_war_attacker = {
limit = { <triggers> }
order_by = script_value
position = int
min = int
min = int
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> }
|dynasty
|war
|character
|character
|-
|-
|random_dynasty_member
|ordered_war_defender
|Iterate through all dynasty members
|Iterate through all defenders in the war
|random_dynasty_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_war_defender = {
|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
|
|-
|add_house_modifier
|Add a modifier to a house
|add_house_modifier = name
add_house_modifier = { modifier = name days/weeks/months/years = int }
|dynasty house
|
|-
|every_house_member
|Iterate through all house members
|every_house_member = { limit = { <triggers> } <effects> }
|dynasty house
|character
|-
|ordered_house_member
|Iterate through all house members
|ordered_house_member = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第96行: 第73行:
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> }
|dynasty house
|war
|character
|character
|-
|-
|random_house_member
|ordered_war_participant
|Iterate through all house members
|Iterate through all participants in the war
|random_house_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_war_participant = {
|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_modifier
|Remove a modifier from a house
|remove_house_modifier = name
|dynasty house
|
|-
|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> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第133行: 第86行:
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> }
|religion
|war
|faith
|character
|-
|-
|random_faith
|random_war_attacker
|Iterate through all faiths within a religion
|Iterate through all attackers in the war
|random_faith = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|random_war_attacker = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|religion
|war
|faith
|character
|-
|-
|add_scheme_modifier
|random_war_defender
|adds the specified scheme modifier, add_scheme_modifier = { type = X days = Y } (days are optional, the modifier will expire in Y days if specified)
|Iterate through all defenders in the war
|Unspecified
|random_war_defender = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|scheme
|war
|
|character
|-
|-
|add_scheme_progress
|random_war_participant
|Add progress to the scope scheme. (progress is in 0.0 - 100.0 range)
|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
|Unspecified
|Unspecified
|scheme
|war
|
|character
|-
|-
|end_scheme
|set_called_to
|Ends a specific scheme and removes it without any other effect
|sets the target character as already called to the scope war
|Unspecified
|Unspecified
|scheme
|war
|
|-
|every_scheme_agent
|Iterate through all agents in the scheme
|every_scheme_agent = { limit = { <triggers> } <effects> }
|scheme
|character
|character
|-
|-
|expose_scheme
|set_casus_belli
|Exposes the scheme to the defender
|sets the casus belli of the scope war
|Unspecified
|Unspecified
|scheme
|war
|
|
|}
=== From story cycle scope ===
The following effects are only usable in the story cycle scope.
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|expose_scheme_agent
|end_story
|Exposes the target character as an agent of the current scheme
|Ends a story and executes it's on_end effect, the story can no longer be accessed after this
|Unspecified
|Unspecified
|scheme
|story cycle
|character
|
|-
|-
|ordered_scheme_agent
|make_story_owner
|Iterate through all agents in the scheme
|makes the character the new owner of the story
|ordered_scheme_agent = {
|make_story_owner = character_target
|story cycle
|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
|Adds an participant to the secret
|Unspecified
|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
|Unspecified
|secret
|character
|-
|ordered_secret_knower
|Iterate through all characters who know the secret
|ordered_secret_knower = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第188行: 第197行:
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> }
|scheme
|secret
|character
|character
|-
|-
|random_scheme_agent
|ordered_secret_participant
|Iterate through all agents in the scheme
|Iterate through participants in a secret
|random_scheme_agent = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_secret_participant = {
|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> }
|secret
|character
|-
|random_secret_knower
|Iterate through all characters who know the secret
|random_secret_knower = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|secret
|character
|character
|-
|-
|remove_scheme_modifier
|random_secret_participant
|removes the specified scheme modifier
|Iterate through participants in a secret
|Unspecified
|random_secret_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|scheme
|secret
|
|character
|-
|-
|scheme_freeze_days
|remove_secret
|scheme_freeze_days = X freezes the scheme for X days (0 unfreezes the scheme)
|Removes the scope secret
|Unspecified
|Unspecified
|scheme
|secret
|
|
|-
|-
|add_county_modifier
|reveal_to
|Add a modifier to a county
|Reveals the scope secret to the target character
|add_county_modifier = name
add_county_modifier = { modifier = name days/weeks/months/years = int }
|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.
|Unspecified
|Unspecified
|landed title
|secret
|
|character
|-
|-
|change_de_jure_drift_progress
|set_secret_owner
|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> } }
|Sets a new owner for the secret
|Unspecified
|Unspecified
|landed title
|secret
|
|character
|-
|spend_by
|Spends the scope secret
|spend_by = target_character
|secret
|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
|-
|-
|change_development_level
|add_scheme_modifier
|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.
|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
|Unspecified
|landed title
|scheme
|
|
|-
|-
|change_development_progress
|add_scheme_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.
|Add progress to the scope scheme. (progress is in 0.0 - 100.0 range)
|Unspecified
|Unspecified
|landed title
|scheme
|
|
|-
|-
|change_development_progress_with_overflow
|end_scheme
|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
|Ends a specific scheme and removes it without any other effect
|Unspecified
|Unspecified
|landed title
|scheme
|
|
|-
|-
|clear_title_laws
|every_scheme_agent
|remove all title laws from the scoped title. DOES NOT apply law removal costs and effects.
|Iterate through all agents in the scheme
|clear_title_laws = yes
|every_scheme_agent = { limit = { <triggers> } <effects> }
|landed title
|scheme
|
|character
|-
|-
|clear_title_laws_effects
|expose_scheme
|remove all title laws from the scoped title. DOES apply law removal costs and effects.
|Exposes the scheme to the defender
|clear_title_laws_effects = yes
|Unspecified
|landed title
|scheme
|
|
|-
|-
|copy_title_history
|expose_scheme_agent
|Copy title history from another title
|Exposes the target character as an agent of the current scheme
|copy_title_history = source_title
|Unspecified
|landed title
|scheme
|landed title
|-
|every_claimant
|Iterate through all claimants to title. parameters: explicit = yes/no/all - default yes
|every_claimant = { limit = { <triggers> } <effects> }
|landed title
|character
|character
|-
|-
|every_connected_county
|ordered_scheme_agent
|Iterate through all counties connected to this one. Is based on top liege
|Iterate through all agents in the scheme
|every_connected_county = {
|ordered_scheme_agent = {
max_naval_distance = 500
limit = { <triggers> }
allow_one_county_land_gap = yes
order_by = script_value
every_connected_county = { limit = { <triggers> } <effects> }
position = int
|landed title
min = int
|landed title
max = script_value
|-
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|every_county_province
<effects> }
|Iterate through all provinces in a county
|scheme
|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
|character
|-
|-
|every_de_jure_top_liege
|random_scheme_agent
|Iterate through all top lieges of the counts within this dejure title
|Iterate through all agents in the scheme
|every_de_jure_top_liege = { limit = { <triggers> } <effects> }
|random_scheme_agent = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|scheme
|character
|character
|-
|-
|every_dejure_vassal_title_holder
|remove_scheme_modifier
|Iterate through all the vassal holders of the title
|removes the specified scheme modifier
|every_dejure_vassal_title_holder = { limit = { <triggers> } <effects> }
|Unspecified
|landed title
|scheme
|character
|
|-
|-
|every_election_candidate
|scheme_freeze_days
|Iterate through all characters who are valid candidates in an election for a title
|scheme_freeze_days = X freezes the scheme for X days (0 unfreezes the scheme)
|every_election_candidate = { limit = { <triggers> } <effects> }
|Unspecified
|landed title
|scheme
|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_elector
|every_faith
|Iterate through all characters who are valid electors in an election for a title
|Iterate through all faiths within a religion
|every_elector = { limit = { <triggers> } <effects> }
|every_faith = { limit = { <triggers> } <effects> }
|landed title
|religion
|character
|faith
|-
|-
|every_in_de_facto_hierarchy
|ordered_faith
|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 faiths within a religion
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_faith = {
|every_in_de_facto_hierarchy = { limit = { <triggers> } <effects> }
limit = { <triggers> }
|landed title
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> }
|religion
|faith
|-
|-
|every_in_de_jure_hierarchy
|random_faith
|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 faiths within a religion
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_faith = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_in_de_jure_hierarchy = { limit = { <triggers> } <effects> }
|religion
|landed title
|faith
|landed title
|}
 
=== From province scope ===
The following effects are only usable in the province scope.
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|every_neighboring_county
|add_building
|Iterate through all neighboring counties. Can only be used in county scope
|Add building to the province<province> = { add_building = <building_name> }
|every_neighboring_county = { limit = { <triggers> } <effects> }
|Unspecified
|landed title
|province
|landed title
|
|-
|-
|every_this_title_or_de_jure_above
|add_building_slot
|Iterate through this title and all its dejure liege titles
|Add building slot to the province
|every_this_title_or_de_jure_above = { limit = { <triggers> } <effects> }
|Unspecified
|landed title
|province
|landed title
|
|-
|-
|every_title_heir
|add_province_modifier
|Line of succession for the scoped title
|Add a modifier to a province
|every_title_heir = { limit = { <triggers> } <effects> }
|add_province_modifier = name
|landed title
add_province_modifier = { modifier = name days/weeks/months/years = int }
|character
|province
|
|-
|-
|every_title_joined_faction
|add_special_building
|Iterate through all factions joined the scope landed title
|Add a special building to the province (will also add/change a special slot if needed)
|every_title_joined_faction = { limit = { <triggers> } <effects> }
|Unspecified
|landed title
|province
|faction
|
|-
|-
|every_title_to_title_neighboring_and_across_water_barony
|add_special_building_slot
|Scopes from a title to a neighboring barony (incl. across water, looking trough the de Jure lieges)
|Add a special building slot to the province<province> = { add_special_building_slot = <building_name> }
|every_title_to_title_neighboring_and_across_water_barony = { limit = { <triggers> } <effects> }
|Unspecified
|landed title
|province
|landed title
|
|-
|-
|every_title_to_title_neighboring_and_across_water_county
|refill_garrison
|Scopes from a title to a neighboring county (incl. across water, looking trough the de Jure lieges)
|The scoped province gets its garrison refilled. refill_levy = yes/no
|every_title_to_title_neighboring_and_across_water_county = { limit = { <triggers> } <effects> }
|Unspecified
|landed title
|province
|landed title
|
|-
|-
|every_title_to_title_neighboring_and_across_water_duchy
|refill_levy
|Scopes from a title to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
|The scoped province gets its levy refilled
|every_title_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } <effects> }
|refill_levy = yes/no
|landed title
|province
|landed title
|
|-
|-
|every_title_to_title_neighboring_and_across_water_empire
|remove_all_province_modifier_instances
|Scopes from a title to a neighboring empire (incl. across water, looking trough the de Jure lieges)
|Remove all instances of a modifier from a province
|every_title_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } <effects> }
|remove_all_province_modifier_instances = name
|landed title
|province
|landed title
|
|-
|-
|every_title_to_title_neighboring_and_across_water_kingdom
|remove_province_modifier
|Scopes from a title to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
|Remove a modifier from a province
|every_title_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } <effects> }
|remove_province_modifier = name
|landed title
|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.
|set_holding_type = holding_typr
|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
|Unspecified
|province
|
|}
 
=== From landed title scope ===
The following effects are only usable in the landed title scope.
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|add_county_modifier
|Add a modifier to a county
|add_county_modifier = name
add_county_modifier = { modifier = name days/weeks/months/years = int }
|landed title
|landed title
|
|-
|-
|every_title_to_title_neighboring_barony
|change_county_control
|Scopes from a title to a neighboring barony (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_barony = { limit = { <triggers> } <effects> }
|Unspecified
|landed title
|landed title
|landed title
|
|-
|-
|every_title_to_title_neighboring_county
|change_de_jure_drift_progress
|Scopes from a title to a neighboring county (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_county = { limit = { <triggers> } <effects> }
|Unspecified
|landed title
|landed title
|landed title
|
|-
|-
|every_title_to_title_neighboring_duchy
|change_development_level
|Scopes from a title to a neighboring duchy (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_duchy = { limit = { <triggers> } <effects> }
|Unspecified
|landed title
|landed title
|landed title
|
|-
|-
|every_title_to_title_neighboring_empire
|change_development_progress
|Scopes from a title to a neighboring empire (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_empire = { limit = { <triggers> } <effects> }
|Unspecified
|landed title
|landed title
|
|-
|change_development_progress_with_overflow
|Changes the development progress of a title. If the title has higher tier than county, the effect will propagate down to all counties below it. Will overflow, so adding +100 to a county with 50 progress left will increase the level by 1 and result in 50 progress towards the next level
|Unspecified
|landed title
|landed title
|
|-
|-
|every_title_to_title_neighboring_kingdom
|clear_title_laws
|Scopes from a title to a neighboring kingdom (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_kingdom = { limit = { <triggers> } <effects> }
|clear_title_laws = yes
|landed title
|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
|landed title
|
|-
|-
|lease_out_to
|copy_title_history
|Lease out the scoped title
|Copy title history from another title
|lease_out_to = scope:a_holy_order
|copy_title_history = source_title
|landed title
|landed title
|landed title
|
|-
|-
|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 = {
|every_claimant = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|character
|character
|-
|-
|ordered_connected_county
|every_connected_county
|Iterate through all counties connected to this one. Is based on top liege
|Iterate through all counties connected to this one. Is based on top liege
|ordered_connected_county = {
|every_connected_county = {
max_naval_distance = 500
max_naval_distance = 500
allow_one_county_land_gap = yes
allow_one_county_land_gap = yes
}
every_connected_county = { limit = { <triggers> } <effects> }
ordered_connected_county = {
|landed title
limit = { <triggers> }
|landed title
order_by = script_value
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
|landed title
|landed title
|-
|-
|ordered_county_province
|every_county_province
|Iterate through all provinces in a county
|Iterate through all provinces in a county
|ordered_county_province = {
|every_county_province = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|province
|province
|-
|-
|ordered_de_jure_county_holder
|every_de_jure_county_holder
|Iterate through all characters directly holding counties within this dejure title
|Iterate through all characters directly holding counties within this dejure title
|ordered_de_jure_county_holder = {
|every_de_jure_county_holder = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|character
|character
|-
|-
|ordered_de_jure_top_liege
|every_de_jure_top_liege
|Iterate through all top lieges of the counts within this dejure title
|Iterate through all top lieges of the counts within this dejure title
|ordered_de_jure_top_liege = {
|every_de_jure_top_liege = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|character
|character
|-
|-
|ordered_dejure_vassal_title_holder
|every_dejure_vassal_title_holder
|Iterate through all the vassal holders of the title
|Iterate through all the vassal holders of the title
|ordered_dejure_vassal_title_holder = {
|every_dejure_vassal_title_holder = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|character
|character
|-
|-
|ordered_election_candidate
|every_election_candidate
|Iterate through all characters who are valid candidates in an election for a title
|Iterate through all characters who are valid candidates in an election for a title
|ordered_election_candidate = {
|every_election_candidate = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|character
|character
|-
|-
|ordered_elector
|every_elector
|Iterate through all characters who are valid electors in an election for a title
|Iterate through all characters who are valid electors in an election for a title
|ordered_elector = {
|every_elector = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|character
|character
|-
|-
|ordered_in_de_facto_hierarchy
|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
|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
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 } }
|every_in_de_facto_hierarchy = { limit = { <triggers> } <effects> }
|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
|landed title
|landed title
|-
|-
|ordered_in_de_jure_hierarchy
|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
|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
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 } }
|every_in_de_jure_hierarchy = { limit = { <triggers> } <effects> }
|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
|landed title
|landed title
|-
|-
|ordered_neighboring_county
|every_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
|ordered_neighboring_county = {
|every_neighboring_county = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|landed title
|landed title
|-
|-
|ordered_this_title_or_de_jure_above
|every_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
|ordered_this_title_or_de_jure_above = {
|every_this_title_or_de_jure_above = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|landed title
|landed title
|-
|-
|ordered_title_heir
|every_title_heir
|Line of succession for the scoped title
|Line of succession for the scoped title
|ordered_title_heir = {
|every_title_heir = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|character
|character
|-
|-
|ordered_title_joined_faction
|every_title_joined_faction
|Iterate through all factions joined the scope landed title
|Iterate through all factions joined the scope landed title
|ordered_title_joined_faction = {
|every_title_joined_faction = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|faction
|faction
|-
|-
|ordered_title_to_title_neighboring_and_across_water_barony
|every_title_to_title_neighboring_and_across_water_barony
|Scopes from a title to a neighboring barony (incl. across water, looking trough the de Jure lieges)
|Scopes from a title to a neighboring barony (incl. across water, looking trough the de Jure lieges)
|ordered_title_to_title_neighboring_and_across_water_barony = {
|every_title_to_title_neighboring_and_across_water_barony = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|landed title
|landed title
|-
|-
|ordered_title_to_title_neighboring_and_across_water_county
|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)
|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 = {
|every_title_to_title_neighboring_and_across_water_county = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|landed title
|landed title
|-
|-
|ordered_title_to_title_neighboring_and_across_water_duchy
|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)
|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 = {
|every_title_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|landed title
|landed title
|-
|-
|ordered_title_to_title_neighboring_and_across_water_empire
|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)
|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 = {
|every_title_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|landed title
|landed title
|-
|-
|ordered_title_to_title_neighboring_and_across_water_kingdom
|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)
|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 = {
|every_title_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|landed title
|landed title
|-
|-
|ordered_title_to_title_neighboring_barony
|every_title_to_title_neighboring_barony
|Scopes from a title to a neighboring barony (looking trough the de Jure lieges)
|Scopes from a title to a neighboring barony (looking trough the de Jure lieges)
|ordered_title_to_title_neighboring_barony = {
|every_title_to_title_neighboring_barony = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|landed title
|landed title
|-
|-
|ordered_title_to_title_neighboring_county
|every_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 = {
|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
|
|-
|ordered_claimant
|Iterate through all claimants to title. parameters: explicit = yes/no/all - default yes
|ordered_claimant = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第698行: 第669行:
<effects> }
<effects> }
|landed title
|landed title
|landed title
|character
|-
|-
|ordered_title_to_title_neighboring_duchy
|ordered_connected_county
|Scopes from a title to a neighboring duchy (looking trough the de Jure lieges)
|Iterate through all counties connected to this one. Is based on top liege
|ordered_title_to_title_neighboring_duchy = {
|ordered_connected_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
第713行: 第688行:
|landed title
|landed title
|-
|-
|ordered_title_to_title_neighboring_empire
|ordered_county_province
|Scopes from a title to a neighboring empire (looking trough the de Jure lieges)
|Iterate through all provinces in a county
|ordered_title_to_title_neighboring_empire = {
|ordered_county_province = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第724行: 第699行:
<effects> }
<effects> }
|landed title
|landed title
|landed title
|province
|-
|-
|ordered_title_to_title_neighboring_kingdom
|ordered_de_jure_county_holder
|Scopes from a title to a neighboring kingdom (looking trough the de Jure lieges)
|Iterate through all characters directly holding counties within this dejure title
|ordered_title_to_title_neighboring_kingdom = {
|ordered_de_jure_county_holder = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第736行: 第711行:
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> }
|landed title
|landed title
|-
|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
|landed title
|character
|character
|-
|-
|random_connected_county
|ordered_de_jure_top_liege
|Iterate through all counties connected to this one. Is based on top liege
random_connected_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
|Iterate through all top lieges of the counts within this dejure title
|random_de_jure_top_liege = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|landed title
|character
|character
|-
|-
|random_dejure_vassal_title_holder
|ordered_dejure_vassal_title_holder
|Iterate through all the vassal holders of the title
|Iterate through all the vassal holders of the title
|random_dejure_vassal_title_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|landed title
|character
|character
|-
|-
|random_election_candidate
|ordered_election_candidate
|Iterate through all characters who are valid candidates in an election for a title
|Iterate through all characters who are valid candidates in an election for a title
|random_election_candidate = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|landed title
|character
|character
|-
|-
|random_elector
|ordered_elector
|Iterate through all characters who are valid electors in an election for a title
|Iterate through all characters who are valid electors in an election for a title
|random_elector = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|landed title
|character
|character
|-
|-
|random_in_de_facto_hierarchy
|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
|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
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> }
|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
|landed title
|landed title
|
|-
|-
|random_in_de_jure_hierarchy
|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
|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
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> }
|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
|landed title
|landed title
|-
|-
|random_neighboring_county
|ordered_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> }
|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
|landed title
|landed title
|-
|-
|random_this_title_or_de_jure_above
|ordered_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> }
|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
|landed title
|landed title
|-
|-
|random_title_heir
|ordered_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> }
|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
|landed title
|character
|character
|-
|-
|random_title_joined_faction
|ordered_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> }
|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
|landed title
|faction
|faction
|-
|-
|random_title_to_title_neighboring_and_across_water_barony
|ordered_title_to_title_neighboring_and_across_water_barony
|Scopes from a title to a neighboring barony (incl. across water, looking trough the de Jure lieges)
|Scopes from a title to a neighboring barony (incl. across water, looking trough the de Jure lieges)
|random_title_to_title_neighboring_and_across_water_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_title_to_title_neighboring_and_across_water_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> }
|landed title
|landed title
|landed title
|landed title
|-
|-
|random_title_to_title_neighboring_and_across_water_county
|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)
|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> }
|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
|landed title
|landed title
|-
|-
|random_title_to_title_neighboring_and_across_water_duchy
|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)
|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> }
|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
|landed title
|landed title
|-
|-
|random_title_to_title_neighboring_and_across_water_empire
|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)
|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> }
|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
|landed title
|landed title
|-
|-
|random_title_to_title_neighboring_and_across_water_kingdom
|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)
|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> }
|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
|landed title
|landed title
|-
|-
|random_title_to_title_neighboring_barony
|ordered_title_to_title_neighboring_barony
|Scopes from a title to a neighboring barony (looking trough the de Jure lieges)
|Scopes from a title to a neighboring barony (looking trough the de Jure lieges)
|random_title_to_title_neighboring_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_title_to_title_neighboring_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> }
|landed title
|landed title
|landed title
|landed title
|-
|-
|random_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)
|random_title_to_title_neighboring_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|landed title
|landed title
|-
|-
|random_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)
|random_title_to_title_neighboring_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|landed title
|landed title
|-
|-
|random_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)
|random_title_to_title_neighboring_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|landed title
|landed title
|-
|-
|random_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)
|random_title_to_title_neighboring_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|landed title
|landed title
|-
|-
|remove_all_county_modifier_instances
|random_claimant
|Remove all instances of a modifier from a county
|Iterate through all claimants to title. parameters: explicit = yes/no/all - default yes
|remove_all_county_modifier_instances = name
|random_claimant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|landed title
|
|character
|-
|-
|remove_county_modifier
|random_connected_county
|Remove a modifier from a county
|Iterate through all counties connected to this one. Is based on top liege
|remove_county_modifier = name
random_connected_county = {
max_naval_distance = 500
allow_one_county_land_gap = yes
}
|random_connected_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|landed title
|landed title
|
|-
|-
|reset_title_name
|random_county_province
|Sets the name and adjective of the scoped title back to being based on its key. Won't cause the prefix to change
|Iterate through all provinces in a county
|reset_title_name = yes
|random_county_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|landed title
|
|province
|-
|-
|reset_title_prefix
|random_de_jure_county_holder
|Sets the prefix of the scoped title back to being based on its key. Won't cause its adjective or name to change
|Iterate through all characters directly holding counties within this dejure title
|reset_title_prefix = yes
|random_de_jure_county_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|landed title
|
|character
|-
|-
|revoke_lease
|random_de_jure_top_liege
|Revoke the lease of the scoped title
|Iterate through all top lieges of the counts within this dejure title
|revoke_lease = yes
|random_de_jure_top_liege = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|landed title
|
|character
|-
|-
|set_always_follows_primary_heir
|random_dejure_vassal_title_holder
|Sets if the title should always go to the primary heir in partition succession
|Iterate through all the vassal holders of the title
|set_always_follows_primary_heir = yes
|random_dejure_vassal_title_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|landed title
|
|character
|-
|-
|set_capital_county
|random_election_candidate
|Sets the capital county of the title to the target county
|Iterate through all characters who are valid candidates in an election for a title
|set_capital_county = <some county title>
|random_election_candidate = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|landed title
|landed title
|character
|-
|-
|set_color_from_title
|random_elector
|Sets the color of the title to the same as the target title (shifted very slightly to not be identical)
|Iterate through all characters who are valid electors in an election for a title
|set_color_from_title = <some title>
|random_elector = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|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
|-
|set_county_culture
|Sets the culture of a county
|set_county_culture = english/root.character_culture
|landed title
|landed title
|
|
|-
|-
|set_county_faith
|random_in_de_jure_hierarchy
|Changes what faith a county has
|Iterate through the title itself, all de jure vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal
|Unspecified
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
|landed title
|
|-
|-
|set_de_jure_liege_title
|random_neighboring_county
|Set a new DeJure liege title
|Iterate through all neighboring counties. Can only be used in county scope
|set_de_jure_liege_title = new_de_jure_liege
|random_neighboring_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|landed title
|landed title
|landed title
|-
|-
|set_definitive_form
|random_this_title_or_de_jure_above
|Sets if the title should use a definitive form name (no 'Kingdom of')
|Iterate through this title and all its dejure liege titles
|set_definitive_form = yes
|random_this_title_or_de_jure_above = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|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
|landed title
|
|-
|-
|set_destroy_if_invalid_heir
|random_title_heir
|Sets if the title should be destroyed on succession if there's no heir matching its restrictions
|Line of succession for the scoped title
|set_destroy_if_invalid_heir = yes
|random_title_heir = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|landed title
|
|character
|-
|-
|set_destroy_on_succession
|random_title_joined_faction
|Sets if the title should be destroyed on succession
|Iterate through all factions joined the scope landed title
|set_destroy_on_succession = yes
|random_title_joined_faction = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|landed title
|
|faction
|-
|-
|set_landless_title
|random_title_to_title_neighboring_and_across_water_barony
|Sets if the title is landless (can be held by rulers with no land)
|Scopes from a title to a neighboring barony (incl. across water, looking trough the de Jure lieges)
|set_landless_title = yes
|random_title_to_title_neighboring_and_across_water_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|landed title
|landed title
|
|-
|-
|set_no_automatic_claims
|random_title_to_title_neighboring_and_across_water_county
|Sets if the title should disallow automatic claims (meaning claims will only be added by script, and by pressed claims being inherited).
|Scopes from a title to a neighboring county (incl. across water, looking trough the de Jure lieges)
|set_no_automatic_claims = yes
|random_title_to_title_neighboring_and_across_water_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|landed title
|landed title
|
|-
|-
|set_title_name
|random_title_to_title_neighboring_and_across_water_duchy
|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
|Scopes from a title to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
|set_title_name = TEST_NAME_PLEASE_IGNORE
|random_title_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|landed title
|landed title
|
|-
|-
|set_title_prefix
|random_title_to_title_neighboring_and_across_water_empire
|sets the prefix of the scoped title. Won't cause its name or adjective to change
|Scopes from a title to a neighboring empire (incl. across water, looking trough the de Jure lieges)
|set_title_prefix = PREFIX_THE
|random_title_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|landed title
|landed title
|
|-
|-
|title_create_faction
|random_title_to_title_neighboring_and_across_water_kingdom
|the scoped landed title creates a faction of the specified type against the specified target, title_create_faction = { type = X target = Y }
|Scopes from a title to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
|Unspecified
|random_title_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|landed title
|landed title
|
|-
|title_join_faction
|the landed title in the scope joins the assigned faction
|Unspecified
|landed title
|landed title
|
|-
|-
|title_leave_faction
|random_title_to_title_neighboring_barony
|the title in the scope leaves the assigned faction
|Scopes from a title to a neighboring barony (looking trough the de Jure lieges)
|Unspecified
|random_title_to_title_neighboring_barony = { 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
|landed title
|
|-
|-
|end_story
|random_title_to_title_neighboring_empire
|Ends a story and executes it's on_end effect, the story can no longer be accessed after this
|Scopes from a title to a neighboring empire (looking trough the de Jure lieges)
|Unspecified
|random_title_to_title_neighboring_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|story cycle
|landed title
|
|landed title
|-
|-
|make_story_owner
|random_title_to_title_neighboring_kingdom
|makes the character the new owner of the story
|Scopes from a title to a neighboring kingdom (looking trough the de Jure lieges)
|make_story_owner = character_target
|random_title_to_title_neighboring_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|story cycle
|landed title
|character
|landed title
|-
|-
|add_innovation
|remove_all_county_modifier_instances
|Add innovation to a culture
|Remove all instances of a modifier from a county
|Unspecified
|remove_all_county_modifier_instances = name
|culture
|landed title
|
|
|-
|-
|add_random_innovation
|remove_county_modifier
|Add random available innovation<culture> = { add_random_innovation = culture_group_military/culture_group_civic/culture_group_regional/yes }
|Remove a modifier from a county
|Unspecified
|remove_county_modifier = name
|culture
|landed title
|
|
|-
|-
|get_all_innovations_from
|reset_title_name
|Discover all innovations from the target culture
|Sets the name and adjective of the scoped title back to being based on its key. Won't cause the prefix to change
|get_all_innovations_from = <culture>
|reset_title_name = yes
|culture
|landed title
|culture
|-
|get_random_innovation_from
|Get random available innovation from another culture
|Unspecified
|culture
|
|
|-
|-
|add_character_flag
|reset_title_prefix
|Adds a character flag. X is the name of the flag and Y is a value or value interval "{ min max }".
|Sets the prefix of the scoped title back to being based on its key. Won't cause its adjective or name to change
|add_character_flag = { flag = X [days/weeks/years = Y] }
|reset_title_prefix = yes
|character
|landed title
|-
|add_character_modifier
|Add a modifier to a character
|add_character_modifier = name
add_character_modifier = { modifier = name days/weeks/months/years = int }
|character
|
|
|-
|-
|add_courtier
|revoke_lease
|Add the target character to the scope character's court
|Revoke the lease of the scoped title
|Unspecified
|revoke_lease = yes
|character
|landed title
|character
|-
|add_diplomacy_lifestyle_perk_points
|Adds lifestyle per points to the given character
|Unspecified
|character
|
|
|-
|-
|add_diplomacy_lifestyle_xp
|set_always_follows_primary_heir
|Adds lifestyle XP to the given character. Can be used with lifestyles not currently focused on.
|Sets if the title should always go to the primary heir in partition succession
|add_diplomacy_lifestyle_xp = int
|set_always_follows_primary_heir = yes
|character
|landed title
|
|
|-
|-
|add_dread
|set_capital_county
|adds (or removes) dread to a character
|Sets the capital county of the title to the target county
|Unspecified
|set_capital_county = <some county title>
|character
|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
|set_county_culture = english/root.character_culture
|landed title
|
|
|-
|-
|add_gold
|set_county_faith
|adds gold to a character
|Changes what faith a county has
|Unspecified
|Unspecified
|character
|landed title
|
|
|-
|-
|add_hook
|set_de_jure_liege_title
|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 a new DeJure liege title
|add_hook = { type = X, target = Y, secret = Z, days/months/years = W  }
|set_de_jure_liege_title = new_de_jure_liege
|character
|landed title
|landed title
|-
|-
|add_hook_no_toast
|set_definitive_form
|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.
|Sets if the title should use a definitive form name (no 'Kingdom of')
|add_hook = { type = X, target = Y, secret = Z, days/months/years = W  }
|set_definitive_form = yes
|character
|landed title
|-
|add_intrigue_lifestyle_perk_points
|Adds lifestyle per points to the given character
|Unspecified
|character
|
|
|-
|-
|add_intrigue_lifestyle_xp
|set_delete_on_destroy
|Adds lifestyle XP to the given character
|Sets if the title should be deleted from the gamestate completely when it is destroyed
|Unspecified
|set_delete_on_destroy = yes
|character
|landed title
|
|
|-
|-
|add_joined_faction_discontent
|set_destroy_if_invalid_heir
|add_joined_faction_discontent = X adds (or subtracts) discontent to the factions the scope character is in
|Sets if the title should be destroyed on succession if there's no heir matching its restrictions
|Unspecified
|set_destroy_if_invalid_heir = yes
|character
|landed title
|
|
|-
|-
|add_knows_of_killer
|set_destroy_on_succession
|Adds the right hand side character as knowing of the killer of the scoped object
|Sets if the title should be destroyed on succession
|dead_person = { add_knows_of_killer = root }
|set_destroy_on_succession = yes
|character
|landed title
|character
|
|-
|-
|add_learning_lifestyle_perk_points
|set_landless_title
|Adds lifestyle per points to the given character
|Sets if the title is landless (can be held by rulers with no land)
|Unspecified
|set_landless_title = yes
|character
|landed title
|
|
|-
|-
|add_learning_lifestyle_xp
|set_no_automatic_claims
|Adds lifestyle XP to the given character
|Sets if the title should disallow automatic claims (meaning claims will only be added by script, and by pressed claims being inherited).
|Unspecified
|set_no_automatic_claims = yes
|character
|landed title
|
|
|-
|-
|add_martial_lifestyle_perk_points
|set_title_name
|Adds lifestyle per points to the given character
|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
|Unspecified
|set_title_name = TEST_NAME_PLEASE_IGNORE
|character
|landed title
|
|
|-
|-
|add_martial_lifestyle_xp
|set_title_prefix
|Adds lifestyle XP to the given character
|sets the prefix of the scoped title. Won't cause its name or adjective to change
|Unspecified
|set_title_prefix = PREFIX_THE
|character
|landed title
|
|
|-
|-
|add_opinion
|title_create_faction
|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.
|the scoped landed title creates a faction of the specified type against the specified target, title_create_faction = { type = X target = Y }
|add_opinion = { modifier = X days/months/years = Y target = Z }
|character
|
|-
|add_perk
|Adds the perk for this character
|Unspecified
|Unspecified
|character
|landed title
|
|
|-
|-
|add_piety
|title_join_faction
|gives (or takes) piety to a character
|the landed title in the scope joins the assigned faction
|Unspecified
|Unspecified
|character
|landed title
|
|
|-
|-
|add_piety_experience
|title_leave_faction
|gives (or takes) piety experience to a character
|the title in the scope leaves the assigned faction
|Unspecified
|Unspecified
|character
|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
|-
|-
|add_piety_level
|every_leased_title
|increases (or decreases) the piety level of a character
|Iterate through all titles leased to a holy order
|Unspecified
|every_leased_title = { limit = { <triggers> } <effects> }
|character
|holy order
|
|-
|add_pressed_claim
|gives a pressed claim to a character
|Unspecified
|character
|landed title
|landed title
|-
|-
|add_prestige
|ordered_leased_title
|gives (or takes) prestige to a character
|Iterate through all titles leased to a holy order
|Unspecified
|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> }
|holy order
|landed title
|-
|-
|add_prestige_experience
|random_leased_title
|gives (or takes) prestige experience to a character
|Iterate through all titles leased to a holy order
|Unspecified
|random_leased_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|holy order
|landed title
|}
 
=== 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
|Add a modifier to a dynasty
|add_dynasty_modifier = name
add_dynasty_modifier = { modifier = name days/weeks/months/years = int }
|dynasty
|
|
|-
|-
|add_prestige_level
|add_dynasty_perk
|increases (or decreases) the prestige level of a character
|Adds dynasty perk
|Unspecified
|add_dynasty_perk = key
|character
|dynasty
|
|
|-
|-
|add_realm_law
|add_dynasty_prestige
|Adds the given law to the scoped character
|adds dynasty prestige
|Unspecified
|Unspecified
|character
|dynasty
|
|
|-
|-
|add_realm_law_skip_effects
|add_dynasty_prestige_level
|Adds the given law to the scoped character. Skips the cost and the pass effect, and the revoke effects of the current law
|adds dynasty prestige levels
|Unspecified
|Unspecified
|character
|dynasty
|
|
|-
|-
|add_relation_flag
|every_dynasty_member
|Adds a flag to an existing relation
|Iterate through all dynasty members
|add_relation_flag = {
|every_dynasty_member = { limit = { <triggers> } <effects> }
  relation = scripted_relation
|dynasty
  flag = flag_name (declared in the relation's script)
  target = other_character
}
|character
|character
|-
|-
|add_scheme_cooldown
|ordered_dynasty_member
|Sets a scheme cooldown for the scope character towards = { target=target_character type=scheme_type days/weeks/months/years = duration }
|Iterate through all dynasty members
|Unspecified
|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
|character
|
|-
|-
|add_secret
|random_dynasty_member
|Adds a secret
|Iterate through all dynasty members
|add_secret = { type = X target = Y }
|random_dynasty_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
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.
|dynasty
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
|character
|-
|-
|add_stewardship_lifestyle_perk_points
|remove_all_dynasty_modifier_instances
|Adds lifestyle per points to the given character
|Remove all instances of a modifier from a dynasty
|Unspecified
|remove_all_dynasty_modifier_instances = name
|character
|dynasty
|
|
|-
|-
|add_stewardship_lifestyle_xp
|remove_dynasty_modifier
|Adds lifestyle XP to the given character
|Remove a modifier from a dynasty
|Unspecified
|remove_dynasty_modifier = name
|character
|dynasty
|
|
|-
 
|add_stress
|}
|Increases stress of a character. Negative values decrease stress.
 
|Unspecified
=== From dynasty house scope ===
|character
The following effects are only usable in the dynasty house scope.
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|add_house_modifier
|Add a modifier to a house
|add_house_modifier = name
add_house_modifier = { modifier = name days/weeks/months/years = int }
|dynasty house
|
|
|-
|-
|add_targeting_factions_discontent
|every_house_member
|add_targeting_factions_discontent = X adds (or subtracts) discontent to all the factions that are targeting the scope character
|Iterate through all house members
|Unspecified
|every_house_member = { limit = { <triggers> } <effects> }
|dynasty house
|character
|character
|
|-
|-
|add_to_scheme
|ordered_house_member
|Adds a character as an agent to the scheme
|Iterate through all house members
|Unspecified
|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
|character
|
|-
|-
|add_trait
|random_house_member
|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)
|Iterate through all house members
|Unspecified
|random_house_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|dynasty house
|character
|character
|
|-
|-
|add_trait_force_tooltip
|remove_all_house_modifier_instances
|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)
|Remove all instances of a modifier from a house
|Unspecified
|remove_all_house_modifier_instances = name
|character
|dynasty house
|
|
|-
|-
|add_truce_both_ways
|remove_house_modifier
|Sets the both-way truce against the specified character
|Remove a modifier from a house
'character' specifies the target character
|remove_house_modifier = name
'override' says whether it should replace the previous truce even if shorter
|dynasty house
'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
=== From culture scope ===
'war' sets the war that caused the truce, mutually exclusive with 'casus_belli'
The following effects are only usable in the culture scope. 
|add_truce_both_ways = { character = X years/months/days = Y override = yes/no result = victory/defeat/white_peace casus_belli/war = Z }
{| class="wikitable sortable" width="100%"
|character
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|add_truce_one_way
|add_innovation
|Sets the truce against the specified character
|Add innovation to a culture
'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
|Unspecified
|Unspecified
|character
|culture
|
|
|-
|-
|add_unpressed_claim
|add_random_innovation
|gives an unpressed claim to a character
|Add random available innovation<culture> = { add_random_innovation = culture_group_military/culture_group_civic/culture_group_regional/yes }
|Unspecified
|Unspecified
|character
|culture
|landed title
|
|-
|-
|add_visiting_courtier
|get_all_innovations_from
|Add the target character as the scope character's guest
|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
|Unspecified
|Unspecified
|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
|Adds a character flag. X is the name of the flag and Y is a value or value interval "{ min max }".
|add_character_flag = { flag = X [days/weeks/years = Y] }
|character
|character
|
|-
|add_character_modifier
|Add a modifier to a character
|add_character_modifier = name
add_character_modifier = { modifier = name days/weeks/months/years = int }
|character
|character
|
|-
|-
|allow_alliance
|add_courtier
|Allows (previously broken) alliance with the target character
|Add the target character to the scope character's court
|Unspecified
|Unspecified
|character
|character
|character
|character
|-
|-
|allow_in_scheme
|add_diplomacy_lifestyle_perk_points
|Allow the character to join the scheme as an agent
|Adds lifestyle per points to the given character
|Unspecified
|Unspecified
|character
|character
|
|
|-
|-
|apply_ai_vassal_obligation_liege_most_desired
|add_diplomacy_lifestyle_xp
|Apply the new level for the most desired AI obligation level the liege in the contract wants
|Adds lifestyle XP to the given character. Can be used with lifestyles not currently focused on.
|Unspecified
|add_diplomacy_lifestyle_xp = int
|character
|character
|
|
|-
|-
|apply_ai_vassal_obligation_vassal_most_desired
|add_dread
|Apply the new level for the most desired AI obligation level the vassal in the contract wants
|adds (or removes) dread to a character
|Unspecified
|Unspecified
|character
|character
|
|
|-
|-
|assign_council_task
|add_gold
|Assigns the target character to the council task
|adds gold to a character
|assign_council_task = {
|Unspecified
   council_task = council_task_scope
   target = character_taking_the_position   fire_on_actions = [yes]
}
|character
|character
|
|-
|-
|assign_councillor_type
|add_hook
|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] }
|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.
|Unspecified
|add_hook = { type = X, target = Y, secret = Z, days/months/years = }
|character
|character
|
|
|-
|-
|banish
|add_hook_no_toast
|The character gets banished.
|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.
|Unspecified
|add_hook = { type = X, target = Y, secret = Z, days/months/years = W  }
|character
|character
|
|
|-
|-
|becomes_independent
|add_intrigue_lifestyle_perk_points
|becomes and independent ruler
|Adds lifestyle per points to the given character
|becomes_independent = { change = 'previously created title_and_vassal_change'
|Unspecified
|character
|character
|
|
|-
|-
|break_alliance
|add_intrigue_lifestyle_xp
|Breaks the alliance with the target character
|Adds lifestyle XP to the given character
|Unspecified
|Unspecified
|character
|character
|character
|
|-
|-
|cancel_truce_both_ways
|add_joined_faction_discontent
|Ends the truce against the specified character, and theirs against the scoped character.
|add_joined_faction_discontent = X adds (or subtracts) discontent to the factions the scope character is in
|cancel_truce_both_ways = scope:character
|Unspecified
|character
|character
|character
|
|-
|-
|cancel_truce_one_way
|add_knows_of_killer
|Ends the truce against the specified character.
|Adds the right hand side character as knowing of the killer of the scoped object
|cancel_truce_one_way = scope:character
|dead_person = { add_knows_of_killer = root }
|character
|character
|character
|character
|-
|-
|change_current_weight
|add_learning_lifestyle_perk_points
|Change the current weight of the scoped character
|Adds lifestyle per points to the given character
|change_current_weight = 20
|Unspecified
|character
|character
|
|
|-
|-
|change_first_name
|add_learning_lifestyle_xp
|Change the first name of a character
|Adds lifestyle XP to the given character
|change_first_name = <localization_key>
|Unspecified
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
|character
|
|
|-
|-
|change_government
|add_martial_lifestyle_perk_points
|changes the government of a character
|Adds lifestyle per points to the given character
|Unspecified
|Unspecified
|character
|character
|
|
|-
|-
|change_liege
|add_martial_lifestyle_xp
| = { liege = 'Character that should become the new liege' change = 'previously created title_and_vassal_change', adds a liege change
|Adds lifestyle XP to the given character
|Unspecified
|Unspecified
|character
|character
|
|
|-
|-
|change_prison_type
|add_opinion
|Changes the charater's prison type. Scoped character is the prisoner. Accepts any static modifier (see also improson effect).
|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.
|change_prison_type = house_arrest
|add_opinion = { modifier = X days/months/years = Y target = Z }
|character
|character
|
|
|-
|-
|change_target_weight
|add_perk
|Change the target weight of the scoped character
|Adds the perk for this character
|change_target_weight = 20
|Unspecified
|character
|character
|
|
|-
|-
|clear_forced_vote
|add_piety
|Clears forced voting
|gives (or takes) piety to a character
|clear_forced_vote = yes
|Unspecified
|character
|character
|
|
|-
|-
|consume_banish_reasons
|add_piety_experience
|'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.
|gives (or takes) piety experience to a character
|Unspecified
|Unspecified
|character
|character
|character
|
|-
|-
|consume_divorce_reasons
|add_piety_level
|'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.
|increases (or decreases) the piety level of a character
|Unspecified
|Unspecified
|character
|character
|character
|
|-
|-
|consume_execute_reasons
|add_pressed_claim
|'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.
|gives a pressed claim to a character
|Unspecified
|Unspecified
|character
|character
|character
|landed title
|-
|-
|consume_imprisonment_reasons
|add_prestige
|'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.
|gives (or takes) prestige to a character
|Unspecified
|Unspecified
|character
|character
|character
|
|-
|-
|consume_revoke_title_reason
|add_prestige_experience
|'Consume' 1 revoke title reason that the scoped character has on the target character.
|gives (or takes) prestige experience to a character
|Unspecified
|Unspecified
|character
|character
|character
|
|-
|-
|copy_inheritable_appearance_from
|add_prestige_level
|copies the inheritable appearance attributes (inheritable genes in the character's DNA string) from the target character to the scoped character
|increases (or decreases) the prestige level of a character
|Unspecified
|Unspecified
|character
|character
|character
|
|-
|-
|create_alliance
|add_realm_law
|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.
|Adds the given law to the scoped character
|create_alliance = {
|Unspecified
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
|character
|
|-
|-
|create_cadet_branch
|add_realm_law_skip_effects
|The scope character creates a cadet branch of the house he is in [yes|no]
|Adds the given law to the scoped character. Skips the cost and the pass effect, and the revoke effects of the current law
|Unspecified
|Unspecified
|character
|character
|
|
|-
|-
|create_faction
|add_scheme_cooldown
|the scoped character creates a faction of the specified type against the specified target, create_faction = { type = X target = Y }
|Sets a scheme cooldown for the scope character towards = { target=target_character type=scheme_type days/weeks/months/years = duration }
|Unspecified
|Unspecified
|character
|character
|
|
|-
|-
|create_story
|add_secret
|Creates and initializes a story cycle with the current character as owner
|Adds a secret
|create_story = story_type
|add_secret = { type = X target = Y }
|create_story = {
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.
type = story_type
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.
save_scope_as/save_temporary_scope_as = scope_name # optional way to get a reference to the new story
}
|character
|character
|
|
|-
|-
|death
|add_stewardship_lifestyle_perk_points
|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.
|Adds lifestyle per points to the given character
|Unspecified
|Unspecified
|character
|character
|
|
|-
|-
|depose
|add_stewardship_lifestyle_xp
|The character gets deposed.
|Adds lifestyle XP to the given character
|Unspecified
|Unspecified
|character
|character
|
|
|-
|-
|destroy_title
|add_stress
|Destroys a title
|Increases stress of a character. Negative values decrease stress.
|Unspecified
|Unspecified
|character
|character
|landed title
|
|-
|-
|end_pregnancy
|add_targeting_factions_discontent
|end a pregnancy
|add_targeting_factions_discontent = X adds (or subtracts) discontent to all the factions that are targeting the scope character
|Unspecified
|Unspecified
|character
|character
|
|
|-
|-
|every_alert_creatable_title
|add_to_scheme
|Iterate through all titles that can be created by the character. (only for alerts)
|Adds a character as an agent to the scheme
|every_alert_creatable_title = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|
|-
|-
|every_alert_usurpable_title
|add_trait
|Iterate through all titles that can be usurped by the character. (only for alerts)
|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)
|every_alert_usurpable_title = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|
|-
|-
|every_ally
|add_trait_force_tooltip
|Iterate through all allies
|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)
|every_ally = { limit = { <triggers> } <effects> }
|Unspecified
|character
|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
|character
|
|-
|-
|every_ancestor
|add_truce_one_way
|Iterate through all the ancestors of the scope character up to 5 generations
|Sets the truce against the specified character
|every_ancestor = { limit = { <triggers> } <effects> }
'character' specifies the target character
|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
|character
|
|-
|-
|every_army
|add_tyranny
|Iterate through all armies
|adds (or removes) tyranny to (or from) a character
|every_army = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|army
|
|-
|-
|every_character_to_title_neighboring_and_across_water_barony
|add_unpressed_claim
|Scopes from a character to a neighboring barony (incl. across water, looking trough the de Jure lieges)
|gives an unpressed claim to a character
|every_character_to_title_neighboring_and_across_water_barony = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|landed title
|-
|-
|every_character_to_title_neighboring_and_across_water_county
|add_visiting_courtier
|Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges)
|Add the target character as the scope character's guest
|every_character_to_title_neighboring_and_across_water_county = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|landed title
|-
|-
|every_character_to_title_neighboring_and_across_water_duchy
|allow_alliance
|Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
|Allows (previously broken) alliance with the target character
|every_character_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|landed title
|-
|-
|every_character_to_title_neighboring_and_across_water_empire
|allow_in_scheme
|Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges)
|Allow the character to join the scheme as an agent
|every_character_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|
|-
|-
|every_character_to_title_neighboring_and_across_water_kingdom
|apply_ai_vassal_obligation_liege_most_desired
|Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
|Apply the new level for the most desired AI obligation level the liege in the contract wants
|every_character_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|
|-
|-
|every_character_to_title_neighboring_barony
|apply_ai_vassal_obligation_vassal_most_desired
|Scopes from a character to a neighboring barony (looking trough the de Jure lieges)
|Apply the new level for the most desired AI obligation level the vassal in the contract wants
|every_character_to_title_neighboring_barony = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|
|-
|-
|every_character_to_title_neighboring_county
|assign_council_task
|Scopes from a character to a neighboring county (looking trough the de Jure lieges)
|Assigns the target character to the council task
|every_character_to_title_neighboring_county = { limit = { <triggers> } <effects> }
|
<pre>
assign_council_task = {
   council_task = council_task_scope
   target = character_taking_the_position
   fire_on_actions = [yes]
}
</pre>
|character
|character
|landed title
|
|-
|-
|every_character_to_title_neighboring_duchy
|assign_councillor_type
|Scopes from a character to a neighboring duchy (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] }
|every_character_to_title_neighboring_duchy = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|
|-
|-
|every_character_to_title_neighboring_empire
|banish
|Scopes from a character to a neighboring empire (looking trough the de Jure lieges)
|The character gets banished.
|every_character_to_title_neighboring_empire = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|
|-
|-
|every_character_to_title_neighboring_kingdom
|becomes_independent
|Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges)
|becomes and independent ruler
|every_character_to_title_neighboring_kingdom = { limit = { <triggers> } <effects> }
|becomes_independent = { change = 'previously created title_and_vassal_change'
|character
|character
|landed title
|
|-
|-
|every_character_war
|break_alliance
|Wars of the scoped character
|Breaks the alliance with the target character
|every_character_war = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|war
|-
|-
|every_child
|cancel_truce_both_ways
|Iterate through all children
|Ends the truce against the specified character, and theirs against the scoped character.
|every_child = { limit = { <triggers> } <effects> }
|cancel_truce_both_ways = scope:character
|character
|character
|character
|character
|-
|-
|every_claim
|cancel_truce_one_way
|Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all
|Ends the truce against the specified character.
|every_claim = { limit = { <triggers> } <effects> }
|cancel_truce_one_way = scope:character
|character
|character
|character
|landed title
|-
|-
|every_close_family_member
|change_current_weight
|Iterate through all the close family [father, mother, siblings, children, grandparents]
|Change the current weight of the scoped character
|every_close_family_member = { limit = { <triggers> } <effects> }
|change_current_weight = 20
|character
|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
|character
|
|-
|-
|every_close_or_extended_family_member
|change_government
|Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins]
|changes the government of a character
|every_close_or_extended_family_member = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|
|-
|change_liege
| = { liege = 'Character that should become the new liege' change = 'previously created title_and_vassal_change', adds a liege change
|Unspecified
|character
|character
|
|-
|-
|every_concubine
|change_prison_type
|Iterate through all concubines
|Changes the charater's prison type. Scoped character is the prisoner. Accepts any static modifier (see also improson effect).
|every_concubine = { limit = { <triggers> } <effects> }
|change_prison_type = house_arrest
|character
|character
|character
|
|-
|-
|every_consort
|change_target_weight
|Iterate through all consorts (concubines and spouses)
|Change the target weight of the scoped character
|every_consort = { limit = { <triggers> } <effects> }
|change_target_weight = 20
|character
|character
|character
|
|-
|-
|every_councillor
|clear_forced_vote
|Iterate through all councillors
|Clears forced voting
|every_councillor = { limit = { <triggers> } <effects> }
|clear_forced_vote = yes
|character
|character
|character
|
|-
|-
|every_courtier
|consume_banish_reasons
|Iterate through all courtiers
|'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.
|every_courtier = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|character
|-
|-
|every_courtier_away
|consume_divorce_reasons
|Iterate through all courtiers that are away
|'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.
|every_courtier_away = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|character
|-
|-
|every_courtier_or_guest
|consume_execute_reasons
|Iterate through all courtiers and guests (pool and foreign court guests)
|'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.
|every_courtier_or_guest = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|character
|-
|-
|every_de_jure_claim
|consume_imprisonment_reasons
|Iterate through all de jure claims for a character
|'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.
|every_de_jure_claim = { limit = { <triggers> } <effects> }
|Unspecified
|character
|landed title
|-
|every_diplomacy_councillor
|Iterate through all diplomacy-based councillors
|every_diplomacy_councillor = { limit = { <triggers> } <effects> }
|character
|character
|character
|character
|-
|-
|every_directly_owned_province
|consume_revoke_title_reason
|Iterate through all directly owned provinces
|'Consume' 1 revoke title reason that the scoped character has on the target character.
|every_directly_owned_province = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|province
|-
|every_election_title
|Iterate through all titles the scoped character can vote on
|every_election_title = { limit = { <triggers> } <effects> }
|character
|character
|landed title
|-
|-
|every_extended_family_member
|copy_inheritable_appearance_from
|Iterate through all the extended family [uncles/aunts, nephew/niece, cousins]
|copies the inheritable appearance attributes (inheritable genes in the character's DNA string) from the target character to the scoped character
|every_extended_family_member = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|character
|-
|-
|every_foreign_court_guest
|create_alliance
|Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege)
|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.
|every_foreign_court_guest = { limit = { <triggers> } <effects> }
|
<pre>
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
|character
|
|-
|create_cadet_branch
|The scope character creates a cadet branch of the house he is in [yes|no]
|Unspecified
|character
|character
|
|-
|-
|every_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 }
|every_former_concubine = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|
|-
|create_story
|Creates and initializes a story cycle with the current character as owner
|create_story = story_type<br><pre>create_story = {
type = story_type
save_scope_as/save_temporary_scope_as = scope_name # optional way to get a reference to the new story
}
</pre>
|character
|character
|
|-
|-
|every_former_concubinist
|death
|Iterate through all former concubinists. Not persisted past death
|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.
|every_former_concubinist = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|
|-
|-
|every_former_spouse
|depose
|Iterate through all former spouses
|The character gets deposed.
|every_former_spouse = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|
|-
|-
|every_general_councillor
|destroy_title
|Iterate through all councillors that are not related to a skill
|Destroys a title
|every_general_councillor = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|landed title
|-
|-
|every_heir
|end_pregnancy
|Heirs of the scoped character
|end a pregnancy
|every_heir = { limit = { <triggers> } <effects> }
|Unspecified
|character
|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
|execute_decision
|Iterate through all titles the scoped character is heir to
|Execute the specified decision for the scoped character
|every_heir_to_title = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|
|-
|-
|every_held_title
|finish_council_task
|Iterate through all held landed titles
|The councillor finish the current assigned task successfully.
|every_held_title = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|
|-
|-
|every_hired_mercenary
|fire_councillor
|Iterate through all hired mercenary companies
|The scope character fires the target character form teh council.
|every_hired_mercenary = { limit = { <triggers> } <effects> }
|Unspecified
|character
|mercenary company
|-
|every_hooked_character
|Iterate through all characters this character has a hook on
|every_hooked_character = { limit = { <triggers> } <effects> }
|character
|character
|character
|character
|-
|-
|every_hostile_raider
|forbid_from_scheme
|Iterate through anyone the character is hostile to due to their top-liege's realm having been raided
|Forbid the scope character from joining the target scheme as an agent (and kick the character out if already in the scheme)
|every_hostile_raider = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|
|-
|-
|every_intrigue_councillor
|force_add_to_scheme
|Iterate through all intrigue-based councillors
|Adds a character as an agent to the scheme and forces them to stay
|every_intrigue_councillor = { limit = { <triggers> } <effects> }
|
<pre>
force_add_to_scheme = {
   scheme = target_Scheme
   days/months/years = duration
}
</pre>
|character
|character
|
|-
|force_vote_as
|Forces the character to vote the same as the target
|force_vote_as = { target = someone days/months/years = x }
|character
|character
|
|-
|-
|every_knight
|get_title
|Iterate through all knights
|gives a title to a character
|every_knight = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|-
|give_nickname
|Give a nickname to this character
|Unspecified
|character
|character
|
|-
|-
|every_known_secret
|imprison
|Iterate through all secrets known by the character
|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
|every_known_secret = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|secret
|
|-
|-
|every_learning_councillor
|join_faction
|Iterate through all learning-based councillors
|the character in the scope joins the assigned faction
|every_learning_councillor = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|
|-
|join_faction_forced
|The character in the scope is forced to join a faction by a character for a defined time
|<pre>
join_faction_forced = {
   faction = X
   forced_by = Y
   days/months/years = duration
}
</pre>
|character
|character
|
|-
|-
|every_liege_or_above
|join_faction_skip_check
|Iterate through all lieges above a character (skipping the character themselves)
|the character in the scope joins the assigned faction skiping the can_character_join trigger
|every_liege_or_above = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|
|-
|-
|every_martial_councillor
|leave_faction
|Iterate through all martial-based councillors
|the charcter in the scope leaves the assigned faction
|every_martial_councillor = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|
|-
|-
|every_neighboring_and_across_water_realm_same_rank_owner
|make_claim_strong
|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 claim strong (character adds the claim if not having it already)
|every_neighboring_and_across_water_realm_same_rank_owner = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|landed title
|-
|-
|every_neighboring_and_across_water_top_liege_realm
|make_claim_weak
|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
|makes a claim weak (character adds the claim if not having it already)
|every_neighboring_and_across_water_top_liege_realm = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|landed title
|-
|-
|every_neighboring_and_across_water_top_liege_realm_owner
|make_concubine
|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
|Makes the target character a concubine of the scope character, the target should not be imprisoned
|every_neighboring_and_across_water_top_liege_realm_owner = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|character
|-
|-
|every_neighboring_realm_same_rank_owner
|make_pregnant
|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 character pregnant
|every_neighboring_realm_same_rank_owner = { limit = { <triggers> } <effects> }
|make_pregnant = {
father = 'the real father'
number_of_children = X
known_bastard = yes/no
|character
|character
|
|-
|make_trait_active
|Activates an inactive trait. Tooltip will not be shown if the character cannot have the trait.
|Unspecified
|character
|character
|
|-
|-
|every_neighboring_top_liege_realm
|make_trait_active_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
|Activates an inactive trait. Tooltip will be shown even if the character cannot have the trait.
|every_neighboring_top_liege_realm = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|
|-
|-
|every_neighboring_top_liege_realm_owner
|make_trait_inactive
|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
|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!
|every_neighboring_top_liege_realm_owner = { limit = { <triggers> } <effects> }
|Unspecified
|character
|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. NOTE: If the character doesn't currently have the trait, it will be added to the character!
|Unspecified
|character
|character
|
|-
|-
|every_owned_story
|make_unprunable
|Iterate through all owned stories for a character
|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
|every_owned_story = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|story cycle
|
|-
|-
|every_parent
|marry
|Iterate through all (both) parents
|Marries the scoped character to the target character
|every_parent = { limit = { <triggers> } <effects> }
|marry = target
|character
|character
|character
|character
|-
|-
|every_patroned_holy_order
|marry_matrilineal
|Iterate through all holy orders that the scoped character is a patron of
|Marries the scoped character to the target character matrilineally
|every_patroned_holy_order = { limit = { <triggers> } <effects> }
|marry_matrilineal = target
|character
|character
|character
|holy order
|-
|-
|every_pinned_character
|move_to_pool
|Iterate through characters this player has pinned
|The scoped character (courtier or guest) leaves their current court and moves into the pool
|every_pinned_character = { limit = { <triggers> } <effects> }
|scope:guest = { move_to_pool = yes }
|character
|character
|character
|
|-
|-
|every_pinning_character
|move_to_pool_at
|Iterate through characters whose player has this character pinned
|The scoped character (courtier/guest/pool character) leaves their current court (if any) and moves into the pool of the specified province
|every_pinning_character = { limit = { <triggers> } <effects> }
|scope:guest = { move_to_pool_at = scope:some_province }
|character
|character
|character
|province
|-
|-
|every_player_heir
|pay_long_term_gold
|Iterate through player heirs, capped at the first 10
|the scope character pays gold to the target character, pay_gold = { target = X gold = Y } (AI budget category long term)
|every_player_heir = { limit = { <triggers> } <effects> }
|Unspecified
|character
|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)
|Unspecified
|character
|character
|
|-
|-
|every_pool_guest
|pay_short_term_gold
|Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege)
|the scope character pays gold to the target character, pay_gold = { target = X gold = Y } (AI budget category short term)
|every_pool_guest = { limit = { <triggers> } <effects> }
|Unspecified
|character
|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)
|Unspecified
|character
|character
|
|-
|-
|every_potential_marriage_option
|play_music_cue
|Iterate through all potential selectable marriage or betrohed options
|Plays the specified music cue.
|every_potential_marriage_option = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|
|-
|-
|every_pretender_title
|recalculate_scripted_relation
|Iterate through all landed titles character is pretender to
|Recalculates the effect of a scripted relation
|every_pretender_title = { limit = { <triggers> } <effects> }
|recalculate_scripted_relation= friend
|character
|character
|landed title
|
|-
|-
|every_primary_war_enemy
|recruit_courtier
|Iterate through all primary war enemies
|Recruits the target to become a courtier.
|every_primary_war_enemy = { limit = { <triggers> } <effects> }
|scope:liege = { recruit_courtier = scope:new_courtier }
|character
|character
|character
|character
|-
|-
|every_prisoner
|refund_all_perks
|Iterate through all prisoners
|Refunds all perks of the character. Example: refund_all_perks = yes
|every_prisoner = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|
|-
|refund_perks
|Refunds all perks of the RHS lifestyle. Example: refund_perks = intrigue_lifestyle
|Unspecified
|character
|character
|
|-
|-
|every_prowess_councillor
|release_from_prison
|Iterate through all prowess-based councillors
|releases the character from the prison, imprison = X, X is a boolean value
|every_prowess_councillor = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|
|-
|-
|every_raid_target
|remove_all_character_modifier_instances
|Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges
|Remove all instances of a modifier from a character
|every_raid_target = { limit = { <triggers> } <effects> }
|remove_all_character_modifier_instances = name
|character
|character
|character
|
|-
|-
|every_realm_county
|remove_character_flag
|Iterate through all counties in the realm. Based on top liege
|removes a character flag
|every_realm_county = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|
|-
|-
|every_realm_de_jure_duchy
|remove_character_modifier
|Iterate through all de jure duchies that have at least one county in the realm. Based on top liege
|Remove a modifier from a character
|every_realm_de_jure_duchy = { limit = { <triggers> } <effects> }
|remove_character_modifier = name
|character
|character
|landed title
|
|-
|-
|every_realm_de_jure_empire
|remove_claim
|Iterate through all de jure empire that have at least one county in the realm. Based on top liege
|removes an explicit (not from a living parent/grand parent) claim
|every_realm_de_jure_empire = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|landed title
|-
|-
|every_realm_de_jure_kingdom
|remove_concubine
|Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege
|Removes the target character as a concubine of the scope character
|every_realm_de_jure_kingdom = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|-
|every_realm_province
|Iterate through all realm provinces of a character
|every_realm_province = { limit = { <triggers> } <effects> }
|character
|character
|province
|-
|-
|every_relation
|remove_courtier_or_guest
|Iterate through scripted relations of a given type or multiple types, if someone is multiple relations they will only be in the list once
|Removes the target character (guest or courtier) from the scope character's court
|every_relation = { limit = { <triggers> } <effects> }
|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
|character
|character
|-
|-
|every_scheme
|remove_decision_cooldown
|Iterate through all schemes owned by the character
|Remove the cooldown on taking a decision for the scoped character
|every_scheme = { limit = { <triggers> } <effects> }
|remove_decision_cooldown = decision_name
|character
|character
|scheme
|
|-
|-
|every_secret
|remove_hook
|Iterate through all secrets of the character
|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
|every_secret = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|secret
|
|-
|-
|every_sibling
|remove_interaction_cooldown
|Iterate through all siblings
|Remove the cooldown on using an interaction for the scoped character
|every_sibling = { limit = { <triggers> } <effects> }
|remove_interaction_cooldown = interaction_name
|character
|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
|character
|
|-
|-
|every_spouse
|remove_long_term_gold
|Iterate through all spouses
|removes gold from a character (AI's long term budget)
|every_spouse = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|
|-
|-
|every_spouse_candidate
|remove_nickname
|Iterate through all the spouse candidates of a character. WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
|Removes any nickname from the current character [yes|no]
|every_spouse_candidate = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|
|-
|-
|every_stewardship_councillor
|remove_opinion
|Iterate through all stewardship-based councillors
|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
|every_stewardship_councillor = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|
|-
|remove_perk
|Remove the perk for this character
|Unspecified
|character
|character
|
|-
|-
|every_sub_realm_barony
|remove_realm_law
|Iterate through all baronies in sub-realm
|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
|every_sub_realm_barony = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|
|-
|-
|every_sub_realm_county
|remove_relation_best_friend
|Iterate through all counties in sub-realm
|Removes scripted relationship
|every_sub_realm_county = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|landed title
|-
|-
|every_sub_realm_duchy
|remove_relation_bully
|Iterate through all duchies in sub-realm
|Removes scripted relationship
|every_sub_realm_duchy = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|landed title
|-
|-
|every_sub_realm_empire
|remove_relation_court_physician
|Iterate through all empires in sub-realm
|Removes scripted relationship
|every_sub_realm_empire = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|landed title
|-
|every_sub_realm_kingdom
|Iterate through all kingdoms in sub-realm
|every_sub_realm_kingdom = { limit = { <triggers> } <effects> }
|character
|character
|landed title
|-
|-
|every_sub_realm_title
|remove_relation_crush
|Iterate through all titles in sub-realm
|Removes scripted relationship
|every_sub_realm_title = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|landed title
|-
|-
|every_targeting_faction
|remove_relation_flag
|Iterate through all factions targeting the scope character
|Removed a flag from an existing relation flag = flag_name (declared in scripted_relation) target = other_character relation = scripted_relation
|every_targeting_faction = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|faction
|
|-
|-
|every_targeting_scheme
|remove_relation_friend
|Iterate through all schemes targeting the character
|Removes scripted relationship
|every_targeting_scheme = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|scheme
|-
|-
|every_targeting_secret
|remove_relation_guardian
|Iterate through all secrets that target the specified scope
|Removes scripted relationship
|every_targeting_secret = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|secret
|-
|-
|every_traveling_family_member
|remove_relation_intrigue_mentor
|Iterate though all characters that should travel with the scoped one (when moving between courts for instance); includes the scoped character
|Removes scripted relationship
|every_traveling_family_member = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|character
|-
|-
|every_truce_holder
|remove_relation_intrigue_student
|Iterate through all characters that have a truce on this character
|Removes scripted relationship
|every_truce_holder = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|character
|-
|-
|every_truce_target
|remove_relation_lover
|Iterate through all characters this character has a truce on
|Removes scripted relationship
|every_truce_target = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|character
|-
|-
|every_unspent_known_secret
|remove_relation_mentor
|Iterate through all unspent secrets known by the character
|Removes scripted relationship
|every_unspent_known_secret = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|secret
|-
|-
|every_vassal
|remove_relation_nemesis
|Iterate through all DIRECT vassals
|Removes scripted relationship
|every_vassal = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|character
|-
|-
|every_vassal_or_below
|remove_relation_oaf
|Iterate through ALL vassals, not just direct vassals
|Removes scripted relationship
|every_vassal_or_below = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|character
|-
|-
|every_war_ally
|remove_relation_potential_friend
|Iterate through all direct war allies
|Removes scripted relationship
|every_war_ally = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|character
|-
|-
|every_war_enemy
|remove_relation_potential_lover
|Iterate through all direct war enemies
|Removes scripted relationship
|every_war_enemy = { limit = { <triggers> } <effects> }
|Unspecified
|character
|character
|character
|character
|-
|-
|execute_decision
|remove_relation_potential_rival
|Execute the specified decision for the scoped character
|Removes scripted relationship
|Unspecified
|Unspecified
|character
|character
|
|character
|-
|-
|finish_council_task
|remove_relation_rival
|The councillor finish the current assigned task successfully.
|Removes scripted relationship
|Unspecified
|Unspecified
|character
|character
|
|character
|-
|-
|fire_councillor
|remove_relation_soldier_friend
|The scope character fires the target character form teh council.
|Removes scripted relationship
|Unspecified
|Unspecified
|character
|character
|character
|character
|-
|-
|forbid_from_scheme
|remove_relation_soulmate
|Forbid the scope character from joining the target scheme as an agent (and kick the character out if already in the scheme)
|Removes scripted relationship
|Unspecified
|Unspecified
|character
|character
|
|-
|force_add_to_scheme
|Adds a character as an agent to the scheme and forces them to stay
force_add_to_scheme = {
   scheme = target_Scheme
   days/months/years = duration
}
|character
|character
|
|-
|-
|force_vote_as
|remove_relation_student
|Forces the character to vote the same as the target
|Removes scripted relationship
|force_vote_as = { target = someone days/months/years = x }
|Unspecified
|character
|character
|character
|
|-
|-
|get_title
|remove_relation_victim
|gives a title to a character
|Removes scripted relationship
|Unspecified
|Unspecified
|character
|character
|landed title
|character
|-
|-
|give_nickname
|remove_relation_ward
|Give a nickname to this character
|Removes scripted relationship
|Unspecified
|Unspecified
|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
|character
|
|
|-
|-
|imprison
|remove_short_term_gold
|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
|removes gold from a character (AI's short term budget)
|Unspecified
|Unspecified
|character
|character
|
|
|-
|-
|join_faction
|remove_trait
|the character in the scope joins the assigned faction
|Removes a trait from a character. Tooltip will not be shown if the character doesn't have the trait.
|Unspecified
|Unspecified
|character
|character
|
|
|-
|-
|join_faction_forced
|remove_trait_force_tooltip
|the character in the scope is forced to join a faction by a character for a defined time,
|Removes a trait from a character. Tooltip will be shown even if the character doesn't have the trait.
|join_faction_forced = {
|Unspecified
   faction = X
   forced_by = Y
   days/months/years = duration
}
|character
|character
|
|-
|-
|join_faction_skip_check
|reset_beneficiary
|the character in the scope joins the assigned faction skiping the can_character_join trigger
|The target character stops having a beneficiary
|Unspecified
|reset_beneficiary = yes
|character
|character
|
|
|-
|-
|leave_faction
|return_to_court
|the charcter in the scope leaves the assigned faction
|Returns the scope character to the employers court.
|Unspecified
|Unspecified
|character
|character
|
|
|-
|-
|make_claim_strong
|reverse_add_opinion
|makes a claim strong (character adds the claim if not having it already)
|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.
|Unspecified
|reverse_add_opinion = { modifier = X days/months/years = Y target = Z }
|character
|character
|landed title
|
|-
|-
|make_claim_weak
|scriptedtests_recalculate_character_modifier
|makes a claim weak (character adds the claim if not having it already)
|Recalculates the modifier of the scoped character
|Unspecified
|Unspecified
|character
|landed title
|-
|make_concubine
|Makes the target character a concubine of the scope character, the target should not be imprisoned
|Unspecified
|character
|character
|-
|make_pregnant
|makes a character pregnant
|make_pregnant = {
father = 'the real father'
number_of_children = X
known_bastard = yes/no
|character
|character
|
|
|-
|-
|make_trait_active
|scriptedtests_recalculate_succession
|Activates an inactive trait. Tooltip will not be shown if the character cannot have the trait.
|Recalculates the line of succession of the scoped character
|Unspecified
|Unspecified
|character
|character
|
|
|-
|-
|make_trait_active_force_tooltip
|send_interface_message
|Activates an inactive trait. Tooltip will be shown even if the character cannot have the trait.
|Sends a message to the player playing the character in the scope and then executes any effects inside.
|Unspecified
For the message text and tooltip, $EFFECT$ contains the text description of the effects in the past tense.
|character
And $DESC$ contains the text from the desc field.
|
|
|-
<pre>
|make_trait_inactive
send_interface_message = {
|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!
type = message_type # default: send_interface_message
|Unspecified
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
|character
|
|
|-
|-
|make_trait_inactive_force_tooltip
|send_interface_toast
|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!
|Sends a message to the player playing the character in the scope and then executes any effects inside.
|Unspecified
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.
|
<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
|character
|
|
|-
|-
|make_unprunable
|set_absolute_country_control
|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
|Sets if this character has absolute country control, unlock_character_movement = yes/no/boolean event target
|Unspecified
|Unspecified
|character
|character
|
|
|-
|-
|marry
|set_beneficiary
|Marries the scoped character to the target character
|The target character becomes the beneficiary of the scoped character. set_beneficiary = some character
|marry = target
|Unspecified
|character
|character
|character
|character
|-
|-
|marry_matrilineal
|set_character_faith
|Marries the scoped character to the target character matrilineally
|Changes what faith a character has executing the effects for it. For history setup use 'set_character_faith_history' instead.
|marry_matrilineal = target
|Unspecified
|character
|character
|character
|faith
|-
|-
|move_to_pool
|set_character_faith_history
|The scoped character (courtier or guest) leaves their current court and moves into the pool
|Changes what faith a character has NOT executing the effects for it. USE ONLY IN HISOTRY SETUP!
|scope:guest = { move_to_pool = yes }
|Unspecified
|character
|character
|faith
|-
|-
|move_to_pool_at
|set_character_faith_with_conversion
|The scoped character (courtier/guest/pool character) leaves their current court (if any) and moves into the pool of the specified province
|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
|scope:guest = { move_to_pool_at = scope:some_province }
|set_character_faith_with_conversion = faith:<religion>
|character
|character
|province
|faith
|-
|-
|ordered_alert_creatable_title
|set_child_of_concubine_on_pregnancy
|Iterate through all titles that can be created by the character. (only for alerts)
|Sets the child to be (or not be) a child of a concubine during pregnancy
|ordered_alert_creatable_title = {
|Unspecified
limit = { <triggers> }
|character
order_by = script_value
|
position = int
|-
min = int
|set_council_task
max = script_value
|Sets the task of the scope councillor { task_type = council_position_type_key target = for_targeted_tasks  }
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|Unspecified
<effects> }
|character
|character
|landed title
|
|-
|-
|ordered_alert_usurpable_title
|set_culture
|Iterate through all titles that can be usurped by the character. (only for alerts)
|Set the culture for this character
|ordered_alert_usurpable_title = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|landed title
|culture
|-
|-
|ordered_ally
|set_culture_same_as
|Iterate through all allies
|Sets the culture of the character to be the same as the culture of the target
|ordered_ally = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_ancestor
|set_death_reason
|Iterate through all the ancestors of the scope character up to 5 generations
|sets the death reason and the killer of a dead character, set_death_reason = { killer = X death_reason = Y }, both parameters are optional
|ordered_ancestor = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|
|-
|set_default_education
|Set the default education focus for this character
|Unspecified
|character
|character
|
|-
|-
|ordered_army
|set_designated_heir
|Iterate through all armies
|Sets the given character as designated heir
|ordered_army = {
|Unspecified
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
|army
|-
|-
|ordered_character_to_title_neighboring_and_across_water_barony
|set_employer
|Scopes from a character to a neighboring barony (incl. across water, looking trough the de Jure lieges)
|Add the scope character to the target character's court
|ordered_character_to_title_neighboring_and_across_water_barony = {
|Unspecified
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
|landed title
|-
|-
|ordered_character_to_title_neighboring_and_across_water_county
|set_father
|Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges)
|sets the father of a character
|ordered_character_to_title_neighboring_and_across_water_county = {
|Unspecified
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
|landed title
|-
|-
|ordered_character_to_title_neighboring_and_across_water_duchy
|set_focus
|Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
|Set the focus for this character
|ordered_character_to_title_neighboring_and_across_water_duchy = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|landed title
|
|-
|-
|ordered_character_to_title_neighboring_and_across_water_empire
|set_house
|Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges)
|Sets the dynasty house of the character
|ordered_character_to_title_neighboring_and_across_water_empire = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|landed title
|dynasty house
|-
|-
|ordered_character_to_title_neighboring_and_across_water_kingdom
|set_immortal_age
|Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
|Changes what age the character became immortal at. Only works if already immortal
|ordered_character_to_title_neighboring_and_across_water_kingdom = {
|set_immortal_age = 20
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|landed title
|
|-
|-
|ordered_character_to_title_neighboring_barony
|set_killer_public
|Scopes from a character to a neighboring barony (looking trough the de Jure lieges)
|Sets the scoped character's killer as being publicly known
|ordered_character_to_title_neighboring_barony = {
|set_killer_public = bool
limit = { <triggers> }
|character
order_by = script_value
|
position = int
|-
min = int
|set_known_bastard_on_pregnancy
max = script_value
|Sets the child to a known or unknown bastard during pregnancy
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|Unspecified
<effects> }
|character
|character
|landed title
|
|-
|-
|ordered_character_to_title_neighboring_county
|set_num_pregnancy_children
|Scopes from a character to a neighboring county (looking trough the de Jure lieges)
|Set the number of children
|ordered_character_to_title_neighboring_county = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|landed title
|
|-
|-
|ordered_character_to_title_neighboring_duchy
|set_override_designated_winner
|Scopes from a character to a neighboring duchy (looking trough the de Jure lieges)
|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
|ordered_character_to_title_neighboring_duchy = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|landed title
|
|-
|-
|ordered_character_to_title_neighboring_empire
|set_player_character
|Scopes from a character to a neighboring empire (looking trough the de Jure lieges)
|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
|ordered_character_to_title_neighboring_empire = {
|Unspecified
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
|landed title
|-
|-
|ordered_character_to_title_neighboring_kingdom
|set_pregnancy_assumed_father
|Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges)
|Set the assumed father of the pregnancy
|ordered_character_to_title_neighboring_kingdom = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|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
|character
|war
|-
|-
|ordered_child
|set_primary_spouse
|Iterate through all children
|Set the primary spouse of a character
|ordered_child = {
|set_primary_spouse = scope
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_claim
|set_primary_title_to
|Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all
|Sets the primary title for a character
|ordered_claim = {
|set_primary_title_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
|character
|landed title
|landed title
|-
|-
|ordered_close_family_member
|set_real_father
|Iterate through all the close family [father, mother, siblings, children, grandparents]
|Changes the real father of the character scope
|ordered_close_family_member = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_close_or_extended_family_member
|set_realm_capital
|Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins]
|Set a new realm capital
|ordered_close_or_extended_family_member = {
|character = { set_realm_capital = new_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
|character
|character
|landed title
|-
|-
|ordered_concubine
|set_relation_best_friend
|Iterate through all concubines
|Sets scripted relationship
|ordered_concubine = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_consort
|set_relation_bully
|Iterate through all consorts (concubines and spouses)
|Sets scripted relationship
|ordered_consort = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_councillor
|set_relation_court_physician
|Iterate through all councillors
|Sets scripted relationship
|ordered_councillor = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_courtier
|set_relation_crush
|Iterate through all courtiers
|Sets scripted relationship
|ordered_courtier = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_courtier_away
|set_relation_friend
|Iterate through all courtiers that are away
|Sets scripted relationship
|ordered_courtier_away = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_courtier_or_guest
|set_relation_guardian
|Iterate through all courtiers and guests (pool and foreign court guests)
|Sets scripted relationship
|ordered_courtier_or_guest = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_de_jure_claim
|set_relation_intrigue_mentor
|Iterate through all de jure claims for a character
|Sets scripted relationship
|ordered_de_jure_claim = {
|Unspecified
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
|landed title
|-
|-
|ordered_diplomacy_councillor
|set_relation_intrigue_student
|Iterate through all diplomacy-based councillors
|Sets scripted relationship
|ordered_diplomacy_councillor = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_directly_owned_province
|set_relation_lover
|Iterate through all directly owned provinces
|Sets scripted relationship
|ordered_directly_owned_province = {
|Unspecified
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
|province
|-
|-
|ordered_election_title
|set_relation_mentor
|Iterate through all titles the scoped character can vote on
|Sets scripted relationship
|ordered_election_title = {
|Unspecified
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
|landed title
|-
|-
|ordered_extended_family_member
|set_relation_nemesis
|Iterate through all the extended family [uncles/aunts, nephew/niece, cousins]
|Sets scripted relationship
|ordered_extended_family_member = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_foreign_court_guest
|set_relation_oaf
|Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege)
|Sets scripted relationship
|ordered_foreign_court_guest = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_former_concubine
|set_relation_potential_friend
|Iterate through all former concubines. Not persisted past death
|Sets scripted relationship
|ordered_former_concubine = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_former_concubinist
|set_relation_potential_lover
|Iterate through all former concubinists. Not persisted past death
|Sets scripted relationship
|ordered_former_concubinist = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_former_spouse
|set_relation_potential_rival
|Iterate through all former spouses
|Sets scripted relationship
|ordered_former_spouse = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_general_councillor
|set_relation_rival
|Iterate through all councillors that are not related to a skill
|Sets scripted relationship
|ordered_general_councillor = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_heir
|set_relation_soldier_friend
|Heirs of the scoped character
|Sets scripted relationship
|ordered_heir = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_heir_title
|set_relation_soulmate
|Iterate through all landed titles character is heir to
|Sets scripted relationship
|ordered_heir_title = {
|Unspecified
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
|landed title
|-
|-
|ordered_heir_to_title
|set_relation_student
|Iterate through all titles the scoped character is heir to
|Sets scripted relationship
|ordered_heir_to_title = {
|Unspecified
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
|landed title
|-
|-
|ordered_held_title
|set_relation_victim
|Iterate through all held landed titles
|Sets scripted relationship
|ordered_held_title = {
|Unspecified
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
|landed title
|-
|-
|ordered_hired_mercenary
|set_relation_ward
|Iterate through all hired mercenary companies
|Sets scripted relationship
|ordered_hired_mercenary = {
|Unspecified
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
|mercenary company
|-
|-
|ordered_hooked_character
|set_sexuality
|Iterate through all characters this character has a hook on
|Sets the sexuality of the character
|ordered_hooked_character = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|
|-
|-
|ordered_hostile_raider
|set_to_lowborn
|Iterate through anyone the character is hostile to due to their top-liege's realm having been raided
|Set the character to lowborn
|ordered_hostile_raider = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|
|-
|-
|ordered_intrigue_councillor
|set_vassal_contract_modification_blocked
|Iterate through all intrigue-based councillors
|Blocks the vassal contract from being modified with regards to being checked by 'vassal_contract_is_blocked_from_modification'
|ordered_intrigue_councillor = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|
|-
|-
|ordered_knight
|spawn_army
|Iterate through all knights
|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.
|ordered_knight = {
|
limit = { <triggers> }
<pre>
order_by = script_value
spawn_army = {
position = int
levies = int/script value # optional, number of men
min = int
men_at_arms = { # optional, multiple can be specified. Need either levies or MAA
max = script_value
     type = key
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
     men/stacks = int/script value
<effects> }
   }
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
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
|character
|
|-
|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).
|Unspecified
|character
|character
|
|-
|-
|ordered_known_secret
|start_scheme
|Iterate through all secrets known by the character
|starts a scheme  = { type = X target = Y }
|ordered_known_secret = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|secret
|
|-
|-
|ordered_learning_councillor
|start_war
|Iterate through all learning-based councillors
|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.
|ordered_learning_councillor = {
|start_war = { casus_belli/cb = X target = Y claimant = Z target_title = W1 target_title = W2 ... }
limit = { <triggers> }
|character
order_by = script_value
|
position = int
|-
min = int
|stress_impact
max = script_value
|Stress impact according to specified traits (trait = value), use base = value for a base value that's always added
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|Unspecified
<effects> }
|character
|character
|character
|
|-
|-
|ordered_liege_or_above
|use_hook
|Iterate through all lieges above a character (skipping the character themselves)
|Uses a hook a character has (removes if weak, puts on cooldown if strong)
|ordered_liege_or_above = {
|use_hook = some_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
|character
|character
|-
|-
|ordered_martial_councillor
|vassal_contract_decrease_obligation_level
|Iterate through all martial-based councillors
|decrease the obligation level of the scoped character's vassal contract
|ordered_martial_councillor = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|
|-
|vassal_contract_increase_obligation_level
|increase the obligation level of the scoped character's vassal contract
|Unspecified
|character
|character
|
|-
|-
|ordered_neighboring_and_across_water_realm_same_rank_owner
|vassal_contract_set_obligation_level
|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)
|change the obligation level of the scoped character's vassal contract
|ordered_neighboring_and_across_water_realm_same_rank_owner = {
|vassal_contract_set_obligation_level = { type = name level = 1 } # index to obligation level
limit = { <triggers> }
vassal_contract_set_obligation_level = { type = name level = feudal_obligation_low }
order_by = script_value
|character
position = int
|
min = int
|-
max = script_value
|visit_court_of
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|Add the scope character as the target character's guest
<effects> }
|Unspecified
|character
|character
|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
|-
|-
|ordered_neighboring_and_across_water_top_liege_realm
|every_alert_creatable_title
|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 all titles that can be created by the character. (only for alerts)
|ordered_neighboring_and_across_water_top_liege_realm = {
|every_alert_creatable_title = { limit = { <triggers> } <effects> }
limit = { <triggers> }
|character
order_by = script_value
|landed title
position = int
|-
min = int
|every_alert_usurpable_title
max = script_value
|Iterate through all titles that can be usurped by the character. (only for alerts)
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|every_alert_usurpable_title = { limit = { <triggers> } <effects> }
<effects> }
|character
|character
|landed title
|landed title
|-
|-
|ordered_neighboring_and_across_water_top_liege_realm_owner
|every_ally
|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 allies
|ordered_neighboring_and_across_water_top_liege_realm_owner = {
|every_ally = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_neighboring_realm_same_rank_owner
|every_ancestor
|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 ancestors of the scope character up to 5 generations
|ordered_neighboring_realm_same_rank_owner = {
|every_ancestor = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_neighboring_top_liege_realm
|every_army
|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 armies
|ordered_neighboring_top_liege_realm = {
|every_army = { limit = { <triggers> } <effects> }
limit = { <triggers> }
|character
order_by = script_value
|army
position = int
|-
min = int
|every_character_to_title_neighboring_and_across_water_barony
max = script_value
|Scopes from a character to a neighboring barony (incl. across water, 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
|every_character_to_title_neighboring_and_across_water_barony = { limit = { <triggers> } <effects> }
<effects> }
|character
|character
|landed title
|landed title
|-
|-
|ordered_neighboring_top_liege_realm_owner
|every_character_to_title_neighboring_and_across_water_county
|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
|Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges)
|ordered_neighboring_top_liege_realm_owner = {
|every_character_to_title_neighboring_and_across_water_county = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|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
|character
|landed title
|-
|-
|ordered_owned_story
|every_character_to_title_neighboring_and_across_water_empire
|Iterate through all owned stories for a character
|Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges)
|ordered_owned_story = {
|every_character_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|story cycle
|landed title
|-
|-
|ordered_parent
|every_character_to_title_neighboring_and_across_water_kingdom
|Iterate through all (both) parents
|Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
|ordered_parent = {
|every_character_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|landed title
|-
|every_character_to_title_neighboring_barony
|Scopes from a character to a neighboring barony (looking trough the de Jure lieges)
|every_character_to_title_neighboring_barony = { limit = { <triggers> } <effects> }
|character
|character
|landed title
|-
|-
|ordered_patroned_holy_order
|every_character_to_title_neighboring_county
|Iterate through all holy orders that the scoped character is a patron of
|Scopes from a character to a neighboring county (looking trough the de Jure lieges)
|ordered_patroned_holy_order = {
|every_character_to_title_neighboring_county = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|holy order
|landed title
|-
|-
|ordered_pinned_character
|every_character_to_title_neighboring_duchy
|Iterate through characters this player has pinned
|Scopes from a character to a neighboring duchy (looking trough the de Jure lieges)
|ordered_pinned_character = {
|every_character_to_title_neighboring_duchy = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|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
|character
|landed title
|-
|-
|ordered_pinning_character
|every_character_to_title_neighboring_kingdom
|Iterate through characters whose player has this character pinned
|Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges)
|ordered_pinning_character = {
|every_character_to_title_neighboring_kingdom = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|landed title
|-
|every_character_war
|Wars of the scoped character
|every_character_war = { limit = { <triggers> } <effects> }
|character
|character
|war
|-
|-
|ordered_player_heir
|every_child
|Iterate through player heirs, capped at the first 10
|Iterate through all children
|ordered_player_heir = {
|every_child = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_pool_guest
|every_claim
|Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege)
|Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all
|ordered_pool_guest = {
|every_claim = { limit = { <triggers> } <effects> }
limit = { <triggers> }
|character
order_by = script_value
|landed title
position = int
|-
min = int
|every_close_family_member
max = script_value
|Iterate through all the close family [father, mother, siblings, children, grandparents]
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|every_close_family_member = { limit = { <triggers> } <effects> }
<effects> }
|character
|character
|character
|character
|-
|-
|ordered_potential_marriage_option
|every_close_or_extended_family_member
|Iterate through all potential selectable marriage or betrohed options
|Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins]
|ordered_potential_marriage_option = {
|every_close_or_extended_family_member = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_pretender_title
|every_concubine
|Iterate through all landed titles character is pretender to
|Iterate through all concubines
|ordered_pretender_title = {
|every_concubine = { limit = { <triggers> } <effects> }
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
|landed title
|-
|-
|ordered_primary_war_enemy
|every_consort
|Iterate through all primary war enemies
|Iterate through all consorts (concubines and spouses)
|ordered_primary_war_enemy = {
|every_consort = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_prisoner
|every_councillor
|Iterate through all prisoners
|Iterate through all councillors
|ordered_prisoner = {
|every_councillor = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_prowess_councillor
|every_courtier
|Iterate through all prowess-based councillors
|Iterate through all courtiers
|ordered_prowess_councillor = {
|every_courtier = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_raid_target
|every_courtier_away
|Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges
|Iterate through all courtiers that are away
|ordered_raid_target = {
|every_courtier_away = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_realm_county
|every_courtier_or_guest
|Iterate through all counties in the realm. Based on top liege
|Iterate through all courtiers and guests (pool and foreign court guests)
|ordered_realm_county = {
|every_courtier_or_guest = { limit = { <triggers> } <effects> }
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
|landed title
|-
|-
|ordered_realm_de_jure_duchy
|every_de_jure_claim
|Iterate through all de jure duchies that have at least one county in the realm. Based on top liege
|Iterate through all de jure claims for a character
|ordered_realm_de_jure_duchy = {
|every_de_jure_claim = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|landed title
|landed title
|-
|-
|ordered_realm_de_jure_empire
|every_diplomacy_councillor
|Iterate through all de jure empire that have at least one county in the realm. Based on top liege
|Iterate through all diplomacy-based councillors
|ordered_realm_de_jure_empire = {
|every_diplomacy_councillor = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|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
|character
|landed title
|-
|-
|ordered_realm_province
|every_directly_owned_province
|Iterate through all realm provinces of a character
|Iterate through all directly owned provinces
|ordered_realm_province = {
|every_directly_owned_province = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|province
|province
|-
|-
|ordered_relation
|every_election_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 titles the scoped character can vote on
|ordered_relation = {
|every_election_title = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|landed title
|-
|-
|ordered_scheme
|every_extended_family_member
|Iterate through all schemes owned by the character
|Iterate through all the extended family [uncles/aunts, nephew/niece, cousins]
|ordered_scheme = {
|every_extended_family_member = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|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
|character
|secret
|-
|-
|ordered_sibling
|every_foreign_court_guest
|Iterate through all siblings
|Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege)
|ordered_sibling = {
|every_foreign_court_guest = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_spouse
|every_former_concubine
|Iterate through all spouses
|Iterate through all former concubines. Not persisted past death
|ordered_spouse = {
|every_former_concubine = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_spouse_candidate
|every_former_concubinist
|Iterate through all the spouse candidates of a character. WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
|Iterate through all former concubinists. Not persisted past death
|ordered_spouse_candidate = {
|every_former_concubinist = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_stewardship_councillor
|every_former_spouse
|Iterate through all stewardship-based councillors
|Iterate through all former spouses
|ordered_stewardship_councillor = {
|every_former_spouse = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_sub_realm_barony
|every_general_councillor
|Iterate through all baronies in sub-realm
|Iterate through all councillors that are not related to a skill
|ordered_sub_realm_barony = {
|every_general_councillor = { limit = { <triggers> } <effects> }
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
|every_heir = { limit = { <triggers> } <effects> }
<effects> }
|character
|character
|character
|landed title
|-
|-
|ordered_sub_realm_county
|every_heir_title
|Iterate through all counties in sub-realm
|Iterate through all landed titles character is heir to
|ordered_sub_realm_county = {
|every_heir_title = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|landed title
|landed title
|-
|-
|ordered_sub_realm_duchy
|every_heir_to_title
|Iterate through all duchies in sub-realm
|Iterate through all titles the scoped character is heir to
|ordered_sub_realm_duchy = {
|every_heir_to_title = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|landed title
|landed title
|-
|-
|ordered_sub_realm_empire
|every_held_title
|Iterate through all empires in sub-realm
|Iterate through all held landed titles
|ordered_sub_realm_empire = {
|every_held_title = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|landed title
|landed title
|-
|-
|ordered_sub_realm_kingdom
|every_hired_mercenary
|Iterate through all kingdoms in sub-realm
|Iterate through all hired mercenary companies
|ordered_sub_realm_kingdom = {
|every_hired_mercenary = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|landed title
|mercenary company
|-
|-
|ordered_sub_realm_title
|every_hooked_character
|Iterate through all titles in sub-realm
|Iterate through all characters this character has a hook on
|ordered_sub_realm_title = {
|every_hooked_character = { limit = { <triggers> } <effects> }
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
|landed title
|-
|-
|ordered_targeting_faction
|every_hostile_raider
|Iterate through all factions targeting the scope character
|Iterate through anyone the character is hostile to due to their top-liege's realm having been raided
|ordered_targeting_faction = {
|every_hostile_raider = { limit = { <triggers> } <effects> }
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
|faction
|-
|-
|ordered_targeting_scheme
|every_intrigue_councillor
|Iterate through all schemes targeting the character
|Iterate through all intrigue-based councillors
|ordered_targeting_scheme = {
|every_intrigue_councillor = { limit = { <triggers> } <effects> }
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
|scheme
|-
|-
|ordered_targeting_secret
|every_knight
|Iterate through all secrets that target the specified scope
|Iterate through all knights
|ordered_targeting_secret = {
|every_knight = { limit = { <triggers> } <effects> }
limit = { <triggers> }
|character
order_by = script_value
|character
position = int
|-
min = int
|every_known_secret
max = script_value
|Iterate through all secrets known by the character
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|every_known_secret = { limit = { <triggers> } <effects> }
<effects> }
|character
|character
|secret
|secret
|-
|-
|ordered_traveling_family_member
|every_learning_councillor
|Iterate though all characters that should travel with the scoped one (when moving between courts for instance); includes the scoped character
|Iterate through all learning-based councillors
|ordered_traveling_family_member = {
|every_learning_councillor = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_truce_holder
|every_liege_or_above
|Iterate through all characters that have a truce on this character
|Iterate through all lieges above a character (skipping the character themselves)
|ordered_truce_holder = {
|every_liege_or_above = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_truce_target
|every_martial_councillor
|Iterate through all characters this character has a truce on
|Iterate through all martial-based councillors
|ordered_truce_target = {
|every_martial_councillor = { limit = { <triggers> } <effects> }
limit = { <triggers> }
|character
order_by = script_value
|character
position = int
|-
min = int
|every_neighboring_and_across_water_realm_same_rank_owner
max = script_value
|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)
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|every_neighboring_and_across_water_realm_same_rank_owner = { limit = { <triggers> } <effects> }
<effects> }
|character
|character
|character
|character
|-
|-
|ordered_unspent_known_secret
|every_neighboring_and_across_water_top_liege_realm
|Iterate through all unspent secrets known by the character
|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_unspent_known_secret = {
|every_neighboring_and_across_water_top_liege_realm = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|secret
|landed title
|-
|-
|ordered_vassal
|every_neighboring_and_across_water_top_liege_realm_owner
|Iterate through all DIRECT vassals
|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_vassal = {
|every_neighboring_and_across_water_top_liege_realm_owner = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_vassal_or_below
|every_neighboring_realm_same_rank_owner
|Iterate through ALL vassals, not just direct vassals
|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_vassal_or_below = {
|every_neighboring_realm_same_rank_owner = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|ordered_war_ally
|every_neighboring_top_liege_realm
|Iterate through all direct war allies
|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_war_ally = {
|every_neighboring_top_liege_realm = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|landed title
|-
|-
|ordered_war_enemy
|every_neighboring_top_liege_realm_owner
|Iterate through all direct war enemies
|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_war_enemy = {
|every_neighboring_top_liege_realm_owner = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_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
|character
|character
|-
|-
|pay_long_term_gold
|every_owned_story
|the scope character pays gold to the target character, pay_gold = { target = X gold = Y } (AI budget category long term)
|Iterate through all owned stories for a character
|Unspecified
|every_owned_story = { limit = { <triggers> } <effects> }
|character
|character
|
|story cycle
|-
|-
|pay_long_term_income
|every_parent
|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)
|Iterate through all (both) parents
|Unspecified
|every_parent = { limit = { <triggers> } <effects> }
|character
|character
|character
|
|-
|-
|pay_short_term_gold
|every_patroned_holy_order
|the scope character pays gold to the target character, pay_gold = { target = X gold = Y } (AI budget category short term)
|Iterate through all holy orders that the scoped character is a patron of
|Unspecified
|every_patroned_holy_order = { limit = { <triggers> } <effects> }
|character
|character
|
|holy order
|-
|-
|pay_short_term_income
|every_pinned_character
|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 characters this player has pinned
|Unspecified
|every_pinned_character = { limit = { <triggers> } <effects> }
|character
|character
|
|-
|play_music_cue
|Plays the specified music cue.
|Unspecified
|character
|character
|
|-
|-
|random_alert_creatable_title
|every_pinning_character
|Iterate through all titles that can be created by the character. (only for alerts)
|Iterate through characters whose player has this character pinned
|random_alert_creatable_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_pinning_character = { limit = { <triggers> } <effects> }
|character
|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
|character
|landed title
|-
|-
|random_ally
|every_player_heir
|Iterate through all allies
|Iterate through player heirs, capped at the first 10
|random_ally = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_player_heir = { limit = { <triggers> } <effects> }
|character
|character
|character
|character
|-
|-
|random_ancestor
|every_pool_guest
|Iterate through all the ancestors of the scope character up to 5 generations
|Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege)
|random_ancestor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_pool_guest = { limit = { <triggers> } <effects> }
|character
|character
|character
|character
|-
|-
|random_army
|every_potential_marriage_option
|Iterate through all armies
|Iterate through all potential selectable marriage or betrohed options
|random_army = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_potential_marriage_option = { limit = { <triggers> } <effects> }
|character
|character
|army
|-
|random_character_to_title_neighboring_and_across_water_barony
|Scopes from a character to a neighboring barony (incl. across water, looking trough the de Jure lieges)
|random_character_to_title_neighboring_and_across_water_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|landed title
|-
|-
|random_character_to_title_neighboring_and_across_water_county
|every_pretender_title
|Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges)
|Iterate through all landed titles character is pretender to
|random_character_to_title_neighboring_and_across_water_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_pretender_title = { limit = { <triggers> } <effects> }
|character
|character
|landed title
|landed title
|-
|-
|random_character_to_title_neighboring_and_across_water_duchy
|every_primary_war_enemy
|Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
|Iterate through all primary war enemies
|random_character_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_primary_war_enemy = { limit = { <triggers> } <effects> }
|character
|character
|-
|every_prisoner
|Iterate through all prisoners
|every_prisoner = { limit = { <triggers> } <effects> }
|character
|character
|character
|landed title
|-
|-
|random_character_to_title_neighboring_and_across_water_empire
|every_prowess_councillor
|Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges)
|Iterate through all prowess-based councillors
|random_character_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_prowess_councillor = { limit = { <triggers> } <effects> }
|character
|character
|character
|landed title
|-
|-
|random_character_to_title_neighboring_and_across_water_kingdom
|every_raid_target
|Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
|Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges
|random_character_to_title_neighboring_and_across_water_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_raid_target = { limit = { <triggers> } <effects> }
|character
|character
|character
|landed title
|-
|-
|random_character_to_title_neighboring_barony
|every_realm_county
|Scopes from a character to a neighboring barony (looking trough the de Jure lieges)
|Iterate through all counties in the realm. Based on top liege
|random_character_to_title_neighboring_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_realm_county = { limit = { <triggers> } <effects> }
|character
|character
|landed title
|landed title
|-
|-
|random_character_to_title_neighboring_county
|every_realm_de_jure_duchy
|Scopes from a character to a neighboring county (looking trough the de Jure lieges)
|Iterate through all de jure duchies that have at least one county in the realm. Based on top liege
|random_character_to_title_neighboring_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_realm_de_jure_duchy = { limit = { <triggers> } <effects> }
|character
|character
|landed title
|landed title
|-
|-
|random_character_to_title_neighboring_duchy
|every_realm_de_jure_empire
|Scopes from a character to a neighboring duchy (looking trough the de Jure lieges)
|Iterate through all de jure empire that have at least one county in the realm. Based on top liege
|random_character_to_title_neighboring_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_realm_de_jure_empire = { limit = { <triggers> } <effects> }
|character
|character
|landed title
|landed title
|-
|-
|random_character_to_title_neighboring_empire
|every_realm_de_jure_kingdom
|Scopes from a character to a neighboring empire (looking trough the de Jure lieges)
|Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege
|random_character_to_title_neighboring_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_realm_de_jure_kingdom = { limit = { <triggers> } <effects> }
|character
|character
|landed title
|landed title
|-
|-
|random_character_to_title_neighboring_kingdom
|every_realm_province
|Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges)
|Iterate through all realm provinces of a character
|random_character_to_title_neighboring_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_realm_province = { limit = { <triggers> } <effects> }
|character
|character
|landed title
|province
|-
|-
|random_character_war
|every_relation
|Wars of the scoped character
|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_character_war = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_relation = { limit = { <triggers> } <effects> }
|character
|character
|character
|war
|-
|-
|random_child
|every_scheme
|Iterate through all children
|Iterate through all schemes owned by the character
|random_child = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_scheme = { limit = { <triggers> } <effects> }
|character
|character
|character
|scheme
|-
|-
|random_claim
|every_secret
|Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all
|Iterate through all secrets of the character
|random_claim = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_secret = { limit = { <triggers> } <effects> }
|character
|character
|landed title
|secret
|-
|-
|random_close_family_member
|every_sibling
|Iterate through all the close family [father, mother, siblings, children, grandparents]
|Iterate through all siblings
|random_close_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_sibling = { limit = { <triggers> } <effects> }
|character
|character
|character
|character
|-
|-
|random_close_or_extended_family_member
|every_spouse
|Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins]
|Iterate through all spouses
|random_close_or_extended_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_spouse = { limit = { <triggers> } <effects> }
|character
|character
|character
|character
|-
|-
|random_concubine
|every_spouse_candidate
|Iterate through all concubines
|Iterate through all the spouse candidates of a character. WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
|random_concubine = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_spouse_candidate = { limit = { <triggers> } <effects> }
|character
|character
|character
|character
|-
|-
|random_consort
|every_stewardship_councillor
|Iterate through all consorts (concubines and spouses)
|Iterate through all stewardship-based councillors
|random_consort = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_stewardship_councillor = { limit = { <triggers> } <effects> }
|character
|character
|character
|character
|-
|-
|random_councillor
|every_sub_realm_barony
|Iterate through all councillors
|Iterate through all baronies in sub-realm
|random_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_sub_realm_barony = { limit = { <triggers> } <effects> }
|character
|character
|landed title
|-
|every_sub_realm_county
|Iterate through all counties in sub-realm
|every_sub_realm_county = { limit = { <triggers> } <effects> }
|character
|character
|landed title
|-
|-
|random_courtier
|every_sub_realm_duchy
|Iterate through all courtiers
|Iterate through all duchies in sub-realm
|random_courtier = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_sub_realm_duchy = { limit = { <triggers> } <effects> }
|character
|character
|character
|landed title
|-
|-
|random_courtier_away
|every_sub_realm_empire
|Iterate through all courtiers that are away
|Iterate through all empires in sub-realm
|random_courtier_away = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_sub_realm_empire = { limit = { <triggers> } <effects> }
|character
|character
|character
|landed title
|-
|-
|random_courtier_or_guest
|every_sub_realm_kingdom
|Iterate through all courtiers and guests (pool and foreign court guests)
|Iterate through all kingdoms in sub-realm
|random_courtier_or_guest = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_sub_realm_kingdom = { limit = { <triggers> } <effects> }
|character
|character
|character
|landed title
|-
|-
|random_de_jure_claim
|every_sub_realm_title
|Iterate through all de jure claims for a character
|Iterate through all titles in sub-realm
|random_de_jure_claim = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_sub_realm_title = { limit = { <triggers> } <effects> }
|character
|character
|landed title
|landed title
|-
|-
|random_diplomacy_councillor
|every_targeting_faction
|Iterate through all diplomacy-based councillors
|Iterate through all factions targeting the scope character
|random_diplomacy_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_targeting_faction = { limit = { <triggers> } <effects> }
|character
|character
|character
|faction
|-
|-
|random_directly_owned_province
|every_targeting_scheme
|Iterate through all directly owned provinces
|Iterate through all schemes targeting the character
|random_directly_owned_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_targeting_scheme = { limit = { <triggers> } <effects> }
|character
|character
|province
|scheme
|-
|-
|random_election_title
|every_targeting_secret
|Iterate through all titles the scoped character can vote on
|Iterate through all secrets that target the specified scope
|random_election_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_targeting_secret = { limit = { <triggers> } <effects> }
|character
|character
|landed title
|secret
|-
|-
|random_extended_family_member
|every_traveling_family_member
|Iterate through all the extended family [uncles/aunts, nephew/niece, cousins]
|Iterate though all characters that should travel with the scoped one (when moving between courts for instance); includes the scoped character
|random_extended_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_traveling_family_member = { limit = { <triggers> } <effects> }
|character
|character
|character
|character
|-
|-
|random_foreign_court_guest
|every_truce_holder
|Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege)
|Iterate through all characters that have a truce on this character
|random_foreign_court_guest = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_truce_holder = { limit = { <triggers> } <effects> }
|character
|character
|character
|character
|-
|-
|random_former_concubine
|every_truce_target
|Iterate through all former concubines. Not persisted past death
|Iterate through all characters this character has a truce on
|random_former_concubine = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_truce_target = { limit = { <triggers> } <effects> }
|character
|character
|character
|-
|every_unspent_known_secret
|Iterate through all unspent secrets known by the character
|every_unspent_known_secret = { limit = { <triggers> } <effects> }
|character
|character
|secret
|-
|-
|random_former_concubinist
|every_vassal
|Iterate through all former concubinists. Not persisted past death
|Iterate through all DIRECT vassals
|random_former_concubinist = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_vassal = { limit = { <triggers> } <effects> }
|character
|character
|character
|character
|-
|-
|random_former_spouse
|every_vassal_or_below
|Iterate through all former spouses
|Iterate through ALL vassals, not just direct vassals
|random_former_spouse = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_vassal_or_below = { limit = { <triggers> } <effects> }
|character
|character
|character
|character
|-
|-
|random_general_councillor
|every_war_ally
|Iterate through all councillors that are not related to a skill
|Iterate through all direct war allies
|random_general_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_war_ally = { limit = { <triggers> } <effects> }
|character
|character
|character
|character
|-
|-
|random_heir
|every_war_enemy
|Heirs of the scoped character
|Iterate through all direct war enemies
|random_heir = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_war_enemy = { limit = { <triggers> } <effects> }
|character
|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
|-
|-
|random_heir_title
|ordered_alert_creatable_title
|Iterate through all landed titles character is heir to
|Iterate through all titles that can be created by the character. (only for alerts)
|random_heir_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|landed title
|landed title
|-
|-
|random_heir_to_title
|ordered_alert_usurpable_title
|Iterate through all titles the scoped character is heir to
|Iterate through all titles that can be usurped by the character. (only for alerts)
|random_heir_to_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|landed title
|landed title
|-
|-
|random_held_title
|ordered_ally
|Iterate through all held landed titles
|Iterate through all allies
|random_held_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_ally = {
|character
limit = { <triggers> }
|landed title
order_by = script_value
|-
position = int
|random_hired_mercenary
min = int
|Iterate through all hired mercenary companies
max = script_value
|random_hired_mercenary = { 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> }
|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
|character
|character
|-
|-
|random_hostile_raider
|ordered_ancestor
|Iterate through anyone the character is hostile to due to their top-liege's realm having been raided
|Iterate through all the ancestors of the scope character up to 5 generations
|random_hostile_raider = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|character
|-
|-
|random_intrigue_councillor
|ordered_army
|Iterate through all intrigue-based councillors
|Iterate through all armies
|random_intrigue_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_army = {
|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
|army
|-
|-
|random_knight
|ordered_character_to_title_neighboring_and_across_water_barony
|Iterate through all knights
|Scopes from a character to a neighboring barony (incl. across water, looking trough the de Jure lieges)
|random_knight = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_character_to_title_neighboring_and_across_water_barony = {
|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
|landed title
|-
|-
|random_known_secret
|ordered_character_to_title_neighboring_and_across_water_county
|Iterate through all secrets known by the character
|Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges)
|random_known_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|secret
|landed title
|-
|-
|random_learning_councillor
|ordered_character_to_title_neighboring_and_across_water_duchy
|Iterate through all learning-based councillors
|Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
|random_learning_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_character_to_title_neighboring_and_across_water_duchy = {
|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
|landed title
|-
|-
|random_liege_or_above
|ordered_character_to_title_neighboring_and_across_water_empire
|Iterate through all lieges above a character (skipping the character themselves)
|Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges)
|random_liege_or_above = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_character_to_title_neighboring_and_across_water_empire = {
|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
|landed title
|-
|-
|random_martial_councillor
|ordered_character_to_title_neighboring_and_across_water_kingdom
|Iterate through all martial-based councillors
|Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
|random_martial_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|landed title
|-
|ordered_character_to_title_neighboring_barony
|Scopes from a character to a neighboring barony (looking trough the de Jure lieges)
|ordered_character_to_title_neighboring_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
|character
|landed title
|-
|-
|random_neighboring_and_across_water_realm_same_rank_owner
|ordered_character_to_title_neighboring_county
|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)
|Scopes from a character to a neighboring county (looking trough the de Jure lieges)
|random_neighboring_and_across_water_realm_same_rank_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_character_to_title_neighboring_county = {
|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
|landed title
|-
|-
|random_neighboring_and_across_water_top_liege_realm
|ordered_character_to_title_neighboring_duchy
|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
|Scopes from a character to a neighboring duchy (looking trough the de Jure lieges)
|random_neighboring_and_across_water_top_liege_realm = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|landed title
|landed title
|-
|-
|random_neighboring_and_across_water_top_liege_realm_owner
|ordered_character_to_title_neighboring_empire
|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
|Scopes from a character to a neighboring empire (looking trough the de Jure lieges)
|random_neighboring_and_across_water_top_liege_realm_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_character_to_title_neighboring_empire = {
|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
|landed title
|-
|-
|random_neighboring_realm_same_rank_owner
|ordered_character_to_title_neighboring_kingdom
|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)
|Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges)
|random_neighboring_realm_same_rank_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_character_to_title_neighboring_kingdom = {
|character
limit = { <triggers> }
|character
order_by = script_value
|-
position = int
|random_neighboring_top_liege_realm
min = int
|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
max = script_value
|random_neighboring_top_liege_realm = { 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
<effects> }
|character
|character
|landed title
|landed title
|-
|-
|random_neighboring_top_liege_realm_owner
|ordered_character_war
|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
|Wars of the scoped character
|random_neighboring_top_liege_realm_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_character_war = {
|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
|war
|-
|-
|random_owned_story
|ordered_child
|Iterate through all owned stories for a character
|Iterate through all children
|random_owned_story = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_child = {
|character
limit = { <triggers> }
|story cycle
order_by = script_value
|-
position = int
|random_parent
min = int
|Iterate through all (both) parents
max = script_value
|random_parent = { 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
<effects> }
|character
|character
|character
|character
|-
|-
|random_patroned_holy_order
|ordered_claim
|Iterate through all holy orders that the scoped character is a patron of
|Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all
|random_patroned_holy_order = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|holy order
|landed title
|-
|-
|random_pinned_character
|ordered_close_family_member
|Iterate through characters this player has pinned
|Iterate through all the close family [father, mother, siblings, children, grandparents]
|random_pinned_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|character
|-
|-
|random_pinning_character
|ordered_close_or_extended_family_member
|Iterate through characters whose player has this character pinned
|Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins]
|random_pinning_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_close_or_extended_family_member = {
|character
limit = { <triggers> }
|character
order_by = script_value
|-
position = int
|random_player_heir
min = int
|Iterate through player heirs, capped at the first 10
max = script_value
|random_player_heir = { 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
<effects> }
|character
|character
|character
|character
|-
|-
|random_pool_guest
|ordered_concubine
|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 concubines
|random_pool_guest = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|character
|-
|-
|random_potential_marriage_option
|ordered_consort
|Iterate through all potential selectable marriage or betrohed options
|Iterate through all consorts (concubines and spouses)
|random_potential_marriage_option = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|character
|-
|-
|random_pretender_title
|ordered_councillor
|Iterate through all landed titles character is pretender to
|Iterate through all councillors
|random_pretender_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|landed title
|-
|-
|random_primary_war_enemy
|ordered_courtier
|Iterate through all primary war enemies
|Iterate through all courtiers
|random_primary_war_enemy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|character
|-
|-
|random_prisoner
|ordered_courtier_away
|Iterate through all prisoners
|Iterate through all courtiers that are away
|random_prisoner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|character
|-
|-
|random_prowess_councillor
|ordered_courtier_or_guest
|Iterate through all prowess-based councillors
|Iterate through all courtiers and guests (pool and foreign court guests)
|random_prowess_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|character
|-
|-
|random_raid_target
|ordered_de_jure_claim
|Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges
|Iterate through all de jure claims for a character
|random_raid_target = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_de_jure_claim = {
|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
|landed title
|-
|-
|random_realm_county
|ordered_diplomacy_councillor
|Iterate through all counties in the realm. Based on top liege
|Iterate through all diplomacy-based councillors
|random_realm_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|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
|character
|landed title
|-
|-
|random_realm_de_jure_empire
|ordered_directly_owned_province
|Iterate through all de jure empire that have at least one county in the realm. Based on top liege
|Iterate through all directly owned provinces
|random_realm_de_jure_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|landed title
|province
|-
|-
|random_realm_de_jure_kingdom
|ordered_election_title
|Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege
|Iterate through all titles the scoped character can vote on
|random_realm_de_jure_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|landed title
|landed title
|-
|-
|random_realm_province
|ordered_extended_family_member
|Iterate through all realm provinces of a character
|Iterate through all the extended family [uncles/aunts, nephew/niece, cousins]
|random_realm_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_extended_family_member = {
|character
limit = { <triggers> }
|province
order_by = script_value
|-
position = int
|random_relation
min = int
|Iterate through scripted relations of a given type or multiple types, if someone is multiple relations they will only be in the list once
max = script_value
|random_relation = { 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
<effects> }
|character
|character
|character
|character
|-
|-
|random_scheme
|ordered_foreign_court_guest
|Iterate through all schemes owned by the character
|Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege)
|random_scheme = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|scheme
|-
|random_secret
|Iterate through all secrets of the character
|random_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|secret
|-
|-
|random_sibling
|ordered_former_concubine
|Iterate through all siblings
|Iterate through all former concubines. Not persisted past death
|random_sibling = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|character
|-
|-
|random_spouse
|ordered_former_concubinist
|Iterate through all spouses
|Iterate through all former concubinists. Not persisted past death
|random_spouse = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_former_concubinist = {
|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> }
|character
|character
|-
|-
|random_spouse_candidate
|ordered_former_spouse
|Iterate through all the spouse candidates of a character. WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
|Iterate through all former spouses
|random_spouse_candidate = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|character
|-
|-
|random_stewardship_councillor
|ordered_general_councillor
|Iterate through all stewardship-based councillors
|Iterate through all councillors that are not related to a skill
|random_stewardship_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|character
|-
|-
|random_sub_realm_barony
|ordered_heir
|Iterate through all baronies in sub-realm
|Heirs of the scoped character
|random_sub_realm_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|landed title
|-
|random_sub_realm_county
|Iterate through all counties in sub-realm
|random_sub_realm_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|landed title
|-
|-
|random_sub_realm_duchy
|ordered_heir_title
|Iterate through all duchies in sub-realm
|Iterate through all landed titles character is heir to
|random_sub_realm_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|landed title
|landed title
|-
|-
|random_sub_realm_empire
|ordered_heir_to_title
|Iterate through all empires in sub-realm
|Iterate through all titles the scoped character is heir to
|random_sub_realm_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|landed title
|landed title
|-
|-
|random_sub_realm_kingdom
|ordered_held_title
|Iterate through all kingdoms in sub-realm
|Iterate through all held landed titles
|random_sub_realm_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|landed title
|landed title
|-
|-
|random_sub_realm_title
|ordered_hired_mercenary
|Iterate through all titles in sub-realm
|Iterate through all hired mercenary companies
|random_sub_realm_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|landed title
|mercenary company
|-
|-
|random_targeting_faction
|ordered_hooked_character
|Iterate through all factions targeting the scope character
|Iterate through all characters this character has a hook on
|random_targeting_faction = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|faction
|-
|random_targeting_scheme
|Iterate through all schemes targeting the character
|random_targeting_scheme = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|scheme
|-
|-
|random_targeting_secret
|ordered_hostile_raider
|Iterate through all secrets that target the specified scope
|Iterate through anyone the character is hostile to due to their top-liege's realm having been raided
|random_targeting_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_hostile_raider = {
|character
limit = { <triggers> }
|secret
order_by = script_value
|-
position = int
|random_traveling_family_member
min = int
|Iterate though all characters that should travel with the scoped one (when moving between courts for instance); includes the scoped character
max = script_value
|random_traveling_family_member = { 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
<effects> }
|character
|character
|character
|character
|-
|-
|random_truce_holder
|ordered_intrigue_councillor
|Iterate through all characters that have a truce on this character
|Iterate through all intrigue-based councillors
|random_truce_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|character
|-
|-
|random_truce_target
|ordered_knight
|Iterate through all characters this character has a truce on
|Iterate through all knights
|random_truce_target = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|character
|-
|-
|random_unspent_known_secret
|ordered_known_secret
|Iterate through all unspent secrets known by the character
|Iterate through all secrets known by the character
|random_unspent_known_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|secret
|secret
|-
|-
|random_vassal
|ordered_learning_councillor
|Iterate through all DIRECT vassals
|Iterate through all learning-based councillors
|random_vassal = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|character
|-
|-
|random_vassal_or_below
|ordered_liege_or_above
|Iterate through ALL vassals, not just direct vassals
|Iterate through all lieges above a character (skipping the character themselves)
|random_vassal_or_below = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|character
|-
|-
|random_war_ally
|ordered_martial_councillor
|Iterate through all direct war allies
|Iterate through all martial-based councillors
|random_war_ally = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|character
|-
|-
|random_war_enemy
|ordered_neighboring_and_across_water_realm_same_rank_owner
|Iterate through all direct war enemies
|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_war_enemy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|character
|character
|-
|-
|recalculate_scripted_relation
|ordered_neighboring_and_across_water_top_liege_realm
|Recalculates the effect of a scripted relation
|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
|recalculate_scripted_relation= friend
|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
|character
|
|landed title
|-
|-
|recruit_courtier
|ordered_neighboring_and_across_water_top_liege_realm_owner
|Recruits the target to become a courtier.
|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
|scope:liege = { recruit_courtier = scope:new_courtier }
|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
|character
|character
|-
|-
|refund_all_perks
|ordered_neighboring_realm_same_rank_owner
|Refunds all perks of the character. Example: refund_all_perks = yes
|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
|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
|
|-
|refund_perks
|Refunds all perks of the RHS lifestyle. Example: refund_perks = intrigue_lifestyle
|Unspecified
|character
|character
|
|-
|-
|release_from_prison
|ordered_neighboring_top_liege_realm
|releases the character from the prison, imprison = X, X is a boolean value
|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
|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
|character
|
|landed title
|-
|-
|remove_all_character_modifier_instances
|ordered_neighboring_top_liege_realm_owner
|Remove all instances of a modifier from a character
|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
|remove_all_character_modifier_instances = name
|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
|
|-
|remove_character_flag
|removes a character flag
|Unspecified
|character
|character
|
|-
|-
|remove_character_modifier
|ordered_owned_story
|Remove a modifier from a character
|Iterate through all owned stories for a character
|remove_character_modifier = name
|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
|character
|
|story cycle
|-
|-
|remove_claim
|ordered_parent
|removes an explicit (not from a living parent/grand parent) claim
|Iterate through all (both) parents
|Unspecified
|ordered_parent = {
|character
limit = { <triggers> }
|landed title
order_by = script_value
|-
position = int
|remove_concubine
min = int
|Removes the target character as a concubine of the scope 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
<effects> }
|character
|character
|character
|character
|-
|-
|remove_courtier_or_guest
|ordered_patroned_holy_order
|Removes the target character (guest or courtier) from the scope character's court
|Iterate through all holy orders that the scoped character is a patron of
|scope:host = { remove_courtier_or_guest = scope:guest } # move to pool, staying in same province
|ordered_patroned_holy_order = {
scope:host = {
limit = { <triggers> }
remove_courtier_or_guest = {
order_by = script_value
character = scope:guest
position = int
new_location = scope:some_province # optionally specify a new location
min = int
}
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> }
|character
|character
|holy order
|-
|-
|remove_decision_cooldown
|ordered_pinned_character
|Remove the cooldown on taking a decision for the scoped character
|Iterate through characters this player has pinned
|remove_decision_cooldown = decision_name
|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
|character
|
|-
|-
|remove_hook
|ordered_pinning_character
|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
|Iterate through characters whose player has this character pinned
|Unspecified
|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
|
|-
|remove_interaction_cooldown
|Remove the cooldown on using an interaction for the scoped character
|remove_interaction_cooldown = interaction_name
|character
|character
|
|-
|-
|remove_interaction_cooldown_against
|ordered_player_heir
|Remove the cooldown on using an interaction against the target character for the scoped character
|Iterate through player heirs, capped at the first 10
|remove_interaction_cooldown_against = { interaction = interaction_name target = character }
|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
|
|-
|remove_long_term_gold
|removes gold from a character (AI's long term budget)
|Unspecified
|character
|character
|
|-
|-
|remove_nickname
|ordered_pool_guest
|Removes any nickname from the current character [yes|no]
|Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege)
|Unspecified
|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
|
|-
|remove_opinion
|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
|Unspecified
|character
|character
|
|-
|-
|remove_perk
|ordered_potential_marriage_option
|Remove the perk for this character
|Iterate through all potential selectable marriage or betrohed options
|Unspecified
|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
|
|-
|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
|Unspecified
|character
|character
|
|-
|-
|remove_relation_best_friend
|ordered_pretender_title
|Removes scripted relationship
|Iterate through all landed titles character is pretender to
|Unspecified
|ordered_pretender_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> }
|character
|character
|landed title
|-
|-
|remove_relation_bully
|ordered_primary_war_enemy
|Removes scripted relationship
|Iterate through all primary war enemies
|Unspecified
|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
|character
|character
|-
|-
|remove_relation_court_physician
|ordered_prisoner
|Removes scripted relationship
|Iterate through all prisoners
|Unspecified
|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
|character
|character
|-
|-
|remove_relation_crush
|ordered_prowess_councillor
|Removes scripted relationship
|Iterate through all prowess-based councillors
|Unspecified
|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
|character
|character
|-
|-
|remove_relation_flag
|ordered_raid_target
|Removed a flag from an existing relation flag = flag_name (declared in scripted_relation) target = other_character relation = scripted_relation
|Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges
|Unspecified
|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
|character
|
|-
|-
|remove_relation_friend
|ordered_realm_county
|Removes scripted relationship
|Iterate through all counties in the realm. Based on top liege
|Unspecified
|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
|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
|character
|landed title
|-
|-
|remove_relation_guardian
|ordered_realm_de_jure_empire
|Removes scripted relationship
|Iterate through all de jure empire that have at least one county in the realm. Based on top liege
|Unspecified
|ordered_realm_de_jure_empire = {
|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
|landed title
|-
|-
|remove_relation_intrigue_mentor
|ordered_realm_de_jure_kingdom
|Removes scripted relationship
|Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege
|Unspecified
|<pre>
|character
ordered_realm_de_jure_kingdom = {
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects>
}
</pre>
|character
|character
|landed title
|-
|-
|remove_relation_intrigue_student
|ordered_realm_province
|Removes scripted relationship
|Iterate through all realm provinces of a character
|Unspecified
|ordered_realm_province = {
|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
|province
|-
|-
|remove_relation_lover
|ordered_relation
|Removes scripted relationship
|Iterate through scripted relations of a given type or multiple types, if someone is multiple relations they will only be in the list once
|Unspecified
|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
|character
|character
|-
|-
|remove_relation_mentor
|ordered_scheme
|Removes scripted relationship
|Iterate through all schemes owned by the character
|Unspecified
|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
|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
|character
|secret
|-
|-
|remove_relation_nemesis
|ordered_sibling
|Removes scripted relationship
|Iterate through all siblings
|Unspecified
|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
|character
|character
|-
|-
|remove_relation_oaf
|ordered_spouse
|Removes scripted relationship
|Iterate through all spouses
|Unspecified
|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
|character
|character
|-
|-
|remove_relation_potential_friend
|ordered_spouse_candidate
|Removes scripted relationship
|Iterate through all the spouse candidates of a character. WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
|Unspecified
|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
|character
|character
|-
|-
|remove_relation_potential_lover
|ordered_stewardship_councillor
|Removes scripted relationship
|Iterate through all stewardship-based councillors
|Unspecified
|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
|character
|character
|-
|-
|remove_relation_potential_rival
|ordered_sub_realm_barony
|Removes scripted relationship
|Iterate through all baronies in sub-realm
|Unspecified
|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
|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
|character
|landed title
|-
|-
|remove_relation_rival
|ordered_sub_realm_duchy
|Removes scripted relationship
|Iterate through all duchies in sub-realm
|Unspecified
|ordered_sub_realm_duchy = {
|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
|landed title
|-
|-
|remove_relation_soldier_friend
|ordered_sub_realm_empire
|Removes scripted relationship
|Iterate through all empires in sub-realm
|Unspecified
|ordered_sub_realm_empire = {
|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
|landed title
|-
|-
|remove_relation_soulmate
|ordered_sub_realm_kingdom
|Removes scripted relationship
|Iterate through all kingdoms in sub-realm
|Unspecified
|ordered_sub_realm_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> }
|character
|character
|landed title
|-
|-
|remove_relation_student
|ordered_sub_realm_title
|Removes scripted relationship
|Iterate through all titles in sub-realm
|Unspecified
|ordered_sub_realm_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> }
|character
|character
|landed title
|-
|-
|remove_relation_victim
|ordered_targeting_faction
|Removes scripted relationship
|Iterate through all factions targeting the scope character
|Unspecified
|ordered_targeting_faction = {
|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
|faction
|-
|-
|remove_relation_ward
|ordered_targeting_scheme
|Removes scripted relationship
|Iterate through all schemes targeting the character
|Unspecified
|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
|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
|character
|secret
|-
|-
|remove_scheme_cooldown_against
|ordered_traveling_family_member
|Remove the cooldown on using a scheme against the target character for the scoped character
|Iterate though all characters that should travel with the scoped one (when moving between courts for instance); includes the scoped character
|remove_scheme_cooldown_against = { scheme = scheme_name target = 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
|character
|
|-
|-
|remove_short_term_gold
|ordered_truce_holder
|removes gold from a character (AI's short term budget)
|Iterate through all characters that have a truce on this character
|Unspecified
|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
|
|-
|remove_trait
|Removes a trait from a character. Tooltip will not be shown if the character doesn't have the trait.
|Unspecified
|character
|character
|
|-
|-
|remove_trait_force_tooltip
|ordered_truce_target
|Removes a trait from a character. Tooltip will be shown even if the character doesn't have the trait.
|Iterate through all characters this character has a truce on
|Unspecified
|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
|
|-
|reset_beneficiary
|The target character stops having a beneficiary
|reset_beneficiary = yes
|character
|character
|
|-
|-
|return_to_court
|ordered_unspent_known_secret
|Returns the scope character to the employers court.
|Iterate through all unspent secrets known by the character
|Unspecified
|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
|character
|
|secret
|-
|-
|reverse_add_opinion
|ordered_vassal
|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.
|Iterate through all DIRECT vassals
|reverse_add_opinion = { modifier = X days/months/years = Y target = Z }
|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
|
|-
|scriptedtests_recalculate_character_modifier
|Recalculates the modifier of the scoped character
|Unspecified
|character
|character
|
|-
|-
|scriptedtests_recalculate_succession
|ordered_vassal_or_below
|Recalculates the line of succession of the scoped character
|Iterate through ALL vassals, not just direct vassals
|Unspecified
|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
|character
|
|-
|-
|send_interface_message
|ordered_war_ally
|Sends a message to the player playing the character in the scope and then executes any effects inside.
|Iterate through all direct war allies
For the message text and tooltip, $EFFECT$ contains the text description of the effects in the past tense.
|ordered_war_ally = {
And $DESC$ contains the text from the desc field.
limit = { <triggers> }
|send_interface_message = {
order_by = script_value
type = message_type # default: send_interface_message
position = int
title = LOCALIZATION # optional, otherwise takes it from the message type
min = int
desc = LOCALIZATION # optional, otherwise takes it from the message type
max = script_value
tooltip = LOCALIZATION # optional, otherwise takes it from the message type
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
left_icon = scope:recipient # optional, character or title
<effects> }
right_icon = scope:the_title # optional, character or title
|character
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
|character
|-
|-
|send_interface_toast
|ordered_war_enemy
|Sends a message to the player playing the character in the scope and then executes any effects inside.
|Iterate through all direct war enemies
For the message text and tooltip, $EFFECT$ contains the text description of the effects in the past tense.
|ordered_war_enemy = {
And $DESC$ contains the text from the desc field.
limit = { <triggers> }
send_interface_toast = {
order_by = script_value
type = message_type # default: send_interface_toast
position = int
title = LOCALIZATION # optional, otherwise takes it from the message type
min = int
desc = LOCALIZATION # optional, otherwise takes it from the message type
max = script_value
tooltip = LOCALIZATION # optional, otherwise takes it from the message type
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
left_icon = scope:recipient # optional, character or title
<effects> }
right_icon = scope:the_title # optional, character or title
|character
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
|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
|-
|-
|set_absolute_country_control
|random_alert_creatable_title
|Sets if this character has absolute country control, unlock_character_movement = yes/no/boolean event target
|Iterate through all titles that can be created by the character. (only for alerts)
|Unspecified
|random_alert_creatable_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|
|landed title
|-
|-
|set_beneficiary
|random_alert_usurpable_title
|The target character becomes the beneficiary of the scoped character. set_beneficiary = some character
|Iterate through all titles that can be usurped by the character. (only for alerts)
|Unspecified
|random_alert_usurpable_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|landed title
|-
|random_ally
|Iterate through all allies
|random_ally = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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.
|Unspecified
|character
|character
|faith
|-
|-
|set_character_faith_history
|random_ancestor
|Changes what faith a character has NOT executing the effects for it. USE ONLY IN HISOTRY SETUP!
|Iterate through all the ancestors of the scope character up to 5 generations
|Unspecified
|random_ancestor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|faith
|-
|-
|set_character_faith_with_conversion
|random_army
|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
|Iterate through all armies
|set_character_faith_with_conversion = faith:<religion>
|random_army = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|faith
|army
|-
|-
|set_child_of_concubine_on_pregnancy
|random_character_to_title_neighboring_and_across_water_barony
|Sets the child to be (or not be) a child of a concubine during pregnancy
|Scopes from a character to a neighboring barony (incl. across water, looking trough the de Jure lieges)
|Unspecified
|random_character_to_title_neighboring_and_across_water_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|
|landed title
|-
|-
|set_council_task
|random_character_to_title_neighboring_and_across_water_county
|Sets the task of the scope councillor { task_type = council_position_type_key target = for_targeted_tasks  }
|Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges)
|Unspecified
|random_character_to_title_neighboring_and_across_water_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|
|landed title
|-
|-
|set_culture
|random_character_to_title_neighboring_and_across_water_duchy
|Set the culture for this character
|Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
|Unspecified
|random_character_to_title_neighboring_and_across_water_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|culture
|landed title
|-
|-
|set_culture_same_as
|random_character_to_title_neighboring_and_across_water_empire
|Sets the culture of the character to be the same as the culture of the target
|Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges)
|Unspecified
|random_character_to_title_neighboring_and_across_water_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|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
|character
|landed title
|-
|-
|set_death_reason
|random_character_to_title_neighboring_barony
|sets the death reason and the killer of a dead character, set_death_reason = { killer = X death_reason = Y }, both parameters are optional
|Scopes from a character to a neighboring barony (looking trough the de Jure lieges)
|Unspecified
|random_character_to_title_neighboring_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|
|landed title
|-
|-
|set_default_education
|random_character_to_title_neighboring_county
|Set the default education focus for this character
|Scopes from a character to a neighboring county (looking trough the de Jure lieges)
|Unspecified
|random_character_to_title_neighboring_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|
|landed title
|-
|-
|set_designated_heir
|random_character_to_title_neighboring_duchy
|Sets the given character as designated heir
|Scopes from a character to a neighboring duchy (looking trough the de Jure lieges)
|Unspecified
|random_character_to_title_neighboring_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|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
|character
|landed title
|-
|-
|set_employer
|random_character_to_title_neighboring_kingdom
|Add the scope character to the target character's court
|Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges)
|Unspecified
|random_character_to_title_neighboring_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|landed title
|-
|random_character_war
|Wars of the scoped character
|random_character_war = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|war
|-
|-
|set_father
|random_child
|sets the father of a character
|Iterate through all children
|Unspecified
|random_child = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_focus
|random_claim
|Set the focus for this character
|Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all
|Unspecified
|random_claim = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|
|landed title
|-
|-
|set_house
|random_close_family_member
|Sets the dynasty house of the character
|Iterate through all the close family [father, mother, siblings, children, grandparents]
|Unspecified
|random_close_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|dynasty house
|-
|-
|set_immortal_age
|random_close_or_extended_family_member
|Changes what age the character became immortal at. Only works if already immortal
|Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins]
|set_immortal_age = 20
|random_close_or_extended_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|
|-
|-
|set_killer_public
|random_concubine
|Sets the scoped character's killer as being publicly known
|Iterate through all concubines
|set_killer_public = bool
|random_concubine = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|
|-
|set_known_bastard_on_pregnancy
|Sets the child to a known or unknown bastard during pregnancy
|Unspecified
|character
|character
|
|-
|-
|set_num_pregnancy_children
|random_consort
|Set the number of children
|Iterate through all consorts (concubines and spouses)
|Unspecified
|random_consort = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|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
|Unspecified
|character
|character
|
|-
|-
|set_player_character
|random_councillor
|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 councillors
|Unspecified
|random_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_pregnancy_assumed_father
|random_courtier
|Set the assumed father of the pregnancy
|Iterate through all courtiers
|Unspecified
|random_courtier = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_primary_spouse
|random_courtier_away
|Set the primary spouse of a character
|Iterate through all courtiers that are away
|set_primary_spouse = scope
|random_courtier_away = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_primary_title_to
|random_courtier_or_guest
|Sets the primary title for a character
|Iterate through all courtiers and guests (pool and foreign court guests)
|set_primary_title_to = <title>
|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
|character
|landed title
|landed title
|-
|-
|set_real_father
|random_diplomacy_councillor
|Changes the real father of the character scope
|Iterate through all diplomacy-based councillors
|Unspecified
|random_diplomacy_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|-
|random_directly_owned_province
|Iterate through all directly owned provinces
|random_directly_owned_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|province
|-
|-
|set_realm_capital
|random_election_title
|Set a new realm capital
|Iterate through all titles the scoped character can vote on
|character = { set_realm_capital = new_title }
|random_election_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|landed title
|landed title
|-
|-
|set_relation_best_friend
|random_extended_family_member
|Sets scripted relationship
|Iterate through all the extended family [uncles/aunts, nephew/niece, cousins]
|Unspecified
|random_extended_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_relation_bully
|random_foreign_court_guest
|Sets scripted relationship
|Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege)
|Unspecified
|random_foreign_court_guest = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_relation_court_physician
|random_former_concubine
|Sets scripted relationship
|Iterate through all former concubines. Not persisted past death
|Unspecified
|random_former_concubine = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_relation_crush
|random_former_concubinist
|Sets scripted relationship
|Iterate through all former concubinists. Not persisted past death
|Unspecified
|random_former_concubinist = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_relation_friend
|random_former_spouse
|Sets scripted relationship
|Iterate through all former spouses
|Unspecified
|random_former_spouse = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_relation_guardian
|random_general_councillor
|Sets scripted relationship
|Iterate through all councillors that are not related to a skill
|Unspecified
|random_general_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_relation_intrigue_mentor
|random_heir
|Sets scripted relationship
|Heirs of the scoped character
|Unspecified
|random_heir = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_relation_intrigue_student
|random_heir_title
|Sets scripted relationship
|Iterate through all landed titles character is heir to
|Unspecified
|random_heir_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|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
|character
|landed title
|-
|-
|set_relation_lover
|random_held_title
|Sets scripted relationship
|Iterate through all held landed titles
|Unspecified
|random_held_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|landed title
|-
|random_hired_mercenary
|Iterate through all hired mercenary companies
|random_hired_mercenary = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|mercenary company
|-
|-
|set_relation_mentor
|random_hooked_character
|Sets scripted relationship
|Iterate through all characters this character has a hook on
|Unspecified
|random_hooked_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_relation_nemesis
|random_hostile_raider
|Sets scripted relationship
|Iterate through anyone the character is hostile to due to their top-liege's realm having been raided
|Unspecified
|random_hostile_raider = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_relation_oaf
|random_intrigue_councillor
|Sets scripted relationship
|Iterate through all intrigue-based councillors
|Unspecified
|random_intrigue_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_relation_potential_friend
|random_knight
|Sets scripted relationship
|Iterate through all knights
|Unspecified
|random_knight = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_relation_potential_lover
|random_known_secret
|Sets scripted relationship
|Iterate through all secrets known by the character
|Unspecified
|random_known_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|secret
|-
|-
|set_relation_potential_rival
|random_learning_councillor
|Sets scripted relationship
|Iterate through all learning-based councillors
|Unspecified
|random_learning_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_relation_rival
|random_liege_or_above
|Sets scripted relationship
|Iterate through all lieges above a character (skipping the character themselves)
|Unspecified
|random_liege_or_above = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_relation_soldier_friend
|random_martial_councillor
|Sets scripted relationship
|Iterate through all martial-based councillors
|Unspecified
|random_martial_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_relation_soulmate
|random_neighboring_and_across_water_realm_same_rank_owner
|Sets scripted relationship
|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
|random_neighboring_and_across_water_realm_same_rank_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_relation_student
|random_neighboring_and_across_water_top_liege_realm
|Sets scripted relationship
|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
|Unspecified
|random_neighboring_and_across_water_top_liege_realm = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|landed title
|-
|-
|set_relation_victim
|random_neighboring_and_across_water_top_liege_realm_owner
|Sets scripted relationship
|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
|random_neighboring_and_across_water_top_liege_realm_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_relation_ward
|random_neighboring_realm_same_rank_owner
|Sets scripted relationship
|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
|random_neighboring_realm_same_rank_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|set_sexuality
|random_neighboring_top_liege_realm
|Sets the sexuality of the character
|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
|random_neighboring_top_liege_realm = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|
|landed title
|-
|-
|set_to_lowborn
|random_neighboring_top_liege_realm_owner
|Set the character to lowborn
|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
|random_neighboring_top_liege_realm_owner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|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'
|Unspecified
|character
|character
|
|-
|-
|spawn_army
|random_owned_story
|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 owned stories for a character
|spawn_army = {
|random_owned_story = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
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
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
|character
|
|story cycle
|-
|-
|start_default_task
|random_parent
|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 (both) parents
|Unspecified
|random_parent = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|
|-
|-
|start_scheme
|random_patroned_holy_order
|starts a scheme  = { type = X target = Y }
|Iterate through all holy orders that the scoped character is a patron of
|Unspecified
|random_patroned_holy_order = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|
|holy order
|-
|-
|start_war
|random_pinned_character
|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 characters this player has pinned
|start_war = { casus_belli/cb = X target = Y claimant = Z target_title = W1 target_title = W2 ... }
|random_pinned_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|
|-
|-
|stress_impact
|random_pinning_character
|Stress impact according to specified traits (trait = value), use base = value for a base value that's always added
|Iterate through characters whose player has this character pinned
|Unspecified
|random_pinning_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|
|-
|-
|use_hook
|random_player_heir
|Uses a hook a character has (removes if weak, puts on cooldown if strong)
|Iterate through player heirs, capped at the first 10
|use_hook = some_character
|random_player_heir = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|vassal_contract_decrease_obligation_level
|random_pool_guest
|decrease the obligation level of the scoped character's vassal contract
|Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege)
|Unspecified
|random_pool_guest = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|
|-
|-
|vassal_contract_increase_obligation_level
|random_potential_marriage_option
|increase the obligation level of the scoped character's vassal contract
|Iterate through all potential selectable marriage or betrohed options
|Unspecified
|random_potential_marriage_option = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|
|-
|-
|vassal_contract_set_obligation_level
|random_pretender_title
|change the obligation level of the scoped character's vassal contract
|Iterate through all landed titles character is pretender to
|vassal_contract_set_obligation_level = { type = name level = 1 } # index to obligation level
|random_pretender_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
vassal_contract_set_obligation_level = { type = name level = feudal_obligation_low }
|character
|character
|
|landed title
|-
|-
|visit_court_of
|random_primary_war_enemy
|Add the scope character as the target character's guest
|Iterate through all primary war enemies
|Unspecified
|random_primary_war_enemy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|character
|character
|character
|character
|-
|-
|add_faction_discontent
|random_prisoner
|add_faction_discontent = X adds (or subtracts) discontent to the scope faction
|Iterate through all prisoners
|Unspecified
|random_prisoner = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|faction
|character
|
|character
|-
|-
|destroy_faction
|random_prowess_councillor
|the scope faction is destoryed [yes|no]
|Iterate through all prowess-based councillors
|Unspecified
|random_prowess_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|faction
|character
|
|character
|-
|-
|every_faction_county_member
|random_raid_target
|Iterate through all faction county members
|Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges
|every_faction_county_member = { limit = { <triggers> } <effects> }
|random_raid_target = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|faction
|character
|landed title
|character
|-
|-
|every_faction_member
|random_realm_county
|Iterate through all faction character members
|Iterate through all counties in the realm. Based on top liege
|every_faction_member = { limit = { <triggers> } <effects> }
|random_realm_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|faction
|character
|character
|landed title
|-
|-
|faction_remove_war
|random_realm_de_jure_duchy
|Removes the war currently associated with the faction
|Iterate through all de jure duchies that have at least one county in the realm. Based on top liege
|faction_remove_war = yes
|random_realm_de_jure_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|faction
|character
|
|landed title
|-
|-
|faction_start_war
|random_realm_de_jure_empire
|The scope faction starts the war agains their target.
|Iterate through all de jure empire that have at least one county in the realm. Based on top liege
|faction_start_war = {
|random_realm_de_jure_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
   title = [optional]
|character
}
|landed title
|faction
|-
|-
|ordered_faction_county_member
|random_realm_de_jure_kingdom
|Iterate through all faction county members
|Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege
|ordered_faction_county_member = {
|random_realm_de_jure_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
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> }
|faction
|landed title
|landed title
|-
|-
|ordered_faction_member
|random_realm_province
|Iterate through all faction character members
|Iterate through all realm provinces of a character
|ordered_faction_member = {
|random_realm_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|character
|province
|-
|-
|random_faction_county_member
|random_relation
|Iterate through all faction county members
|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_faction_county_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|random_relation = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|faction
|character
|landed title
|character
|-
|-
|random_faction_member
|random_scheme
|Iterate through all faction character members
|Iterate through all schemes owned by the character
|random_faction_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|random_scheme = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|faction
|character
|character
|scheme
|-
|-
|remove_special_character
|random_secret
|Removes the special character for the scope faction
|Iterate through all secrets of the character
|Unspecified
|random_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|faction
|character
|
|secret
|-
|-
|remove_special_title
|random_sibling
|Removes the special character for the scope faction
|Iterate through all siblings
|Unspecified
|random_sibling = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|faction
|character
|
|character
|-
|-
|set_special_character
|random_spouse
|Sets the special character for the scope faction
|Iterate through all spouses
|Unspecified
|random_spouse = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|faction
|character
|character
|character
|-
|-
|set_special_title
|random_spouse_candidate
|Sets the special title for the scope faction
|Iterate through all the spouse candidates of a character. WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
|Unspecified
|random_spouse_candidate = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|faction
|character
|landed title
|-
|add_attacker
|adds the target character to the scope war as an attacker
|Unspecified
|war
|character
|character
|-
|-
|add_defender
|random_stewardship_councillor
|adds the target character to the scope war as a defender
|Iterate through all stewardship-based councillors
|Unspecified
|random_stewardship_councillor = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|war
|character
|character
|character
|-
|-
|end_war
|random_sub_realm_barony
|ends the war with the specified winner, end_war = attacker/defender/white_peace
|Iterate through all baronies in sub-realm
|Unspecified
|random_sub_realm_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|war
|character
|
|landed title
|-
|-
|every_war_attacker
|random_sub_realm_county
|Iterate through all attackers in the war
|Iterate through all counties in sub-realm
|every_war_attacker = { limit = { <triggers> } <effects> }
|random_sub_realm_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|war
|character
|character
|landed title
|-
|-
|every_war_defender
|random_sub_realm_duchy
|Iterate through all defenders in the war
|Iterate through all duchies in sub-realm
|every_war_defender = { limit = { <triggers> } <effects> }
|random_sub_realm_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|war
|character
|character
|landed title
|-
|-
|every_war_participant
|random_sub_realm_empire
|Iterate through all participants in the war
|Iterate through all empires in sub-realm
|every_war_participant = { limit = { <triggers> } <effects> }
|random_sub_realm_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|war
|character
|character
|landed title
|-
|-
|ordered_war_attacker
|random_sub_realm_kingdom
|Iterate through all attackers in the war
|Iterate through all kingdoms in sub-realm
|ordered_war_attacker = {
|random_sub_realm_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|character
|landed title
|-
|-
|ordered_war_defender
|random_sub_realm_title
|Iterate through all defenders in the war
|Iterate through all titles in sub-realm
|ordered_war_defender = {
|random_sub_realm_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|character
|landed title
|-
|-
|ordered_war_participant
|random_targeting_faction
|Iterate through all participants in the war
|Iterate through all factions targeting the scope character
|ordered_war_participant = {
|random_targeting_faction = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|character
|faction
|-
|-
|random_war_attacker
|random_targeting_scheme
|Iterate through all attackers in the war
|Iterate through all schemes targeting the character
|random_war_attacker = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|random_targeting_scheme = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|war
|character
|character
|scheme
|-
|-
|random_war_defender
|random_targeting_secret
|Iterate through all defenders in the war
|Iterate through all secrets that target the specified scope
|random_war_defender = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|random_targeting_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|war
|character
|character
|secret
|-
|-
|random_war_participant
|random_traveling_family_member
|Iterate through all participants in the war
|Iterate though all characters that should travel with the scoped one (when moving between courts for instance); includes the scoped character
|random_war_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|random_traveling_family_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|war
|character
|character
|character
|-
|-
|remove_participant
|random_truce_holder
|removes the target character from the scope war
|Iterate through all characters that have a truce on this character
|Unspecified
|random_truce_holder = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|war
|character
|character
|character
|-
|-
|set_called_to
|random_truce_target
|sets the target character as already called to the scope war
|Iterate through all characters this character has a truce on
|Unspecified
|random_truce_target = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|war
|character
|character
|character
|-
|-
|set_casus_belli
|random_unspent_known_secret
|sets the casus belli of the scope war
|Iterate through all unspent secrets known by the character
|Unspecified
|random_unspent_known_secret = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|war
|character
|
|secret
|-
|-
|activate_holy_site
|random_vassal
|Activate an inactive holy site<faith_scope> = { activate_holy_site = <holy_site_name> }
|Iterate through all DIRECT vassals
|Unspecified
|random_vassal = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|faith
|character
|
|character
|-
|-
|add_doctrine
|random_vassal_or_below
|Add doctrine to faith<faith_scope> = { add_doctrine = <doctrine_name> }
|Iterate through ALL vassals, not just direct vassals
|Unspecified
|random_vassal_or_below = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|faith
|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
|
|
|-
|-
|change_fervor
|destroy_faction
|Changes the fervor of the faith by the given value
|the scope faction is destoryed [yes|no]
|change_fervor = script value
|Unspecified
|faith
|faction
|
|
|-
|-
|every_defensive_great_holy_wars
|every_faction_county_member
|Iterate through all great holy wars this faith is defending against
|Iterate through all faction county members
|every_defensive_great_holy_wars = { limit = { <triggers> } <effects> }
|every_faction_county_member = { limit = { <triggers> } <effects> }
|faith
|faction
|great holy war
|landed title
|-
|-
|every_faith_holy_order
|every_faction_member
|Iterate through all holy orders of the faith
|Iterate through all faction character members
|every_faith_holy_order = { limit = { <triggers> } <effects> }
|every_faction_member = { limit = { <triggers> } <effects> }
|faith
|faction
|holy order
|character
|-
|-
|every_holy_site
|faction_remove_war
|Iterate through all holy site baronies of a faith
|Removes the war currently associated with the faction
|every_holy_site = { limit = { <triggers> } <effects> }
|faction_remove_war = yes
|faith
|faction
|landed title
|
|-
|-
|ordered_defensive_great_holy_wars
|faction_start_war
|Iterate through all great holy wars this faith is defending against
|The scope faction starts the war agains their target.
|ordered_defensive_great_holy_wars = {
|faction_start_war = {
limit = { <triggers> }
   title = [optional]
order_by = script_value
}
position = int
|faction
min = int
max = 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_holy_order
|ordered_faction_county_member
|Iterate through all holy orders of the faith
|Iterate through all faction county members
|ordered_faith_holy_order = {
|ordered_faction_county_member = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,155行: 第5,406行:
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> }
|faith
|faction
|holy order
|landed title
|-
|-
|ordered_holy_site
|ordered_faction_member
|Iterate through all holy site baronies of a faith
|Iterate through all faction character members
|ordered_holy_site = {
|ordered_faction_member = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,168行: 第5,419行:
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> }
|faith
|faction
|landed title
|character
|-
|-
|random_defensive_great_holy_wars
|random_faction_county_member
|Iterate through all great holy wars this faith is defending against
|Iterate through all faction county members
|random_defensive_great_holy_wars = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|random_faction_county_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|faith
|faction
|great holy war
|landed title
|-
|-
|random_faith_holy_order
|random_faction_member
|Iterate through all holy orders of the faith
|Iterate through all faction character members
|random_faith_holy_order = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|random_faction_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|faith
|faction
|holy order
|character
|-
|-
|random_holy_site
|remove_special_character
|Iterate through all holy site baronies of a faith
|Removes the special character for the scope faction
|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
|Unspecified
|faith
|faction
|
|
|-
|-
|remove_religious_head_title
|remove_special_title
|Removes the religious head title of the faith
|Removes the special character for the scope faction
|remove_religious_head_title = yes
|Unspecified
|faith
|faction
|
|
|-
|-
|set_religious_head_title
|set_special_character
|Sets the religious head title of the faith to the given title.
|Sets the special character for the scope faction
|set_religious_head_title = scope
|Unspecified
|faith
|faction
|landed title
|character
|-
|-
|start_great_holy_war
|set_special_title
|Starts a great holy war.
|Sets the special title for the scope faction
|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}
|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
|Activate an inactive holy site<faith_scope> = { activate_holy_site = <holy_site_name> }
|Unspecified
|faith
|faith
|
|
|-
|-
|set_add_claim_on_loss
|add_doctrine
|if set, any title losses will result in claims being added to the previous holder
|Add doctrine to faith<faith_scope> = { add_doctrine = <doctrine_name> }
|Unspecified
|Unspecified
|title and vassal change
|faith
|
|
|-
|-
|set_title_and_vassal_change_type
|change_fervor
|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,
|Changes the fervor of the faith by the given value
|set_title_and_vassal_change_type = [type]
|change_fervor = script value
|title and vassal change
|faith
|
|
|-
|-
|add_secret_participant
|every_defensive_great_holy_wars
|Adds an participant to the secret
|Iterate through all great holy wars this faith is defending against
|Unspecified
|every_defensive_great_holy_wars = { limit = { <triggers> } <effects> }
|secret
|faith
|character
|great holy war
|-
|-
|disable_exposure_by
|every_faith_holy_order
|Forbids the target character from exposing the secret
|Iterate through all holy orders of the faith
|disable_exposure_by = target_character
|every_faith_holy_order = { limit = { <triggers> } <effects> }
|secret
|faith
|character
|holy order
|-
|-
|every_secret_knower
|every_holy_site
|Iterate through all characters who know the secret
|Iterate through all holy site baronies of a faith
|every_secret_knower = { limit = { <triggers> } <effects> }
|every_holy_site = { limit = { <triggers> } <effects> }
|secret
|faith
|character
|landed title
|-
|-
|every_secret_participant
|ordered_defensive_great_holy_wars
|Iterate through participants in a secret
|Iterate through all great holy wars this faith is defending against
|every_secret_participant = { limit = { <triggers> } <effects> }
|ordered_defensive_great_holy_wars = {
|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> }
|faith
|great holy war
|-
|-
|expose_secret
|ordered_faith_holy_order
|Exposes the scope secret
|Iterate through all holy orders of the faith
|Unspecified
|ordered_faith_holy_order = {
|secret
|character
|-
|ordered_secret_knower
|Iterate through all characters who know the secret
|ordered_secret_knower = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,265行: 第5,527行:
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> }
|secret
|faith
|character
|holy order
|-
|-
|ordered_secret_participant
|ordered_holy_site
|Iterate through participants in a secret
|Iterate through all holy site baronies of a faith
|ordered_secret_participant = {
|ordered_holy_site = {
limit = { <triggers> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,278行: 第5,540行:
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> }
|secret
|faith
|character
|landed title
|-
|-
|random_secret_knower
|random_defensive_great_holy_wars
|Iterate through all characters who know the secret
|Iterate through all great holy wars this faith is defending against
|random_secret_knower = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|random_defensive_great_holy_wars = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|secret
|faith
|character
|great holy war
|-
|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_secret_participant
|random_holy_site
|Iterate through participants in a secret
|Iterate through all holy site baronies of a faith
|random_secret_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|random_holy_site = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|secret
|faith
|character
|landed title
|-
|-
|remove_secret
|remove_doctrine
|Removes the scope secret
|Remove doctrine from faith<faith_scope> = { remove_doctrine = <doctrine_name> }
|Unspecified
|Unspecified
|secret
|faith
|
|
|-
|-
|reveal_to
|remove_religious_head_title
|Reveals the scope secret to the target character
|Removes the religious head title of the faith
|Unspecified
|remove_religious_head_title = yes
|secret
|faith
|character
|
|-
|-
|set_secret_owner
|set_religious_head_title
|Sets a new owner for the secret
|Sets the religious head title of the faith to the given title.
|Unspecified
|set_religious_head_title = scope
|secret
|faith
|character
|landed title
|-
|-
|spend_by
|start_great_holy_war
|Spends the scope secret
|Starts a great holy war.
|spend_by = target_character
|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}
|secret
|faith
|character
|-
|generate_coa
|Generates a coat of arms for the scoped landed title, dynasty or house
|generate_coa = yes
|landed title, dynasty, dynasty house
|
|
|}
=== 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
|-
|-
|reset_coa
|accept_invitation_for_character
|Rest the coat of arms for the scoped landed title, dynasty or house to its template
|accept a characters invitation to the activity
|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_building
|Add building to the province<province> = { add_building = <building_name> }
|Unspecified
|Unspecified
|province
|activity
|
|character
|-
|-
|add_building_slot
|decline_invitation_for_character
|Add building slot to the province
|decline a characters invitation to the activity
|Unspecified
|Unspecified
|province
|activity
|
|character
|-
|-
|add_province_modifier
|every_activity_declined
|Add a modifier to a province
|Iterate through all characters who declined an activity invite to a specific activity
|add_province_modifier = name
|every_activity_declined = { limit = { <triggers> } <effects> }
add_province_modifier = { modifier = name days/weeks/months/years = int }
|activity
|province
|character
|
|-
|-
|add_special_building
|every_activity_invited
|Add a special building to the province (will also add/change a special slot if needed)
|Iterate through all characters who have unanswered invites to a specific activity
|Unspecified
|every_activity_invited = { limit = { <triggers> } <effects> }
|province
|activity
|
|character
|-
|-
|add_special_building_slot
|every_participant
|Add a special building slot to the province<province> = { add_special_building_slot = <building_name> }
|Iterate through all participants in an activity
|Unspecified
|every_participant = { limit = { <triggers> } <effects> }
|province
|activity
|
|character
|-
|-
|refill_garrison
|invite_character_to_activity
|The scoped province gets its garrison refilled. refill_levy = yes/no
|invite a character to the activity
|Unspecified
|Unspecified
|province
|activity
|
|character
|-
|-
|refill_levy
|ordered_activity_declined
|The scoped province gets its levy refilled
|Iterate through all characters who declined an activity invite to a specific activity
|refill_levy = yes/no
|ordered_activity_declined = {
|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> }
|activity
|character
|-
|-
|remove_all_province_modifier_instances
|ordered_activity_invited
|Remove all instances of a modifier from a province
|Iterate through all characters who have unanswered invites to a specific activity
|remove_all_province_modifier_instances = name
|ordered_activity_invited = {
|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.
|set_holding_type = holding_typr
|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
|Unspecified
|province
|
|-
|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> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,419行: 第5,655行:
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> }
|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
|-
|accept_invitation_for_character
|accept a characters invitation to the activity
|Unspecified
|activity
|activity
|character
|character
|-
|-
|decline_invitation_for_character
|ordered_participant
|decline a characters invitation to the activity
|Iterate through all participants in an activity
|Unspecified
|ordered_participant = {
|activity
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|character
|-
|-
|every_activity_declined
|random_activity_declined
|Iterate through all characters who declined an activity invite to a specific activity
|Iterate through all characters who declined an activity invite to a specific activity
|every_activity_declined = { limit = { <triggers> } <effects> }
|random_activity_declined = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|activity
|activity
|character
|character
|-
|-
|every_activity_invited
|random_activity_invited
|Iterate through all characters who have unanswered invites to a specific activity
|Iterate through all characters who have unanswered invites to a specific activity
|every_activity_invited = { limit = { <triggers> } <effects> }
|random_activity_invited = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|activity
|activity
|character
|character
|-
|-
|every_participant
|random_participant
|Iterate through all participants in an activity
|Iterate through all participants in an activity
|every_participant = { limit = { <triggers> } <effects> }
|random_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|activity
|activity
|character
|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
|-
|-
|invite_character_to_activity
|assign_commander
|invite a character to the activity
|Assign a commander for the scoped army
|Unspecified
|assign_commander = scope:a_character
|activity
|army
|character
|character
|-
|-
|ordered_activity_declined
|remove_commander
|Iterate through all characters who declined an activity invite to a specific activity
|Removes the currently assigned commander from the scoped army
|ordered_activity_declined = {
|remove_commander = yes
limit = { <triggers> }
|army
order_by = script_value
|
position = int
|}
min = int
 
max = script_value
=== From 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
The following effects are only usable in the great holy war scope.
<effects> }
{| class="wikitable sortable" width="100%"
|activity
! width="15%" | Name
|character
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|ordered_activity_invited
|change_war_chest_gold
|Iterate through all characters who have unanswered invites to a specific activity
|Changes the amount of gold in the war chest by the given amount
|ordered_activity_invited = {
|change_war_chest_gold = script value
limit = { <triggers> }
|great holy war
order_by = script_value
|
position = int
min = int
max = 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
|change_war_chest_piety
|Iterate through all participants in an activity
|Changes the amount of piety in the war chest by the given amount
|ordered_participant = {
|change_war_chest_piety = script value
limit = { <triggers> }
|great holy war
order_by = script_value
|
position = int
min = int
max = 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
|change_war_chest_prestige
|Iterate through all characters who declined an activity invite to a specific activity
|Changes the amount of prestige in the war chest by the given amount
|random_activity_declined = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|change_war_chest_prestige = script value
|activity
|great holy war
|character
|
|-
|-
|random_activity_invited
|divide_war_chest
|Iterate through all characters who have unanswered invites to a specific activity
|The scoped GHW gives out its war-chest in full or in part.
|random_activity_invited = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|divide_war_chest = {
|activity
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
|character
|-
|-
|random_participant
|every_pledged_defender
|Iterate through all participants in an activity
|Iterate through all pledged defenders within a great holy war
|random_participant = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|every_pledged_defender = { limit = { <triggers> } <effects> }
|activity
|great holy war
|character
|character
|-
|-
|add_from_contribution_attackers
|ordered_pledged_attacker
|Adds prestige, gold and piety based on contribution to allied attackers. parameters: prestige, gold, piety.
|Iterate through all pledged attackers within a great holy war
|Unspecified
|ordered_pledged_attacker = {
|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> }
|great holy war
|character
|-
|-
|add_from_contribution_defenders
|ordered_pledged_defender
|Adds prestige, gold and piety based on contribution to allied defenders. parameters: prestige, gold, piety.
|Iterate through all pledged defenders within a great holy war
|Unspecified
|ordered_pledged_defender = {
|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> }
limit = { <triggers> }
order_by = script_value
order_by = script_value
第5,549行: 第5,792行:
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> }
|casus belli
|great holy war
|landed title
|character
|-
|-
|random_target_title
|pledge_attacker
|Iterate through all casus belli's target titles
|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
|random_target_title = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|Unspecified
|casus belli
|great holy war
|landed title
|character
|-
|-
|assign_commander
|pledge_defender
|Assign a commander for the scoped army
|The target character pledges themselves as a defender in the GHW. Must be of the same faith as the GHW target.
|assign_commander = scope:a_character
|pledge_defender = some character
|army
|great holy war
|character
|character
|-
|-
|remove_commander
|random_pledged_attacker
|Removes the currently assigned commander from the scoped army
|Iterate through all pledged attackers within a great holy war
|remove_commander = yes
|random_pledged_attacker = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|army
|great holy war
|
|character
|-
|-
|add_diplomacy_skill
|random_pledged_defender
|Adds diplomacy skill
|Iterate through all pledged defenders within a great holy war
|Unspecified
|random_pledged_defender = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|none
|great holy war
|
|character
|-
|-
|add_focus_progress
|reset_designated_winner
|Adds focus progress
|The GHW stops having a designated winner
|Unspecified
|reset_designated_winner = yes
|none
|great holy war
|
|
|-
|-
|add_internal_flag
|set_designated_winner
|adds effect to be read internally (no effect in the gamestate)
|The target character becomes the designated winner of the GHW.
|Unspecified
|set_designated_winner = some character
|none
|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
|
|
|-
|-
|add_intrigue_skill
|set_war_declarer
|Adds intrigue skill
|The target character becomes the character that should declare war instead of the religious head
|Unspecified
|set_war_declarer = some character
|none
|great holy war
|
|character
|-
|-
|add_learning_skill
|start_ghw_war
|Adds learning skill
|Starts the GHW war
|Unspecified
|start_ghw_war = undirected_great_holy_war
|none
|great holy war
|
|
|-
|-
|add_martial_skill
|unpledge_attacker
|Adds martial skill
|The target character removes their pledge as an attacker in the GHW. unpledge_attacker = some character
|Unspecified
|Unspecified
|none
|great holy war
|
|character
|-
|-
|add_prowess_skill
|unpledge_defender
|Adds prowess skill
|The target character removes their pledge as a defender in the GHW
|Unspecified
|unpledge_defender = some character
|none
|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
|
|
|-
|-
|add_stewardship_skill
|every_side_commander
|Adds stewardship skill
|Iterate through all commanders (the commanders of every army on the side, not just the one leading the battle)
|Unspecified
|every_side_commander = { limit = { <triggers> } <effects> }
|none
|combat side
|
|character
|-
|-
|add_title_law
|every_side_knight
|add law to scoped title, overriding any current law from the same group. DOES NOT apply law change costs and effects.
|Iterate through all knights
|add_title_law = princely_elective_succession_law
|every_side_knight = { limit = { <triggers> } <effects> }
|none
|combat side
|
|character
|-
|-
|add_title_law_effects
|lose_combat
|Add law to scoped title, overriding any current law from the same group. DOES apply law change costs and effects.
|ends the combat as the losing side (doesn't end the combat if evaluated to false)
|Unspecified
|Unspecified
|none
|combat side
|
|
|-
|-
|add_to_global_variable_list
|ordered_side_commander
|Adds the event target to a variable list. X is the name of the variable. Y is an event target.
|Iterate through all commanders (the commanders of every army on the side, not just the one leading the battle)
|add_to_variable_list = { name = X target = Y }
|ordered_side_commander = {
|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> }
|combat side
|character
|-
|-
|add_to_list
|ordered_side_knight
|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 all knights
|add_to_list = <string> NOTE, if adding a permanent target to a temporary list, the whole list becomes permanent
|ordered_side_knight = {
|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> }
|combat side
|character
|-
|-
|add_to_local_variable_list
|random_side_commander
|Adds the event target to a variable list. X is the name of the variable. Y is an event target.
|Iterate through all commanders (the commanders of every army on the side, not just the one leading the battle)
|add_to_variable_list = { name = X target = Y }
|random_side_commander = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|none
|combat side
|
|character
|-
|-
|add_to_temporary_list
|random_side_knight
|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 knights
|add_to_temporary_list = <string> NOTE, if adding a temporary target to a permanent list, the list will stay permanent
|random_side_knight = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|none
|combat side
|
|character
|-
|-
|add_to_variable_list
|win_combat
|Adds the event target to a variable list. X is the name of the variable. Y is an event target.
|ends the combat as the winning side (doesn't end the combat if evaluated to false)
|add_to_variable_list = { name = X target = Y }
|Unspecified
|none
|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
|-
|-
|assert_if
|add_from_contribution_attackers
|Conditionally cause an assert during run time, X is a trigger and Y is an optional string
|Adds prestige, gold and piety based on contribution to allied attackers. parameters: prestige, gold, piety.
|assert_if = { limit = { X } text = Y }
|Unspecified
|none
|casus belli
|
|
|-
|-
|assert_read
|add_from_contribution_defenders
|Conditionally cause an assert during read time
|Adds prestige, gold and piety based on contribution to allied defenders. parameters: prestige, gold, piety.
|assert_read = X, 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
|-
|break_if
|conditionally break execution of effects, break_if = { X }, X is a trigger
|Unspecified
|Unspecified
|none
|casus belli
|
|
|-
|-
|change_global_variable
|every_target_title
|Changes the value or a numeric variable
|Iterate through all casus belli's target titles
Where X is the name of the numeric variable to modify
|every_target_title = { limit = { <triggers> } <effects> }
Where the valid operations are add, subtract, multiply, divide and modulo
|casus belli
Y is a fixed point value, script value or event target of a value type
|landed title
|change_variable = { name = X operation = Y }
|none
|
|-
|-
|change_local_variable
|ordered_target_title
|Changes the value or a numeric variable
|Iterate through all casus belli's target titles
Where X is the name of the numeric variable to modify
|ordered_target_title = {
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> }
|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
 
|}
 
=== Shared/other ===
 
{| class="wikitable sortable" width="100%"
! width="15%" | Name
! width="15%" | Description
! width="25%" | Usage
! width="20%" | Supported scopes
! width="20%" | Supported targets
|-
|-
|change_title_holder
|add_relation_flag
|Changes Title Holder.
|Adds a flag to an existing relation
holder = 'Character that should get the title'
|<pre>add_relation_flag = {
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.
  relation = scripted_relation
|change_title_holder = {
  flag = flag_name (declared in the relation's script)
holder =
  target = other_character
change =
}
}
|none
</pre>
|
|
|character
|-
|-
|change_title_holder_include_vassals
|set_add_claim_on_loss
|Changes Title Holder.
|if set, any title losses will result in claims being added to the previous holder
holder = 'Character that should get the title'
|Unspecified
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.
|title and vassal change
|change_title_holder_include_vassals = {
holder =
change =
}
|none
|
|
|-
|-
|change_trait_rank
|set_title_and_vassal_change_type
|Changes the trait rank = { trait = trait_group rank = change max = maximum new rank }
|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,
|Unspecified
|set_title_and_vassal_change_type = [type]
|none
|title and vassal change
|
|
|-
|-
|change_variable
|generate_coa
|Changes the value or a numeric variable
|Generates a coat of arms for the scoped landed title, dynasty or house
Where X is the name of the numeric variable to modify
|generate_coa = yes
Where the valid operations are add, subtract, multiply, divide and modulo
|landed title, dynasty, dynasty house
Y is a fixed point value, script value or event target of a value type
|change_variable = { name = X operation = Y }
|none
|
|
|-
|-
|clamp_global_variable
|reset_coa
|Clamps a variable the specified max and min
|Rest the coat of arms for the scoped landed title, dynasty or house to its template
Where X is the name of the variable
|reset_coa = yes
Where Y and Z are script values
|landed title, dynasty, dynasty house
|clamp_variable = { name = X max = Y min = Z }
|none
|
|
|-
|-
|clamp_local_variable
|set_coa
|Clamps a variable the specified max and min
|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
Where X is the name of the variable
|set_coa = k_england
Where Y and Z are script values
set_coa = scope:new_coa
|clamp_variable = { name = X max = Y min = Z }
|landed title, dynasty, dynasty house
|none
|
|
|-
|-
|clamp_variable
|add_diplomacy_skill
|Clamps a variable the specified max and min
|Adds diplomacy skill
Where X is the name of the variable
|Unspecified
Where Y and Z are script values
|clamp_variable = { name = X max = Y min = Z }
|none
|none
|
|
|-
|-
|clear_global_variable_list
|add_focus_progress
|Empties the list
|Adds focus progress
|clear_global_variable_list = variable_name
|Unspecified
|none
|none
|
|
|-
|-
|clear_local_variable_list
|add_internal_flag
|Empties the list
|adds effect to be read internally (no effect in the gamestate)
|clear_local_variable_list = variable_name
|Unspecified
|none
|none
|
|
|-
|-
|clear_saved_scope
|add_intrigue_skill
|Clears a saved scope from the top scope
|Adds intrigue skill
|clear_saved_scope = cool_scope
|Unspecified
|none
|none
|
|
|-
|-
|clear_variable_list
|add_learning_skill
|Empties the list
|Adds learning skill
|clear_variable_list = variable_name
|Unspecified
|none
|none
|
|
|-
|-
|close_all_views
|add_martial_skill
|Closes all views
|Adds martial skill
|close_all_views = yes
|Unspecified
|none
|none
|
|
|-
|-
|close_view
|add_prowess_skill
|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.
|Adds prowess skill
|close_view = {
|Unspecified
   view = <view name>
   player = scope:character # optional, else closes for all players who execute the effect
}
close_view = <view name>
|none
|none
|
|
|-
|-
|complete_activity
|add_stewardship_skill
|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
|Adds stewardship skill
|Unspecified
|Unspecified
|none
|none
|
|
|-
|-
|create_betrothal
|add_title_law
|Betroth the scope character to the target character, create_betrothal = target (at least one of the characters need to not be adult)
|add law to scoped title, overriding any current law from the same group. DOES NOT apply law change costs and effects.
|Unspecified
|add_title_law = princely_elective_succession_law
|none
|none
|character
|
|-
|-
|create_betrothal_matrilineal
|add_title_law_effects
|Betroth the scope character to the target character matrilineally, create_betrothal_matrilineal = target (at least one of the characters need to not be adult)
|Add law to scoped title, overriding any current law from the same group. DOES apply law change costs and effects.
|Unspecified
|Unspecified
|none
|none
|character
|
|-
|-
|create_character
|add_to_global_variable_list
|Creates a character
|Adds the event target to a variable list. X is the name of the variable. Y is an event target.
|create_character = {
|add_to_variable_list = { name = X target = Y }
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
|none
|
|
|-
|-
|create_dynamic_title
|add_to_list
|Creates a dynamic title. The title will be saved to (scope:new_title) usage:
|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
|create_dynamic_title = {
|add_to_list = <string> NOTE, if adding a permanent target to a temporary list, the whole list becomes permanent
tier = <tier>
name = key/dynamic description adjective = key/dynamic description (optional; name used if not specified), use generate_coa for generate title icon }
|none
|none
|
|
|-
|-
|create_holy_order
|add_to_local_variable_list
|Create a new holy order
|Adds the event target to a variable list. X is the name of the variable. Y is an event target.
|create_holy_order = {
|add_to_variable_list = { name = X target = Y }
   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
|none
|
|
|-
|-
|create_title_and_vassal_change
|add_to_temporary_list
|starts a title and vassal change and saves it as a temporary event target
|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
|add_to_temporary_list = <string> NOTE, if adding a temporary target to a permanent list, the list will stay permanent
|none
|none
|
|
|-
|-
|custom_description
|add_to_variable_list
|Wraps effects that get a custom description instead of the auto-generated one
|Adds the event target to a variable list. X is the name of the variable. Y is an event target.
|custom_description = {
|add_to_variable_list = { name = X target = Y }
text = <effect_localization_key>
subject = <optional subject scope> #defaults to current scope
object = <optional object scope>
value = <optional script value>
... effects ...
}
|none
|none
|
|
|-
|-
|custom_description_no_bullet
|assert_if
|Wraps effects that get a custom description instead of the auto-generated one. Also ensures no bullet point appears
|Conditionally cause an assert during run time, X is a trigger and Y is an optional string
|custom_description_no_bullet = {
|assert_if = { limit = { X } text = Y }
text = <effect_localization_key>
subject = <optional subject scope> #defaults to current scope
object = <optional object scope>
value = <optional script value>
... effects ...
}
|none
|none
|
|
|-
|-
|custom_label
|assert_read
|just a tooltip, the scope as object (for grouping, localization)
|Conditionally cause an assert during read time
|Unspecified
|assert_read = X, X is yes or the string to be printed in the assert
|none
|none
|
|
|-
|-
|custom_tooltip
|break_betrothal
|just a tooltip, the scope as subject (for grouping, localization)
|Breaks the betrothal between the scope character to the target character
|Unspecified
|break_betrothal = target
|none
|none
|
|character
|-
|-
|debug_log
|break_if
|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
|conditionally break execution of effects, break_if = { X }, X is a trigger
|Unspecified
|Unspecified
|none
|none
|
|
|-
|-
|debug_log_date
|change_global_variable
|Logs the current date to the debug.log
|Changes the value or a numeric variable
|Unspecified
Where X is the name of the numeric variable to modify
Where the valid operations are add, subtract, multiply, divide and modulo
Y is a fixed point value, script value or event target of a value type
|change_variable = { name = X operation = Y }
|none
|none
|
|
|-
|-
|debug_log_scopes
|change_local_variable
|Log the current scope to the debug log when this effect executes yes = full scope info, no=only current scope
|Changes the value or a numeric variable
|Unspecified
Where X is the name of the numeric variable to modify
Where the valid operations are add, subtract, multiply, divide and modulo
Y is a fixed point value, script value or event target of a value type
|change_variable = { name = X operation = Y }
|none
|none
|
|
|-
|-
|divorce
|change_title_holder
|Divorces the scope character from the target character.
|Changes Title Holder.
|divorce = target
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.
|change_title_holder = {
holder =
change =
}
|none
|none
|character
|
|-
|-
|duel
|change_title_holder_include_vassals
|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
|Changes Title Holder.
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
holder = 'Character that should get the title'
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
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.
If localization = W is specified, the effect localization W will be used (entry in effect_localization database, not a localization key directly)
|change_title_holder_include_vassals = {
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
holder =
Valid skill, target, combinations: skill + target, skill + value, only value
change =
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.
|duel = {
   skill = X
   target = Y
   value = Z
   localization = W
   ... random list body
}
}
|none
|none
|
|
|-
|-
|every_barony
|change_trait_rank
|Iterate through all baronies in the game
|Changes the trait rank = { trait = trait_group rank = change max = maximum new rank }
|every_barony = { limit = { <triggers> } <effects> }
|Unspecified
|none
|none
|landed title
|
|-
|-
|every_county
|change_variable
|Iterate through all counties in the game
|Changes the value or a numeric variable
|every_county = { limit = { <triggers> } <effects> }
Where X is the name of the numeric variable to modify
Where the valid operations are add, subtract, multiply, divide and modulo
Y is a fixed point value, script value or event target of a value type
|change_variable = { name = X operation = Y }
|none
|none
|landed title
|
|-
|-
|every_county_in_region
|clamp_global_variable
|Iterate through all counties in the region. Put 'region = region_name' inside it
|Clamps a variable the specified max and min
|every_county_in_region = { limit = { <triggers> } <effects> }
Where X is the name of the variable
Where Y and Z are script values
|clamp_variable = { name = X max = Y min = Z }
|none
|none
|landed title
|
|-
|-
|every_duchy
|clamp_local_variable
|Iterate through all duchies in the game
|Clamps a variable the specified max and min
|every_duchy = { limit = { <triggers> } <effects> }
Where X is the name of the variable
Where Y and Z are script values
|clamp_variable = { name = X max = Y min = Z }
|none
|none
|landed title
|
|-
|-
|every_empire
|clamp_variable
|Iterate through all empires in the game
|Clamps a variable the specified max and min
|every_empire = { limit = { <triggers> } <effects> }
Where X is the name of the variable
Where Y and Z are script values
|clamp_variable = { name = X max = Y min = Z }
|none
|none
|landed title
|
|-
|-
|every_in_global_list
|clear_global_variable_list
|Iterate through all items in global list. list = name or variable = name
|Empties the list
|every_in_global_list = { limit = { <triggers> } <effects> }
|clear_global_variable_list = variable_name
|none
|none
|
|
|-
|-
|every_in_list
|clear_local_variable_list
|Iterate through all items in list. list = name or variable = name
|Empties the list
|every_in_list = { limit = { <triggers> } <effects> }
|clear_local_variable_list = variable_name
|none
|none
|
|
|-
|-
|every_in_local_list
|clear_saved_scope
|Iterate through all items in local list. list = name or variable = name
|Clears a saved scope from the top scope
|every_in_local_list = { limit = { <triggers> } <effects> }
|clear_saved_scope = cool_scope
|none
|
|-
|clear_variable_list
|Empties the list
|clear_variable_list = variable_name
|none
|none
|
|
|-
|-
|every_independent_ruler
|close_all_views
|Independent rulers list with a COUNT tier o above
|Closes all views
|every_independent_ruler = { limit = { <triggers> } <effects> }
|close_all_views = yes
|none
|none
|character
|
|-
|-
|every_kingdom
|close_view
|Iterate through all kingdoms in the game
|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.
|every_kingdom = { limit = { <triggers> } <effects> }
|close_view = {
   view = <view name>
   player = scope:character # optional, else closes for all players who execute the effect
}
close_view = <view name>
|none
|none
|landed title
|
|-
|-
|every_living_character
|complete_activity
|Iterate through all living characters
|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
|every_living_character = { limit = { <triggers> } <effects> }
|Unspecified
|none
|none
|character
|
|-
|-
|every_player
|create_betrothal
|Iterate through all player characters
|Betroth the scope character to the target character, create_betrothal = target (at least one of the characters need to not be adult)
|every_player = { limit = { <triggers> } <effects> }
|Unspecified
|none
|none
|character
|character
|-
|-
|every_pool_character
|create_betrothal_matrilineal
|Iterate through all characters in the pool of the given province
|Betroth the scope character to the target character matrilineally, create_betrothal_matrilineal = target (at least one of the characters need to not be adult)
|every_pool_character = { limit = { <triggers> } <effects> }
|Unspecified
|none
|none
|character
|character
|-
|-
|every_province
|create_character
|Iterate through all provinces (skips non-land and impassable provinces)
|Creates a character
|every_province = { limit = { <triggers> } <effects> }
|
<pre>create_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 = <name>
age = <age>
gender = male/female/character scope
gender_female_chance = script_value #Range (0..100)
opposite_gender = character scope
trait = <trait id>#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 = <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
|none
|province
|
|-
|-
|every_religion_global
|create_dynamic_title
|Iterate through all religions in the game
|Creates a dynamic title. The title will be saved to (scope:new_title) usage:
|every_religion_global = { limit = { <triggers> } <effects> }
|create_dynamic_title = {
tier = <tier>
name = key/dynamic description adjective = key/dynamic description (optional; name used if not specified), use generate_coa for generate title icon }
|none
|none
|religion
|
|-
|-
|every_ruler
|create_holy_order
|Rulers list with a COUNT tier o above
|Create a new holy order
|every_ruler = { limit = { <triggers> } <effects> }
|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
|none
|character
|
|-
|-
|hidden_effect
|create_title_and_vassal_change
|Effect not shown in tooltips
|starts a title and vassal change and saves it as a temporary event target
|Unspecified
|Unspecified
|none
|none
|
|
|-
|-
|multiply_focus_progress
|custom_description
|Multiplies focus progress
|Wraps effects that get a custom description instead of the auto-generated one
|Unspecified
|custom_description = {
text = <effect_localization_key>
subject = <optional subject scope> #defaults to current scope
object = <optional object scope>
value = <optional script value>
... effects ...
}
|none
|none
|
|
|-
|-
|open_interaction_window
|custom_description_no_bullet
|Tries to open the defined view.
|Wraps effects that get a custom description instead of the auto-generated one. Also ensures no bullet point appears
|open_interaction_window = {
|custom_description_no_bullet = {
interaction = interaction_key - the interaction object key to open
text = <effect_localization_key>
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)
subject = <optional subject scope> #defaults to current scope
actor = character_actor - must be defined, must coincide with the current player
object = <optional object scope>
recipient = character_actor - must be defined
value = <optional script value>
secondary_actor = character_secontary_actor - optional
... effects ...
secondary_recipient = character_secondary_recipient - optional
}
|none
|none
|
|
|-
|-
|open_view
|custom_label
|Tries to open the defined view without scope data.
|just a tooltip, the scope as object (for grouping, localization)
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.
|Unspecified
|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
|none
|
|
|-
|-
|open_view_data
|custom_tooltip
|Tries to open the defined view with scope data.
|just a tooltip, the scope as subject (for grouping, localization)
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.
|Unspecified
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
}
open_view_data = <view name>
for example: scope:faith = { open_view_data = faith_conversion }
|none
|none
|
|
|-
|-
|ordered_barony
|debug_log
|Iterate through all baronies in the game
|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
|ordered_barony = {
|Unspecified
limit = { <triggers> }
|none
order_by = script_value
|
position = int
|-
min = int
|debug_log_date
max = script_value
|Logs the current date to the debug.log
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
|Unspecified
<effects> }
|none
|none
|landed title
|
|-
|-
|ordered_county
|debug_log_scopes
|Iterate through all counties in the game
|Log the current scope to the debug log when this effect executes yes = full scope info, no=only current scope
|ordered_county = {
|Unspecified
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|none
|landed title
|
|-
|-
|ordered_county_in_region
|divorce
|Iterate through all counties in the region. Put 'region = region_name' inside it
|Divorces the scope character from the target character.
|ordered_county_in_region = {
|divorce = 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> }
|none
|none
|landed title
|character
|-
|-
|ordered_duchy
|duel
|Iterate through all duchies in the game
|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
|ordered_duchy = {
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
limit = { <triggers> }
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
order_by = script_value
If localization = W is specified, the effect localization W will be used (entry in effect_localization database, not a localization key directly)
position = int
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
min = int
Valid skill, target, combinations: skill + target, skill + value, only value
max = script_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.
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
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.
<effects> }
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.
|duel = {
   skill = X
   target = Y
   value = Z
   localization = W
   ... random list body
}
|none
|none
|landed title
|
|-
|-
|ordered_empire
|every_barony
|Iterate through all empires in the game
|Iterate through all baronies in the game
|ordered_empire = {
|every_barony = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|none
|landed title
|landed title
|-
|-
|ordered_in_global_list
|every_county
|Iterate through all items in global list. list = name or variable = name
|Iterate through all counties in the game
|ordered_in_global_list = {
|every_county = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|none
|
|landed title
|-
|-
|ordered_in_list
|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_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
|Iterate through all items in list. list = name or variable = name
|ordered_in_list = {
|every_in_list = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|none
|
|
|-
|-
|ordered_in_local_list
|every_in_local_list
|Iterate through all items in local list. list = name or variable = name
|Iterate through all items in local list. list = name or variable = name
|ordered_in_local_list = {
|every_in_local_list = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|none
|
|
|-
|-
|ordered_independent_ruler
|every_independent_ruler
|Independent rulers list with a COUNT tier o above
|Independent rulers list with a COUNT tier o above
|ordered_independent_ruler = {
|every_independent_ruler = { limit = { <triggers> } <effects> }
limit = { <triggers> }
|none
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_kingdom
|every_kingdom
|Iterate through all kingdoms in the game
|Iterate through all kingdoms in the game
|ordered_kingdom = {
|every_kingdom = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|none
|landed title
|landed title
|-
|-
|ordered_living_character
|every_living_character
|Iterate through all living characters
|Iterate through all living characters
|ordered_living_character = {
|every_living_character = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|none
|character
|character
|-
|-
|ordered_player
|every_player
|Iterate through all player characters
|Iterate through all player characters
|ordered_player = {
|every_player = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|none
|character
|character
|-
|-
|ordered_pool_character
|every_pool_character
|Iterate through all characters in the pool of the given province
|Iterate through all characters in the pool of the given province
|ordered_pool_character = {
|every_pool_character = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|none
|character
|character
|-
|-
|ordered_province
|every_province
|Iterate through all provinces (skips non-land and impassable provinces)
|Iterate through all provinces (skips non-land and impassable provinces)
|ordered_province = {
|every_province = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|none
|province
|province
|-
|-
|ordered_religion_global
|every_religion_global
|Iterate through all religions in the game
|Iterate through all religions in the game
|ordered_religion_global = {
|every_religion_global = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|none
|religion
|religion
|-
|-
|ordered_ruler
|every_ruler
|Rulers list with a COUNT tier o above
|Rulers list with a COUNT tier o above
|ordered_ruler = {
|every_ruler = { limit = { <triggers> } <effects> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|none
|character
|character
|-
|-
|pan_camera_to_province
|hidden_effect
|Pans the camera to the specified province
|Effect not shown in tooltips
|pan_camera_to_province = scope:army.location
|Unspecified
|none
|none
|province
|
|-
|-
|pan_camera_to_title
|multiply_focus_progress
|Pans the camera to the specified title
|Multiplies focus progress
|pan_camera_to_title = capital_barony
|Unspecified
|none
|landed title
|-
|random
|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
|random = { chance = X modifier = Y effects... }
|none
|none
|
|
|-
|-
|random_barony
|open_interaction_window
|Iterate through all baronies in the game
|Tries to open the defined view.
|random_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|open_interaction_window = {
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.
|
<pre>open_view = {
   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
|none
|landed title
|
|-
|-
|random_county
|open_view_data
|Iterate through all counties in the game
|Tries to open the defined view with scope data.
|random_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
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>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
}
</pre>
open_view_data = <view name>
for example: scope:faith = { open_view_data = faith_conversion }
|none
|none
|landed title
|
|-
|-
|random_county_in_region
|ordered_barony
|Iterate through all counties in the region. Put 'region = region_name' inside it
|Iterate through all baronies in the game
|random_county_in_region = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|none
|landed title
|landed title
|-
|-
|random_duchy
|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_duchy
|Iterate through all duchies in the game
|Iterate through all duchies in the game
|random_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|none
|landed title
|landed title
|-
|-
|random_empire
|ordered_empire
|Iterate through all empires in the game
|Iterate through all empires in the game
|random_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|none
|landed title
|landed title
|-
|-
|random_in_global_list
|ordered_in_global_list
|Iterate through all items in global list. list = name or variable = name
|Iterate through all items in global list. list = name or variable = name
|random_in_global_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_in_global_list = {
|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> }
|none
|
|
|-
|-
|random_in_list
|ordered_in_list
|Iterate through all items in list. list = name or variable = name
|Iterate through all items in list. list = name or variable = name
|random_in_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|none
|
|
|-
|-
|random_in_local_list
|ordered_in_local_list
|Iterate through all items in local list. list = name or variable = name
|Iterate through all items in local list. list = name or variable = name
|random_in_local_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|none
|
|
|-
|-
|random_independent_ruler
|ordered_independent_ruler
|Independent rulers list with a COUNT tier o above
|Independent rulers list with a COUNT tier o above
|random_independent_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|none
|character
|character
|-
|-
|random_kingdom
|ordered_kingdom
|Iterate through all kingdoms in the game
|Iterate through all kingdoms in the game
|random_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|none
|landed title
|landed title
|-
|-
|random_list
|ordered_living_character
|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
|Iterate through all living characters
|random_living_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|none
|character
|character
|-
|-
|random_log_scopes
|ordered_player
|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
|Unspecified
|none
|
|-
|random_player
|Iterate through all player characters
|Iterate through all player characters
|random_player = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|none
|character
|character
|-
|-
|random_pool_character
|ordered_pool_character
|Iterate through all characters in the pool of the given province
|Iterate through all characters in the pool of the given province
|random_pool_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|none
|character
|character
|-
|-
|random_province
|ordered_province
|Iterate through all provinces (skips non-land and impassable provinces)
|Iterate through all provinces (skips non-land and impassable provinces)
|random_province = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|ordered_province = {
|none
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> }
|none
|province
|-
|-
|random_religion_global
|ordered_religion_global
|Iterate through all religions in the game
|Iterate through all religions in the game
|random_religion_global = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|none
|religion
|religion
|-
|-
|random_ruler
|ordered_ruler
|Rulers list with a COUNT tier o above
|Rulers list with a COUNT tier o above
|random_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|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
|none
|character
|character
|-
|-
|remove_from_list
|pan_camera_to_province
|Removes the current scope from a named list remove_from_list = <string>
|Pans the camera to the specified province
|Unspecified
|pan_camera_to_province = scope:army.location
|none
|none
|
|province
|-
|-
|remove_global_variable
|pan_camera_to_title
|Removes a variable
|Pans the camera to the specified title
|remove_global_variable = variable_name
|pan_camera_to_title = capital_barony
|none
|none
|
|landed title
|-
|-
|remove_list_global_variable
|random
|Removes the target from a variable list
|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
Where X is the name of the variable
|random = { chance = X modifier = Y effects... }
Y is an event target
|remove_list_global_variable = { name = X target = Y }
|none
|none
|
|
|-
|-
|remove_list_local_variable
|random_barony
|Removes the target from a variable list
|Iterate through all baronies in the game
Where X is the name of the variable
|random_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
Y is an event target
|remove_list_local_variable = { name = X target = Y }
|none
|none
|
|landed title
|-
|-
|remove_list_variable
|random_county
|Removes the target from a variable list
|Iterate through all counties in the game
Where X is the name of the variable
|random_county = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
Y is an event target
|remove_list_variable = { name = X target = Y }
|none
|none
|
|landed title
|-
|-
|remove_title_law
|random_county_in_region
|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 all counties in the region. Put 'region = region_name' inside it
|remove_title_law = princely_elective_succession_law
|random_county_in_region = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|none
|none
|
|landed title
|-
|-
|remove_variable
|random_duchy
|Removes a variable. Local or Global
|Iterate through all duchies in the game
|remove_variable = variable_name
|random_duchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|none
|none
|
|landed title
|-
|-
|resolve_title_and_vassal_change
|random_empire
|Execute and destory the target title and vassal change, the change cannot be used after calling this effect
|Iterate through all empires in the game
|resolve_title_and_vassal_change = scope:change
|random_empire = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|none
|none
|title and vassal change
|landed title
|-
|-
|clamp_variable
|random_in_global_list
|Rounds a variable (global or loval) to the nearest specified value
|Iterate through all items in global list. list = name or variable = name
Where X is the name of the variable
|random_in_global_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
Y is a script value
|clamp_variable = { name = X nearest = Y }
|none
|none
|
|
|-
|-
|save_scope_as
|random_in_list
|Saves the current scope as an arbitrarily-named target to be referenced later in the (unbroken) event chain
|Iterate through all items in list. list = name or variable = name
|save_event_target_as = <string>
|random_in_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|none
|none
|
|
|-
|-
|save_scope_value_as
|random_in_local_list
|Saves a numerical or bool value as an arbitrarily-named target to be referenced later in the (unbroken) event chain
|Iterate through all items in local list. list = name or variable = name
|save_scope_value_as = { name = <string> value = x }
|random_in_local_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|none
|none
|
|
|-
|-
|save_temporary_scope_as
|random_independent_ruler
|Saves the current scope as an arbitrarily-named temporary target to be referenced later in the same effect
|Independent rulers list with a COUNT tier o above
|save_temporary_event_target_as = <string>
|random_independent_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|none
|none
|
|character
|-
|-
|save_temporary_scope_value_as
|random_kingdom
|Saves a numerical or bool value as an arbitrarily-named temporary target to be referenced later in the same effect
|Iterate through all kingdoms in the game
|save_temporary_scope_value_as = { name = <string> value = x }
|random_kingdom = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|none
|none
|
|landed title
|-
|-
|set_focus_progress
|random_list
|Sets focus progress
|a random list effect
|Unspecified
|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
|none
|
|
|-
|-
|set_generated_asexuality_chance
|random_living_character
|Sets the chance for a generated character to be asexual
|Iterate through all living characters
|set_generated_asexuality_chance = 20
|random_living_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|none
|none
|
|character
|-
|-
|set_generated_bisexuality_chance
|random_log_scopes
|Sets the chance for a generated character to be bisexual
|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
|set_generated_bisexuality_chance = 20
|Unspecified
|none
|none
|
|
|-
|-
|set_generated_homosexuality_chance
|random_player
|Sets the chance for a generated character to be homosexual
|Iterate through all player characters
|set_generated_homosexuality_chance = 20
|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
|none
|
|religion
|-
|-
|set_trait_rank
|random_ruler
|Sets the trait rank = { trait = trait_group rank = new rank }
|Rulers list with a COUNT tier o above
|Unspecified
|random_ruler = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|none
|none
|
|character
|-
|-
|set_variable
|remove_from_list
|Sets a variable. Either global or local.
|Removes the current scope from a named list remove_from_list = <string>
Where X is the name of the variable used to then access it
|Unspecified
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
|set_variable = { name = X value = Y days = Z }
|none
|none
|
|
|-
|-
|setup_claim_cb
|remove_global_variable
|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
|Removes a variable
|setup_claim_cb = {
|remove_global_variable = variable_name
attacker = scope:attacker
defender = scope:defender
claimant = scope:claimant
change = scope:change victory = yes/no
take_occupied = yes/no
}
|none
|none
|
|
|-
|-
|setup_de_jure_cb
|remove_list_global_variable
|this effect will add a scope:cb_prestige_factor with a value based on what's being taken
|Removes the target from a variable list
|setup_de_jure_cb = {
Where X is the name of the variable
attacker = scope:attacker
Y is an event target
defender = scope:defender
|remove_list_global_variable = { name = X target = Y }
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
|none
|
|
|-
|-
|setup_invasion_cb
|remove_list_local_variable
|this effect will add a scope:cb_prestige_factor with a value based on what's being taken
|Removes the target from a variable list
|setup_invasion_cb = {
Where X is the name of the variable
attacker = scope:attacker
Y is an event target
defender = scope:defender
|remove_list_local_variable = { name = X target = Y }
change = scope:change victory = yes/no
take_occupied = yes/no
}
|none
|none
|
|
|-
|-
|show_as_tooltip
|remove_list_variable
|Effect only shown in tooltips (but not executed)
|Removes the target from a variable list
|Unspecified
Where X is the name of the variable
Y is an event target
|remove_list_variable = { name = X target = Y }
|none
|none
|
|
|-
|-
|start_tutorial_lesson
|remove_title_law
|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)
|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.
|Unspecified
|remove_title_law = princely_elective_succession_law
|none
|none
|
|
|-
|-
|switch
|remove_variable
|Switch on a trigger for the evaluation of another trigger with an optional fallback trigger.
|Removes a variable. Local or Global
|switch = {
|remove_variable = variable_name
trigger = simple_assign_trigger
case_1 = { <effects> }
case_2 = { <effects> }
case_n = { <effects> }
fallback = { <effects> }
|none
|none
|
|
|-
|-
|trigger_event
|resolve_title_and_vassal_change
|triggers an event or on_action
|Execute and destory the target title and vassal change, the change cannot be used after calling this effect
|trigger_event = { id = X days/months/years = Y } (for events)
|resolve_title_and_vassal_change = scope:change
or
|none
trigger_event = { on_action = X days/months/years = Y } (for on_actions)
|title and vassal change
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.
|-
|clamp_variable
|Rounds a variable (global or loval) to the nearest specified value
Where X is the name of the variable
Y is a script value
|clamp_variable = { name = X nearest = Y }
|none
|none
|
|
|-
|-
|try_create_important_action
|save_scope_as
|Tries to create an important action notification. Will keep the current one if already exists.
|Saves the current scope as an arbitrarily-named target to be referenced later in the (unbroken) event chain
|try_create_important_action
|save_event_target_as = <string>
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
|Unspecified
|none
|none
|
|
|-
|-
|try_create_suggestion
|save_scope_value_as
|Tries to create an suggestuib notification. Will keep the current one if already exists.
|Saves a numerical or bool value as an arbitrarily-named target to be referenced later in the (unbroken) event chain
|try_create_suggestion
|save_scope_value_as = { name = <string> value = x }
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
|Unspecified
|none
|none
|
|
|-
|-
|battle_event
|save_temporary_scope_as
|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
|Saves the current scope as an arbitrarily-named temporary target to be referenced later in the same effect
|battle_event = { left_portrait = someone right_portrait = someone key = string }
|save_temporary_event_target_as = <string>
|combat side
|none
|
|
|-
|-
|every_side_commander
|save_temporary_scope_value_as
|Iterate through all commanders (the commanders of every army on the side, not just the one leading the battle)
|Saves a numerical or bool value as an arbitrarily-named temporary target to be referenced later in the same effect
|every_side_commander = { limit = { <triggers> } <effects> }
|save_temporary_scope_value_as = { name = <string> value = x }
|combat side
|none
|character
|
|-
|-
|every_side_knight
|set_focus_progress
|Iterate through all knights
|Sets focus progress
|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
|Unspecified
|combat side
|none
|
|
|-
|-
|ordered_side_commander
|set_generated_asexuality_chance
|Iterate through all commanders (the commanders of every army on the side, not just the one leading the battle)
|Sets the chance for a generated character to be asexual
|ordered_side_commander = {
|set_generated_asexuality_chance = 20
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> }
|combat side
|character
|-
|-
|ordered_side_knight
|set_generated_bisexuality_chance
|Iterate through all knights
|Sets the chance for a generated character to be bisexual
|ordered_side_knight = {
|set_generated_bisexuality_chance = 20
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> }
|combat side
|character
|-
|-
|random_side_commander
|set_generated_homosexuality_chance
|Iterate through all commanders (the commanders of every army on the side, not just the one leading the battle)
|Sets the chance for a generated character to be homosexual
|random_side_commander = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|set_generated_homosexuality_chance = 20
|combat side
|none
|character
|
|-
|-
|random_side_knight
|set_trait_rank
|Iterate through all knights
|Sets the trait rank = { trait = trait_group rank = new rank }
|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)
|Unspecified
|Unspecified
|combat side
|none
|
|
|-
|-
|change_war_chest_gold
|set_variable
|Changes the amount of gold in the war chest by the given amount
|Sets a variable. Either global or local.
|change_war_chest_gold = script value
Where X is the name of the variable used to then access it
|great holy war
Y is any event target, bool, value, script value or flag (flag:W)
An optional days or years where Z is the number of days or years or script value
This variable will be accessible with <type_>var:X. With type being in a scope object or in a top scope
|set_variable = { name = X value = Y days = Z }
set_variable = { name = X value = Y years = Z }
|none
|
|
|-
|-
|change_war_chest_piety
|setup_claim_cb
|Changes the amount of piety in the war chest by the given amount
|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
|change_war_chest_piety = script value
|setup_claim_cb = {
|great holy war
attacker = scope:attacker
defender = scope:defender
claimant = scope:claimant
change = scope:change victory = yes/no
take_occupied = yes/no
}
|none
|
|
|-
|-
|change_war_chest_prestige
|setup_de_jure_cb
|Changes the amount of prestige in the war chest by the given amount
|this effect will add a scope:cb_prestige_factor with a value based on what's being taken
|change_war_chest_prestige = script value
|setup_de_jure_cb = {
|great holy war
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
}
|none
|
|
|-
|-
|divide_war_chest
|setup_invasion_cb
|The scoped GHW gives out its war-chest in full or in part.
|this effect will add a scope:cb_prestige_factor with a value based on what's being taken
|divide_war_chest = {
|setup_invasion_cb = {
defenders = yes (default to attackers instead)
attacker = scope:attacker
faction = script value (default 1 for 100%)
defender = scope:defender
gold = no (default = yes)
change = scope:change victory = yes/no
piety = no (default = yes)
take_occupied = yes/no
prestige = no (default = yes)
}
}
|great holy war
|none
|
|
|-
|-
|do_ghw_title_handout
|show_as_tooltip
|Hands out titles in the target kingdom to the GHW attacker beneficiaries.
|Effect only shown in tooltips (but not executed)
|do_ghw_title_handout = scope:title_and_vassal_change
|Unspecified
|great holy war
|none
|title and vassal change
|
|-
|-
|every_pledged_attacker
|start_tutorial_lesson
|Iterate through all pledged attackers within a great holy war
|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_pledged_attacker = { limit = { <triggers> } <effects> }
|Unspecified
|great holy war
|none
|character
|
|-
|-
|every_pledged_defender
|switch
|Iterate through all pledged defenders within a great holy war
|Switch on a trigger for the evaluation of another trigger with an optional fallback trigger.
|every_pledged_defender = { limit = { <triggers> } <effects> }
|switch = {
|great holy war
trigger = simple_assign_trigger
|character
case_1 = { <effects> }
case_2 = { <effects> }
case_n = { <effects> }
fallback = { <effects> }
|none
|
|-
|-
|ordered_pledged_attacker
|trigger_event
|Iterate through all pledged attackers within a great holy war
|triggers an event or on_action
|ordered_pledged_attacker = {
|
limit = { <triggers> }
For events:
order_by = script_value
<pre>
position = int
trigger_event = {
min = int
id = X
max = script_value
days/months/years = Y
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
For on_actions:
|character
<pre>
|-
trigger_event = {
|ordered_pledged_defender
on_action = X
|Iterate through all pledged defenders within a great holy war
days/months/years = Y
|ordered_pledged_defender = {
}
limit = { <triggers> }
</pre>
order_by = script_value
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.
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> }
|great holy war
|character
|
|
|-
|-
|pledge_attacker
|try_create_important_action
|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
|Tries to create an important action notification. Will keep the current one if already exists.
|try_create_important_action
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
|Unspecified
|Unspecified
|great holy war
|none
|character
|
|-
|-
|pledge_defender
|try_create_suggestion
|The target character pledges themselves as a defender in the GHW. Must be of the same faith as the GHW target.
|Tries to create an suggestuib notification. Will keep the current one if already exists.
|pledge_defender = some character
|try_create_suggestion
|great holy war
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
|random_pledged_attacker
secondary_actor = character_secontary_actor - optional, can be used by the suggestion effect
|Iterate through all pledged attackers within a great holy war
secondary_recipient = character_secondary_recipient - optional, can be used by the suggestion effect
|random_pledged_attacker = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
landed_title = landed_title
|great holy war
optional, can be used by the suggestion effect
|character
|Unspecified
|-
|none
|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
|}
|}
<br>
<br>
{{Modding navbox}}
{{Modding navbox}}
[[en:Effects]]
[[Category: 模组制作]]
[[Category: 模组制作]]
[[en:Effects]]

2021年1月5日 (二) 10:12的版本

Effects, also known as commands, are using 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, such as the immediate and option sections of events, as well as in scripted effects 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.

List of effects

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.

From war scope

The following effects are only usable in the war scope.

Name Description Usage Supported scopes Supported targets
add_attacker adds the target character to the scope war as an attacker Unspecified war character
add_defender adds the target character to the scope war as a defender Unspecified war character
end_war ends the war with the specified winner, end_war = attacker/defender/white_peace Unspecified 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 Unspecified war character
set_called_to sets the target character as already called to the scope war Unspecified war character
set_casus_belli sets the casus belli of the scope war Unspecified war

From story cycle scope

The following effects are only usable in the story cycle scope.

Name Description Usage Supported scopes Supported targets
end_story Ends a story and executes it's on_end effect, the story can no longer be accessed after this Unspecified story cycle
make_story_owner makes the character the new owner of the story make_story_owner = character_target story cycle character

From secret scope

The following effects are only usable in the secret scope.

Name Description Usage Supported scopes Supported targets
add_secret_participant Adds an participant to the secret Unspecified 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 Unspecified 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 Unspecified secret
reveal_to Reveals the scope secret to the target character Unspecified secret character
set_secret_owner Sets a new owner for the secret Unspecified secret character
spend_by Spends the scope secret spend_by = target_character secret character

From scheme scope

The following effects are only usable in the scheme scope.

Name Description Usage Supported scopes Supported targets
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) Unspecified scheme
add_scheme_progress Add progress to the scope scheme. (progress is in 0.0 - 100.0 range) Unspecified scheme
end_scheme Ends a specific scheme and removes it without any other effect Unspecified 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 Unspecified scheme
expose_scheme_agent Exposes the target character as an agent of the current scheme Unspecified 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 Unspecified scheme
scheme_freeze_days scheme_freeze_days = X freezes the scheme for X days (0 unfreezes the scheme) Unspecified scheme

From religion scope

The following effects are only usable in the religion scope.

Name Description Usage Supported scopes Supported targets
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

From province scope

The following effects are only usable in the province scope.

Name Description Usage Supported scopes Supported targets
add_building Add building to the province<province> = { add_building = <building_name> } Unspecified province
add_building_slot Add building slot to the province Unspecified province
add_province_modifier Add a modifier to a province add_province_modifier = name

add_province_modifier = { modifier = name days/weeks/months/years = int }

province
add_special_building Add a special building to the province (will also add/change a special slot if needed) Unspecified province
add_special_building_slot Add a special building slot to the province<province> = { add_special_building_slot = <building_name> } Unspecified province
refill_garrison The scoped province gets its garrison refilled. refill_levy = yes/no Unspecified 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_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. set_holding_type = holding_typr 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 Unspecified province

From landed title scope

The following effects are only usable in the landed title scope.

Name Description Usage Supported scopes Supported targets
add_county_modifier Add a modifier to a county add_county_modifier = name

add_county_modifier = { modifier = name days/weeks/months/years = int }

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. Unspecified 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> } } Unspecified 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. Unspecified 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. Unspecified 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 Unspecified 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_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 every_connected_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_barony Scopes from a title to a neighboring barony (incl. across water, looking trough the de Jure lieges) every_title_to_title_neighboring_and_across_water_barony = { limit = { <triggers> } <effects> } landed title landed title
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_barony Scopes from a title to a neighboring barony (looking trough the de Jure lieges) every_title_to_title_neighboring_barony = { 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
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 ordered_connected_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_barony Scopes from a title to a neighboring barony (incl. across water, looking trough the de Jure lieges) ordered_title_to_title_neighboring_and_across_water_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> }

landed title landed title
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_barony Scopes from a title to a neighboring barony (looking trough the de Jure lieges) ordered_title_to_title_neighboring_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> }

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

random_connected_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_barony Scopes from a title to a neighboring barony (incl. across water, looking trough the de Jure lieges) random_title_to_title_neighboring_and_across_water_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> } landed title landed title
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_barony Scopes from a title to a neighboring barony (looking trough the de Jure lieges) random_title_to_title_neighboring_barony = { 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_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 set_county_culture = english/root.character_culture landed title
set_county_faith Changes what faith a county has Unspecified landed title
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_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 } Unspecified landed title
title_join_faction the landed title in the scope joins the assigned faction Unspecified landed title
title_leave_faction the title in the scope leaves the assigned faction Unspecified landed title

From holy order scope

The following effects are only usable in the holy order scope.

Name Description Usage Supported scopes Supported targets
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

From dynasty scope

The following effects are only usable in the dynasty scope.

Name Description Usage Supported scopes Supported targets
add_dynasty_modifier Add a modifier to a dynasty add_dynasty_modifier = name

add_dynasty_modifier = { modifier = name days/weeks/months/years = int }

dynasty
add_dynasty_perk Adds dynasty perk add_dynasty_perk = key dynasty
add_dynasty_prestige adds dynasty prestige Unspecified dynasty
add_dynasty_prestige_level adds dynasty prestige levels Unspecified 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

From dynasty house scope

The following effects are only usable in the dynasty house scope.

Name Description Usage Supported scopes Supported targets
add_house_modifier Add a modifier to a house add_house_modifier = name

add_house_modifier = { modifier = name days/weeks/months/years = int }

dynasty house
every_house_member Iterate through all house members every_house_member = { limit = { <triggers> } <effects> } dynasty house character
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_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_modifier Remove a modifier from a house remove_house_modifier = name dynasty house

From culture scope

The following effects are only usable in the culture scope.

Name Description Usage Supported scopes Supported targets
add_innovation Add innovation to a culture Unspecified culture
add_random_innovation Add random available innovation<culture> = { add_random_innovation = culture_group_military/culture_group_civic/culture_group_regional/yes } Unspecified 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 Unspecified culture

From character scope

The following effects are only usable in the character scope.

Standard

Name Description Usage Supported scopes Supported targets
add_character_flag Adds a character flag. X is the name of the flag and Y is a value or value interval "{ min max }". add_character_flag = { flag = X [days/weeks/years = Y] } character
add_character_modifier Add a modifier to a character add_character_modifier = name

add_character_modifier = { modifier = name days/weeks/months/years = int }

character
add_courtier Add the target character to the scope character's court Unspecified character character
add_diplomacy_lifestyle_perk_points Adds lifestyle per points to the given character Unspecified character
add_diplomacy_lifestyle_xp Adds lifestyle XP to the given character. Can be used with lifestyles not currently focused on. add_diplomacy_lifestyle_xp = int character
add_dread adds (or removes) dread to a character Unspecified character
add_gold adds gold to a character Unspecified character
add_hook 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. add_hook = { type = X, target = Y, secret = Z, days/months/years = W } character
add_hook_no_toast 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. add_hook = { type = X, target = Y, secret = Z, days/months/years = W } character
add_intrigue_lifestyle_perk_points Adds lifestyle per points to the given character Unspecified character
add_intrigue_lifestyle_xp Adds lifestyle XP to the given character Unspecified character
add_joined_faction_discontent add_joined_faction_discontent = X adds (or subtracts) discontent to the factions the scope character is in Unspecified 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 Unspecified character
add_learning_lifestyle_xp Adds lifestyle XP to the given character Unspecified character
add_martial_lifestyle_perk_points Adds lifestyle per points to the given character Unspecified character
add_martial_lifestyle_xp Adds lifestyle XP to the given character Unspecified character
add_opinion 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. add_opinion = { modifier = X days/months/years = Y target = Z } character
add_perk Adds the perk for this character Unspecified character
add_piety gives (or takes) piety to a character Unspecified character
add_piety_experience gives (or takes) piety experience to a character Unspecified character
add_piety_level increases (or decreases) the piety level of a character Unspecified character
add_pressed_claim gives a pressed claim to a character Unspecified character landed title
add_prestige gives (or takes) prestige to a character Unspecified character
add_prestige_experience gives (or takes) prestige experience to a character Unspecified character
add_prestige_level increases (or decreases) the prestige level of a character Unspecified character
add_realm_law Adds the given law to the scoped character Unspecified 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 Unspecified character
add_scheme_cooldown Sets a scheme cooldown for the scope character towards = { target=target_character type=scheme_type days/weeks/months/years = duration } Unspecified 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 Unspecified character
add_stewardship_lifestyle_xp Adds lifestyle XP to the given character Unspecified character
add_stress Increases stress of a character. Negative values decrease stress. Unspecified character
add_targeting_factions_discontent add_targeting_factions_discontent = X adds (or subtracts) discontent to all the factions that are targeting the scope character Unspecified character
add_to_scheme Adds a character as an agent to the scheme Unspecified character
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) Unspecified 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) Unspecified 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 Unspecified character
add_unpressed_claim gives an unpressed claim to a character Unspecified character landed title
add_visiting_courtier Add the target character as the scope character's guest Unspecified character character
allow_alliance Allows (previously broken) alliance with the target character Unspecified character character
allow_in_scheme Allow the character to join the scheme as an agent Unspecified character
apply_ai_vassal_obligation_liege_most_desired Apply the new level for the most desired AI obligation level the liege in the contract wants Unspecified 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 Unspecified 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] } Unspecified character
banish The character gets banished. Unspecified 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 Unspecified 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_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 Unspecified character
change_liege = { liege = 'Character that should become the new liege' change = 'previously created title_and_vassal_change', adds a liege change Unspecified 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
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. Unspecified 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. Unspecified 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. Unspecified 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. Unspecified character character
consume_revoke_title_reason 'Consume' 1 revoke title reason that the scoped character has on the target character. Unspecified 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 Unspecified 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_cadet_branch no] Unspecified character
create_faction the scoped character creates a faction of the specified type against the specified target, create_faction = { type = X target = Y } Unspecified 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 }, 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. Unspecified character
depose The character gets deposed. Unspecified character
destroy_title Destroys a title Unspecified character landed title
end_pregnancy end a pregnancy Unspecified character
execute_decision Execute the specified decision for the scoped character Unspecified character
finish_council_task The councillor finish the current assigned task successfully. Unspecified character
fire_councillor The scope character fires the target character form teh council. Unspecified 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) Unspecified character
force_add_to_scheme Adds a character as an agent to the scheme and forces them to stay
force_add_to_scheme = {
    scheme = target_Scheme
    days/months/years = duration
}
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 Unspecified character landed title
give_nickname Give a nickname to this character Unspecified character
imprison 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 Unspecified character
join_faction the character in the scope joins the assigned faction Unspecified character
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 Unspecified character
leave_faction the charcter in the scope leaves the assigned faction Unspecified character
make_claim_strong makes a claim strong (character adds the claim if not having it already) Unspecified character landed title
make_claim_weak makes a claim weak (character adds the claim if not having it already) Unspecified character landed title
make_concubine Makes the target character a concubine of the scope character, the target should not be imprisoned Unspecified character character
make_pregnant makes a character pregnant make_pregnant = {
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. Unspecified character
make_trait_active_force_tooltip Activates an inactive trait. Tooltip will be shown even if the character cannot have the trait. Unspecified 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. NOTE: If the character doesn't currently have the trait, it will be added to the character! Unspecified 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. NOTE: If the character doesn't currently have the trait, it will be added to the character! Unspecified 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 Unspecified 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
pay_long_term_gold the scope character pays gold to the target character, pay_gold = { target = X gold = Y } (AI budget category long term) Unspecified 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) Unspecified 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) Unspecified 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) Unspecified character
play_music_cue Plays the specified music cue. Unspecified character
recalculate_scripted_relation Recalculates the effect of a scripted relation recalculate_scripted_relation= friend character
recruit_courtier Recruits the target to become a courtier. scope:liege = { recruit_courtier = scope:new_courtier } character character
refund_all_perks Refunds all perks of the character. Example: refund_all_perks = yes Unspecified character
refund_perks Refunds all perks of the RHS lifestyle. Example: refund_perks = intrigue_lifestyle Unspecified character
release_from_prison releases the character from the prison, imprison = X, X is a boolean value Unspecified 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 Unspecified 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 Unspecified character landed title
remove_concubine Removes the target character as a concubine of the scope character Unspecified 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 Unspecified 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_long_term_gold removes gold from a character (AI's long term budget) Unspecified character
remove_nickname no] Unspecified character
remove_opinion 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 Unspecified character
remove_perk Remove the perk for this character Unspecified character
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 Unspecified character
remove_relation_best_friend Removes scripted relationship Unspecified character character
remove_relation_bully Removes scripted relationship Unspecified character character
remove_relation_court_physician Removes scripted relationship Unspecified character character
remove_relation_crush Removes scripted relationship Unspecified 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 Unspecified character
remove_relation_friend Removes scripted relationship Unspecified character character
remove_relation_guardian Removes scripted relationship Unspecified character character
remove_relation_intrigue_mentor Removes scripted relationship Unspecified character character
remove_relation_intrigue_student Removes scripted relationship Unspecified character character
remove_relation_lover Removes scripted relationship Unspecified character character
remove_relation_mentor Removes scripted relationship Unspecified character character
remove_relation_nemesis Removes scripted relationship Unspecified character character
remove_relation_oaf Removes scripted relationship Unspecified character character
remove_relation_potential_friend Removes scripted relationship Unspecified character character
remove_relation_potential_lover Removes scripted relationship Unspecified character character
remove_relation_potential_rival Removes scripted relationship Unspecified character character
remove_relation_rival Removes scripted relationship Unspecified character character
remove_relation_soldier_friend Removes scripted relationship Unspecified character character
remove_relation_soulmate Removes scripted relationship Unspecified character character
remove_relation_student Removes scripted relationship Unspecified character character
remove_relation_victim Removes scripted relationship Unspecified character character
remove_relation_ward Removes scripted relationship Unspecified 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) Unspecified character
remove_trait Removes a trait from a character. Tooltip will not be shown if the character doesn't have the trait. Unspecified character
remove_trait_force_tooltip Removes a trait from a character. Tooltip will be shown even if the character doesn't have the trait. Unspecified 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. Unspecified character
reverse_add_opinion 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. reverse_add_opinion = { modifier = X days/months/years = Y target = Z } character
scriptedtests_recalculate_character_modifier Recalculates the modifier of the scoped character Unspecified character
scriptedtests_recalculate_succession Recalculates the line of succession of the scoped character Unspecified 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 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 }
}
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 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 }
}
character
set_absolute_country_control Sets if this character has absolute country control, unlock_character_movement = yes/no/boolean event target Unspecified character
set_beneficiary The target character becomes the beneficiary of the scoped character. set_beneficiary = some character Unspecified 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. Unspecified character faith
set_character_faith_history Changes what faith a character has NOT executing the effects for it. USE ONLY IN HISOTRY SETUP! Unspecified 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 set_character_faith_with_conversion = faith:<religion> character faith
set_child_of_concubine_on_pregnancy Sets the child to be (or not be) a child of a concubine during pregnancy Unspecified character
set_council_task Sets the task of the scope councillor { task_type = council_position_type_key target = for_targeted_tasks } Unspecified character
set_culture Set the culture for this character Unspecified character culture
set_culture_same_as Sets the culture of the character to be the same as the culture of the target Unspecified character character
set_death_reason sets the death reason and the killer of a dead character, set_death_reason = { killer = X death_reason = Y }, both parameters are optional Unspecified character
set_default_education Set the default education focus for this character Unspecified character
set_designated_heir Sets the given character as designated heir Unspecified character character
set_employer Add the scope character to the target character's court Unspecified character character
set_father sets the father of a character Unspecified character character
set_focus Set the focus for this character Unspecified character
set_house Sets the dynasty house of the character Unspecified 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_known_bastard_on_pregnancy Sets the child to a known or unknown bastard during pregnancy Unspecified character
set_num_pregnancy_children Set the number of children Unspecified 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 Unspecified 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: make_unprunable = yes Unspecified character character
set_pregnancy_assumed_father Set the assumed father of the pregnancy Unspecified 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 Unspecified character character
set_realm_capital Set a new realm capital character = { set_realm_capital = new_title } character landed title
set_relation_best_friend Sets scripted relationship Unspecified character character
set_relation_bully Sets scripted relationship Unspecified character character
set_relation_court_physician Sets scripted relationship Unspecified character character
set_relation_crush Sets scripted relationship Unspecified character character
set_relation_friend Sets scripted relationship Unspecified character character
set_relation_guardian Sets scripted relationship Unspecified character character
set_relation_intrigue_mentor Sets scripted relationship Unspecified character character
set_relation_intrigue_student Sets scripted relationship Unspecified character character
set_relation_lover Sets scripted relationship Unspecified character character
set_relation_mentor Sets scripted relationship Unspecified character character
set_relation_nemesis Sets scripted relationship Unspecified character character
set_relation_oaf Sets scripted relationship Unspecified character character
set_relation_potential_friend Sets scripted relationship Unspecified character character
set_relation_potential_lover Sets scripted relationship Unspecified character character
set_relation_potential_rival Sets scripted relationship Unspecified character character
set_relation_rival Sets scripted relationship Unspecified character character
set_relation_soldier_friend Sets scripted relationship Unspecified character character
set_relation_soulmate Sets scripted relationship Unspecified character character
set_relation_student Sets scripted relationship Unspecified character character
set_relation_victim Sets scripted relationship Unspecified character character
set_relation_ward Sets scripted relationship Unspecified character character
set_sexuality Sets the sexuality of the character Unspecified character
set_to_lowborn Set the character to lowborn Unspecified 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' Unspecified 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.
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
	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
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). Unspecified character
start_scheme starts a scheme = { type = X target = Y } Unspecified character
start_war 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. start_war = { casus_belli/cb = X target = Y claimant = Z target_title = W1 target_title = W2 ... } character
stress_impact Stress impact according to specified traits (trait = value), use base = value for a base value that's always added Unspecified character
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 Unspecified character
vassal_contract_increase_obligation_level increase the obligation level of the scoped character's vassal contract Unspecified 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 Unspecified character character

Beginning with 'every'

Name Description Usage Supported scopes Supported targets
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_to_title_neighboring_and_across_water_barony Scopes from a character to a neighboring barony (incl. across water, looking trough the de Jure lieges) every_character_to_title_neighboring_and_across_water_barony = { limit = { <triggers> } <effects> } character landed title
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_barony Scopes from a character to a neighboring barony (looking trough the de Jure lieges) every_character_to_title_neighboring_barony = { 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_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_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_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_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_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_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_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_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

Beginning with 'ordered'

Name Description Usage Supported scopes Supported targets
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_to_title_neighboring_and_across_water_barony Scopes from a character to a neighboring barony (incl. across water, looking trough the de Jure lieges) ordered_character_to_title_neighboring_and_across_water_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_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_barony Scopes from a character to a neighboring barony (looking trough the de Jure lieges) ordered_character_to_title_neighboring_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_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_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_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_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_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_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_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_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_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

Beginning with 'random'

Name Description Usage Supported scopes Supported targets
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_to_title_neighboring_and_across_water_barony Scopes from a character to a neighboring barony (incl. across water, looking trough the de Jure lieges) random_character_to_title_neighboring_and_across_water_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> } character landed title
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_barony Scopes from a character to a neighboring barony (looking trough the de Jure lieges) random_character_to_title_neighboring_barony = { 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_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_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_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_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_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_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_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_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

From faction scope

The following effects are only usable in the faction scope.

Name Description Usage Supported scopes Supported targets
add_faction_discontent add_faction_discontent = X adds (or subtracts) discontent to the scope faction Unspecified faction
destroy_faction 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> } order_by = script_value position = int min = int max = 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 Unspecified faction
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.

Name Description Usage Supported scopes Supported targets
activate_holy_site Activate an inactive holy site<faith_scope> = { activate_holy_site = <holy_site_name> } Unspecified 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> } order_by = script_value position = int min = int max = 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_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_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_holy_order Iterate through all holy orders of the faith random_faith_holy_order = { limit = { <triggers> } (optional) weight = { mtth } <effects> } faith holy order
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.

Name Description Usage Supported scopes Supported targets
accept_invitation_for_character accept a characters invitation to the activity Unspecified activity character
decline_invitation_for_character decline a characters invitation to the activity Unspecified 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> } order_by = script_value position = int min = int max = 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

From army scope

The following effects are only usable in the army scope.

Name Description Usage Supported scopes Supported targets
assign_commander Assign a commander for the scoped army assign_commander = scope:a_character army character
remove_commander Removes the currently assigned commander from the scoped army remove_commander = yes army

From great holy war scope

The following effects are only usable in the great holy war scope.

Name Description Usage Supported scopes Supported targets
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. 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 Unspecified 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 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.

Name Description Usage Supported scopes 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 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) 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> } order_by = script_value position = int min = int max = 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) Unspecified combat side

From casus belli scope

The following effects are only usable in the casus belli scope.

Name Description Usage Supported scopes Supported targets
add_from_contribution_attackers Adds prestige, gold and piety based on contribution to allied attackers. parameters: prestige, gold, piety. Unspecified casus belli
add_from_contribution_defenders Adds prestige, gold and piety based on contribution to allied defenders. parameters: prestige, gold, piety. Unspecified 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

Shared/other

Name Description Usage Supported scopes Supported targets
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
set_add_claim_on_loss if set, any title losses will result in claims being added to the previous holder Unspecified title and vassal change
set_title_and_vassal_change_type 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, set_title_and_vassal_change_type = [type] title and vassal change
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_diplomacy_skill Adds diplomacy skill Unspecified none
add_focus_progress Adds focus progress Unspecified none
add_internal_flag adds effect to be read internally (no effect in the gamestate) Unspecified none
add_intrigue_skill Adds intrigue skill Unspecified none
add_learning_skill Adds learning skill Unspecified none
add_martial_skill Adds martial skill Unspecified none
add_prowess_skill Adds prowess skill Unspecified none
add_stewardship_skill Adds stewardship skill Unspecified 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. Unspecified none
add_to_global_variable_list Adds the event target to a variable list. X is the name of the variable. Y is an event target. add_to_variable_list = { name = X target = Y } 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. X is the name of the variable. Y is an event target. add_to_variable_list = { name = X target = Y } 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. X is the name of the variable. Y is an event target. add_to_variable_list = { name = X target = Y } none
assert_if Conditionally cause an assert during run time, X is a trigger and Y is an optional string assert_if = { limit = { X } text = Y } none
assert_read Conditionally cause an assert during read time assert_read = X, 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
break_if conditionally break execution of effects, break_if = { X }, X is a trigger Unspecified none
change_global_variable Changes the value or a numeric variable

Where X is the name of the numeric variable to modify Where the valid operations are add, subtract, multiply, divide and modulo Y is a fixed point value, script value or event target of a value type

change_variable = { name = X operation = Y } none
change_local_variable Changes the value or a numeric variable

Where X is the name of the numeric variable to modify Where the valid operations are add, subtract, multiply, divide and modulo Y is a fixed point value, script value or event target of a value type

change_variable = { name = X operation = Y } none
change_title_holder Changes 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.

change_title_holder = {

holder = change = }

none
change_title_holder_include_vassals Changes Title Holder.

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.

change_title_holder_include_vassals = {

holder = change = }

none
change_trait_rank Changes the trait rank = { trait = trait_group rank = change max = maximum new rank } Unspecified none
change_variable Changes the value or a numeric variable

Where X is the name of the numeric variable to modify Where the valid operations are add, subtract, multiply, divide and modulo Y is a fixed point value, script value or event target of a value type

change_variable = { name = X operation = Y } none
clamp_global_variable Clamps a variable the specified max and min

Where X is the name of the variable Where Y and Z are script values

clamp_variable = { name = X max = Y min = Z } none
clamp_local_variable Clamps a variable the specified max and min

Where X is the name of the variable Where Y and Z are script values

clamp_variable = { name = X max = Y min = Z } none
clamp_variable Clamps a variable the specified max and min

Where X is the name of the variable Where Y and Z are script values

clamp_variable = { name = X max = Y min = Z } none
clear_global_variable_list Empties the list clear_global_variable_list = variable_name none
clear_local_variable_list Empties the list clear_local_variable_list = variable_name none
clear_saved_scope Clears a saved scope from the top scope clear_saved_scope = cool_scope 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

} close_view = <view name>

none
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 Unspecified none
create_betrothal Betroth the scope character to the target character, create_betrothal = target (at least one of the characters need to not be adult) Unspecified 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) Unspecified none character
create_character Creates a character
create_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 = <name>
	age = <age>
	gender = male/female/character scope
	gender_female_chance = script_value #Range (0..100)
	opposite_gender = character scope
	trait = <trait id>#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 = <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.
}
none
create_dynamic_title Creates a dynamic title. The title will be saved to (scope:new_title) usage: create_dynamic_title = {

tier = <tier> name = key/dynamic description adjective = key/dynamic description (optional; name used if not specified), use generate_coa for generate title icon }

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 Unspecified 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) Unspecified none
custom_tooltip just a tooltip, the scope as subject (for grouping, localization) Unspecified 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 Unspecified none
debug_log_date Logs the current date to the debug.log Unspecified none
debug_log_scopes Log the current scope to the debug log when this effect executes yes = full scope info, no=only current scope Unspecified none
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

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.

duel = {
   skill = X
   target = Y
   value = Z
   localization = W
   ... random list body

}

none
every_barony Iterate through all baronies in the game every_barony = { limit = { <triggers> } <effects> } none landed title
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_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 o above every_independent_ruler = { 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 Unspecified none
multiply_focus_progress Multiplies focus progress Unspecified none
open_interaction_window Tries to open the defined view. open_interaction_window = {

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
}

open_view_data = <view name> for example: scope:faith = { open_view_data = faith_conversion }

none
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_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_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 o above 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_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. X is a chance of the enclosed effects being fired and can be modified by optional value modifier list (AKA MTTH) Y random = { chance = X modifier = Y effects... } none
random_barony Iterate through all baronies in the game random_barony = { limit = { <triggers> } (optional) weight = { mtth } <effects> } none landed title
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_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 o above random_independent_ruler = { 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 random log. yes = full scope info, no=only current scope Unspecified 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> Unspecified none
remove_global_variable Removes a variable remove_global_variable = variable_name none
remove_list_global_variable Removes the target from a variable list

Where X is the name of the variable Y is an event target

remove_list_global_variable = { name = X target = Y } none
remove_list_local_variable Removes the target from a variable list

Where X is the name of the variable Y is an event target

remove_list_local_variable = { name = X target = Y } none
remove_list_variable Removes the target from a variable list

Where X is the name of the variable Y is an event target

remove_list_variable = { name = X target = Y } 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_variable Removes a variable. Local or Global remove_variable = variable_name none
resolve_title_and_vassal_change Execute and destory the target title and vassal change, the change cannot be used after calling this effect resolve_title_and_vassal_change = scope:change none title and vassal change
clamp_variable Rounds a variable (global or loval) to the nearest specified value

Where X is the name of the variable Y is a script value

clamp_variable = { name = X nearest = Y } 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_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 Unspecified 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_trait_rank Sets the trait rank = { trait = trait_group rank = new rank } Unspecified none
set_variable Sets a variable. Either global or local.

Where X is the name of the variable used to then access it Y is any event target, bool, value, script value or flag (flag:W) An optional days or years where Z is the number of days or years or script value This variable will be accessible with <type_>var:X. With type being in a scope object or in a top scope

set_variable = { name = X value = Y days = Z }

set_variable = { name = X value = Y years = Z }

none
setup_claim_cb 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 setup_claim_cb = {
attacker = scope:attacker
defender = scope:defender
claimant = scope:claimant
change = scope:change victory = yes/no
take_occupied = yes/no

}

none
setup_de_jure_cb this effect will add a scope:cb_prestige_factor with a value based on what's being taken 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

}

none
setup_invasion_cb this effect will add a scope:cb_prestige_factor with a value based on what's being taken setup_invasion_cb = {
attacker = scope:attacker
defender = scope:defender
change = scope:change victory = yes/no
take_occupied = yes/no

}

none
show_as_tooltip Effect only shown in tooltips (but not executed) Unspecified 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) Unspecified 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

For events:

trigger_event = {
	id = X
	days/months/years = Y
}

For on_actions:

trigger_event = {
	on_action = X
	days/months/years = Y
}

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 Tries to create an important action notification. Will keep the current one if already exists. try_create_important_action

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

Unspecified none
try_create_suggestion Tries to create an suggestuib notification. Will keep the current one if already exists. try_create_suggestion

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

Unspecified none