条件:修订间差异

(建立内容为“{{Version|1.0.0}}{{Computer generated}} Effects are actions the game engine executes that produce a certain result, depending on the effect and parameters of the…”的新页面)
 
无编辑摘要
 
第1行: 第1行:
{{Version|1.0.0}}{{Computer generated}}
==List of triggers==
Effects are actions the game engine executes that produce a certain result, depending on the effect and parameters of the effect choosen.
{{Computer generated}}
 
{| class="wikitable sortable" width="100%"
{| class="wikitable sortable" width="100%"
    ! width="15%" | Name
    ! width="15%" | Name
第10行: 第9行:
    ! width="10%" | Supported Targets
    ! width="10%" | Supported Targets
|-
|-
| set_subsidized
| law_approved_by
| Sets whether a building is subsidized
| Checks whether the scoped law is approved by an interest group
| set_subsidized = yes/no
| law_approved_by = ig_rural_folk
| building
| law
|-
|-
|-
| law_approved_by
| add_civil_war_progress
| Checks whether the scoped law is approved by an interest group
| Adds the specified number of percentage points to a civil war progress (range is [0, 1], 0.1 means 10 percentage points)
| law_approved_by = ig_rural_folk
| add_civil_war_progress = 0.1 / -0.1
| civil_war
| law
|-
|-
|-
|-
| add_war_exhaustion
| has_ideology
| Adds war exhaustion to the target country in the scoped war. The amount will appear under the 'situations' header in tooltips
| Check if scoped object has ideology
| add_war_exhaustion = { target = country value = value }
| war
| interest_group, character
|-
|-
|-
|-
| add_war_war_support
| law_stance
| Adds war support to the target country in the scoped war. The amount will appear under the 'situations' header in tooltips
| Compares the stance of the scoped character or interest group about the specified law
| add_war_war_support = { target = country value = value }
| war
| interest_group, character
|-
|-
|-
|-
| every_scope_front
| check_area
| Iterate through all Fronts related to the scoped War
| Compares areas of object to another object
| every_scope_front = { limit = { <triggers> } <effects> }
|
| country, state, province, strategic_region, state_region, theater
| war
| front
|-
|-
|-
|-
| ordered_scope_front
| civil_war_progress
| Iterate through all Fronts related to the scoped War
| Compare progress of civil war
| ordered_scope_front = {
| civil_war_progress > 50
limit = { <triggers> }
| <, <=, =, !=, >, >=
order_by = script_value
| civil_war
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| war
| front
|-
|-
|-
|-
| random_scope_front
| civil_war_progress_gain
| Iterate through all Fronts related to the scoped War
| Checks how much progress the civil war is gaining each tick.
| random_scope_front = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| any_civil_war = { revolution_progress_gain > 0 }
| <, <=, =, !=, >, >=
| civil_war
| war
| front
|-
|-
|-
|-
| add_cultural_obsession
| is_civil_war_type
| Adds a new obsession to the culture in scope
| Check if the scoped civil war is of a specific type
| add_cultural_obsession = X
| is_civil_war_type = revolution / secession
Where X is a goods
| culture
| civil_war
|-
|-
|-
|-
| remove_cultural_obsession
| is_revolutionary
| Removes a new obsession to the culture in scope
| Check if the country is revolutionary
| remove_cultural_obsession = X
Where X is a goods
| culture
| yes/no
| country, interest_group
|-
|-
|-
|-
| every_market_goods
| has_discrimination_trait
| Iterate through all active (market) goods in a market
| Checks if scoped culture or religion has the given discrimination trait
| every_market_goods = { limit = { <triggers> } <effects> }
| has_trait = trait
|
| culture, religion
| market
| market_goods
|-
|-
|-
|-
| every_scope_country
| culture_is_discriminated_in
| Iterate through all countries with a presence in the supported scope (currently: only market scope)
| Checks if a culture is discriminated against within the scope country
| every_scope_country = { limit = { <triggers> } <effects> }
| culture_is_discriminated_in = c:USA
| country scope
| market
| culture
| country
| country
|-
|-
|-
|-
| ordered_market_goods
| culture_secession_progress
| Iterate through all active (market) goods in a market
| Checks the culture's progress percentage towards secession in a country. 0 if no secession movement is active for the culture.
| ordered_market_goods = {
| culture_secession_progress = { target = scope:example_country value > 0.5 }
limit = { <triggers> }
| <, <=, =, !=, >, >=
order_by = script_value
| culture
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| market
| market_goods
|-
|-
|-
|-
| ordered_scope_country
| has_cultural_obsession
| Iterate through all countries with a presence in the supported scope (currently: only market scope)
| Checks if a culture has a certain goods as obsession
| ordered_scope_country = {
| has_cultural_obsession = <goods key>
limit = { <triggers> }
|
order_by = script_value
| culture
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| market
| country
|-
|-
|-
|-
| random_market_goods
| has_culture_graphics
| Iterate through all active (market) goods in a market
| Checks if a culture has a certain culture_graphics
| random_market_goods = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| has_culture_graphics = <culture graphics key>
| market
| culture
| market_goods
|-
|-
| random_scope_country
| Iterate through all countries with a presence in the supported scope (currently: only market scope)
| random_scope_country = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| market
| country
|-
|-
|-
|-
| add_character_role
| has_homeland
| Adds a new role to a character
| Checks if scoped culture has a homeland in target state or state region
| add_character_role = general
| has_homeland = state/state region
| character
| culture
|-
|-
|-
|-
| add_commander_rank
| is_primary_culture_of
| Promotes/demotes a character a given amount of military ranks
| Checks if culture is any of a country's primary cultures
|
| is_primary_culture_of = <country>
| country scope
| character
| culture
| country
|-
|-
|-
|-
| add_experience
| shares_heritage_and_other_trait_with_any_primary_culture
| Adds an amount of experience to a commander
| Checks if culture shares any trait marked as 'heritage' and other 'non-heritage' trait with any of a country's primary cultures
| add_experience = 0.2
| shares_heritage_and_other_trait_with_any_primary_culture = <country>
| country scope
| character
| culture
| country
|-
|-
| shares_heritage_trait_with_any_primary_culture
| Checks if culture shares any trait marked as 'heritage' with any of a country's primary cultures
| shares_heritage_trait_with_any_primary_culture = <country>
| country scope
| culture
| country
|-
|-
| shares_non_heritage_trait_with_any_primary_culture
| Checks if culture shares any trait *other than* one marked as 'heritage' with any of a country's primary cultures
| shares_non_heritage_trait_with_any_primary_culture = <country>
| country scope
| culture
| country
|-
|-
| shares_trait_with_any_primary_culture
| Checks if the culture shares any trait with any of a country's primary cultures
| shares_trait_with_any_primary_culture = <country>
| country scope
| culture
| country
|-
|-
|-
|-
| add_random_trait
| any_market_goods
| Adds a random qualifying Trait of the specified category
| Iterate through all active (market) goods in a market
| add_random_trait = personality / skill / condition
| any_market_goods = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| character
| market
| market_goods
|-
|-
|-
|-
| add_trait
| any_scope_country
| Add a trait to a Character
| Iterate through all countries with a presence in the supported scope (currently: only market scope)
| add_trait = trait
| any_scope_country = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| character
| market
| country
|-
|-
|-
|-
| change_character_religion
| market_has_goods_shortage
| Changes the religion of the scoped character
| Check if market has a shortage on any of its building inputs
| change_character_religion = rel:protestant
| market_has_goods_shortage = yes/no
| yes/no
| market
| character
| religion
|-
|-
|-
|-
| free_character_from_void
| age
| Frees a character from the void, if set to no character is deleted instead
| Compares the character age
| free_character_from_void = yes
| age > 20
| <, <=, =, !=, >, >=
| character
| character
|-
|-
|-
|-
| kill_character
| commander_pm_usage
| Kill a character
| Checks how the ratio of Combat Units on the scoped Commander, on the target country's side, with the specified Production Method compares to the value
| kill_character = bool
| where X = country scope and Y = production method key and Z = value to compare to
| <, <=, =, !=, >, >=
| character
| character
|-
|-
|-
|-
| place_character_in_void
| commander_rank
| Banishes a character to the void, duration is how long character is kept before being deleted
| Compares the commanders rank
| place_character_in_void = months
| commander_rank > 2
| <, <=, =, !=, >, >=
| character
|-
|-
| experience_level
| Compares the character experience level
| experience_level > 1
| <, <=, =, !=, >, >=
| character
| character
|-
|-
|-
|-
| remove_as_interest_group_leader
| has_commander_order
| Removes a character from position as interest group leader
| Checks characters order
| remove_as_interest_group_leader = yes
| has_order = order key/order scope
| character
| character
第233行: 第232行:
|-
|-
|-
|-
| remove_trait
| has_culture
| Remove a trait from a Character
| Checks characters culture
| remove_trait = trait
| has_culture = culture scope or character scope
| character
| character
第241行: 第240行:
|-
|-
|-
|-
| set_as_interest_group_leader
| has_high_attrition
| Sets a character as interest group leader
| Checks if a Commander's attrition is higher than defined NORMAL_ATTRITION
| set_as_interest_group_leader = yes
| has_high_attrition = bool
| yes/no
| character
| character
|-
|-
|-
|-
| set_character_busy
| has_religion
| Mark a character as busy or clear said mark
| Checks characters religion
| set_character_busy = bool
| has_religion = religion/character scope
| character
| character
第257行: 第256行:
|-
|-
|-
|-
| set_commander_rank
| has_role
| Promotes/demotes a character to a given military rank value
| Checks if character has the specified role
| set_commander_rank = 3
| has_role = role
| character
| character
第265行: 第264行:
|-
|-
|-
|-
| set_ideology
| has_trait
| Changes scoped character's ideology
| Checks if character has specific trait
| set_ideology = x
| has_trait = trait
| character
| character
第273行: 第272行:
|-
|-
|-
|-
| transfer_character
| is_advancing_on_front
| Transfers a Character to Country
| Checks if a commander is advancing on a front
|
| is_advancing_on_front = front
| front scope
| character
| character
| country
| front
|-
|-
|-
|-
| add_modifier
| is_attacker_in_battle
| Adds a timed modifier effect to object in scope
| Checks if a Commander is attacker in a battle
|
| is_attacker_in_battle = bool
| yes/no
| country, state, building, interest_group, character, institution, front, political_movement
| character
|-
|-
|-
|-
| remove_modifier
| is_busy
| Removes a timed modifier effect to object in scope
| Check if character is busy
|
| is_busy = bool
| yes/no
| country, state, building, interest_group, character, institution, front, political_movement
| character
|-
|-
|-
|-
| every_trade_route
| is_character_alive
| Iterate through all trade routes in a: market, country, marketgoods
| Checks if the scoped character is alive
| every_trade_route = { limit = { <triggers> } <effects> }
| is_character_alive = bool
| yes/no
| character
| country, market, market_goods
| trade_route
|-
|-
|-
|-
| ordered_trade_route
| is_defender_in_battle
| Iterate through all trade routes in a: market, country, marketgoods
| Checks if a Commander is defender in a battle
| ordered_trade_route = {
| is_defender_in_battle = bool
limit = { <triggers> }
| yes/no 
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> }
| country, market, market_goods
| trade_route
|-
|-
|-
|-
| random_trade_route
| is_female
| Iterate through all trade routes in a: market, country, marketgoods
| Check if character is female
| random_trade_route = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_female = bool
| yes/no
| character
| country, market, market_goods
| trade_route
|-
|-
|-
|-
| every_supporting_interest_group
| is_heir
| Iterate through all interest groups supporting a political movement
| Checks whether the scoped character is an heir
| every_supporting_interest_group = { limit = { <triggers> } <effects> }
| is_heir = yes / no
| yes/no
| character
| political_movement
| interest_group
|-
|-
|-
|-
| ordered_supporting_interest_group
| is_in_battle
| Iterate through all interest groups supporting a political movement
| Checks if a Commander is engaged in battle
| ordered_supporting_interest_group = {
| is_in_battle = bool
limit = { <triggers> }
| yes/no 
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> }
| political_movement
| interest_group
|-
|-
|-
|-
| random_supporting_interest_group
| is_in_void
| Iterate through all interest groups supporting a political movement
| Check if character is in the void
| random_supporting_interest_group = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_in_void = bool
| yes/no
| character
| political_movement
| interest_group
|-
|-
|-
|-
| every_primary_culture
| is_mobilized
| Primary cultures of the scoped country or country definition
| Checks if the commander is mobilized
| every_primary_culture = { limit = { <triggers> } <effects> }
| is_mobilized = bool
| yes/no
| character
| country, state, country_definition
| culture
|-
|-
|-
|-
| ordered_primary_culture
| is_monarch
| Primary cultures of the scoped country or country definition
| Checks if character is a monarch of a country with hereditary succession
| ordered_primary_culture = {
| is_monarch = bool
limit = { <triggers> }
| yes/no 
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> }
| country, state, country_definition
| culture
|-
|-
|-
|-
| random_primary_culture
| is_on_front
| Primary cultures of the scoped country or country definition
| Checks is a character has been assigned to a Front and has arrived there
| random_primary_culture = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_on_front = yes/no
| yes/no
| character
| country, state, country_definition
| culture
|-
|-
|-
|-
| abandon_revolution
| is_repairing
| Removes interest group from revolution
| Checks if an Admiral is unavailable and repairing after loosing a naval battle
| abandon_revolution = yes/no
| is_repairing = bool
| yes/no 
| interest_group
| character
|-
|-
|-
|-
| add_ideology
| is_ruler
| Adds an ideology to scoped interest group
| Checks if character is a ruler/head of state of a country
| add_ideology = x
| is_ruler = bool
| yes/no
| interest_group
| character
|-
|-
|-
|-
| add_ruling_interest_group
| is_traveling
| Adds interest group to government
| Checks if the commander is traveling
| add_ruling_interest_group = yes/no
| is_traveling = bool
| yes/no 
| interest_group
| character
|-
|-
|-
|-
| join_revolution
| trait_value
| Adds interest group to ongoing revolution
| Compares the character's total trait value
| join_revolution = yes/no
| trait_value < experience_level
| <, <=, =, !=, >, >=
| interest_group
| character
|-
|-
|-
|-
| remove_ideology
| is_same_law_group_as
| Removes an ideology from scoped interest group
| Checks if scope law type is in the same group as the target law type scope
| remove_ideology = x
| is_same_law_group_as = <law type scope>
| law_type scope
| law_type
| law_type
|-
|-
| has_building
| True if a state/market/state region/country has a building type
| has_building = building
| interest_group
| country, state, market, state_region
|-
|-
|-
|-
| remove_ruling_interest_group
| country_definition_has_culture
| Removes interest group in scope from government
| Checks if a culture is one of the cultures of the country definition
| remove_ruling_interest_group = yes/no
| country_definition_has_culture = <culture>
| culture scope
| interest_group
| country_definition
| culture
|-
|-
|-
|-
| set_ig_bolstering
| any_scope_pop
| Starts/stops bolstering the interest group in scope
| Iterate through all pops in a: country, state, interest group, culture
| set_ig_bolstering = yes/no
| any_scope_pop = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| interest_group
| country, culture, state, interest_group
| pop
|-
|-
|-
|-
| set_ig_suppression
| is_trade_route_active
| Starts/stops suppressing the interest group in scope
| Checks if the scoped trade route is active
| set_ig_suppression = yes/no
| is_trade_route_active = yes/no
| yes/no
| interest_group
| trade_route
|-
|-
|-
|-
| set_interest_group_name
| is_trade_route_productive
| Renames interest group to the specified loc key
| Checks if the scoped trade route is productive
| set_interest_group_name = x
| is_trade_route_productive = yes/no
| yes/no
| interest_group
| trade_route
|-
|-
|-
|-
| every_scope_pop
| trade_route_needs_convoys_to_grow
| Iterate through all pops in a: country, state, interest group, culture
| Checks if the scoped trade route needs more convoys to be able to grow
| every_scope_pop = { limit = { <triggers> } <effects> }
| trade_route_needs_convoys_to_grow = yes/no
| yes/no
| trade_route
| country, culture, state, interest_group
| pop
|-
|-
|-
|-
| ordered_scope_pop
| front_side_pm_usage
| Iterate through all pops in a: country, state, interest group, culture
| Checks how the ratio of Combat Units on the scoped Front, on the target country's side, with the specified Production Method compares to the value
| ordered_scope_pop = {
| where X = country scope and Y = production method key and Z = value to compare to
limit = { <triggers> }
| <, <=, =, !=, >, >=
order_by = script_value
| front
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country, culture, state, interest_group
| pop
|-
|-
|-
|-
| random_scope_pop
| is_vulnerable_front
| Iterate through all pops in a: country, state, interest group, culture
| Whether the scoped Front doesn't have any Battalions nor Generals on target side, and the enemy has at least one General.
| random_scope_pop = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_vulnerable_front = scope:example_country
| country scope
| country, culture, state, interest_group
| front
| pop
| country
|-
|-
|-
|-
| every_combat_units
| any_scope_state
| Iterate through all combat units of input scope
| Iterate through all states including provinces from a: country, state_region, theater, or front
| every_combat_units = { limit = { <triggers> } <effects> }
| any_scope_state = { <count=num/all> / <percent=fixed_point> <triggers> }
| building, character
| country, strategic_region, state_region, theater, front
| combat_unit
| state
|-
|-
|-
|-
| ordered_combat_units
| has_diplomatic_play
| Iterate through all combat units of input scope
| Check if strategic region has a diplomatic play or not
| ordered_combat_units = {
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| building, character
| yes/no
| combat_unit
| strategic_region
|-
|-
| random_combat_units
| Iterate through all combat units of input scope
| random_combat_units = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| building, character
| combat_unit
|-
|-
|-
|-
| lock_trade_route
| is_state_religion
| Lock a trade route for a set amount of time, preventing it from being cancelled manually
| Checks if the religion is the state religion in a country
| lock_trade_route = {
| is_accepted_religion = <country>
years = 5
| country scope
}
| religion
| country
| trade_route
|-
|-
|-
|-
| add_momentum
| shares_heritage_trait_with_state_religion
| Adds momentum to a Party during a campaign period�dd_momentum = value
| Checks if the religion shares any trait marked as 'religion_group' with a country's religion
|
| shares_heritage_trait_with_state_religion = <country>
| country scope
| party
| religion
| country
|-
|-
|-
|-
| every_scope_state
| shares_trait_with_state_religion
| Iterate through all states including provinces from a: country, state_region, theater, or front
| Checks if the religion shares any trait with a country's state religion
| every_scope_state = { limit = { <triggers> } <effects> }
| shares_trait_with_state_religion = <country>
| country scope
| country, strategic_region, state_region, theater, front
| religion
| state
| country
|-
|-
|-
|-
| ordered_scope_state
| any_scope_interest_marker
| Iterate through all states including provinces from a: country, state_region, theater, or front
| Iterate through all interest markers in a: country, strategic region
| ordered_scope_state = {
| any_scope_interest_marker = { <count=num/all> / <percent=fixed_point> <triggers> }
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country, strategic_region, state_region, theater, front
| country, strategic_region
| state
| interest_marker
|-
|-
| random_scope_state
| Iterate through all states including provinces from a: country, state_region, theater, or front
| random_scope_state = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
|
| country, strategic_region, state_region, theater, front
| state
|-
|-
|-
|-
| every_neighbouring_state
| any_neighbouring_state
| Iterate through all states neighbouring a state region
| Iterate through all states neighbouring a state region
| every_neighbouring_state = { limit = { <triggers> } <effects> }
| any_neighbouring_state = { <count=num/all> / <percent=fixed_point> <triggers> }
| country, state, strategic_region, state_region
| country, state, strategic_region, state_region
第581行: 第528行:
|-
|-
|-
|-
| ordered_neighbouring_state
| active_lens
| Iterate through all states neighbouring a state region
| Checks if the specified lens is open
| ordered_neighbouring_state = {
| An interface trigger, can only be used in specific places
limit = { <triggers> }
|
order_by = script_value
| none
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country, state, strategic_region, state_region
| state
|-
|-
|-
|-
| random_neighbouring_state
| active_lens_option
| Iterate through all states neighbouring a state region
| Checks if the specified lens option is activated
| random_neighbouring_state = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| An interface trigger, can only be used in specific places
|
| none
| country, state, strategic_region, state_region
| state
|-
|-
|-
|-
| every_scope_interest_marker
| add_to_temporary_list
| Iterate through all interest markers in a: country, strategic region
| Saves a temporary target for use during the trigger execution
| every_scope_interest_marker = { limit = { <triggers> } <effects> }
| In order to add every instance of a scope that fulfills certain conditions, use "count = all" while also placing this "effect" at the very end of the any-trigger (so that every condition is evaluated for every iteration).
| none
| country, strategic_region
| interest_marker
|-
|-
|-
|-
| ordered_scope_interest_marker
| all_false
| Iterate through all interest markers in a: country, strategic region
| true if all children are false (equivalent to NOR)
| ordered_scope_interest_marker = {
limit = { <triggers> }
|
order_by = script_value
| none
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country, strategic_region
| interest_marker
|-
|-
|-
|-
| random_scope_interest_marker
| always
| Iterate through all interest markers in a: country, strategic region
| Always the same value
| random_scope_interest_marker = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| always = yes
| yes/no
| none
| country, strategic_region
| interest_marker
|-
|-
|-
|-
| add_journal_entry
| and
| Adds a journal entry to a scoped country's journal, with optional saved scope target
| all inside trigger must be true
| add_journal_entry = { type = <key> target = <scope> }
| none
| none
第643行: 第576行:
|-
|-
|-
|-
| add_to_global_variable_list
| any_character
| Adds the event target to a variable list
| Iterate through all characters globally
| add_to_variable_list = { name = X target = Y }
| any_character = { <count=num/all> / <percent=fixed_point> <triggers> }
Where X is the name of the variable
Where Y is an event target
| none
| none
| character
|-
|-
| any_character_in_void
| Iterate through characters in the void
| any_character_in_void = { <count=num/all> / <percent=fixed_point> <triggers> }
| none
| character
|-
|-
|-
|-
| add_to_list
| any_country
| 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 countries globally
| add_to_list = <string> NOTE, if adding a permanent target to a temporary list, the whole list becomes permanent
| any_country = { <count=num/all> / <percent=fixed_point> <triggers> }
| none
| none
| country
|-
|-
|-
|-
| add_to_local_variable_list
| any_diplomatic_play
| Adds the event target to a variable list
| Iterate through all diplomatic plays globally
| add_to_variable_list = { name = X target = Y }
| any_diplomatic_play = { <count=num/all> / <percent=fixed_point> <triggers> }
Where X is the name of the variable
Where Y is an event target
| none
| none
| diplomatic_play
|-
|-
|-
|-
| add_to_temporary_list
| any_false
| 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
| true if any child is false (equivalent to NAND)
| add_to_temporary_list = <string> NOTE, if adding a temporary target to a permanent list, the list will stay permanent
| none
| none
第679行: 第616行:
|-
|-
|-
|-
| add_to_variable_list
| any_in_global_list
| Adds the event target to a variable list
| Iterate through all items in global list. list = name or variable = name
| add_to_variable_list = { name = X target = Y }
| any_in_global_list = { <count=num/all> / <percent=fixed_point> <triggers> }
Where X is the name of the variable
Where Y is an event target
| none
| none
第689行: 第624行:
|-
|-
|-
|-
| assert_if
| any_in_list
| Conditionally cause an assert during run time
| Iterate through all items in list. list = name or variable = name
| assert_if = { limit = { X } text = Y }, where X is a trigger and Y is an optional string
| any_in_list = { <count=num/all> / <percent=fixed_point> <triggers> }
| none
| none
第697行: 第632行:
|-
|-
|-
|-
| assert_read
| any_in_local_list
| Conditionally cause an assert during read time
| Iterate through all items in local list. list = name or variable = name
| assert_read = X, where X is yes or the string to be printed in the assert
| any_in_local_list = { <count=num/all> / <percent=fixed_point> <triggers> }
| none
| none
第705行: 第640行:
|-
|-
|-
|-
| change_global_variable
| any_market
| Changes the value or a numeric variable
| Iterate through all markets globally
| change_variable = { name = X operation = Y }
| any_market = { <count=num/all> / <percent=fixed_point> <triggers> }
Where X is the name of the numeric variable to modify
Where the valid operations are add, subtract, multiply, divide and modulo
Where Y is a fixed point value, script value or event target of a value type
| none
| none
| market
|-
|-
|-
|-
| change_infamy
| any_state
| Change infamy of scope country
| Iterate through all states globally
| change_infamy = amount
| any_state = { <count=num/all> / <percent=fixed_point> <triggers> }
| none
| none
| state
|-
|-
|-
|-
| change_local_variable
| any_state_region
| Changes the value or a numeric variable
| Iterate through all state regions
| change_variable = { name = X operation = Y }
| any_state_region = { <count=num/all> / <percent=fixed_point> <triggers> }
Where X is the name of the numeric variable to modify
Where the valid operations are add, subtract, multiply, divide and modulo
Where Y is a fixed point value, script value or event target of a value type
| none
| none
| state_region
|-
|-
|-
|-
| change_variable
| assert_if
| Changes the value or a numeric variable
| Conditionally cause an assert during run time
| change_variable = { name = X operation = Y }
| assert_if = { limit = { X } text = Y }, where X is a trigger and Y is an optional string
Where X is the name of the numeric variable to modify
Where the valid operations are add, subtract, multiply, divide and modulo
Where Y is a fixed point value, script value or event target of a value type
| none
| none
第746行: 第672行:
|-
|-
|-
|-
| clamp_global_variable
| assert_read
| Clamps a variable the specified max and min
| Conditionally cause an assert during read time
| clamp_variable = { name = X max = Y min = Z }
| assert_read = X, where X is yes or the string to be printed in the assert
Where X is the name of the variable
Where Y and Z are script values
| none
| none
第756行: 第680行:
|-
|-
|-
|-
| clamp_local_variable
| calc_true_if
| Clamps a variable the specified max and min
| Returns true if the specified number of sub-triggers return true
| clamp_variable = { name = X max = Y min = Z }
| calc_true_if = { amount = 2 <trigger> <trigger> <trigger> }
Where X is the name of the variable
Where Y and Z are script values
| none
| none
第766行: 第688行:
|-
|-
|-
|-
| clamp_variable
| can_start_tutorial_lesson
| Clamps a variable the specified max and min
| Can the specified tutorial lesson be started?
| clamp_variable = { name = X max = Y min = Z }
| An interface trigger, can only be used in specific places
Where X is the name of the variable
Where Y and Z are script values
| none
| none
第776行: 第696行:
|-
|-
|-
|-
| clear_global_variable_list
| current_tooltip_depth
| Empties the list
| Returns the number of tooltips currently open on screen
| clear_variable_list = variable_name
| An interface trigger, can only be used in specific places
| <, <=, =, !=, >, >=
| none
| none
|-
|-
|-
|-
| clear_local_variable_list
| custom_description
| Empties the list
| Wraps triggers that get a custom description instead of the auto-generated one
| clear_variable_list = variable_name
| }
| none
| none
第792行: 第712行:
|-
|-
|-
|-
| clear_saved_scope
| custom_tooltip
| Clears a saved scope from the top scope
| Replaces the tooltips for the enclosed triggers with a custom text
| save_scope_as = cool_scope -> clear_saved_scope = cool_scope
| }
| none
| none
第800行: 第720行:
|-
|-
|-
|-
| clear_variable_list
| debug_log
| Empties the list
| Log whether the parent trigger succeeded or failed
| clear_variable_list = variable_name
| none
| none
第808行: 第728行:
|-
|-
|-
|-
| create_country
| debug_log_details
| Creates a new country
| Log whether the parent trigger succeeded or failed. Log which children succeeded or failed
| create_country = {
|
tag = TAG # optional, if not specified origin's tag will be used
origin = country # optional, newly created country will inherit certain values from the origin country
           # at least one of tag or origin must be supplied
state = state # can be repeated; at least one state or province must be supplied
province = province # can be repeated; at least one state or province must be supplied
# both states and provinces can be supplied at the same time
on_created = effect # optional effect that will be run with the newly created country in scope
}
| none
| none
第824行: 第736行:
|-
|-
|-
|-
| custom_description
| error_check
| Wraps effects that get a custom description instead of the auto-generated one
| Checks an error in code that specifically uses the CErrorTable::CheckTrigger path, in general avoid this and just use normal script
| 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
第838行: 第744行:
|-
|-
|-
|-
| custom_description_no_bullet
| exists
| Wraps effects that get a custom description instead of the auto-generated one. Also ensures no bullet point appears
| Checks whether the specified socope target exists (check for not being the null object)
| custom_description_no_bullet = {
| exists = from.owner.var:cool_var.mother
text = <effect_localization_key>
subject = <optional subject scope> #defaults to current scope
object = <optional object scope>
value = <optional script value>
... effects ...
}
| none
| none
第852行: 第752行:
|-
|-
|-
|-
| custom_label
| game_date
| just a tooltip, the scope as object (for grouping, localization). Can also be written as custom_label = { text = key subject = scope (optional) <hidden effects> }
| Compare to current game date
|
| current_game_date = 1837.1.1
|
| <, <=, =, !=, >, >=
| none
| none
|-
|-
|-
|-
| custom_tooltip
| global_variable_list_size
| just a tooltip, the scope as subject (for grouping, localization). Can also be written as custom_tooltip = { text = key subject = scope (optional) <hidden effects> }
| Checks the size of a variable list
|
| Where Y is a script value or number
| none
| none
第868行: 第768行:
|-
|-
|-
|-
| debug_log
| has_cosmetic_dlc
| 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
| Does the client have this cosmetic DLC
|
| An interface trigger, can only be used in specific places
| none
| none
第876行: 第776行:
|-
|-
|-
|-
| debug_log_scopes
| has_game_rule
| Log the current scope to the debug log when this effect executes yes = full scope info, no=only current scope
| Is the given game rule setting enabled?
|
| has_game_rule = faster_conversion
| none
| none
第884行: 第784行:
|-
|-
|-
|-
| else
| has_game_started
| Executes enclosed effects if limit criteria of preceding 'if' or 'else_if' is not met
| True if game has started
| if = { limit = { <triggers> } <effects> }
| has_game_started = bool
else = { <effects> }
| yes/no
| none
| none
|-
|-
|-
|-
| else_if
| has_gameplay_dlc
| Executes enclosed effects if limit criteria of preceding 'if' or 'else_if' is not met, and its own limit is met
| Does the host have this gameplay DLC
| if = { limit = { <triggers> } <effects> }
else_if = { limit = { <triggers> } <effects> }
| none
| none
第902行: 第800行:
|-
|-
|-
|-
| every_character
| has_global_variable
| Iterate through all characters globally
| Checks whether the current scope has the specified variable set
| every_character = { limit = { <triggers> } <effects> }
| has_variable = name
| none
| none
| character
|-
|-
|-
|-
| every_character_in_void
| has_global_variable_list
| Iterate through characters in the void
| Checks whether the current scope has the specified variable list set
| every_character_in_void = { limit = { <triggers> } <effects> }
| has_variable_list = name
| none
| none
| character
|-
|-
|-
|-
| every_country
| has_local_variable
| Iterate through all countries globally
| Checks whether the current scope has the specified variable set
| every_country = { limit = { <triggers> } <effects> }
| has_variable = name
| none
| none
| country
|-
|-
|-
|-
| every_diplomatic_play
| has_local_variable_list
| Iterate through all diplomatic plays globally
| Checks whether the current scope has the specified variable list set
| every_diplomatic_play = { limit = { <triggers> } <effects> }
| has_variable_list = name
| none
| none
| diplomatic_play
|-
|-
|-
|-
| every_in_global_list
| has_map_interaction
| Iterate through all items in global list. list = name or variable = name
| Checks if the map interaction type is active
| every_in_global_list = { limit = { <triggers> } <effects> }
| An interface trigger, can only be used in specific places
| none
| none
第942行: 第840行:
|-
|-
|-
|-
| every_in_list
| has_map_interaction_diplomatic_action
| Iterate through all items in list. list = name or variable = name
| Checks if our current map interaction is a specific diplomatic action
| every_in_list = { limit = { <triggers> } <effects> }
| An interface trigger, can only be used in specific places
| none
| none
第950行: 第848行:
|-
|-
|-
|-
| every_in_local_list
| has_map_interaction_export_goods
| Iterate through all items in local list. list = name or variable = name
| Checks if the specified lens option is to export the specified goods
| every_in_local_list = { limit = { <triggers> } <effects> }
| An interface trigger, can only be used in specific places
| none
| none
第958行: 第856行:
|-
|-
|-
|-
| every_market
| has_map_interaction_import_goods
| Iterate through all markets globally
| Checks if the specified lens option is to import the specified goods
| every_market = { limit = { <triggers> } <effects> }
| An interface trigger, can only be used in specific places
| none
| none
| market
|-
|-
|-
|-
| every_state
| has_reached_end_date
| Iterate through all states globally
| True if the end date (NDefines::NGame::END_DATE) has been reached
| every_state = { limit = { <triggers> } <effects> }
| has_reached_end_date = yes
| yes/no
| none
| none
| state
|-
|-
|-
|-
| every_state_region
| has_unification_candidate
| Iterate through all state regions
| Check if there is at least one unification candidate for country tag
| every_state_region = { limit = { <triggers> } <effects> }
| has_country_unification_candidate = GER
| none
| none
| state_region
|-
|-
|-
|-
| hidden_effect
| has_variable
| Effect not shown in tooltips
| Checks whether the current scope has the specified variable set
|
| has_variable = name
| none
| none
第990行: 第888行:
|-
|-
|-
|-
| if
| has_variable_list
| Executes enclosed effects if limit criteria are met
| Checks whether the current scope has the specified variable list set
| if = { limit = { <triggers> } <effects> }
| has_variable_list = name
| none
| none
第998行: 第896行:
|-
|-
|-
|-
| ordered_character
| hidden_trigger
| Iterate through all characters globally
| AndTrigger that doesn't generate tooltips for contents within
| ordered_character = {
| hidden_trigger = {}
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|-
|-
|-
|-
| ordered_character_in_void
| is_building_type_expanded
| Iterate through characters in the void
| Checks if the CProductionMethodsPanelEntry for a particular CBuildingType is expanded
| ordered_character_in_void = {
| An interface trigger, can only be used in specific places
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
|-
|-
|-
|-
| ordered_country
| is_game_paused
| Iterate through all countries globally
| Checks if the game is paused
| ordered_country = {
| An interface trigger, can only be used in specific places
limit = { <triggers> }
| yes/no 
order_by = script_value
| none
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| none
| country
|-
|-
|-
|-
| ordered_diplomatic_play
| is_gamestate_tutorial_active
| Iterate through all diplomatic plays globally
| Is the gamestate tutorial active? See save_progress_in_gamestate in tutorial_lesson_chains documentation.
| ordered_diplomatic_play = {
| An interface trigger, can only be used in specific places
limit = { <triggers> }
| yes/no 
order_by = script_value
| none
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| none
| diplomatic_play
|-
|-
|-
|-
| ordered_in_global_list
| is_in_list
| Iterate through all items in global list. list = name or variable = name
| Checks if a target in in a list
| 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
| none
第1,073行: 第936行:
|-
|-
|-
|-
| ordered_in_list
| is_lens_open
| Iterate through all items in list. list = name or variable = name
| Checks if a certain lens is open, specified as a lens key. Specify an optional named tab to check if this tab is open.
| ordered_in_list = {
| An interface trigger, can only be used in specific places
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
第1,088行: 第944行:
|-
|-
|-
|-
| ordered_in_local_list
| is_objective_completed
| Iterate through all items in local list. list = name or variable = name
| Is the objective completed for the country in scope?
| ordered_in_local_list = {
| is_objective_completed = yes
limit = { <triggers> }
| yes/no 
order_by = script_value
position = int
min = int
max = 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_market
| is_panel_open
| Iterate through all markets globally
| Checks if a certain infopanel is open, specified as an event target (target) or as a string (panel_name). Specify an optional named tab (tab_name) to check if this tab is open.
| ordered_market = {
| An interface trigger, can only be used in specific places
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
| market
|-
|-
|-
|-
| ordered_state
| is_popup_open
| Iterate through all states globally
| Checks if the specified popup panel is open
| ordered_state = {
| An interface trigger, can only be used in specific places
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
| state
|-
|-
|-
|-
| ordered_state_region
| is_rightclick_menu_open
| Iterate through all state regions
| Checks if the specified rightclick menu is open
| ordered_state_region = {
| An interface trigger, can only be used in specific places
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = 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
| state_region
|-
|-
|-
|-
| post_notification
| is_target_in_global_variable_list
| Posts notification
| Checks if a target is in a variable list
|
| Where Y is an event target
| none
| none
第1,156行: 第984行:
|-
|-
|-
|-
| post_proposal
| is_target_in_local_variable_list
| Posts proposal
| Checks if a target is in a variable list
|
| Where Y is an event target
| none
| none
第1,164行: 第992行:
|-
|-
|-
|-
| random
| is_target_in_variable_list
| a random effect, random = { chance = X modifier = Y effects... }
| Checks if a target is in a variable list
| where X is a chance of the enclosed effects being fired and can be modified by optional value modifier list (AKA MTTH) Y
| Where Y is an event target
| none
| none
第1,172行: 第1,000行:
|-
|-
|-
|-
| random_character
| is_tutorial_active
| Iterate through all characters globally
| Is the tutorial active?
| random_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| An interface trigger, can only be used in specific places
| yes/no
| none
| none
| character
|-
|-
|-
|-
| random_character_in_void
| is_tutorial_lesson_active
| Iterate through characters in the void
| Is this the current tutorial lesson?
| random_character_in_void = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| An interface trigger, can only be used in specific places
| none
| none
| character
|-
|-
|-
|-
| random_country
| is_tutorial_lesson_chain_completed
| Iterate through all countries globally
| Has the tutorial lesson chain with the specified key been finished?
| random_country = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| An interface trigger, can only be used in specific places
| none
| none
| country
|-
|-
|-
|-
| random_diplomatic_play
| is_tutorial_lesson_completed
| Iterate through all diplomatic plays globally
| has the tutorial lesson with the specified name been finished?
| random_diplomatic_play = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| An interface trigger, can only be used in specific places
| none
| none
| diplomatic_play
|-
|-
|-
|-
| random_in_global_list
| is_tutorial_lesson_step_completed
| Iterate through all items in global list. list = name or variable = name
| Has the tutorial lesson step been finished?
| random_in_global_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| An interface trigger, can only be used in specific places
| none
| none
第1,212行: 第1,040行:
|-
|-
|-
|-
| random_in_list
| list_size
| Iterate through all items in list. list = name or variable = name
| Checks the size of a list
| random_in_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| Where Y is a script value
|
| <, <=, =, !=, >, >=
| none
| none
|-
|-
|-
|-
| random_in_local_list
| local_variable_list_size
| Iterate through all items in local list. list = name or variable = name
| Checks the size of a variable list
| random_in_local_list = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| Where Y is a script value or number
| none
| none
第1,228行: 第1,056行:
|-
|-
|-
|-
| random_list
| nand
| a random list effect
| a negated AND trigger
| random_list = { X1 = { trigger = { enables/disable this effect} modifier = Y1 effect1 } X2 = { trigger = { enables/disable this effect} 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 constructs)
| none
| none
第1,238行: 第1,064行:
|-
|-
|-
|-
| random_log_scopes
| nor
| Log the current scope to the random log when this effect executes. Only use temprorarily for debugging purposes as it can introduce localized strings into the Scopes._Random log. yes = full scope info, no=only current scope
| a negated OR trigger
|
| none
| none
第1,246行: 第1,072行:
|-
|-
|-
|-
| random_market
| not
| Iterate through all markets globally
| negates content of trigger
| random_market = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| none
| none
| market
|-
|-
|-
|-
| random_state
| or
| Iterate through all states globally
| at least one entry inside trigger must be true
| random_state = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| none
| none
| state
|-
|-
|-
|-
| random_state_region
| save_temporary_scope_as
| Iterate through all state regions
| Saves a temporary target for use during the trigger execution
| random_state_region = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| none
| none
| state_region
|-
|-
|-
|-
| remove_from_list
| save_temporary_scope_value_as
| Removes the current scope from a named list remove_from_list = <string>
| 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
| none
第1,278行: 第1,104行:
|-
|-
|-
|-
| remove_global_variable
| should_show_nudity
| Removes a variable
| can nudity be shown?
| remove_variable = variable_name
| An interface trigger, can only be used in specific places
| yes/no
| none
| none
|-
|-
|-
|-
| remove_list_global_variable
| switch
| Removes the target from a variable list
| Switch on a trigger for the evaluation of another trigger with an optional fallback trigger.
| remove_list_variable = { name = X target = Y }
| fallback = { <triggers> }
Where X is the name of the variable
Where Y is an event target
| none
| none
第1,296行: 第1,120行:
|-
|-
|-
|-
| remove_list_local_variable
| trigger_else
| Removes the target from a variable list
| Evaluates the triggers if the display_triggers of preceding 'trigger_if' or 'trigger_else_if' is not mettrigger_if = { limit = { <display_triggers> } <triggers> }
| remove_list_variable = { name = X target = Y }
| trigger_else = { <triggers> }
Where X is the name of the variable
Where Y is an event target
| none
| none
第1,306行: 第1,128行:
|-
|-
|-
|-
| remove_list_variable
| trigger_else_if
| Removes the target from a variable list
| Evaluates the enclosed triggers if the display_triggers of the preceding `trigger_if` or `trigger_else_if` is not met and its own display_trigger of the limit is mettrigger_if = { limit = { <display_triggers> } <triggers> }
| remove_list_variable = { name = X target = Y }
| trigger_else_if = { limit = { <display_triggers> } <triggers> }
Where X is the name of the variable
Where Y is an event target
| none
| none
第1,316行: 第1,136行:
|-
|-
|-
|-
| remove_local_variable
| trigger_if
| Removes a variable
| Evaluates the triggers if the display_triggers of the limit are met
| remove_variable = variable_name
| trigger_if = { limit = { <display_triggers> } <triggers> }
| none
| none
第1,324行: 第1,144行:
|-
|-
|-
|-
| remove_variable
| variable_list_size
| Removes a variable
| Checks the size of a variable list
| remove_variable = variable_name
| Where Y is a script value or number
| none
| none
第1,332行: 第1,152行:
|-
|-
|-
|-
| round_global_variable
| weighted_calc_true_if
| Rounds a variable to the nearest specified value
| Returns true if the sum of weights of fulfilled sub-triggers amount to the specified sum
| clamp_variable = { name = X nearest = Y }
| weighted_calc_true_if = { amount = 10 5 = { <trigger> } 15 = { <trigger> } 7 = { <trigger> } }
Where X is the name of the variable
Where Y is a script value
| none
| none
第1,342行: 第1,160行:
|-
|-
|-
|-
| round_local_variable
| year
| Rounds a variable to the nearest specified value
| Compares the current year of the game
| clamp_variable = { name = X nearest = Y }
| year > 1850
Where X is the name of the variable
| <, <=, =, !=, >, >=
Where Y is a script value
|
| none
| none
|-
|-
|-
|-
| round_variable
| infrastructure
| Rounds a variable to the nearest specified value
| Compares the infrastructure value of a given state
| clamp_variable = { name = X nearest = Y }
| infrastructure > 10
Where X is the name of the variable
| <, <=, =, !=, >, >=
Where Y is a script value
| state, state_region
|
| none
|-
|-
|-
|-
| save_scope_as
| infrastructure_usage
| Saves the current scope as an arbitrarily-named target to be referenced later in the (unbroken) event chain
| Compares the infrastructure usage value of a given state
| save_event_target_as = <string>
| infrastructure_usage > 10
| <, <=, =, !=, >, >=
| none
| state, state_region
|-
|-
|-
|-
| save_scope_value_as
| has_label
| Saves a numerical or bool value as an arbitrarily-named target to be referenced later in the (unbroken) event chain
| Check if the scope object has the specified label
| save_scope_value_as = { name = <string> value = x }
| has_label = label_key
| none
| province
|-
|-
|-
|-
| save_temporary_scope_as
| has_terrain
| Saves the current scope as an arbitrarily-named temporary target to be referenced later in the same effect
| Check if the province has the specified terrain type
| save_temporary_event_target_as = <string>
| has_terrain = terrain_key
| none
| province
|-
|-
|-
|-
| save_temporary_scope_value_as
| is_province_land
| Saves a numerical or bool value as an arbitrarily-named temporary target to be referenced later in the same effect
| Check if the province is on land
| save_temporary_scope_value_as = { name = <string> value = x }
| none
| yes/no
| province
|-
|-
|-
|-
| set_global_variable
| is_interest_active
| Sets a variable
| Is the interest marker active
| set_variable = { name = X value = Y days = Z }
| is_interest_active = yes/no
Where X is the name of the variable used to then access it
| yes/no
Where Y is any event target, bool, value, script value or flag (flag:W)
| interest_marker
An optional days where Z is the number of days or script value
This variable will be accessible with <type_>var:X. With type being in a scope object or in a top scope
Can also be used as set_variable = X (equivalent to set_variable = { name = X value = yes })
| none
|-
|-
|-
|-
| set_local_variable
| aggressive_diplomatic_plays_permitted
| Sets a variable
| True if country is independent or permitted to start their own Diplomatic Plays
| set_variable = { name = X value = Y days = Z }
| aggressive_diplomatic_plays_permitted = bool
Where X is the name of the variable used to then access it
| yes/no
Where Y is any event target, bool, value, script value or flag (flag:W)
| country
An optional days where Z is the number of days or script value
This variable will be accessible with <type_>var:X. With type being in a scope object or in a top scope
Can also be used as set_variable = X (equivalent to set_variable = { name = X value = yes })
|
| none
|-
|-
|-
|-
| set_variable
| any_active_party
| Sets a variable
| Iterate through all active political parties in a country
| set_variable = { name = X value = Y days = Z }
| any_active_party = { <count=num/all> / <percent=fixed_point> <triggers> }
Where X is the name of the variable used to then access it
Where Y is any event target, bool, value, script value or flag (flag:W)
An optional days where Z is the number of days or script value
This variable will be accessible with <type_>var:X. With type being in a scope object or in a top scope
Can also be used as set_variable = X (equivalent to set_variable = { name = X value = yes })
|
| none
| country
| party
|-
|-
|-
|-
| show_as_tooltip
| any_civil_war
| Effect only shown in tooltips (but not executed)
| Iterate through all civil wars related to the scoped country
|
| any_civil_war = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| none
| country
| civil_war
|-
|-
|-
|-
| start_tutorial_lesson
| any_in_hierarchy
| 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)
| Any country in current hierarchy, including current
|
| any_in_hierarchy = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| none
| country
| country
|-
|-
|-
|-
| switch
| any_law
| Switch on a trigger for the evaluation of another trigger with an optional fallback trigger.
| Iterate through all laws in a country
| switch = {
| any_law = { <count=num/all> / <percent=fixed_point> <triggers> }
trigger = simple_assign_trigger
case_1 = { <effects> }
case_2 = { <effects> }
case_n = { <effects> }
fallback = { <effects> }
|
| none
| country
| law
|-
|-
|-
|-
| trigger_event
| any_overlord_or_above
| Triggers an event for the current scope
| Any country above current in hierarchy
| trigger_event = X
| any_overlord_or_above = { <count=num/all> / <percent=fixed_point> <triggers> }
trigger_event = { id = X days/weeks/months/years = Y }
Where X is an event ID and Y is an integer to delay the event by
|
| none
| country
| country
|-
|-
|-
|-
| while
| any_political_movement
| Repeats enclosed effects while limit criteria are met or until set iteration count is reached
| Iterate through all political movements in a country
| while = { limit = { <triggers> } <effects> }
| any_political_movement = { <count=num/all> / <percent=fixed_point> <triggers> }
while = { count = 3 <effects> }
Default max of 1000.
|
| none
| country
| political_movement
|-
|-
|-
|-
| activate_building
| any_potential_party
| Activate a building in a state
| Iterate through all potential political parties in a country
| activate_building = { building = building_key }
| any_potential_party = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| state
| country
| party
|-
|-
|-
|-
| add_culture_standard_of_living_modifier
| any_rival_country
| Apply a standard of living modifier in the scoped state for the given culture. Other than the required culture argument, this effect has the same syntax as add_modifier.
| Any country that is rival to the country in a scope
|
| any_rival_country = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| state
| country
| country
|-
|-
|-
|-
| add_religion_standard_of_living_modifier
| any_scope_ally
| Apply a standard of living modifier in the scoped state for the given religion. Other than the required religion argument, this effect has the same syntax as add_modifier.
| Iterate through all allies to a: country
|
| any_scope_ally = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| state
| country
| country
|-
|-
|-
|-
| convert_population
| any_scope_cobelligerent
| Changes X% of the different religion population to the specified religion.
| Iterate through all co-belligerents to a: country
| convert_population = { target = rel:catholic value = 0.5 }
| any_scope_cobelligerent = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| state
| country
| country
|-
|-
|-
|-
| create_building
| any_scope_theater
| Creates a building in the scoped state. Supported values are:
| Iterate through all theaters in a: country
| building = <building>
| any_scope_theater = { <count=num/all> / <percent=fixed_point> <triggers> }
activate_production_methods = { <production_methods> }
subsidized = yes/no
reserves = [0..1] (percentage of cash reserves the building should be created with)
level = arable_land/integer
If level is "arable_land", the building will be of the necessary level to exhaust all available arable land in the state.
If level is "urbanization", the building will be of the necessary level to exhaust all available urbanzation in the state.
If level is an integer, the building will be of that level
Please note: this effect works a little differently if there already is a building of the specified type in the state. If that happens:
1. the level will be the maximum between the scripted level and the level of the existing building
2. the cash reserves will be the maximum between the scripted value and the existing cash reserves
|
| state
| country
| theater
|-
|-
|-
|-
| create_pop
| any_scope_violate_sovereignty_interested_parties
| Creates a pop in the scoped state
| Iterate through all countries that would be interested if country in scope has their sovereignty violated
|
| any_scope_violate_sovereignty_interested_parties = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| state
| country
| country
|-
|-
|-
|-
| deactivate_building
| any_scope_violate_sovereignty_wars
| Deactivate a building in a state
| Iterate through all relevant wars if target country had their sovereignty violated by scoped country
| deactivate_building = { building = building_key }
| any_scope_violate_sovereignty_wars = { <count=num/all> / <percent=fixed_point> <triggers> }
| state
| country
| war
|-
|-
| any_scope_war
| Iterate through all wars related to the scope
| any_scope_war = { <count=num/all> / <percent=fixed_point> <triggers> }
| country
| war
|-
|-
|-
|-
| force_resource_depletion
| any_subject_or_below
| Forces a resource depletion in state
| Any country below current in hierarchy
| force_resource_depletion = bg_gold_mining
| any_subject_or_below = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| state
| country
| country
|-
|-
|-
|-
| force_resource_discovery
| approaching_bureaucracy_shortage
| Forces a resource discovery in state
| Check if Institutions in the country will incur a Bureaucracy shortage eventually
| force_resource_discovery = bg_gold_mining
| state
| yes/no
| country
|-
|-
|-
|-
| remove_building
| arable_land_country
| Remove a building in the scope state
| Compare arable land in *all* states
| remove_building = building_key
| arable_land_country > 10
| <, <=, =, !=, >, >=
| state
| country
|-
|-
|-
|-
| set_state_owner
| army_reserves
| Set State Owner
| Compare the amount of Army Reserves
| set_state_owner = scope
| state
| <, <=, =, !=, >, >=
| country
| country
|
|-
|-
|-
|-
| set_state_type
| authority
| Sets a state to a certain type (incorporated, unincorporated, treaty_port)
| Compares the available authority of the scoped country
|
| state
| <, <=, =, !=, >, >=
| country
|-
|-
|-
|-
| start_building_construction
| average_country_infrastructure
| Start constructing a building in a scoped state
| Check average infrastructure in all states owned by scope country
| start_building_construction = building_barracks
| average_country_infrastructure = 3
| <, <=, =, !=, >, >=
| state
| country
|-
|-
|-
|-
| add_arable_land
| average_incorporated_country_infrastructure
| Add/remove arable land from a state region
| Check average infrastructure in incorporated states owned by the scope country
|
| average_incorporated_country_infrastructure = 3
| <, <=, =, !=, >, >=
| state_region
| country
|-
|-
|-
|-
| add_claim
| bureaucracy
| Adds scoped state region as a claim for target country
| Compares the available bureaucracy of the scoped country
| add_claim = scope/country
| state_region
| <, <=, =, !=, >, >=
| country
| country
|
|-
|-
|-
|-
| add_devastation
| can_afford_diplomatic_action
| Add/remove devastation from a state region
| Checks if the country in scope can afford the Influence for the specified diplomatic action (pact or ongoing)
|
| Where X = country and Y = diplomatic action type
| state_region
| country
|-
|-
|-
|-
| add_homeland
| can_establish_any_export_route
| Adds scoped state region as Homeland for target culture
| Check if a country can establish any export routes
| add_homeland = scope/culture
| can_establish_any_export_route = <goods key/scope>
| goods scope
| state_region
| country
| goods
|-
|-
| can_establish_any_import_route
| Check if a country can establish any import routes
| can_establish_any_import_route = <goods key/scope>
| goods scope
| country
| goods
|-
|-
|-
|-
| add_pollution
| can_form_nation
| Increase/decrease pollution level in a scoped state region
| Check if the target country is able to potentially form a nation
| add_pollution = 10
| can_form_nation = <tag>
| state_region
| country
|-
|-
|-
|-
| create_state
| can_have_as_subject
| creates a state in a state region
| Checks if a country can have another country as a particular type of subject
|
| Where X = country and Y = subject type
| state_region
| country
|-
|-
|-
|-
| remove_claim
| can_have_subjects
| Removes scoped state region as a claim for target country
| Check if the country is able to have subjects of it sown
| add_claim = scope/country
| state_region
| yes/no
| country
| country
|
|-
|-
|-
|-
| remove_homeland
| can_research
| Removes scoped state region as Homeland for target culture
| True if a country can research an technology
| add_homeland = scope/culture
| can_research = technology
| state_region
| country
|-
|-
|-
|-
| set_devastation
| can_take_on_scaled_debt
| Set devastation to a state region
| Checks if scoped country can take on a certain amount of scaled debt from another country
|
| Where X = country and Y = decimal value
| state_region
| country
|-
|-
|-
|-
| set_owner_of_provinces
| construction_queue_duration
| Gives a set of provinces in a state region to a specific country
| Compares the predicted duration in weeks of the total number of building projects in the construction queue
| set_owner_of_provinces = { country = <scope> provinces = {} }
| state_region
| <, <=, =, !=, >, >=
| country
|-
|-
|-
|-
| set_target_technology
| construction_queue_num_queued_levels
| Sets a (new) target technology scope for a journal entry
| Compares the number of building levels in the construction queue
| set_target_technology = <scope>
| journalentry
| <, <=, =, !=, >, >=
| country
|-
|-
|-
|-
| activate_law
| country_has_primary_culture
| Activates a law for a country
| Checks if a culture is one of the primary cultures in the country
|
| country_has_primary_culture = <culture>
| culture scope
| country
| country
| law_type
| culture
|-
|-
|-
|-
| add_banned_goods
| country_has_state_religion
| Adds a total ban of a good to a country
| Checks if a religion is the state religion in the country
| add_banned_goods = <goods key/scope>
| country_has_accepted_religion = <religion>
| religion scope
| country
| country
| goods
| religion
|-
|-
|-
|-
| add_change_relations_progress
| country_or_subject_owns_entire_state_region
| Add progress towards changing relations between two countries
| Checks whether the scoped country or any of its subjects owns the entire specified state region
| add_change_relations_progress = {
| country_or_subject_owns_entire_state_region = key
tcountry = country scope/tag
value = amount
}
| country
| country
第1,711行: 第1,504行:
|-
|-
|-
|-
| add_declared_interest
| country_pm_usage
| Will create a declared interest in the target strategic region
| Checks how the ratio of Combat Units (of the same type) on the scoped Country with the specified Production Method compares to the value
| c:FRA = { add_declared_interest = region_nile_basin }
| where X = country scope and Y = production method key and Z = value to compare to
| <, <=, =, !=, >, >=
| country
| country
|-
|-
|-
|-
| add_enactment_modifier
| country_rank
| Adds an enactment-related timed modifier effect to object in scope
| Compares a Country's Power Ranking
|
| country_rank < rank_value:major_power
| <, <=, =, !=, >, >=
| country
| country
|-
|-
|-
|-
| add_era_researched
| country_tier
| Add specified era as researched in a country scope
| Compare tier of country tag
| add_era_researched = era
| country_tier = x
| country
| country
第1,735行: 第1,528行:
|-
|-
|-
|-
| add_investment_pool
| enacting_any_law
| Directly adds money to the investment pool
| Checks if you're enacting any law.
| add_investment_pool = 50
| enacting_any_law = bool
| yes/no
| country
| country
|-
|-
|-
|-
| add_law_progress
| expanding_institution
| Adds x% progress to the current checkpoint of the law being passed (range is [0, 1], 0.1 means 10 percentage points)
| Checks if the institution is expanding
| add_law_progress = 0.1 / -0.1
| expanding_institution = <scope/key>
| country
| country
第1,751行: 第1,544行:
|-
|-
|-
|-
| add_primary_culture
| global_country_ranking
| Adds a culture to the primary cultures of a country
| Compares a Country's Power Ranking (position)
| add_primary_culture = X
| global_country_ranking > 42
Where X is a culture scope
| <, <=, =, !=, >, >=
| country
| country
| culture
|-
|-
|-
|-
| add_taxed_goods
| gold_reserves
| Adds consumption taxes on a good to a country
| Does the country have the required gold reserves
| add_taxed_goods = <goods key/scope>
| gold_reserves > 500
| <, <=, =, !=, >, >=
| country
| country
| goods
|-
|-
|-
|-
| add_technology_progress
| gold_reserves_limit
| Add technology progress
| Compares the country's gold reserves limit
| add_technology_progress = { progress = X technology = Y }
| gold_reserves > gold_reserves_limit
Where X is a fixed point and Y is an technology
| <, <=, =, !=, >, >=
|
| country
| country
|-
|-
|-
|-
| add_technology_researched
| government_legitimacy
| Research the specified technology in a country scope
| Compare Legitimacy
| add_technology_researched = technology
| <, <=, =, !=, >, >=
| country
| country
|-
|-
|-
|-
| add_treasury
| has_active_peace_deal
| Add/remove money from a country
| True if the country is in a war where there is a proposed peace deal
| add_treasury = fixed point
| has_active_peace_deal = bool
| yes/no
| country
| country
|-
|-
|-
|-
| annex
| has_any_secessionists_broken_out
| Annexes a country
| Check if the country has secessionists broken out
| annex = scope
| yes/no
| country
| country
| country
|-
|-
|-
|-
| call_election
| has_any_secessionists_growing
| Sets the next election date for country in N months
| Check if the country has any secessionists growing
| call_election = {
months = 6
}
| yes/no
| country
| country
|-
|-
|-
|-
| change_institution_investment_level
| has_any_secessionists_possible
| Add/remove the investment level for the institution
| Check if the country has any new secessionists possible
| change_institution_investment_level = {
institution = institution_police
investment = -1
}
| yes/no
| country
| country
|-
|-
|-
|-
| change_relations
| has_attitude
| Change relations between two countries
| Checks if scoped country has a particular attitude towards another country
| change_relations = {
| Where X = country and Y = attitude type
tcountry = country scope/tag
value = amount
}
| country
| country
第1,833行: 第1,616行:
|-
|-
|-
|-
| change_subject_type
| has_claim
| Will change the subject type of the country that is the current scope.
| Checks if country in scope has a claim on state/state region
| change_subject_type = subject_type_dominion
| has_claim = <scope>
| country
| country
第1,841行: 第1,624行:
|-
|-
|-
|-
| change_tag
| has_completed_subgoal
| Change the tag for the scoped country
| Checks if the scoped country has completed a certain subgoal
| c:GBR = { change_tag = FRA }
| has_completed_subgoal = subgoal_key
| country
| country
第1,849行: 第1,632行:
|-
|-
|-
|-
| change_tension
| has_consumption_tax
| Change tension between two countries
| Checks if the country is taxing the target good.
| change_tension = {
| c:FRA = { has_consumption_tax = g:grain }
tcountry = country scope/tag
| goods scope
value = amount
}
| country
| country
| goods
|-
|-
|-
|-
| clear_debt
| has_convoys_being_sunk
| Clear country loans = bool
| Check if the country has convoys being sunk through convoy raiding
|
| yes/no
| country
| country
|-
|-
|-
|-
| clear_scaled_debt
| has_decreasing_interests
| Clears an amount of debt equal to the defined multiplier on target's max credit
| Checks if the country has decreasing interest levels
| clear_scaled_debt = value
| yes/no
| country
| country
|-
|-
|-
|-
| complete_objective_subgoal
| has_diplomatic_pact
| Completes an objective subgoal
| Checks if two countries have an active diplomatic pact of type
| complete_objective_subgoal = <key>
| Where X = country and Y = diplomatic action type, is_initiator is optional parameter that checks to see if scope country is the original initiator/target of the pact
| country
| country
第1,884行: 第1,664行:
|-
|-
|-
|-
| create_character
| has_diplomatic_relevance
| Creates a character, any option can be omitted.
| Checks if target country is diplomatically relevant for scope country
| create_character = {
| has_diplomatic_relevance = <scope>
name = loc_key or alternatively first_name and last_name separately
| country scope
culture = culture_tag
| country
religion = religion scope (if omitted, it's defined by the character's culture religion)
female = bool or character scope (gets the same value from the character)
noble = bool or character scope (gets the same value from the character)
ruler = bool or character scope (gets the same value from the character)
heir = bool
age = integer, range, or character scope (gets the age from a character)
ideology = ideology key or scope
interest_group = interest group key or scope
on_created = effect trait_generation = effect role = character scope (gets the role from a character)
hq = HQ scope or strategic region scope
}
| country
| country
|
|-
|-
|-
|-
| create_diplomatic_pact
| has_diplomats_expelled
| Create a diplomatic pact between two countries, with scope country as initiator
| Checks if country in scope has recently expelled diplomats of event target
| create_diplomatic_pact = {
| has_diplomats_expelled = country
tcountry = country scope/tag
| country scope
type = diplomatic action type
| country
}
| country
| country
|
|-
|-
|-
|-
| create_diplomatic_play
| has_export_priority_tariffs
| Create a diplomatic play with the scoped object as target
| Checks if scoped country has Import Prioritized tariffs for a good
| create_diplomatic_play = {
| has_export_priority_tariffs = <key/scope>
name = loc_key
| goods scope
escalation = integer between 0 and 100
war = bool
initiator = country scope/tag
type = diplomatic play type
add_initiator_backers = { list of country scopes/tags }
add_target_backers = { list of country scopes/tags }
add_war_goal = { holder = country scope/tag, type = x, state = <state target>, country = <country target,> region = <region target>  }
}
| country
| country
| goods
|-
|-
|-
|-
| create_incident
| has_free_government_reform
| Creates a diplomatic incident that generates infamy, with target country as the victim
| Check if the country has a free (of radicals) government reform
| create_incident = {
| has_free_government_reform = <yes/no>
tcountry = country scope/tag
| yes/no
value = infamy amount
}
| country
| country
|-
|-
|-
|-
| create_trade_route
| has_global_highest_gdp
| Creates a new Trade Route
| Checks if the scoped country has the highest GDP
| trade_route = {
| has_global_highest_gdp = yes/no
goods = x
| yes/no
level = x
import = yes/no
origin = state_region
target = state_region
}
| country
| country
|-
|-
|-
|-
| create_truce
| has_global_highest_innovation
| Create a truce betweeen two countries
| Checks if the scoped country has the highest weekly innovation
| create_truce = {
| has_global_highest_innovation = yes/no
tcountry = country scope/tag
| yes/no
months = integer
}
| country
| country
|-
|-
|-
|-
| deactivate_law
| has_government_clout
| Deactivates a law for a country
| Does the country's government have the necessary total Clout
|
| <, <=, =, !=, >, >=
| country
| country
| law_type
|-
|-
|-
|-
| deactivate_parties
| has_government_type
| Deactivates parties in scoped country.
| Is the country's government type as specified
| deactivate_parties = yes
| has_government_type = key
| country
| country
第1,985行: 第1,728行:
|-
|-
|-
|-
| end_truce
| has_healthy_economy
| Ends a truce betweeen two countries
| Check if the country has a healthy economy
| end_truce = {
tcountry = country scope/tag
months = integer
}
| yes/no
| country
| country
|-
|-
|-
|-
| every_active_party
| has_import_priority_tariffs
| Iterate through all active political parties in a country
| Checks if scoped country has Import Prioritized tariffs for a good
| every_active_party = { limit = { <triggers> } <effects> }
| has_import_priority_tariffs = <key/scope>
| goods scope
| country
| goods
|-
|-
| has_institution
| Checks if scope country has a particular type of institution
| has_institution = <scope/key>
| country
| country
| party
|-
|-
|-
|-
| every_civil_war
| has_insurrectionary_interest_groups
| Iterate through all civil wars related to the scoped country
| Check if the country has Interest Groups that are insurrectionary
| every_civil_war = { limit = { <triggers> } <effects> }
| yes/no
| country
| country
| civil_war
|-
|-
|-
|-
| every_in_hierarchy
| has_interest_marker_in_region
| Any country in current hierarchy, including current
| True if scope country has an interest marker in target region
| every_in_hierarchy = { limit = { <triggers> } <effects> }
| has_interest_marker_in_region = region scope/tag
| country
| country
| country
|-
|-
|-
|-
| every_law
| has_journal_entry
| Iterate through all laws in a country
| Check if the country has at least one active journal entry of the specified type
| every_law = { limit = { <triggers> } <effects> }
| has_journal_entry = key
| country
| country
| law
|-
|-
|-
|-
| every_overlord_or_above
| has_law
| Any country above current in hierarchy
| Checks if a country has a certain Law active
| every_overlord_or_above = { limit = { <triggers> } <effects> }
| law_type scope
| country
| country
| country
| law_type
|-
|-
|-
|-
| every_political_movement
| has_no_priority_tariffs
| Iterate through all political movements in a country
| Checks if scoped country has Unprioritized tariffs for a good
| every_political_movement = { limit = { <triggers> } <effects> }
| has_no_priority_tariffs = <key/scope>
| goods scope
| country
| country
| political_movement
| goods
|-
|-
|-
|-
| every_potential_party
| has_objective
| Iterate through all potential political parties in a country
| Checks if the scoped country has a certain objective type
| every_potential_party = { limit = { <triggers> } <effects> }
| has_objective = objective_type_key
| country
| country
| party
|-
|-
|-
|-
| every_rival_country
| has_overlapping_interests
| Any country that is rival to the country in a scope
| Checks if country in scope has an overlapping interest marker with any of target country's interests
| every_rival_country = { limit = { <triggers> } <effects> }
| has_overlapping_interests = <scope>
| country scope
| country
| country
| country
| country
|-
|-
|-
|-
| every_scope_ally
| has_researchable_technology
| Iterate through all allies to a: country
| Check if the country has any researchable technology left.
| every_scope_ally = { limit = { <triggers> } <effects> }
| yes/no
| country
| country
| country
|-
|-
|-
|-
| every_scope_cobelligerent
| has_revolution
| Iterate through all co-belligerents to a: country
| Check if the country has revolutionary uprising
| every_scope_cobelligerent = { limit = { <triggers> } <effects> }
| yes/no
| country
| country
| country
|-
|-
|-
|-
| every_scope_theater
| has_ruling_interest_group
| Iterate through all theaters in a: country
| Does the country's government include the named IG
| every_scope_theater = { limit = { <triggers> } <effects> }
| country
| country
| theater
|-
|-
|-
|-
| every_scope_violate_sovereignty_interested_parties
| has_ruling_interest_group_count
| Iterate through all countries that would be interested if country in scope has their sovereignty violated
| Does the country's government consist of the specified number of IGs
| every_scope_violate_sovereignty_interested_parties = { limit = { <triggers> } <effects> }
| <, <=, =, !=, >, >=
| country
| country
| country
|-
|-
|-
|-
| every_scope_violate_sovereignty_wars
| has_secret_goal
| Iterate through all relevant wars if target country had their sovereignty violated by scoped country
| Checks if scoped country has a particular secret goal towards another country
| every_scope_violate_sovereignty_wars = { limit = { <triggers> } <effects> }
| Where X = country and Y = secret_goal type
| country
| country
| war
|-
|-
|-
|-
| every_scope_war
| has_state_in_state_region
| Iterate through all wars related to the scope
| Check if country has a state in the state region
| every_scope_war = { limit = { <triggers> } <effects> }
| has_state_in_state_region = key
| country
| country
| war
|-
|-
|-
|-
| every_subject_or_below
| has_strategic_adjacency
| Any country below current in hierarchy
| Checks if country in scope has a strategic adjacency (direct/coastal/wargoal adjacency) to target state/country
| every_subject_or_below = { limit = { <triggers> } <effects> }
| has_strategic_adjacency = <scope>
| country
| country
| country
|-
|-
|-
|-
| make_independent
| has_strategy
| Makes a country independent.
| Checks if country in scope has a particular AI strategy
| make_independent = bool
| has_strategy = <key>
| country
| country
第2,124行: 第1,872行:
|-
|-
|-
|-
| ordered_active_party
| has_subject_relation_with
| Iterate through all active political parties in a country
| Checks if country in scope is subject or overlord of event target
| ordered_active_party = {
| has_subject_relation_with = country
limit = { <triggers> }
| country scope
order_by = script_value
| country
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country
| country
| party
|-
|-
|-
|-
| ordered_civil_war
| has_technology_progress
| Iterate through all civil wars related to the scoped country
| Does the country have the required progress for an technology
| ordered_civil_war = {
| Where X is an technology and Y is a fixed point
limit = { <triggers> }
| <, <=, =, !=, >, >=
order_by = script_value
| country
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country
| civil_war
|-
|-
|-
|-
| ordered_in_hierarchy
| has_technology_researched
| Any country in current hierarchy, including current
| True if a country has researched an technology
| ordered_in_hierarchy = {
| has_technology_researched = <scope/key>
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country
| country
| country
|-
|-
|-
|-
| ordered_law
| has_treaty_port_in_country
| Iterate through all laws in a country
| Checks if the scoped country has a treaty port in target country
| ordered_law = {
| c:POR = { has_treaty_port_in_country = c:CHI }
limit = { <triggers> }
| country scope
order_by = script_value
| country
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country
| country
| law
|-
|-
|-
|-
| ordered_overlord_or_above
| has_truce_with
| Any country above current in hierarchy
| Check if a country has a truce with a different target country
| ordered_overlord_or_above = {
| has_truce_with = c:GBR
limit = { <triggers> }
| country scope
order_by = script_value
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country
| country
| country
| country
|-
|-
|-
|-
| ordered_political_movement
| has_war_with
| Iterate through all political movements in a country
| Checks if country in scope is at war with event target
| ordered_political_movement = {
| has_war_with = country
limit = { <triggers> }
| country scope
order_by = script_value
| country
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country
| country
| political_movement
|-
|-
|-
|-
| ordered_potential_party
| has_wasted_construction
| Iterate through all potential political parties in a country
| Check if country is wasting any of its produced construction.
| ordered_potential_party = {
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| yes/no
| country
| country
| party
|-
|-
|-
|-
| ordered_rival_country
| highest_secession_progress
| Any country that is rival to the country in a scope
| Compares the highest secession progress of any secession movement in a given country
| ordered_rival_country = {
| highest_secession_progress > 0.7
limit = { <triggers> }
| <, <=, =, !=, >, >=
order_by = script_value
| country
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country
| country
|-
|-
|-
|-
| ordered_scope_ally
| in_default
| Iterate through all allies to a: country
| Check if the country is currently in default
| ordered_scope_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> }
| yes/no
| country
| country
| country
|-
|-
|-
|-
| ordered_scope_cobelligerent
| in_election_campaign
| Iterate through all co-belligerents to a: country
| Check if the country is in election campaign period
| ordered_scope_cobelligerent = {
| in_election_campaign = <yes/no>
limit = { <triggers> }
| yes/no 
order_by = script_value
| country
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country
| country
|-
|-
|-
|-
| ordered_scope_theater
| influence
| Iterate through all theaters in a: country
| Compares the available influence of the scoped country
| ordered_scope_theater = {
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| <, <=, =, !=, >, >=
| country
| country
| theater
|-
|-
|-
|-
| ordered_scope_violate_sovereignty_interested_parties
| institution_investment_level
| Iterate through all countries that would be interested if country in scope has their sovereignty violated
| Compares the level of investment in an institution
| ordered_scope_violate_sovereignty_interested_parties = {
| institution_investment_level = { institution = <key> value = <comparator value> }
limit = { <triggers> }
| <, <=, =, !=, >, >=
order_by = script_value
| country
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
|-
|-
| investment_pool
| Compares the money in the investment pool of a given country
| investment_pool > 1000
| <, <=, =, !=, >, >=
| country
|
|-
|-
| is_adjacent
| Checks if country in scope is adjacent to a target country
| is_adjacent = <scope>
| country scope
| country
| country
| country
| country
|-
|-
|-
|-
| ordered_scope_violate_sovereignty_wars
| is_ai
| Iterate through all relevant wars if target country had their sovereignty violated by scoped country
| True if country scope is controlled by an AI
| ordered_scope_violate_sovereignty_wars = {
| is_ai = bool
limit = { <triggers> }
| yes/no 
order_by = script_value
| country
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country
| war
|-
|-
|-
|-
| ordered_scope_war
| is_at_war
| Iterate through all wars related to the scope
| Check if the country is at war
| ordered_scope_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> }
| yes/no
| country
| country
| war
|-
|-
|-
|-
| ordered_subject_or_below
| is_banning_goods
| Any country below current in hierarchy
| Check if a country is banning a good
| ordered_subject_or_below = {
| is_banning_goods = <goods key/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> }
| country
| country
| country
|-
|-
|-
|-
| play_as
| is_construction_paused
| Change which country scoped country's player will play as
| Check if construction in a state is paused.
| play_as = <scope>
| yes/no
| country
| country
|
|-
|-
| is_country_alive
| Checks if the scoped country is alive, i.e. if it has at least one state on the map and can be interacted with
| is_country_alive = yes/no
| yes/no
| country
| country
|
|-
|-
|-
|-
| random_active_party
| is_country_type
| Iterate through all active political parties in a country
| Checks the countrys type
| random_active_party = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_country_type = country type
| country
| country
| party
|-
|-
|-
|-
| random_civil_war
| is_diplomatic_play_committed_participant
| Iterate through all civil wars related to the scoped country
| True if country is a committed participant of any diplomatic play
| random_civil_war = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_diplomatic_play_participant = bool
| yes/no
| country
| country
| civil_war
|-
|-
|-
|-
| random_in_hierarchy
| is_diplomatic_play_enemy_of
| Any country in current hierarchy, including current
| Checks if country in scope is in a diplomatic play against event target
| random_in_hierarchy = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_diplomatic_play_enemy_of = country
| country scope
| country
| country
| country
| country
|-
|-
|-
|-
| random_law
| is_diplomatic_play_initiator
| Iterate through all laws in a country
| True if country is the initiator of any diplomatic play
| random_law = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_diplomatic_play_initiator = bool
| yes/no
| country
|-
|-
| is_diplomatic_play_target
| True if country is the target of any diplomatic play
| is_diplomatic_play_target = bool
| yes/no
| country
| country
| law
|-
|-
|-
|-
| random_overlord_or_above
| is_diplomatic_play_undecided_participant
| Any country above current in hierarchy
| True if country is a undecided participant of any diplomatic play
| random_overlord_or_above = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_diplomatic_play_participant = bool
| yes/no
| country
|-
|-
| is_direct_subject_of
| Checks if country in scope is a direct subject (not subject-of-subject) of event target
| is_subject_of = country
| country scope
| country
| country
| country
| country
|-
|-
|-
|-
| random_political_movement
| is_enacting_law
| Iterate through all political movements in a country
| Checks if the scoped country is enacting a specific law type.
| random_political_movement = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_enacting_law = law_type:law_conscription
| law_type scope
| country
| country
| political_movement
| law_type
|-
|-
|-
|-
| random_potential_party
| is_expanding_institution
| Iterate through all potential political parties in a country
| Are you expanding an institution
| random_potential_party = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_expanding_institution = <yes>/<no>
| yes/no
| country
| country
| party
|-
|-
|-
|-
| random_rival_country
| is_home_country_for
| Any country that is rival to the country in a scope
| Checks if a country is the home country for target country
| random_rival_country = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| country scope
| country
| country
| country
| country
|-
|-
|-
|-
| random_scope_ally
| is_in_customs_union
| Iterate through all allies to a: country
| Check if the country is part of a customs union
| random_scope_ally = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| yes/no
| country
| country
| country
|-
|-
|-
|-
| random_scope_cobelligerent
| is_in_war_together
| Iterate through all co-belligerents to a: country
| Checks if country in scope is in war on the same side as event target
| random_scope_cobelligerent = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_in_war_together = country
| country scope
| country
| country
| country
| country
|-
|-
|-
|-
| random_scope_theater
| is_junior_in_customs_union
| Iterate through all theaters in a: country
| True if country is a junior country in a customs custom
| random_scope_theater = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_junior_in_customs_union = bool
| yes/no
| country
|-
|-
| is_local_player
| True if country scope is a player
| is_local_player = bool
| yes/no
| country
| country
| theater
|-
|-
|-
|-
| random_scope_violate_sovereignty_interested_parties
| is_losing_power_rank
| Iterate through all countries that would be interested if country in scope has their sovereignty violated
| Check if the country is in the process of dropping in power ranking
| random_scope_violate_sovereignty_interested_parties = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| yes/no
| country
| country
| country
|-
|-
|-
|-
| random_scope_violate_sovereignty_wars
| is_owed_obligation_by
| Iterate through all relevant wars if target country had their sovereignty violated by scoped country
| Checks if the scoped country is owed a obligation by the target country
| random_scope_violate_sovereignty_wars = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_owed_obligation_by = c:FRA
| country scope
| country
| country
| country
| war
|-
|-
|-
|-
| random_scope_war
| is_player
| Iterate through all wars related to the scope
| True if country scope is a player
| random_scope_war = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_player = bool
| yes/no
| country
| country
| war
|-
|-
|-
|-
| random_subject_or_below
| is_researching_technology
| Any country below current in hierarchy
| Check if the country is actively researching a tech
| random_subject_or_below = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_researching_technology = <scope/key/any>
| country
| country
| country
|-
|-
|-
|-
| recalculate_pop_ig_support
| is_researching_technology_category
| Recalculates and updates a country's pop IG memberships = bool
| Check if the country is actively researching a tech category
|
| is_researching_technology_category = <key/any>
| country
| country
第2,485行: 第2,176行:
|-
|-
|-
|-
| remove_active_objective_subgoal
| is_secessionist
| Removes an active objective subgoal
| Check if the country is secessionist
| remove_active_objective_subgoal = <key>
| yes/no
| country
| country
|-
|-
|-
|-
| remove_banned_goods
| is_subject
| Removes a total ban of a good from a country
| True if country is a subject
| remove_banned_goods = <goods key/scope>
| is_subject = bool
| yes/no
| country
| country
| goods
|-
|-
|-
|-
| remove_diplomatic_pact
| is_subject_of
| Removes a diplomatic pact between two countries, with scope country as initiator
| Checks if country in scope is subject (or subject-of-subject) of event target
| remove_diplomatic_pact = {
| is_subject_of = country
country = country scope/tag
| country scope
type = diplomatic action type
| country
}
| country
| country
|
|-
|-
|-
|-
| remove_enactment_modifier
| is_subject_type
| Removes an enactment-related timed modifier effect to object in scope
| Checks the country's subject type
|
| is_subject_type = subject type
| country
| country
第2,520行: 第2,208行:
|-
|-
|-
|-
| remove_primary_culture
| is_supporting_unification_candidate
| Removes a culture from the primary cultures of a country
| Check if scope country is supporting a unification candidate for a specific country formation
| remove_primary_culture = X
| is_supporting_unification_candidate = { who = c:PRU country_formation = GER }
Where X is a culture scope
| country
| country
| culture
|-
|-
| remove_taxed_goods
| Removes consumption taxes on a good from a country
| remove_taxed_goods = <goods key/scope>
| country
| goods
|-
|-
|-
|-
| set_capital
| is_taxing_goods
| Set capital state in a country scope
| Check if a country is taxing a good
| set_capital = X
| has_embargo = <goods key/scope>
Where X is a state region
| country
| country
第2,546行: 第2,224行:
|-
|-
|-
|-
| set_country_type
| is_unification_candidate
| Sets the type of country for a country, for history
| Check if scope country is a unification candidate for country tag
|
| has_country_unification_candidate = GER
| country
| country
第2,554行: 第2,232行:
|-
|-
|-
|-
| set_diplomats_expelled
| is_violating_sovereignty_of
| Set diplomats expelled = bool
| Check if the scoped country is violating the sovereignty of a target country
|
| is_violating_sovereignty_of = c:GBR
| country scope
| country
| country
| country
| country
|-
|-
|-
|-
| set_government_wage_level
| isolated_states
| Sets the government wage level of scoped country
| Compare number of Isolated States
| set_government_wage_level = very_low/low/medium/high/very_high
| <, <=, =, !=, >, >=
| country
| country
|-
|-
|-
|-
| set_institution_investment_level
| leading_producer_of
| Sets the investment level for an institution
| Checks if country is producing the most of a certain good
| set_institution_investment_level = { institution = <key> level = x }
| leading_producer_of = g:luxury_clothes
| goods scope
| country
| country
| goods
|-
|-
|-
|-
| set_market_capital
| leads_customs_union
| Set market capital in a country scope
| Check if any other country is part of this country's customs union
| set_market_capital = X
| leads_customs_union = bool
Where X is a state region
| yes/no
| country
| country
|-
|-
|-
|-
| set_military_wage_level
| max_num_declared_interests
| Sets the military wage level of scoped country
| Compares the maximum number of declared interests of scoped country
| set_military_wage_level = very_low/low/medium/high/very_high
| max_num_declared_interests = <value>
| <, <=, =, !=, >, >=
| country
| country
|-
|-
|-
|-
| set_mutual_secret_goal
| navy_reserves
| Set mutual secret AI goal for scope country and target country
| Compare the amount of Navy Reserves
| set_mutual_secret_goal = {
tcountry = country scope/tag
secret_goal = secret goal type
}
| <, <=, =, !=, >, >=
| country
| country
|-
|-
|-
|-
| set_next_election_date
| num_declared_interests
| Set next election date for country
| Compares the number of declared interests of scoped country
| set_next_election_date = year.month.day
| num_declared_interests = <value>
| <, <=, =, !=, >, >=
| country
| country
|-
|-
|-
|-
| set_owes_obligation_to
| num_taxed_goods
| Set whether a country owes another a obligation
| Compares the number of consumption taxed goods of scoped country
| set_owes_obligation = {
| num_taxed_goods = <value>
country = country scope/tag
| <, <=, =, !=, >, >=
setting = yes/no
}
|
| country
| country
|-
|-
|-
|-
| set_relations
| owes_obligation_to
| Set relations between two countries
| Checks if country in scope owes a obligation to event target
| set_relations = {
| owes_obligation_to = country
tcountry = country scope/tag
| country scope
value = amount
| country
}
| country
| country
|
|-
|-
|-
|-
| set_ruling_interest_groups
| owns_entire_state_region
| Creates a government for the country in scope from a set of interest groups
| Check if country owns entire region
| set_ruling_interest_groups = { ig_tag1 ig_tag2 }
| owns_entire_state_region = key
| country
| country
第2,644行: 第2,312行:
|-
|-
|-
|-
| set_secret_goal
| owns_treaty_port_in
| Set a secret AI goal for scope country towards another country
| Does country own the treaty port in assigned state region
| set_secret_goal = {
| owns_treaty_port_in = key
tcountry = country scope/tag
secret_goal = secret goal type
}
| country
| country
第2,655行: 第2,320行:
|-
|-
|-
|-
| set_state_religion
| pop_type_percent_country
| Changes the state religion of the country to the specified religion
| Checks whether the scoped country has <percent> of its population belonging to the specified pop type
| set_state_religion = X
| }
Where X is a religion scope
| <, <=, =, !=, >, >=
| country
| country
| religion
|-
|-
|-
|-
| set_strategy
| prestige
| Set AI strategy for scope country
| Compare prestige
| set_strategy = <key>
| <, <=, =, !=, >, >=
| country
| country
|-
|-
|-
|-
| set_tariffs_export_priority
| produced_authority
| Sets Export Prioritized tariffs for a good in scoped country
| Compares the produced authority of the scoped country
| set_tariffs_export_priority = <scope/key>
| <, <=, =, !=, >, >=
| country
| country
| goods
|-
|-
|-
|-
| set_tariffs_import_priority
| produced_bureaucracy
| Sets Import Prioritized tariffs for a good in scoped country
| Compares the produced bureaucracy of the scoped country
| set_tariffs_import_priority = <scope/key>
| <, <=, =, !=, >, >=
| country
| country
| goods
|-
|-
|-
|-
| set_tariffs_no_priority
| produced_influence
| Sets tariffs to have no import/export priority for a good in scoped country
| Compares the produced influence of the scoped country
| set_tariffs_no_priority = <scope/key>
| <, <=, =, !=, >, >=
| country
| country
| goods
|-
|-
|-
|-
| set_tax_level
| scaled_debt
| Sets the overall tax level of scoped country
| Compare value to a country's debt relative to debt ceiling
| set_tax_level = very_low/low/medium/high/very_high
| scaled_debt = value
| <, <=, =, !=, >, >=
| country
| country
|-
|-
|-
|-
| set_tension
| should_set_wargoal
| Set tension between two countries
| Check if the country is lacking a primary wargoal in any diplomatic play it is part of
| set_tension = {
tcountry = country scope/tag
value = amount
}
| yes/no
| country
| country
|-
|-
|-
|-
| start_research_random_technology
| shrinking_institution
| Scoped country starts research of any random technology they can
| Checks if the institution is shrinking
| start_research_random_technology = yes
| expanding_institution = <scope/key>
| country
| country
第2,723行: 第2,384行:
|-
|-
|-
|-
| take_on_scaled_debt
| supply_network_strength
| Transfers an amount of debt equal to the defined multiplier on target's max credit
| Compares the country's supply network strength (can exceed 1)
| take_on_scaled_debt = {
| supply_network_strength > 1.1
who = <country>
| <, <=, =, !=, >, >=
value = decimal value
}
|
| country
| country
|-
|-
|-
|-
| update_party_support
| taking_loans
| Updates party support in scoped country.
| Check if the country is currently running a weekly deficit and taking loans to compensate
| update_party_support = yes
| yes/no
| country
| country
|-
|-
|-
|-
| validate_subsidies
| tax_level
| Validates subsidies across a country's buildings.
| Compares the overall tax level of scoped country
| validate_subsidies = bool
| tax_level = <level>
| <, <=, =, !=, >, >=
| country
| country
|-
|-
|-
|-
| violate_sovereignty_join
| tax_level_value
| Target joins scoped war
| Compares the overall tax level integer value of scoped country
| violate_sovereignty_accept = <country>
| income_tax_level_value = <level>
| <, <=, =, !=, >, >=
| country
| country
|-
|-
|-
|-
| activate_production_method
| total_population
| Activates the named production method for buildings of a certain type in country/state
| Compares the total population of a given country
|
| total_population > 100000
| <, <=, =, !=, >, >=
| country, state
| country
|-
|-
|-
|-
| add_loyalists
| weekly_net_fixed_income
| Adds loyalists to pops in state or country, all parameters except value are optional
| Does the country have this amount of weekly income after fixed expenses
| add_loyalists = { value = x pop_type = <key> strata = <key> culture = <scope/cu:key> religion = <scope/rel:key> }
| weekly_net_income > 1000
|
| <, <=, =, !=, >, >=
| country, state
| country
|-
|-
|-
|-
| add_radicals
| culture_accepted
| Adds radicals to pops in state or country, all parameters except value are optional
| Checks if pop's culture is accepted
| add_radicals = { value = x pop_type = <key> strata = <key> culture = <scope/cu:key> religion = <scope/rel:key> }
| culture_accepted = bool
| yes/no
| country, state
| pop
|-
|-
|-
|-
| every_scope_building
| has_ongoing_assimilation
| Iterate through all buildings in a: state, country
| Checks if the scoped pop has ongoing cultural assimilation
| every_scope_building = { limit = { <triggers> } <effects> }
| has_ongoing_assimilation = yes
| yes/no
| pop
| country, state
| building
|-
|-
|-
|-
| every_scope_culture
| has_ongoing_conversion
| Iterate through all cultures in the scope
| Checks if the scoped pop has ongoing religious conversion
| every_scope_culture = { limit = { <triggers> } <effects> }
| has_ongoing_conversion = yes
| yes/no
| pop
| country, state
| culture
|-
|-
|-
|-
| ordered_scope_building
| has_pop_culture
| Iterate through all buildings in a: state, country
| Checks if pop has specific culture
| ordered_scope_building = {
| has_pop_culture = culture
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country, state
| pop
| building
|-
|-
| ordered_scope_culture
| Iterate through all cultures in the scope
| ordered_scope_culture = {
limit = { <triggers> }
order_by = script_value
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country, state
| culture
|-
|-
|-
|-
| random_scope_building
| has_pop_religion
| Iterate through all buildings in a: state, country
| Checks if pop has specific religion
| random_scope_building = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| has_religion = religion
| country, state
| pop
| building
|-
|-
| random_scope_culture
| Iterate through all cultures in the scope
| random_scope_culture = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| country, state
| culture
|-
|-
|-
|-
| add_pop_wealth
| has_state_religion
| Adds the wealth of the pop
| Check if the Pop has the state religion
| add_pop_wealth = { wealth_distribution = {...} update_loyalties = true/false }
Where the distribution adding to wealth of the pop
| yes/no
| pop
| pop
|-
|-
|-
|-
| change_pop_culture
| is_employed
| Changes the culture of the scoped pop to a specified culture by a specified percentage
| Check if the pop is employed
| change_pop_culture = { target = cu:spanish value = 0.33 }
| yes/no
| pop
| pop
|-
|-
|-
|-
| change_pop_religion
| is_pop_type
| Changes the religion of the scoped pop to a specified religion by a specified percentage
| Checks if pop is of specified type
| change_pop_religion = { target = rel:catholic value = 0.5 }
| is_pop_type = poptype
| pop
| pop
第2,869行: 第2,496行:
|-
|-
|-
|-
| change_poptype
| pop_employment_building
| Changes the type of the pop to the given type
| Checks if pop is working in a specific building type
|
| pop_employment_building = building
| pop
| pop
| pop_type
|-
|-
|-
|-
| move_pop
| pop_employment_building_group
| Moves the scoped pop to the specified state (they become unemployed)
| Checks if pop is working in a specific building type
| move_pop = s:STATE_TUSCANY.region_state:TUS
| pop_employment_building = building
NOTE: VERY IMPORTANT! This effect _may_ change the pop type of the moved pop. This will happen under the following conditions:
1. if the current pop type cannot be unemployed, the new pop type will be the default one
2.if the current pop type is a slave type and the target state does not allow slavery, the new pop type will be the default one
| pop
| pop
| state
|-
|-
|-
|-
| set_pop_literacy
| pop_has_primary_culture
| Sets the literacy of the pop
| Checks if pop's culture is primary
| set_pop_literacy = { literacy_rate = {...} }
| pop_has_primary_culture = bool
Where the ratio is a script value computing the percentage of (workforce) pops that will be literate
| yes/no
| pop
| pop
|-
|-
|-
|-
| set_pop_qualifications
| pop_is_discriminated
| Sets the pop qualifications of the pop for the given type
| Checks if pop is discriminated against
| set_pop_qualifications = { pop_type = {} qualifications = {...} }
| pop_is_discriminated = bool
Where the qualifications is a script value computing the percentage of (workforce) pops that will have the qualifications
| yes/no
| pop
| pop
|-
|-
|-
|-
| set_pop_wealth
| quality_of_life
| Sets the wealth of the pop
| Compares the quality of life of the given pop
| set_pop_wealth = { wealth_distribution = {...} update_loyalties = true/false }
| quality_of_life > 10
Where wealth is a script values
| <, <=, =, !=, >, >=
|
| pop
| pop
|-
|-
|-
|-
| add_diplomatic_play_war_support
| religion_accepted
| Adds war support to the target country in the scoped diplomatic play. The amount will appear under the 'situations' header in tooltips
| Checks if pop's religion is accepted
| add_diplomatic_play_war_support = { target = country value = value }
| religion_accepted = bool
| yes/no
| pop
| diplomatic_play
|-
|-
| standard_of_living
| Compares the standard of living of a given pop
| standard_of_living > 10
| <, <=, =, !=, >, >=
| pop
|-
|-
|-
|-
| add_escalation
| strata
| Add escalation to a diplomatic play
| Checks the strata of the scoped pop
| add_escalation = integer
| strata >= rich/middle/poor
| <, <=, =, !=, >, >=
| diplomatic_play
| pop
|-
|-
|-
|-
| add_initiator_backers
| wealth
| Add a tag/scope country to the initiator side of a diplomatic play
| Checks if a pop has a certain amount of wealth
| add_initiator_backers = { list of scopes/tags }
| wealth = value
| <, <=, =, !=, >, >=
| diplomatic_play
| pop
|-
|-
|-
|-
| add_target_backers
| battle_side_pm_usage
| Add a tag/scope country to the target side of a diplomatic play
| Checks how the ratio of Combat Units on the scoped Battle, on the target country's side, with the specified Production Method compares to the value
| add_target_backers = { list of scopes/tags }
| where X = country scope and Y = production method key and Z = value to compare to
| <, <=, =, !=, >, >=
| diplomatic_play
| battle
|-
|-
|-
|-
| add_war_goal
| building_has_goods_shortage
| Adds a war goal to a DP. Same data read in as add_war_goal in create_diplomatic_play
| Check if building has a shortage of any of its inputs
| random_diplomatic_play = { add_war_goal = { holder = initiator type = secession }
| building_has_goods_shortage = yes/no
| yes/no
| diplomatic_play
| building
|-
|-
|-
|-
| end_play
| cash_reserves_available
| End a diplomatic play
| Evaluates a production building's available cash reserves
| end_play = bool
| cash_reserves_available > 25000
| <, <=, =, !=, >, >=
| diplomatic_play
| building
|-
|-
|-
|-
| every_scope_initiator_ally
| cash_reserves_ratio
| Iterate through all allies to an initiator in a: diplomatic play
| Evaluates a production building's available cash reserve ratio compared to its maximum
| every_scope_initiator_ally = { limit = { <triggers> } <effects> }
| cash_reserves_ratio > 0.2
| <, <=, =, !=, >, >=
| building
| diplomatic_play
| country
|-
|-
|-
|-
| every_scope_play_involved
| earnings
| Iterate through all involved in a: diplomatic play
| Compare a building's current annual earnings per employee
| every_scope_play_involved = { limit = { <triggers> } <effects> }
| earnings >= 10
| <, <=, =, !=, >, >=
| building
| diplomatic_play
| country
|-
|-
|-
|-
| every_scope_target_ally
| has_active_production_method
| Iterate through all allies to a target in a: diplomatic play
| Checks if a scoped building has the specified production method active
| every_scope_target_ally = { limit = { <triggers> } <effects> }
| has_active_production_method = key
|
| building
| diplomatic_play
| country
|-
|-
|-
|-
| ordered_scope_initiator_ally
| has_employee_slots_filled
| Iterate through all allies to an initiator in a: diplomatic play
| Checks whether the amount of employees of a certain poptype are above or below a given percentage of the total amount the building can currently hire. I.e. if a building is at 80% (given as 0.8) of its current hiring capacity for Shopkeepers, for example.
| ordered_scope_initiator_ally = {
| Where X is a pop type and Y is a fixed point
limit = { <triggers> }
|
order_by = script_value
| building
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| diplomatic_play
| country
|-
|-
|-
|-
| ordered_scope_play_involved
| has_failed_hires
| Iterate through all involved in a: diplomatic play
| Checks if a building failed to hire someone last week
| ordered_scope_play_involved = {
| has_failed_hires = yes/no
limit = { <triggers> }
| yes/no 
order_by = script_value
| building
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| diplomatic_play
| country
|-
|-
|-
|-
| ordered_scope_target_ally
| is_buildable
| Iterate through all allies to a target in a: diplomatic play
| Check if a building is buildable = yes (default)
| ordered_scope_target_ally = {
| is_buildable = yes/no
limit = { <triggers> }
| yes/no 
order_by = script_value
| building
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| diplomatic_play
| country
|-
|-
|-
|-
| random_scope_initiator_ally
| is_building_group
| Iterate through all allies to an initiator in a: diplomatic play
| True if scope is a building of given group
| random_scope_initiator_ally = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| building_group = building
|
| building
| diplomatic_play
| country
|-
|-
|-
|-
| random_scope_play_involved
| is_building_type
| Iterate through all involved in a: diplomatic play
| True if scope is a building of given type
| random_scope_play_involved = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_building_type = building
|
| building
| diplomatic_play
| country
|-
|-
|-
|-
| random_scope_target_ally
| is_government_funded
| Iterate through all allies to a target in a: diplomatic play
| Check if a building is is_government_funded
| random_scope_target_ally = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| is_government_funded = yes/no
| yes/no
| building
| diplomatic_play
| country
|-
|-
|-
|-
| remove_initiator_backers
| is_subsidized
| Remove a tag/scope country from the initiator side of a diplomatic play
| Check if a building is being subsidized
| remove_initiator_backers = { list of scopes/tags }
| is_subsidized = yes/no
| yes/no
| diplomatic_play
| building
|-
|-
|-
|-
| remove_target_backers
| is_subsistence_building
| Remove a tag/scope country to the target side of a diplomatic play
| Check if a building is a subsistence building
| remove_target_backers = { list of scopes/tags }
| is_subsistence_building = yes/no
| yes/no
| diplomatic_play
| building
|-
|-
|-
|-
| remove_war_goal
| is_under_construction
| Removes a war goal from a DP if there's at least one other war goal present.
| Checks if building is under construction
| any_diplomatic_play = { limit = { has_war_goal = return_state } remove_war_goal = { who = initiator war_goal = return_state } }
| is_under_construction = bool
| yes/no
| diplomatic_play
| building
|-
|-
|-
|-
| resolve_play_for
| occupancy
| effect end diplo play for one side, with it gaining war goals
| Evaluates a building's current occupancy
| resolve_play_for = initiator
| occupancy < 0.25
resolve_play_for = scope:custom_scoped_country
| <, <=, =, !=, >, >=
| building
| diplomatic_play
| country
|-
|-
|-
|-
| set_key
| weekly_profit
| Set name to a diplomatic play
| Checks whether the profits the building has made this week are above or below a given value
| set_key = loc_key
| weekly_profit >= 20.0
| <, <=, =, !=, >, >=
| diplomatic_play
| building
|-
|-
|-
|-
| set_war
| is_tradeable
| Set a diplomatic play to be a war
| Check if a goods or market goods is tradeable
| set_war = bool
| is_tradeable = yes/no
| yes/no
| diplomatic_play
| market_goods, goods
|-
|-
|-
|-
| every_interest_group
| is_diplomatic_pact_in_danger
| Iterate through all interest groups in a country
| Checks if diplomatic pact is in danger of breaking
| every_interest_group = { limit = { <triggers> } <effects> }
| is_diplomatic_pact_in_danger = yes
| yes/no
| diplomatic_pact
| country, party
| interest_group
|-
|-
|-
|-
| every_member
| any_scope_front
| Iterate through all interest group members of a party
| Iterate through all Fronts related to the scoped War
| every_member = { limit = { <triggers> } <effects> }
| any_scope_front = { <count=num/all> / <percent=fixed_point> <triggers> }
| country, party
| war
| interest_group
| front
|-
|-
|-
|-
| ordered_interest_group
| has_war_exhaustion
| Iterate through all interest groups in a country
| Checks the war exhaustion of the target country in the scoped war
| ordered_interest_group = {
| has_war_exhaustion = { target = c:GBR value > 50 }
limit = { <triggers> }
| <, <=, =, !=, >, >=
order_by = script_value
| war
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country, party
| interest_group
|-
|-
|-
|-
| ordered_member
| has_war_goal
| Iterate through all interest group members of a party
| Checks if war has a certain war goal type
| ordered_member = {
| has_war_goal = return_state
limit = { <triggers> }
|
order_by = script_value
| war
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country, party
| interest_group
|-
|-
|-
|-
| random_interest_group
| has_war_support
| Iterate through all interest groups in a country
| Checks the war support of the target country in the scoped war
| random_interest_group = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| has_war_support = { target = c:GBR value > 50 }
| <, <=, =, !=, >, >=
| war
| country, party
| interest_group
|-
|-
|-
|-
| random_member
| is_war_participant
| Iterate through all interest group members of a party
| Check if the target country is participant in a war
| random_member = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| country, party
| country scope
| interest_group
| war
| country
|-
|-
|-
|-
| every_scope_admiral
| is_warleader
| Iterate through all admirals in a: country or interestgroup
| Check if country is warleader in war
| every_scope_admiral = { limit = { <triggers> } <effects> }
| country, interest_group, front
| country scope
| character
| war
| country
|-
|-
|-
|-
| every_scope_character
| num_casualties
| Iterate through all characters in a: country, interestgroup, or front
| Checks the number of total casualties in the scoped war
| every_scope_character = { limit = { <triggers> } <effects> }
| num_casualties >= 5000
| <, <=, =, !=, >, >=
| war
| country, interest_group, front
| character
|-
|-
|-
|-
| every_scope_general
| num_country_casualties
| Iterate through all generals in a: country, interestgroup, or front
| checks the number of casualties for a specific country in the scoped war
| every_scope_general = { limit = { <triggers> } <effects> }
| num_country_casualties = { target = country value < 5000 }
| <, <=, =, !=, >, >=
| war
| country, interest_group, front
| character
|-
|-
|-
|-
| every_scope_politician
| num_country_dead
| Iterate through all politicians in a: country or interestgroup
| checks the number of dead for a specific country in the scoped war
| every_scope_politician = { limit = { <triggers> } <effects> }
| num_country_dead = { target = country value < 5000 }
| <, <=, =, !=, >, >=
| war
| country, interest_group, front
| character
|-
|-
|-
|-
| ordered_scope_admiral
| num_country_wounded
| Iterate through all admirals in a: country or interestgroup
| checks the number of wounded for a specific country in the scoped war
| ordered_scope_admiral = {
| num_country_wounded = { target = country value < 5000 }
limit = { <triggers> }
| <, <=, =, !=, >, >=
order_by = script_value
| war
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country, interest_group, front
| character
|-
|-
|-
|-
| ordered_scope_character
| num_dead
| Iterate through all characters in a: country, interestgroup, or front
| Checks the number of total dead in the scoped war
| ordered_scope_character = {
| num_dead >= 5000
limit = { <triggers> }
| <, <=, =, !=, >, >=
order_by = script_value
| war
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country, interest_group, front
| character
|-
|-
|-
|-
| ordered_scope_general
| num_wounded
| Iterate through all generals in a: country, interestgroup, or front
| Checks the number of total wounded in the scoped war
| ordered_scope_general = {
| num_wounded >= 5000
limit = { <triggers> }
| <, <=, =, !=, >, >=
order_by = script_value
| war
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country, interest_group, front
| character
|-
|-
|-
|-
| ordered_scope_politician
| has_active_building
| Iterate through all politicians in a: country or interestgroup
| True if a state has an active building type
| ordered_scope_politician = {
| has_active_building = building
limit = { <triggers> }
|
order_by = script_value
| state, market
position = int
min = int
max = script_value
check_range_bounds = no # If you don't want an error logged if the list is smaller than the min/max
<effects> }
| country, interest_group, front
| character
|-
|-
|-
|-
| random_scope_admiral
| has_modifier
| Iterate through all admirals in a: country or interestgroup
| Check if a supported scope has a certain timed modifier
| random_scope_admiral = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| has_modifier = <key>
|
| country, state, building, interest_group, character, institution, front, political_movement
| country, interest_group, front
| character
|-
|-
|-
|-
| random_scope_character
| any_trade_route
| Iterate through all characters in a: country, interestgroup, or front
| Iterate through all trade routes in a: market, country, marketgoods
| random_scope_character = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| any_trade_route = { <count=num/all> / <percent=fixed_point> <triggers> }
| country, interest_group, front
| country, market, market_goods
| character
| trade_route
|-
|-
|-
|-
| random_scope_general
| has_port
| Iterate through all generals in a: country, interestgroup, or front
| Check if state has at least one port
| random_scope_general = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| has_port = yes/no
| yes/no
| country, state, market
| country, interest_group, front
| character
|-
|-
|-
|-
| random_scope_politician
| any_supporting_interest_group
| Iterate through all politicians in a: country or interestgroup
| Iterate through all interest groups supporting a political movement
| random_scope_politician = { limit = { <triggers> } (optional) weight = { mtth } <effects> }
| any_supporting_interest_group = { <count=num/all> / <percent=fixed_point> <triggers> }
| country, interest_group, front
| political_movement
| interest_group
|-
|-
| is_political_movement_type
| Check if a political movement is a particular type
| is_political_movement_type = movement_to_enact
|
| political_movement
|
|-
|-
| political_movement_radicalism
| Compare radicalism of political movement
| political_movement_radicalism > 50
| <, <=, =, !=, >, >=
| political_movement
|
|-
|-
| political_movement_support
| Compare support of political movement
| political_movement_support > 50
| <, <=, =, !=, >, >=
| political_movement
|
|-
|-
| any_primary_culture
| Primary cultures of the scoped country or country definition
| any_primary_culture = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| country, state, country_definition
| culture
|-
|-
| has_party
| True if IG scope has a party
| has_party = bool
| yes/no
| interest_group
|
|-
|-
| ig_approval
| Compare to scoped interest group approval
| Usages: ig_approval > 2, ig_approval < happy
| <, <=, =, !=, >, >=
| interest_group
|
|-
|-
| ig_clout
| Compare to scoped interest group's clout
| ig_clout >= 0.2
| <, <=, =, !=, >, >=
| interest_group
|
|-
|-
| ig_government_power_share
| Compare to scoped interest group's political strength divided by total government political strength
| ig_government_power_share >= 0.5
| <, <=, =, !=, >, >=
| interest_group
|
|-
|-
| interest_group_population
| Compares population number in an interest group
| interest_group_population > 1000
| <, <=, =, !=, >, >=
| interest_group
|
|-
|-
| interest_group_population_percentage
| Compares percentage of population in an interest group
| interest_group_population_percentage > 0.2
| <, <=, =, !=, >, >=
| interest_group
|
|-
|-
| is_being_bolstered
| Check if scoped ig is being bolstered
| is_being_bolstered = <yes>/<no>
| yes/no
| interest_group
|
|-
|-
| is_being_suppressed
| Check if scoped ig is being suppressed
| is_being_suppressed = <yes>/<no>
| yes/no
| interest_group
|
|-
|-
| is_in_government
| True if IG scope is in the government
| is_in_government = bool
| yes/no
| interest_group
|
|-
|-
| is_insurrectionary
| True if IG scope is contributing to a brewing revolution
| is_insurrectionary = bool
| yes/no
| interest_group
|
|-
|-
| is_interest_group_type
| Checks if Interest Group is of a certain type
| is_interest_group_type = x
|
| interest_group
|
|-
|-
| is_marginal
| True if IG scope is marginal
| is_marginal = bool
| yes/no
| interest_group
|
|-
|-
| is_member_of_party
| Checks if Interest Group is a member of target party
| is_member_of_party = <party>
| party scope
| interest_group
| party
|-
|-
| is_powerful
| True if IG scope is influential
| is_powerful = bool
| yes/no
| interest_group
|
|-
|-
| is_same_interest_group_type
| Checks if Interest Group is of the same IG type as target
| is_interest_group_type = scope:neighbor_leading_ig
| interest_group scope
| interest_group
| interest_group
|-
|-
| most_powerful_strata
| Compares an interest groups most powerful strata
|
|
| interest_group
|
|-
|-
| any_combat_units
| Iterate through all combat units of input scope
| any_combat_units = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| building, character
| combat_unit
|-
|-
| election_momentum
| Compare election momentum of the scoped party against a value
| election_momentum = 0.75
| <, <=, =, !=, >, >=
| party
|
|-
|-
| has_party_member
| Checks if the target interest group is a member of scope party
| has_party_member = <ig>
| interest_group scope
| party
| interest_group
|-
|-
| is_party
| Checks if the target party is same as scoped party. Will only work on exact same party object, meaning you can't compare across countries.
| is_party = <party>
| party scope
| party
| party
|-
|-
| is_party_type
| Checks if the scoped party's type is the specified one
| is_party_type = party_type_database_key
|
| party
|
|-
|-
| is_same_party_type
| Checks if Party is of the same party type as target
| is_same_party_type_as = scope:neighboring_party
| party scope
| party
| party
|-
|-
| is_land_theater
| Checks if a theater is a land theater
| is_land_theater = bool
| yes/no
| theater
|
|-
|-
| arable_land
| Check arable land in state
| arable_land > 10
| <, <=, =, !=, >, >=
| state
|
|-
|-
| available_jobs
| Checks the state's number of available jobs in non-subsistence buildings
| available_jobs > 10000
| <, <=, =, !=, >, >=
| state
|
|-
|-
| can_activate_production_method
| Checks if the building of a particular type in scoped state is able to active the specified production method
| can_activate_production_method = { building_type = <key> production_method = <key> }
|
| state
|
|-
|-
| devastation
| Compares the devastation of a given state
| devastation > 5
| <, <=, =, !=, >, >=
| state
|
|-
|-
| free_arable_land
| Check free arable land in state
| free_arable_land > 0
| <, <=, =, !=, >, >=
| state
|
|-
|-
| has_assimilating_pops
| Check if a state has any pops currently in the process of assimilating.
|
| yes/no
| state
|
|-
|-
| has_claim_by
| Checks if a state is claimed by a country
| }
| country scope
| state
| country
|-
|-
| has_converting_pops
| Check if a state has any pops currently in the process of converting.
|
| yes/no
| state
|
|-
|-
| has_decree
| Checks if scope state has a particular type of decree
| has_decree = <key>
|
| state
|
|-
|-
| has_potential_resource
| Checks if the specificed building group is allowed in the scoped state. Used to check if a state can potentially produce a resource
| has_potential_resource = bg_rubber_plantations
|
| state
|
|-
|-
| has_state_trait
| Checks if scoped state region has a certain trait
| has_state_trait = key
|
| state
|
|-
|-
| ig_state_pol_strength_share
| True if IG in scope has scripted political strength in state
| }
| <, <=, =, !=, >, >=
| state
|
|-
|-
| incorporation_progress
| Check incorporation progress in state
| incorporation_progress > 0.25
| <, <=, =, !=, >, >=
| state
|
|-
|-
| is_capital
| Check if state is the capital of the owner = bool
|
| yes/no
| state
|
|-
|-
| is_coastal
| Check if state borders a (non-impassable) sea region
| is_coastal = yes/no
| yes/no
| state
|
|-
|-
| is_homeland_of_country_cultures
| Checks if state is homeland of any of the target country's primary cultures
| is_homeland_of_country_cultures = <country>
| country scope
| state
| country
|-
|-
| is_in_revolt
| Check if a state has any chance to split off into a revolutionary or seceding country
| is_in_revolt = yes/no.
| yes/no
| state
|
|-
|-
| is_incorporated
| Check if state is incorporated = bool
|
| yes/no
| state
|
|-
|-
| is_isolated_from_market
| Check if a state is isolated from its market
|
| yes/no
| state
|
|-
|-
| is_largest_state_in_region
| Check if state is the largest in the state region = bool
|
| yes/no
| state
|
|-
|-
| is_mass_migration_target
| Mass migration target is state.
| any_state = { limit = { owner = ROOT is_mass_migration_target = yes } }
| yes/no
| state
|
|-
|-
| is_production_method_active
| Checks if the building of a particular type in scoped state has the specified production method active
| is_production_method_active = { building_type = <key> production_method = <key> }
|
| state
|
|-
|-
| is_sea_adjacent
| Check if state borders a sea region (regular or impassable)
| is_sea_adjacent = yes/no
| yes/no
| state
|
|-
|-
| is_slave_state
| Check if a state employs or has the potential to employ slaves.
|
| yes/no
| state
|
|-
|-
| is_split_state
| Checks if the scoped state is a split state.
| scope:example_state = { is_split_state = yes }
| yes/no
| state
|
|-
|-
| is_target_of_wargoal
| Checks if state is target of any wargoal in wars involving a specific country
| has_war_goal = <country>
| country scope
| state
| country
|-
|-
| is_treaty_port
| Checks if the scoped state is a treaty port
| is_treaty_port = yes/no
| yes/no
| state
|
|-
|-
| is_under_colonization
| Check if state is under colonization
| is_under_colonization = yes/no
| yes/no
| state
|
|-
|-
| loyalty
| Compares the loyalty in a given state, i.e. the fraction of Loyalists
| loyalty > 0.2
| <, <=, =, !=, >, >=
| state
|
|-
|-
| market_access
| Checks the market access of the scoped state
| market_access > 0.8
| <, <=, =, !=, >, >=
| state
|
|-
|-
| pollution_generation
| Compare total pollution generation across all buildings in the state
|
| <, <=, =, !=, >, >=
| state
|
|-
|-
| relative_infrastructure
| Compares the infrastructure to infrastructure usage of a state
| relative_infrastructure > 1.1
| <, <=, =, !=, >, >=
| state
|
|-
|-
| state_has_goods_shortage
| Check if state has a shortage on any of its building inputs
| state_has_goods_shortage = yes/no
| yes/no
| state
|
|-
|-
| state_population
| Checks the total population of the scoped state
| state_population <= 250000
| <, <=, =, !=, >, >=
| state
|
|-
|-
| state_unemployment_rate
| Checks the unemployment rate (percentage) in the scoped state
| state_unemployment_rate > 0.1
| <, <=, =, !=, >, >=
| state
|
|-
|-
| tax_capacity
| Checks the taxation capacity of the scoped state
| tax_capacity > 50
| <, <=, =, !=, >, >=
| state
|
|-
|-
| tax_capacity_usage
| Checks the taxation capacity usage of the scoped state
| tax_capacity_usage > 50
| <, <=, =, !=, >, >=
| state
|
|-
|-
| total_urbanization
| Compares the total urbanization of a given state/ntotal_urbanization > 5
|
| <, <=, =, !=, >, >=
| state
|
|-
|-
| turmoil
| Compares the turmoil in a given state, i.e. the fraction of Radicals
| turmoil > 0.2
| <, <=, =, !=, >, >=
| state
|
|-
|-
| is_consumed_by_government_buildings
| Check if the market goods is instrumental in running the bureaucratic machine
|
| yes/no
| market_goods
|
|-
|-
| is_consumed_by_military_buildings
| Check if the goods is instrumental in running the war machine
|
| yes/no
| market_goods
|
|-
|-
| market_goods_buy_orders
| Checks if market goods has the specified number of buy orders
| Where X = fixed point
| <, <=, =, !=, >, >=
| market_goods
|
|-
|-
| market_goods_cheaper
| Checks if market goods is at least the specified percentage cheaper than base price
| Where X = fixed point
| <, <=, =, !=, >, >=
| market_goods
|
|-
|-
| market_goods_consumption
| Checks if market goods has the specified number of total consumption
| Where X = fixed point
| <, <=, =, !=, >, >=
| market_goods
|
|-
|-
| market_goods_delta
| Checks if market has the specified goods delta (production + imports)
| Where X = fixed point
| <, <=, =, !=, >, >=
| market_goods
|
|-
|-
| market_goods_exports
| Checks if market goods has the specified number of exports
| Where X = fixed point
| <, <=, =, !=, >, >=
| market_goods
|
|-
|-
| market_goods_has_goods_shortage
| Check if market goods has a shortage in the market
| market_goods_has_goods_shortage = yes/no
| yes/no
| market_goods
|
|-
|-
| market_goods_imports
| Checks if market goods has the specified number of imports
| Where X = fixed point
| <, <=, =, !=, >, >=
| market_goods
|
|-
|-
| market_goods_pricier
| Checks if market goods is at least the specified percentage more expensive than base price
| Where X = fixed point
| <, <=, =, !=, >, >=
| market_goods
|
|-
|-
| market_goods_production
| Checks if market goods has the specified number of total production
| Where X = fixed point
| <, <=, =, !=, >, >=
| market_goods
|
|-
|-
| market_goods_sell_orders
| Checks if market goods has the specified number of sell orders
| Where X = fixed point
| <, <=, =, !=, >, >=
| market_goods
|
|-
|-
| contains_capital_of
| Checks if scoped state region contains the capital of target tag
| contains_capital_of = country scope/tag
|
| state_region
|
|-
|-
| is_homeland
| Checks if scoped state region is a homeland of target culture
| is_homeland = culture scope/name
|
| state_region
|
|-
|-
| is_state_region_land
| Check if the state region is on land
|
| yes/no
| state_region
|
|-
|-
| pollution_amount
| Compare state region pollution
|
| <, <=, =, !=, >, >=
| state_region
|
|-
|-
| remaining_undepleted
| Check remaining amount of resource, like gold mines in a state
| }
| <, <=, =, !=, >, >=
| state_region
|
|-
|-
| is_goal_complete
| Check if the journal entry's goal has been met
| is_goal_complete = yes/no
| yes/no
| journalentry
|
|-
|-
| is_progressing
| Check if the journal entry is progressing
| is_progressing = yes/no
| yes/no
| journalentry
|
|-
|-
| any_scope_building
| Iterate through all buildings in a: state, country
| any_scope_building = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| country, state
| building
|-
|-
| any_scope_culture
| Iterate through all cultures in the scope
| any_scope_culture = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| country, state
| culture
|-
|-
| loyalist_fraction
| Compares loyalist fraction in pops in state or country, all parameters except value are optional
| loyalist_fraction = { value = x pop_type = <key> strata = <key> culture = <key/scope> religion = <key/scope> }
| <, <=, =, !=, >, >=
| country, state
|
|-
|-
| radical_fraction
| Compares radical fraction in pops in state or country, all parameters except value are optional
| radical_fraction = { value = x pop_type = <key> strata = <key> culture = <key/scope> religion = <key/scope> }
| <, <=, =, !=, >, >=
| country, state
|
|-
|-
| any_scope_initiator_ally
| Iterate through all allies to an initiator in a: diplomatic play
| any_scope_initiator_ally = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| diplomatic_play
| country
|-
|-
| any_scope_play_involved
| Iterate through all involved in a: diplomatic play
| any_scope_play_involved = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| diplomatic_play
| country
|-
|-
| any_scope_target_ally
| Iterate through all allies to a target in a: diplomatic play
| any_scope_target_ally = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| diplomatic_play
| country
|-
|-
| diplomatic_play_pm_usage
| Checks how the ratio of Combat Units (of the same type) on the scoped Diplomatic Play, on the target country's side, with the specified Production Method compares to the value
| where X = country scope and Y = production method key and Z = value to compare to
| <, <=, =, !=, >, >=
| diplomatic_play
|
|-
|-
| escalation
| Checks whether escalation has passed a certain threshold
| escalation > -58
| <, <=, =, !=, >, >=
| diplomatic_play
|
|-
|-
| has_play_goal
| Checks if diplomatic play has a certain war goal type
| has_play_goal = return_state
|
| diplomatic_play
|
|-
|-
| initiator_is
| Checks who the initiator of a diplomatic play is
| initiator_is = country
| country scope
| diplomatic_play
| country
|-
|-
| is_diplomatic_play_type
| Checks diplomatic play is of a certain type
| is_diplomatic_play_type = play type
|
| diplomatic_play
|
|-
|-
| is_war
| True if the diplomatic play has escalated into war
| is_war = bool
| yes/no
| diplomatic_play
|
|-
|-
| target_is
| Checks who the target of a diplomatic play is
| target_is = country
| country scope
| diplomatic_play
| country
|-
|-
| literacy_rate
| Checks if a pop, state or country has a certain amount of literacy
| literacy = value
| <, <=, =, !=, >, >=
| country, state, pop
|
|-
|-
| any_scope_admiral
| Iterate through all admirals in a: country or interestgroup
| any_scope_admiral = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| country, interest_group, front
| character
|-
|-
| any_scope_character
| Iterate through all characters in a: country, interestgroup, or front
| any_scope_character = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| country, interest_group, front
| character
| character
|-
|-
| any_scope_general
| Iterate through all generals in a: country, interestgroup, or front
| any_scope_general = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| country, interest_group, front
| character
|-
|-
| any_scope_politician
| Iterate through all politicians in a: country or interestgroup
| any_scope_politician = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| country, interest_group, front
| character
|-
|-
| any_interest_group
| Iterate through all interest groups in a country
| any_interest_group = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| country, party
| interest_group
|-
|-
| any_member
| Iterate through all interest group members of a party
| any_member = { <count=num/all> / <percent=fixed_point> <triggers> }
|
| country, party
| interest_group
|-
|-
|}
|}

2022年11月15日 (二) 23:40的最新版本

List of triggers

Name Description Usage Traits Supported Scopes Supported Targets
law_approved_by Checks whether the scoped law is approved by an interest group law_approved_by = ig_rural_folk law
law_approved_by Checks whether the scoped law is approved by an interest group law_approved_by = ig_rural_folk law
has_ideology Check if scoped object has ideology interest_group, character
law_stance Compares the stance of the scoped character or interest group about the specified law interest_group, character
check_area Compares areas of object to another object country, state, province, strategic_region, state_region, theater
civil_war_progress Compare progress of civil war civil_war_progress > 50 <, <=, =, !=, >, >= civil_war
civil_war_progress_gain Checks how much progress the civil war is gaining each tick. any_civil_war = { revolution_progress_gain > 0 } <, <=, =, !=, >, >= civil_war
is_civil_war_type Check if the scoped civil war is of a specific type is_civil_war_type = revolution / secession civil_war
is_revolutionary Check if the country is revolutionary yes/no country, interest_group
has_discrimination_trait Checks if scoped culture or religion has the given discrimination trait has_trait = trait culture, religion
culture_is_discriminated_in Checks if a culture is discriminated against within the scope country culture_is_discriminated_in = c:USA country scope culture country
culture_secession_progress Checks the culture's progress percentage towards secession in a country. 0 if no secession movement is active for the culture. culture_secession_progress = { target = scope:example_country value > 0.5 } <, <=, =, !=, >, >= culture
has_cultural_obsession Checks if a culture has a certain goods as obsession has_cultural_obsession = <goods key> culture
has_culture_graphics Checks if a culture has a certain culture_graphics has_culture_graphics = <culture graphics key> culture
has_homeland Checks if scoped culture has a homeland in target state or state region has_homeland = state/state region culture
is_primary_culture_of Checks if culture is any of a country's primary cultures is_primary_culture_of = <country> country scope culture country
shares_heritage_and_other_trait_with_any_primary_culture Checks if culture shares any trait marked as 'heritage' and other 'non-heritage' trait with any of a country's primary cultures shares_heritage_and_other_trait_with_any_primary_culture = <country> country scope culture country
shares_heritage_trait_with_any_primary_culture Checks if culture shares any trait marked as 'heritage' with any of a country's primary cultures shares_heritage_trait_with_any_primary_culture = <country> country scope culture country
shares_non_heritage_trait_with_any_primary_culture Checks if culture shares any trait *other than* one marked as 'heritage' with any of a country's primary cultures shares_non_heritage_trait_with_any_primary_culture = <country> country scope culture country
shares_trait_with_any_primary_culture Checks if the culture shares any trait with any of a country's primary cultures shares_trait_with_any_primary_culture = <country> country scope culture country
any_market_goods Iterate through all active (market) goods in a market any_market_goods = { <count=num/all> / <percent=fixed_point> <triggers> } market market_goods
any_scope_country Iterate through all countries with a presence in the supported scope (currently: only market scope) any_scope_country = { <count=num/all> / <percent=fixed_point> <triggers> } market country
market_has_goods_shortage Check if market has a shortage on any of its building inputs market_has_goods_shortage = yes/no yes/no market
age Compares the character age age > 20 <, <=, =, !=, >, >= character
commander_pm_usage Checks how the ratio of Combat Units on the scoped Commander, on the target country's side, with the specified Production Method compares to the value where X = country scope and Y = production method key and Z = value to compare to <, <=, =, !=, >, >= character
commander_rank Compares the commanders rank commander_rank > 2 <, <=, =, !=, >, >= character
experience_level Compares the character experience level experience_level > 1 <, <=, =, !=, >, >= character
has_commander_order Checks characters order has_order = order key/order scope character
has_culture Checks characters culture has_culture = culture scope or character scope character
has_high_attrition Checks if a Commander's attrition is higher than defined NORMAL_ATTRITION has_high_attrition = bool yes/no character
has_religion Checks characters religion has_religion = religion/character scope character
has_role Checks if character has the specified role has_role = role character
has_trait Checks if character has specific trait has_trait = trait character
is_advancing_on_front Checks if a commander is advancing on a front is_advancing_on_front = front front scope character front
is_attacker_in_battle Checks if a Commander is attacker in a battle is_attacker_in_battle = bool yes/no character
is_busy Check if character is busy is_busy = bool yes/no character
is_character_alive Checks if the scoped character is alive is_character_alive = bool yes/no character
is_defender_in_battle Checks if a Commander is defender in a battle is_defender_in_battle = bool yes/no character
is_female Check if character is female is_female = bool yes/no character
is_heir Checks whether the scoped character is an heir is_heir = yes / no yes/no character
is_in_battle Checks if a Commander is engaged in battle is_in_battle = bool yes/no character
is_in_void Check if character is in the void is_in_void = bool yes/no character
is_mobilized Checks if the commander is mobilized is_mobilized = bool yes/no character
is_monarch Checks if character is a monarch of a country with hereditary succession is_monarch = bool yes/no character
is_on_front Checks is a character has been assigned to a Front and has arrived there is_on_front = yes/no yes/no character
is_repairing Checks if an Admiral is unavailable and repairing after loosing a naval battle is_repairing = bool yes/no character
is_ruler Checks if character is a ruler/head of state of a country is_ruler = bool yes/no character
is_traveling Checks if the commander is traveling is_traveling = bool yes/no character
trait_value Compares the character's total trait value trait_value < experience_level <, <=, =, !=, >, >= character
is_same_law_group_as Checks if scope law type is in the same group as the target law type scope is_same_law_group_as = <law type scope> law_type scope law_type law_type
has_building True if a state/market/state region/country has a building type has_building = building country, state, market, state_region
country_definition_has_culture Checks if a culture is one of the cultures of the country definition country_definition_has_culture = <culture> culture scope country_definition culture
any_scope_pop Iterate through all pops in a: country, state, interest group, culture any_scope_pop = { <count=num/all> / <percent=fixed_point> <triggers> } country, culture, state, interest_group pop
is_trade_route_active Checks if the scoped trade route is active is_trade_route_active = yes/no yes/no trade_route
is_trade_route_productive Checks if the scoped trade route is productive is_trade_route_productive = yes/no yes/no trade_route
trade_route_needs_convoys_to_grow Checks if the scoped trade route needs more convoys to be able to grow trade_route_needs_convoys_to_grow = yes/no yes/no trade_route
front_side_pm_usage Checks how the ratio of Combat Units on the scoped Front, on the target country's side, with the specified Production Method compares to the value where X = country scope and Y = production method key and Z = value to compare to <, <=, =, !=, >, >= front
is_vulnerable_front Whether the scoped Front doesn't have any Battalions nor Generals on target side, and the enemy has at least one General. is_vulnerable_front = scope:example_country country scope front country
any_scope_state Iterate through all states including provinces from a: country, state_region, theater, or front any_scope_state = { <count=num/all> / <percent=fixed_point> <triggers> } country, strategic_region, state_region, theater, front state
has_diplomatic_play Check if strategic region has a diplomatic play or not yes/no strategic_region
is_state_religion Checks if the religion is the state religion in a country is_accepted_religion = <country> country scope religion country
shares_heritage_trait_with_state_religion Checks if the religion shares any trait marked as 'religion_group' with a country's religion shares_heritage_trait_with_state_religion = <country> country scope religion country
shares_trait_with_state_religion Checks if the religion shares any trait with a country's state religion shares_trait_with_state_religion = <country> country scope religion country
any_scope_interest_marker Iterate through all interest markers in a: country, strategic region any_scope_interest_marker = { <count=num/all> / <percent=fixed_point> <triggers> } country, strategic_region interest_marker
any_neighbouring_state Iterate through all states neighbouring a state region any_neighbouring_state = { <count=num/all> / <percent=fixed_point> <triggers> } country, state, strategic_region, state_region state
active_lens Checks if the specified lens is open An interface trigger, can only be used in specific places none
active_lens_option Checks if the specified lens option is activated An interface trigger, can only be used in specific places none
add_to_temporary_list Saves a temporary target for use during the trigger execution In order to add every instance of a scope that fulfills certain conditions, use "count = all" while also placing this "effect" at the very end of the any-trigger (so that every condition is evaluated for every iteration). none
all_false true if all children are false (equivalent to NOR) none
always Always the same value always = yes yes/no none
and all inside trigger must be true none
any_character Iterate through all characters globally any_character = { <count=num/all> / <percent=fixed_point> <triggers> } none character
any_character_in_void Iterate through characters in the void any_character_in_void = { <count=num/all> / <percent=fixed_point> <triggers> } none character
any_country Iterate through all countries globally any_country = { <count=num/all> / <percent=fixed_point> <triggers> } none country
any_diplomatic_play Iterate through all diplomatic plays globally any_diplomatic_play = { <count=num/all> / <percent=fixed_point> <triggers> } none diplomatic_play
any_false true if any child is false (equivalent to NAND) none
any_in_global_list Iterate through all items in global list. list = name or variable = name any_in_global_list = { <count=num/all> / <percent=fixed_point> <triggers> } none
any_in_list Iterate through all items in list. list = name or variable = name any_in_list = { <count=num/all> / <percent=fixed_point> <triggers> } none
any_in_local_list Iterate through all items in local list. list = name or variable = name any_in_local_list = { <count=num/all> / <percent=fixed_point> <triggers> } none
any_market Iterate through all markets globally any_market = { <count=num/all> / <percent=fixed_point> <triggers> } none market
any_state Iterate through all states globally any_state = { <count=num/all> / <percent=fixed_point> <triggers> } none state
any_state_region Iterate through all state regions any_state_region = { <count=num/all> / <percent=fixed_point> <triggers> } none state_region
assert_if Conditionally cause an assert during run time assert_if = { limit = { X } text = Y }, where X is a trigger and Y is an optional string none
assert_read Conditionally cause an assert during read time assert_read = X, where X is yes or the string to be printed in the assert none
calc_true_if Returns true if the specified number of sub-triggers return true calc_true_if = { amount = 2 <trigger> <trigger> <trigger> } none
can_start_tutorial_lesson Can the specified tutorial lesson be started? An interface trigger, can only be used in specific places none
current_tooltip_depth Returns the number of tooltips currently open on screen An interface trigger, can only be used in specific places <, <=, =, !=, >, >= none
custom_description Wraps triggers that get a custom description instead of the auto-generated one } none
custom_tooltip Replaces the tooltips for the enclosed triggers with a custom text } none
debug_log Log whether the parent trigger succeeded or failed none
debug_log_details Log whether the parent trigger succeeded or failed. Log which children succeeded or failed none
error_check Checks an error in code that specifically uses the CErrorTable::CheckTrigger path, in general avoid this and just use normal script none
exists Checks whether the specified socope target exists (check for not being the null object) exists = from.owner.var:cool_var.mother none
game_date Compare to current game date current_game_date = 1837.1.1 <, <=, =, !=, >, >= none
global_variable_list_size Checks the size of a variable list Where Y is a script value or number none
has_cosmetic_dlc Does the client have this cosmetic DLC An interface trigger, can only be used in specific places none
has_game_rule Is the given game rule setting enabled? has_game_rule = faster_conversion none
has_game_started True if game has started has_game_started = bool yes/no none
has_gameplay_dlc Does the host have this gameplay DLC none
has_global_variable Checks whether the current scope has the specified variable set has_variable = name none
has_global_variable_list Checks whether the current scope has the specified variable list set has_variable_list = name none
has_local_variable Checks whether the current scope has the specified variable set has_variable = name none
has_local_variable_list Checks whether the current scope has the specified variable list set has_variable_list = name none
has_map_interaction Checks if the map interaction type is active An interface trigger, can only be used in specific places none
has_map_interaction_diplomatic_action Checks if our current map interaction is a specific diplomatic action An interface trigger, can only be used in specific places none
has_map_interaction_export_goods Checks if the specified lens option is to export the specified goods An interface trigger, can only be used in specific places none
has_map_interaction_import_goods Checks if the specified lens option is to import the specified goods An interface trigger, can only be used in specific places none
has_reached_end_date True if the end date (NDefines::NGame::END_DATE) has been reached has_reached_end_date = yes yes/no none
has_unification_candidate Check if there is at least one unification candidate for country tag has_country_unification_candidate = GER none
has_variable Checks whether the current scope has the specified variable set has_variable = name none
has_variable_list Checks whether the current scope has the specified variable list set has_variable_list = name none
hidden_trigger AndTrigger that doesn't generate tooltips for contents within hidden_trigger = {} none
is_building_type_expanded Checks if the CProductionMethodsPanelEntry for a particular CBuildingType is expanded An interface trigger, can only be used in specific places none
is_game_paused Checks if the game is paused An interface trigger, can only be used in specific places yes/no none
is_gamestate_tutorial_active Is the gamestate tutorial active? See save_progress_in_gamestate in tutorial_lesson_chains documentation. An interface trigger, can only be used in specific places yes/no none
is_in_list Checks if a target in in a list none
is_lens_open Checks if a certain lens is open, specified as a lens key. Specify an optional named tab to check if this tab is open. An interface trigger, can only be used in specific places none
is_objective_completed Is the objective completed for the country in scope? is_objective_completed = yes yes/no none
is_panel_open Checks if a certain infopanel is open, specified as an event target (target) or as a string (panel_name). Specify an optional named tab (tab_name) to check if this tab is open. An interface trigger, can only be used in specific places none
is_popup_open Checks if the specified popup panel is open An interface trigger, can only be used in specific places none
is_rightclick_menu_open Checks if the specified rightclick menu is open An interface trigger, can only be used in specific places none
is_target_in_global_variable_list Checks if a target is in a variable list Where Y is an event target none
is_target_in_local_variable_list Checks if a target is in a variable list Where Y is an event target none
is_target_in_variable_list Checks if a target is in a variable list Where Y is an event target none
is_tutorial_active Is the tutorial active? An interface trigger, can only be used in specific places yes/no none
is_tutorial_lesson_active Is this the current tutorial lesson? An interface trigger, can only be used in specific places none
is_tutorial_lesson_chain_completed Has the tutorial lesson chain with the specified key been finished? An interface trigger, can only be used in specific places none
is_tutorial_lesson_completed has the tutorial lesson with the specified name been finished? An interface trigger, can only be used in specific places none
is_tutorial_lesson_step_completed Has the tutorial lesson step been finished? An interface trigger, can only be used in specific places none
list_size Checks the size of a list Where Y is a script value <, <=, =, !=, >, >= none
local_variable_list_size Checks the size of a variable list Where Y is a script value or number none
nand a negated AND trigger none
nor a negated OR trigger none
not negates content of trigger none
or at least one entry inside trigger must be true none
save_temporary_scope_as Saves a temporary target for use during the trigger execution 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
should_show_nudity can nudity be shown? An interface trigger, can only be used in specific places yes/no none
switch Switch on a trigger for the evaluation of another trigger with an optional fallback trigger. fallback = { <triggers> } none
trigger_else Evaluates the triggers if the display_triggers of preceding 'trigger_if' or 'trigger_else_if' is not mettrigger_if = { limit = { <display_triggers> } <triggers> } trigger_else = { <triggers> } none
trigger_else_if Evaluates the enclosed triggers if the display_triggers of the preceding `trigger_if` or `trigger_else_if` is not met and its own display_trigger of the limit is mettrigger_if = { limit = { <display_triggers> } <triggers> } trigger_else_if = { limit = { <display_triggers> } <triggers> } none
trigger_if Evaluates the triggers if the display_triggers of the limit are met trigger_if = { limit = { <display_triggers> } <triggers> } none
variable_list_size Checks the size of a variable list Where Y is a script value or number none
weighted_calc_true_if Returns true if the sum of weights of fulfilled sub-triggers amount to the specified sum weighted_calc_true_if = { amount = 10 5 = { <trigger> } 15 = { <trigger> } 7 = { <trigger> } } none
year Compares the current year of the game year > 1850 <, <=, =, !=, >, >= none
infrastructure Compares the infrastructure value of a given state infrastructure > 10 <, <=, =, !=, >, >= state, state_region
infrastructure_usage Compares the infrastructure usage value of a given state infrastructure_usage > 10 <, <=, =, !=, >, >= state, state_region
has_label Check if the scope object has the specified label has_label = label_key province
has_terrain Check if the province has the specified terrain type has_terrain = terrain_key province
is_province_land Check if the province is on land yes/no province
is_interest_active Is the interest marker active is_interest_active = yes/no yes/no interest_marker
aggressive_diplomatic_plays_permitted True if country is independent or permitted to start their own Diplomatic Plays aggressive_diplomatic_plays_permitted = bool yes/no country
any_active_party Iterate through all active political parties in a country any_active_party = { <count=num/all> / <percent=fixed_point> <triggers> } country party
any_civil_war Iterate through all civil wars related to the scoped country any_civil_war = { <count=num/all> / <percent=fixed_point> <triggers> } country civil_war
any_in_hierarchy Any country in current hierarchy, including current any_in_hierarchy = { <count=num/all> / <percent=fixed_point> <triggers> } country country
any_law Iterate through all laws in a country any_law = { <count=num/all> / <percent=fixed_point> <triggers> } country law
any_overlord_or_above Any country above current in hierarchy any_overlord_or_above = { <count=num/all> / <percent=fixed_point> <triggers> } country country
any_political_movement Iterate through all political movements in a country any_political_movement = { <count=num/all> / <percent=fixed_point> <triggers> } country political_movement
any_potential_party Iterate through all potential political parties in a country any_potential_party = { <count=num/all> / <percent=fixed_point> <triggers> } country party
any_rival_country Any country that is rival to the country in a scope any_rival_country = { <count=num/all> / <percent=fixed_point> <triggers> } country country
any_scope_ally Iterate through all allies to a: country any_scope_ally = { <count=num/all> / <percent=fixed_point> <triggers> } country country
any_scope_cobelligerent Iterate through all co-belligerents to a: country any_scope_cobelligerent = { <count=num/all> / <percent=fixed_point> <triggers> } country country
any_scope_theater Iterate through all theaters in a: country any_scope_theater = { <count=num/all> / <percent=fixed_point> <triggers> } country theater
any_scope_violate_sovereignty_interested_parties Iterate through all countries that would be interested if country in scope has their sovereignty violated any_scope_violate_sovereignty_interested_parties = { <count=num/all> / <percent=fixed_point> <triggers> } country country
any_scope_violate_sovereignty_wars Iterate through all relevant wars if target country had their sovereignty violated by scoped country any_scope_violate_sovereignty_wars = { <count=num/all> / <percent=fixed_point> <triggers> } country war
any_scope_war Iterate through all wars related to the scope any_scope_war = { <count=num/all> / <percent=fixed_point> <triggers> } country war
any_subject_or_below Any country below current in hierarchy any_subject_or_below = { <count=num/all> / <percent=fixed_point> <triggers> } country country
approaching_bureaucracy_shortage Check if Institutions in the country will incur a Bureaucracy shortage eventually yes/no country
arable_land_country Compare arable land in *all* states arable_land_country > 10 <, <=, =, !=, >, >= country
army_reserves Compare the amount of Army Reserves <, <=, =, !=, >, >= country
authority Compares the available authority of the scoped country <, <=, =, !=, >, >= country
average_country_infrastructure Check average infrastructure in all states owned by scope country average_country_infrastructure = 3 <, <=, =, !=, >, >= country
average_incorporated_country_infrastructure Check average infrastructure in incorporated states owned by the scope country average_incorporated_country_infrastructure = 3 <, <=, =, !=, >, >= country
bureaucracy Compares the available bureaucracy of the scoped country <, <=, =, !=, >, >= country
can_afford_diplomatic_action Checks if the country in scope can afford the Influence for the specified diplomatic action (pact or ongoing) Where X = country and Y = diplomatic action type country
can_establish_any_export_route Check if a country can establish any export routes can_establish_any_export_route = <goods key/scope> goods scope country goods
can_establish_any_import_route Check if a country can establish any import routes can_establish_any_import_route = <goods key/scope> goods scope country goods
can_form_nation Check if the target country is able to potentially form a nation can_form_nation = <tag> country
can_have_as_subject Checks if a country can have another country as a particular type of subject Where X = country and Y = subject type country
can_have_subjects Check if the country is able to have subjects of it sown yes/no country
can_research True if a country can research an technology can_research = technology country
can_take_on_scaled_debt Checks if scoped country can take on a certain amount of scaled debt from another country Where X = country and Y = decimal value country
construction_queue_duration Compares the predicted duration in weeks of the total number of building projects in the construction queue <, <=, =, !=, >, >= country
construction_queue_num_queued_levels Compares the number of building levels in the construction queue <, <=, =, !=, >, >= country
country_has_primary_culture Checks if a culture is one of the primary cultures in the country country_has_primary_culture = <culture> culture scope country culture
country_has_state_religion Checks if a religion is the state religion in the country country_has_accepted_religion = <religion> religion scope country religion
country_or_subject_owns_entire_state_region Checks whether the scoped country or any of its subjects owns the entire specified state region country_or_subject_owns_entire_state_region = key country
country_pm_usage Checks how the ratio of Combat Units (of the same type) on the scoped Country with the specified Production Method compares to the value where X = country scope and Y = production method key and Z = value to compare to <, <=, =, !=, >, >= country
country_rank Compares a Country's Power Ranking country_rank < rank_value:major_power <, <=, =, !=, >, >= country
country_tier Compare tier of country tag country_tier = x country
enacting_any_law Checks if you're enacting any law. enacting_any_law = bool yes/no country
expanding_institution Checks if the institution is expanding expanding_institution = <scope/key> country
global_country_ranking Compares a Country's Power Ranking (position) global_country_ranking > 42 <, <=, =, !=, >, >= country
gold_reserves Does the country have the required gold reserves gold_reserves > 500 <, <=, =, !=, >, >= country
gold_reserves_limit Compares the country's gold reserves limit gold_reserves > gold_reserves_limit <, <=, =, !=, >, >= country
government_legitimacy Compare Legitimacy <, <=, =, !=, >, >= country
has_active_peace_deal True if the country is in a war where there is a proposed peace deal has_active_peace_deal = bool yes/no country
has_any_secessionists_broken_out Check if the country has secessionists broken out yes/no country
has_any_secessionists_growing Check if the country has any secessionists growing yes/no country
has_any_secessionists_possible Check if the country has any new secessionists possible yes/no country
has_attitude Checks if scoped country has a particular attitude towards another country Where X = country and Y = attitude type country
has_claim Checks if country in scope has a claim on state/state region has_claim = <scope> country
has_completed_subgoal Checks if the scoped country has completed a certain subgoal has_completed_subgoal = subgoal_key country
has_consumption_tax Checks if the country is taxing the target good. c:FRA = { has_consumption_tax = g:grain } goods scope country goods
has_convoys_being_sunk Check if the country has convoys being sunk through convoy raiding yes/no country
has_decreasing_interests Checks if the country has decreasing interest levels yes/no country
has_diplomatic_pact Checks if two countries have an active diplomatic pact of type Where X = country and Y = diplomatic action type, is_initiator is optional parameter that checks to see if scope country is the original initiator/target of the pact country
has_diplomatic_relevance Checks if target country is diplomatically relevant for scope country has_diplomatic_relevance = <scope> country scope country country
has_diplomats_expelled Checks if country in scope has recently expelled diplomats of event target has_diplomats_expelled = country country scope country country
has_export_priority_tariffs Checks if scoped country has Import Prioritized tariffs for a good has_export_priority_tariffs = <key/scope> goods scope country goods
has_free_government_reform Check if the country has a free (of radicals) government reform has_free_government_reform = <yes/no> yes/no country
has_global_highest_gdp Checks if the scoped country has the highest GDP has_global_highest_gdp = yes/no yes/no country
has_global_highest_innovation Checks if the scoped country has the highest weekly innovation has_global_highest_innovation = yes/no yes/no country
has_government_clout Does the country's government have the necessary total Clout <, <=, =, !=, >, >= country
has_government_type Is the country's government type as specified has_government_type = key country
has_healthy_economy Check if the country has a healthy economy yes/no country
has_import_priority_tariffs Checks if scoped country has Import Prioritized tariffs for a good has_import_priority_tariffs = <key/scope> goods scope country goods
has_institution Checks if scope country has a particular type of institution has_institution = <scope/key> country
has_insurrectionary_interest_groups Check if the country has Interest Groups that are insurrectionary yes/no country
has_interest_marker_in_region True if scope country has an interest marker in target region has_interest_marker_in_region = region scope/tag country
has_journal_entry Check if the country has at least one active journal entry of the specified type has_journal_entry = key country
has_law Checks if a country has a certain Law active law_type scope country law_type
has_no_priority_tariffs Checks if scoped country has Unprioritized tariffs for a good has_no_priority_tariffs = <key/scope> goods scope country goods
has_objective Checks if the scoped country has a certain objective type has_objective = objective_type_key country
has_overlapping_interests Checks if country in scope has an overlapping interest marker with any of target country's interests has_overlapping_interests = <scope> country scope country country
has_researchable_technology Check if the country has any researchable technology left. yes/no country
has_revolution Check if the country has revolutionary uprising yes/no country
has_ruling_interest_group Does the country's government include the named IG country
has_ruling_interest_group_count Does the country's government consist of the specified number of IGs <, <=, =, !=, >, >= country
has_secret_goal Checks if scoped country has a particular secret goal towards another country Where X = country and Y = secret_goal type country
has_state_in_state_region Check if country has a state in the state region has_state_in_state_region = key country
has_strategic_adjacency Checks if country in scope has a strategic adjacency (direct/coastal/wargoal adjacency) to target state/country has_strategic_adjacency = <scope> country
has_strategy Checks if country in scope has a particular AI strategy has_strategy = <key> country
has_subject_relation_with Checks if country in scope is subject or overlord of event target has_subject_relation_with = country country scope country country
has_technology_progress Does the country have the required progress for an technology Where X is an technology and Y is a fixed point <, <=, =, !=, >, >= country
has_technology_researched True if a country has researched an technology has_technology_researched = <scope/key> country
has_treaty_port_in_country Checks if the scoped country has a treaty port in target country c:POR = { has_treaty_port_in_country = c:CHI } country scope country country
has_truce_with Check if a country has a truce with a different target country has_truce_with = c:GBR country scope country country
has_war_with Checks if country in scope is at war with event target has_war_with = country country scope country country
has_wasted_construction Check if country is wasting any of its produced construction. yes/no country
highest_secession_progress Compares the highest secession progress of any secession movement in a given country highest_secession_progress > 0.7 <, <=, =, !=, >, >= country
in_default Check if the country is currently in default yes/no country
in_election_campaign Check if the country is in election campaign period in_election_campaign = <yes/no> yes/no country
influence Compares the available influence of the scoped country <, <=, =, !=, >, >= country
institution_investment_level Compares the level of investment in an institution institution_investment_level = { institution = <key> value = <comparator value> } <, <=, =, !=, >, >= country
investment_pool Compares the money in the investment pool of a given country investment_pool > 1000 <, <=, =, !=, >, >= country
is_adjacent Checks if country in scope is adjacent to a target country is_adjacent = <scope> country scope country country
is_ai True if country scope is controlled by an AI is_ai = bool yes/no country
is_at_war Check if the country is at war yes/no country
is_banning_goods Check if a country is banning a good is_banning_goods = <goods key/scope> country
is_construction_paused Check if construction in a state is paused. yes/no country
is_country_alive Checks if the scoped country is alive, i.e. if it has at least one state on the map and can be interacted with is_country_alive = yes/no yes/no country
is_country_type Checks the countrys type is_country_type = country type country
is_diplomatic_play_committed_participant True if country is a committed participant of any diplomatic play is_diplomatic_play_participant = bool yes/no country
is_diplomatic_play_enemy_of Checks if country in scope is in a diplomatic play against event target is_diplomatic_play_enemy_of = country country scope country country
is_diplomatic_play_initiator True if country is the initiator of any diplomatic play is_diplomatic_play_initiator = bool yes/no country
is_diplomatic_play_target True if country is the target of any diplomatic play is_diplomatic_play_target = bool yes/no country
is_diplomatic_play_undecided_participant True if country is a undecided participant of any diplomatic play is_diplomatic_play_participant = bool yes/no country
is_direct_subject_of Checks if country in scope is a direct subject (not subject-of-subject) of event target is_subject_of = country country scope country country
is_enacting_law Checks if the scoped country is enacting a specific law type. is_enacting_law = law_type:law_conscription law_type scope country law_type
is_expanding_institution Are you expanding an institution is_expanding_institution = <yes>/<no> yes/no country
is_home_country_for Checks if a country is the home country for target country country scope country country
is_in_customs_union Check if the country is part of a customs union yes/no country
is_in_war_together Checks if country in scope is in war on the same side as event target is_in_war_together = country country scope country country
is_junior_in_customs_union True if country is a junior country in a customs custom is_junior_in_customs_union = bool yes/no country
is_local_player True if country scope is a player is_local_player = bool yes/no country
is_losing_power_rank Check if the country is in the process of dropping in power ranking yes/no country
is_owed_obligation_by Checks if the scoped country is owed a obligation by the target country is_owed_obligation_by = c:FRA country scope country country
is_player True if country scope is a player is_player = bool yes/no country
is_researching_technology Check if the country is actively researching a tech is_researching_technology = <scope/key/any> country
is_researching_technology_category Check if the country is actively researching a tech category is_researching_technology_category = <key/any> country
is_secessionist Check if the country is secessionist yes/no country
is_subject True if country is a subject is_subject = bool yes/no country
is_subject_of Checks if country in scope is subject (or subject-of-subject) of event target is_subject_of = country country scope country country
is_subject_type Checks the country's subject type is_subject_type = subject type country
is_supporting_unification_candidate Check if scope country is supporting a unification candidate for a specific country formation is_supporting_unification_candidate = { who = c:PRU country_formation = GER } country
is_taxing_goods Check if a country is taxing a good has_embargo = <goods key/scope> country
is_unification_candidate Check if scope country is a unification candidate for country tag has_country_unification_candidate = GER country
is_violating_sovereignty_of Check if the scoped country is violating the sovereignty of a target country is_violating_sovereignty_of = c:GBR country scope country country
isolated_states Compare number of Isolated States <, <=, =, !=, >, >= country
leading_producer_of Checks if country is producing the most of a certain good leading_producer_of = g:luxury_clothes goods scope country goods
leads_customs_union Check if any other country is part of this country's customs union leads_customs_union = bool yes/no country
max_num_declared_interests Compares the maximum number of declared interests of scoped country max_num_declared_interests = <value> <, <=, =, !=, >, >= country
navy_reserves Compare the amount of Navy Reserves <, <=, =, !=, >, >= country
num_declared_interests Compares the number of declared interests of scoped country num_declared_interests = <value> <, <=, =, !=, >, >= country
num_taxed_goods Compares the number of consumption taxed goods of scoped country num_taxed_goods = <value> <, <=, =, !=, >, >= country
owes_obligation_to Checks if country in scope owes a obligation to event target owes_obligation_to = country country scope country country
owns_entire_state_region Check if country owns entire region owns_entire_state_region = key country
owns_treaty_port_in Does country own the treaty port in assigned state region owns_treaty_port_in = key country
pop_type_percent_country Checks whether the scoped country has <percent> of its population belonging to the specified pop type } <, <=, =, !=, >, >= country
prestige Compare prestige <, <=, =, !=, >, >= country
produced_authority Compares the produced authority of the scoped country <, <=, =, !=, >, >= country
produced_bureaucracy Compares the produced bureaucracy of the scoped country <, <=, =, !=, >, >= country
produced_influence Compares the produced influence of the scoped country <, <=, =, !=, >, >= country
scaled_debt Compare value to a country's debt relative to debt ceiling scaled_debt = value <, <=, =, !=, >, >= country
should_set_wargoal Check if the country is lacking a primary wargoal in any diplomatic play it is part of yes/no country
shrinking_institution Checks if the institution is shrinking expanding_institution = <scope/key> country
supply_network_strength Compares the country's supply network strength (can exceed 1) supply_network_strength > 1.1 <, <=, =, !=, >, >= country
taking_loans Check if the country is currently running a weekly deficit and taking loans to compensate yes/no country
tax_level Compares the overall tax level of scoped country tax_level = <level> <, <=, =, !=, >, >= country
tax_level_value Compares the overall tax level integer value of scoped country income_tax_level_value = <level> <, <=, =, !=, >, >= country
total_population Compares the total population of a given country total_population > 100000 <, <=, =, !=, >, >= country
weekly_net_fixed_income Does the country have this amount of weekly income after fixed expenses weekly_net_income > 1000 <, <=, =, !=, >, >= country
culture_accepted Checks if pop's culture is accepted culture_accepted = bool yes/no pop
has_ongoing_assimilation Checks if the scoped pop has ongoing cultural assimilation has_ongoing_assimilation = yes yes/no pop
has_ongoing_conversion Checks if the scoped pop has ongoing religious conversion has_ongoing_conversion = yes yes/no pop
has_pop_culture Checks if pop has specific culture has_pop_culture = culture pop
has_pop_religion Checks if pop has specific religion has_religion = religion pop
has_state_religion Check if the Pop has the state religion yes/no pop
is_employed Check if the pop is employed yes/no pop
is_pop_type Checks if pop is of specified type is_pop_type = poptype pop
pop_employment_building Checks if pop is working in a specific building type pop_employment_building = building pop
pop_employment_building_group Checks if pop is working in a specific building type pop_employment_building = building pop
pop_has_primary_culture Checks if pop's culture is primary pop_has_primary_culture = bool yes/no pop
pop_is_discriminated Checks if pop is discriminated against pop_is_discriminated = bool yes/no pop
quality_of_life Compares the quality of life of the given pop quality_of_life > 10 <, <=, =, !=, >, >= pop
religion_accepted Checks if pop's religion is accepted religion_accepted = bool yes/no pop
standard_of_living Compares the standard of living of a given pop standard_of_living > 10 <, <=, =, !=, >, >= pop
strata Checks the strata of the scoped pop strata >= rich/middle/poor <, <=, =, !=, >, >= pop
wealth Checks if a pop has a certain amount of wealth wealth = value <, <=, =, !=, >, >= pop
battle_side_pm_usage Checks how the ratio of Combat Units on the scoped Battle, on the target country's side, with the specified Production Method compares to the value where X = country scope and Y = production method key and Z = value to compare to <, <=, =, !=, >, >= battle
building_has_goods_shortage Check if building has a shortage of any of its inputs building_has_goods_shortage = yes/no yes/no building
cash_reserves_available Evaluates a production building's available cash reserves cash_reserves_available > 25000 <, <=, =, !=, >, >= building
cash_reserves_ratio Evaluates a production building's available cash reserve ratio compared to its maximum cash_reserves_ratio > 0.2 <, <=, =, !=, >, >= building
earnings Compare a building's current annual earnings per employee earnings >= 10 <, <=, =, !=, >, >= building
has_active_production_method Checks if a scoped building has the specified production method active has_active_production_method = key building
has_employee_slots_filled Checks whether the amount of employees of a certain poptype are above or below a given percentage of the total amount the building can currently hire. I.e. if a building is at 80% (given as 0.8) of its current hiring capacity for Shopkeepers, for example. Where X is a pop type and Y is a fixed point building
has_failed_hires Checks if a building failed to hire someone last week has_failed_hires = yes/no yes/no building
is_buildable Check if a building is buildable = yes (default) is_buildable = yes/no yes/no building
is_building_group True if scope is a building of given group building_group = building building
is_building_type True if scope is a building of given type is_building_type = building building
is_government_funded Check if a building is is_government_funded is_government_funded = yes/no yes/no building
is_subsidized Check if a building is being subsidized is_subsidized = yes/no yes/no building
is_subsistence_building Check if a building is a subsistence building is_subsistence_building = yes/no yes/no building
is_under_construction Checks if building is under construction is_under_construction = bool yes/no building
occupancy Evaluates a building's current occupancy occupancy < 0.25 <, <=, =, !=, >, >= building
weekly_profit Checks whether the profits the building has made this week are above or below a given value weekly_profit >= 20.0 <, <=, =, !=, >, >= building
is_tradeable Check if a goods or market goods is tradeable is_tradeable = yes/no yes/no market_goods, goods
is_diplomatic_pact_in_danger Checks if diplomatic pact is in danger of breaking is_diplomatic_pact_in_danger = yes yes/no diplomatic_pact
any_scope_front Iterate through all Fronts related to the scoped War any_scope_front = { <count=num/all> / <percent=fixed_point> <triggers> } war front
has_war_exhaustion Checks the war exhaustion of the target country in the scoped war has_war_exhaustion = { target = c:GBR value > 50 } <, <=, =, !=, >, >= war
has_war_goal Checks if war has a certain war goal type has_war_goal = return_state war
has_war_support Checks the war support of the target country in the scoped war has_war_support = { target = c:GBR value > 50 } <, <=, =, !=, >, >= war
is_war_participant Check if the target country is participant in a war country scope war country
is_warleader Check if country is warleader in war country scope war country
num_casualties Checks the number of total casualties in the scoped war num_casualties >= 5000 <, <=, =, !=, >, >= war
num_country_casualties checks the number of casualties for a specific country in the scoped war num_country_casualties = { target = country value < 5000 } <, <=, =, !=, >, >= war
num_country_dead checks the number of dead for a specific country in the scoped war num_country_dead = { target = country value < 5000 } <, <=, =, !=, >, >= war
num_country_wounded checks the number of wounded for a specific country in the scoped war num_country_wounded = { target = country value < 5000 } <, <=, =, !=, >, >= war
num_dead Checks the number of total dead in the scoped war num_dead >= 5000 <, <=, =, !=, >, >= war
num_wounded Checks the number of total wounded in the scoped war num_wounded >= 5000 <, <=, =, !=, >, >= war
has_active_building True if a state has an active building type has_active_building = building state, market
has_modifier Check if a supported scope has a certain timed modifier has_modifier = <key> country, state, building, interest_group, character, institution, front, political_movement
any_trade_route Iterate through all trade routes in a: market, country, marketgoods any_trade_route = { <count=num/all> / <percent=fixed_point> <triggers> } country, market, market_goods trade_route
has_port Check if state has at least one port has_port = yes/no yes/no country, state, market
any_supporting_interest_group Iterate through all interest groups supporting a political movement any_supporting_interest_group = { <count=num/all> / <percent=fixed_point> <triggers> } political_movement interest_group
is_political_movement_type Check if a political movement is a particular type is_political_movement_type = movement_to_enact political_movement
political_movement_radicalism Compare radicalism of political movement political_movement_radicalism > 50 <, <=, =, !=, >, >= political_movement
political_movement_support Compare support of political movement political_movement_support > 50 <, <=, =, !=, >, >= political_movement
any_primary_culture Primary cultures of the scoped country or country definition any_primary_culture = { <count=num/all> / <percent=fixed_point> <triggers> } country, state, country_definition culture
has_party True if IG scope has a party has_party = bool yes/no interest_group
ig_approval Compare to scoped interest group approval Usages: ig_approval > 2, ig_approval < happy <, <=, =, !=, >, >= interest_group
ig_clout Compare to scoped interest group's clout ig_clout >= 0.2 <, <=, =, !=, >, >= interest_group
ig_government_power_share Compare to scoped interest group's political strength divided by total government political strength ig_government_power_share >= 0.5 <, <=, =, !=, >, >= interest_group
interest_group_population Compares population number in an interest group interest_group_population > 1000 <, <=, =, !=, >, >= interest_group
interest_group_population_percentage Compares percentage of population in an interest group interest_group_population_percentage > 0.2 <, <=, =, !=, >, >= interest_group
is_being_bolstered Check if scoped ig is being bolstered is_being_bolstered = <yes>/<no> yes/no interest_group
is_being_suppressed Check if scoped ig is being suppressed is_being_suppressed = <yes>/<no> yes/no interest_group
is_in_government True if IG scope is in the government is_in_government = bool yes/no interest_group
is_insurrectionary True if IG scope is contributing to a brewing revolution is_insurrectionary = bool yes/no interest_group
is_interest_group_type Checks if Interest Group is of a certain type is_interest_group_type = x interest_group
is_marginal True if IG scope is marginal is_marginal = bool yes/no interest_group
is_member_of_party Checks if Interest Group is a member of target party is_member_of_party = <party> party scope interest_group party
is_powerful True if IG scope is influential is_powerful = bool yes/no interest_group
is_same_interest_group_type Checks if Interest Group is of the same IG type as target is_interest_group_type = scope:neighbor_leading_ig interest_group scope interest_group interest_group
most_powerful_strata Compares an interest groups most powerful strata interest_group
any_combat_units Iterate through all combat units of input scope any_combat_units = { <count=num/all> / <percent=fixed_point> <triggers> } building, character combat_unit
election_momentum Compare election momentum of the scoped party against a value election_momentum = 0.75 <, <=, =, !=, >, >= party
has_party_member Checks if the target interest group is a member of scope party has_party_member = <ig> interest_group scope party interest_group
is_party Checks if the target party is same as scoped party. Will only work on exact same party object, meaning you can't compare across countries. is_party = <party> party scope party party
is_party_type Checks if the scoped party's type is the specified one is_party_type = party_type_database_key party
is_same_party_type Checks if Party is of the same party type as target is_same_party_type_as = scope:neighboring_party party scope party party
is_land_theater Checks if a theater is a land theater is_land_theater = bool yes/no theater
arable_land Check arable land in state arable_land > 10 <, <=, =, !=, >, >= state
available_jobs Checks the state's number of available jobs in non-subsistence buildings available_jobs > 10000 <, <=, =, !=, >, >= state
can_activate_production_method Checks if the building of a particular type in scoped state is able to active the specified production method can_activate_production_method = { building_type = <key> production_method = <key> } state
devastation Compares the devastation of a given state devastation > 5 <, <=, =, !=, >, >= state
free_arable_land Check free arable land in state free_arable_land > 0 <, <=, =, !=, >, >= state
has_assimilating_pops Check if a state has any pops currently in the process of assimilating. yes/no state
has_claim_by Checks if a state is claimed by a country } country scope state country
has_converting_pops Check if a state has any pops currently in the process of converting. yes/no state
has_decree Checks if scope state has a particular type of decree has_decree = <key> state
has_potential_resource Checks if the specificed building group is allowed in the scoped state. Used to check if a state can potentially produce a resource has_potential_resource = bg_rubber_plantations state
has_state_trait Checks if scoped state region has a certain trait has_state_trait = key state
ig_state_pol_strength_share True if IG in scope has scripted political strength in state } <, <=, =, !=, >, >= state
incorporation_progress Check incorporation progress in state incorporation_progress > 0.25 <, <=, =, !=, >, >= state
is_capital Check if state is the capital of the owner = bool yes/no state
is_coastal Check if state borders a (non-impassable) sea region is_coastal = yes/no yes/no state
is_homeland_of_country_cultures Checks if state is homeland of any of the target country's primary cultures is_homeland_of_country_cultures = <country> country scope state country
is_in_revolt Check if a state has any chance to split off into a revolutionary or seceding country is_in_revolt = yes/no. yes/no state
is_incorporated Check if state is incorporated = bool yes/no state
is_isolated_from_market Check if a state is isolated from its market yes/no state
is_largest_state_in_region Check if state is the largest in the state region = bool yes/no state
is_mass_migration_target Mass migration target is state. any_state = { limit = { owner = ROOT is_mass_migration_target = yes } } yes/no state
is_production_method_active Checks if the building of a particular type in scoped state has the specified production method active is_production_method_active = { building_type = <key> production_method = <key> } state
is_sea_adjacent Check if state borders a sea region (regular or impassable) is_sea_adjacent = yes/no yes/no state
is_slave_state Check if a state employs or has the potential to employ slaves. yes/no state
is_split_state Checks if the scoped state is a split state. scope:example_state = { is_split_state = yes } yes/no state
is_target_of_wargoal Checks if state is target of any wargoal in wars involving a specific country has_war_goal = <country> country scope state country
is_treaty_port Checks if the scoped state is a treaty port is_treaty_port = yes/no yes/no state
is_under_colonization Check if state is under colonization is_under_colonization = yes/no yes/no state
loyalty Compares the loyalty in a given state, i.e. the fraction of Loyalists loyalty > 0.2 <, <=, =, !=, >, >= state
market_access Checks the market access of the scoped state market_access > 0.8 <, <=, =, !=, >, >= state
pollution_generation Compare total pollution generation across all buildings in the state <, <=, =, !=, >, >= state
relative_infrastructure Compares the infrastructure to infrastructure usage of a state relative_infrastructure > 1.1 <, <=, =, !=, >, >= state
state_has_goods_shortage Check if state has a shortage on any of its building inputs state_has_goods_shortage = yes/no yes/no state
state_population Checks the total population of the scoped state state_population <= 250000 <, <=, =, !=, >, >= state
state_unemployment_rate Checks the unemployment rate (percentage) in the scoped state state_unemployment_rate > 0.1 <, <=, =, !=, >, >= state
tax_capacity Checks the taxation capacity of the scoped state tax_capacity > 50 <, <=, =, !=, >, >= state
tax_capacity_usage Checks the taxation capacity usage of the scoped state tax_capacity_usage > 50 <, <=, =, !=, >, >= state
total_urbanization Compares the total urbanization of a given state/ntotal_urbanization > 5 <, <=, =, !=, >, >= state
turmoil Compares the turmoil in a given state, i.e. the fraction of Radicals turmoil > 0.2 <, <=, =, !=, >, >= state
is_consumed_by_government_buildings Check if the market goods is instrumental in running the bureaucratic machine yes/no market_goods
is_consumed_by_military_buildings Check if the goods is instrumental in running the war machine yes/no market_goods
market_goods_buy_orders Checks if market goods has the specified number of buy orders Where X = fixed point <, <=, =, !=, >, >= market_goods
market_goods_cheaper Checks if market goods is at least the specified percentage cheaper than base price Where X = fixed point <, <=, =, !=, >, >= market_goods
market_goods_consumption Checks if market goods has the specified number of total consumption Where X = fixed point <, <=, =, !=, >, >= market_goods
market_goods_delta Checks if market has the specified goods delta (production + imports) Where X = fixed point <, <=, =, !=, >, >= market_goods
market_goods_exports Checks if market goods has the specified number of exports Where X = fixed point <, <=, =, !=, >, >= market_goods
market_goods_has_goods_shortage Check if market goods has a shortage in the market market_goods_has_goods_shortage = yes/no yes/no market_goods
market_goods_imports Checks if market goods has the specified number of imports Where X = fixed point <, <=, =, !=, >, >= market_goods
market_goods_pricier Checks if market goods is at least the specified percentage more expensive than base price Where X = fixed point <, <=, =, !=, >, >= market_goods
market_goods_production Checks if market goods has the specified number of total production Where X = fixed point <, <=, =, !=, >, >= market_goods
market_goods_sell_orders Checks if market goods has the specified number of sell orders Where X = fixed point <, <=, =, !=, >, >= market_goods
contains_capital_of Checks if scoped state region contains the capital of target tag contains_capital_of = country scope/tag state_region
is_homeland Checks if scoped state region is a homeland of target culture is_homeland = culture scope/name state_region
is_state_region_land Check if the state region is on land yes/no state_region
pollution_amount Compare state region pollution <, <=, =, !=, >, >= state_region
remaining_undepleted Check remaining amount of resource, like gold mines in a state } <, <=, =, !=, >, >= state_region
is_goal_complete Check if the journal entry's goal has been met is_goal_complete = yes/no yes/no journalentry
is_progressing Check if the journal entry is progressing is_progressing = yes/no yes/no journalentry
any_scope_building Iterate through all buildings in a: state, country any_scope_building = { <count=num/all> / <percent=fixed_point> <triggers> } country, state building
any_scope_culture Iterate through all cultures in the scope any_scope_culture = { <count=num/all> / <percent=fixed_point> <triggers> } country, state culture
loyalist_fraction Compares loyalist fraction in pops in state or country, all parameters except value are optional loyalist_fraction = { value = x pop_type = <key> strata = <key> culture = <key/scope> religion = <key/scope> } <, <=, =, !=, >, >= country, state
radical_fraction Compares radical fraction in pops in state or country, all parameters except value are optional radical_fraction = { value = x pop_type = <key> strata = <key> culture = <key/scope> religion = <key/scope> } <, <=, =, !=, >, >= country, state
any_scope_initiator_ally Iterate through all allies to an initiator in a: diplomatic play any_scope_initiator_ally = { <count=num/all> / <percent=fixed_point> <triggers> } diplomatic_play country
any_scope_play_involved Iterate through all involved in a: diplomatic play any_scope_play_involved = { <count=num/all> / <percent=fixed_point> <triggers> } diplomatic_play country
any_scope_target_ally Iterate through all allies to a target in a: diplomatic play any_scope_target_ally = { <count=num/all> / <percent=fixed_point> <triggers> } diplomatic_play country
diplomatic_play_pm_usage Checks how the ratio of Combat Units (of the same type) on the scoped Diplomatic Play, on the target country's side, with the specified Production Method compares to the value where X = country scope and Y = production method key and Z = value to compare to <, <=, =, !=, >, >= diplomatic_play
escalation Checks whether escalation has passed a certain threshold escalation > -58 <, <=, =, !=, >, >= diplomatic_play
has_play_goal Checks if diplomatic play has a certain war goal type has_play_goal = return_state diplomatic_play
initiator_is Checks who the initiator of a diplomatic play is initiator_is = country country scope diplomatic_play country
is_diplomatic_play_type Checks diplomatic play is of a certain type is_diplomatic_play_type = play type diplomatic_play
is_war True if the diplomatic play has escalated into war is_war = bool yes/no diplomatic_play
target_is Checks who the target of a diplomatic play is target_is = country country scope diplomatic_play country
literacy_rate Checks if a pop, state or country has a certain amount of literacy literacy = value <, <=, =, !=, >, >= country, state, pop
any_scope_admiral Iterate through all admirals in a: country or interestgroup any_scope_admiral = { <count=num/all> / <percent=fixed_point> <triggers> } country, interest_group, front character
any_scope_character Iterate through all characters in a: country, interestgroup, or front any_scope_character = { <count=num/all> / <percent=fixed_point> <triggers> } country, interest_group, front character
any_scope_general Iterate through all generals in a: country, interestgroup, or front any_scope_general = { <count=num/all> / <percent=fixed_point> <triggers> } country, interest_group, front character
any_scope_politician Iterate through all politicians in a: country or interestgroup any_scope_politician = { <count=num/all> / <percent=fixed_point> <triggers> } country, interest_group, front character
any_interest_group Iterate through all interest groups in a country any_interest_group = { <count=num/all> / <percent=fixed_point> <triggers> } country, party interest_group
any_member Iterate through all interest group members of a party any_member = { <count=num/all> / <percent=fixed_point> <triggers> } country, party interest_group