List of Effects
Last updated on October 17th 2025
This article lists all possible effects in events/decisions/scripted buttons.
Syntax and terminology
Many event options are of the form
X = {
limit = {
A = B
}
Y = Z
}
What this means is that when the event triggers, and this outcome is selected, then for all X such that A = B, Y = Z happens to X. X is the ''target'' of the command, and may be a group of pops, a group of provinces or states, a country, or other things; A = B is the ''condition'', and may be limiting the pops to only those of certain cultures, limiting the states to only those that are slave states, or other things; Y is the ''effect'', and Z is the ''argument'' that tells the effect what to do. This is a general pattern, and may not hold for specific examples.
These may also be nested; for instance,
any_state = {
limit = {
is_slave = yes
}
any_pop = {
limit = {
has_pop_culture = dixie
}
consciousness = 0.5
}
}
says that in all states (any_state) that are slave states (limit = {is_slave = yes}), all pops (any_pop) that are of the Dixie culture will have a CON increase of 0.5
Scopes
Pops
An effect that applies to pops can target pops in these classes:
any_pop: targets all pops |aristocrats,artisans,bureaucrats,capitalists,clergymen,clerks,craftsmen,farmers,labourers,officers,slaves,soldiers: the type of pop specifiedpoor_strata,middle_strata,rich_strata: all pops in a certain wealth level
Province
A scope that targets provinces can target these classes:
any_owned: all provinces; can be nested within a state or country target to give all provinces within the state, states, or country selected.(a province ID): the province referenced by the IDcapital_scope: for a country event, this targets the country's capital province.
For a province event, if no target is given the effect will target the province for which the event fired.
This target can be limited by:
is_core = (tag): to specify provinces that have certain cores on themprovince_id = n: to exclude specific provinces from a larger grouphas_province_modifier = (modifier)has_province_flag = (flag name): only provinces that have that flag will be targeted(ideology) = n: only provinces where (ideology) has more than n% representationaverage_militancy = n: all provinces with average MIL over naverage_consciousness = n
State
A scope that targets states can target these classes:
random_state: any one state, randomly chosen(a state name, e.g. USA_1): the state referenced by that namestate_scope: For a province, state_scope is the state containing the province
This target can be limited by:
is_slave = (yes/no)is_colonial = (yes/no)average_militancy = n: all states with average MIL over naverage_consciousness = nhas_pop_type = (type)(issue) = n: all states where (issue) is the primary issue for n% of the population
Country
An effect that targets a country as a whole can use these targets
| target | what it means |
|---|---|
| no target given | For a country event, the default target is the country that fired the event |
| (a tag) | the country referenced by the tag |
| any_country | all countries (the current country not included) |
| any_greater_power | randomly choose one of the eight great powers |
| FROM | for a triggered event, FROM is the country that fired the triggering event. |
| THIS | the country that fires a country-scope event. |
| owner | for a province event, owner is the country that owns the province that fired the event |
| sphere_owner | If the country that fired an event is in a sphere, sphere_owner is the nation controlling that sphere |
This target can be limited by:
- has_country_flag = (flag name) (only countries that have that flag will be targeted)
- civilized = (yes/no)
- in_culture_group = (group)
- (reform_class) = (reform_level) (only countries that have a certain level of political or social reform, ex. press_rights = free_press)
- prestige = n (limits to countries with n prestige or more)
- tag = (tag) or, more importantly, NOT = {tag = (tag)} (limits to the country with (or the countries without) the given tag
Global effects
The following effects can be fired from any scope:
set_global_flag = [flag]: Sets the specified flag globallychange_variable = { which = [variable] value = n }: Increases or decreases the value of an existing variable.clr_global_flag = [flag]: Removes the specified global flag.random = { chance = n [effects] }: Specifies the probability n that the effects specified will occur.random_list = { E1 = { [effect1] } E2 = { [effect2] } ... En = { [effectn] } }: Causes one of two or more possible effects to happen and specifies the probability for each. Probability of any effect Ex occurring is Ex/(E1+E2+...+En).increment_variable = ...: Shorthand to increment by 1decrement_variable = ...: Shorthand to decrement by 1set_variable_to_zero = ...: Shorthand to set a variable to 0set_global_variable = ...: Change global variablechange_global_varible = ...: Change global variable
Pop-scoped Effects
consciousness = n: Change the CON of the targeted pop or pops by the given value. Example:poor_strata = { consciousness = 1.5 }militancy = n: Change the MIL of the targeted pop or pops by the given value. Similar in all aspects to consciousness.dominant_issue = { value = (issue) factor = n }: Changes the dominant issue of a portion of the targeted pop to the given issue. Works the same way asupper_house.ideology = { factor = n value = (name) }: Change the proportion of the targeted pop that follows the specified ideology. Works the same way asupper_houseliteracy = n: Changes the literacy of the targeted pop by the specified amount. Example:any_pop = { literacy = -0.10 }Reduces literacy by 10%.money = n: Changes the target pop's savings by the specified amount.move_issue_percentage = { from = (issue) to = (issue) value = n }: Makes a certain percentage of people supporting issue A, switch to issue B. This effect is used in the adding of CB, where people switch from jingoism to pro military.move_pop = (province ID): Moves the targeted pop to the specified province.pop_type = (type): Changes the type of the targeted pop.reduce_pop = n: Changes the targeted pop by the given % of its current size. Increases POP size if n>1. Example:any_pop = { reduce_pop = 0.95 }Reduces every pop by 5%.reduce_pop_abs = n: Changes the targeted pop by the given absolute number. Increases POP size if n < 0.scaled_consciousness = { factor = n ideology or issue = (name) }: Changes the consciousness of the targeted pops by the given value multiplied by the proportion of the pop that is of the given ideology or issue. E.g. if a pop has 40% support for pro-military, and n = 0.5, then the CON increase would be 0.4 * 0.5 = 0.2.scaled_militancy: seescaled_consciousness.religion = religion_name: Effect can be used in a province and pops scope to change the religion of the province/pop.
Province-scope Effects
assimilate = yes/no: Changes every pop whose province is currently in scope to the country's primary culture.add_core = [TAG/THIS/FROM]: Adds a core of the given country to the targeted provinceadd_province_modifier = { name = (modifiername) duration = n }: Adds the specified modifier to the targeted province. n in days.change_controller = [TAG]: Changes the controller (not owner) of the target province.change_province_name = "name": Changes the province's name to the one specified.fort = n: Changes the target province's fortification level by n.infrastructure = n: Changes the target province's infrastructure level by n.life_rating = n: Changes the target province's life rating by n.naval_base = n: Changes the target province's naval base level by n.remove_core = [TAG/THIS]: Removes a core of the given country to the targeted province.remove_province_modifier = [modifier name]: Removes the specified modifier from the targeted province. If the modifier does not currently exist in the province, this command won't appear in the tooltip.RGO_size = n: Changes the target province's RGO size by n.secede_province = [tag/THIS/FROM]: Transfers the province in scope from the targeted nation to another.sub_unit = { type = [unit type] value = current }: Spawns a unit.trade_goods = [type]: Changes the RGO good produced by the target province to the one specified.set_province_flag = [flag]: Sets the specified flag for the current province.clr_province_flag = [flag]: Removes the specified province flag.province_event = { id = [event] }: Fires the specified province event for the targeted province. Event can only fire for the owner of the province, and does not work on empty provinces.set_variable = { which = [name] value = n }: Creates a new variable and assigns it the value n. If the variable exist, it's value will be set as n. Variables can be national and provincial.religion = religion_name: Effect can be used in a province and pops scope to change the religion of the province/pop.
State-level effects
change_region_name = "name": Changes the region (state) name to the one specified. Example:1 = { state_scope = { change_region_name = "name" } }flashpoint_tension = n: Increases the flashpoint tension of the state by n. Example:state_scope = { flashpoint_tension = 10 }is_slave = (yes/no): Sets the slave state / free state status of a state.
Nation-scoped Effects
activate_technology = [technology]: Adds the specified technology to the country, whether it is the next level or not.add_accepted_culture = [culture]: Makes the specified culture accepted by the targeted country.remove_accepted_culture = (culture)Removes the specified culture as accepted by the targeted country.add_country_modifier = { name = [modifier] duration = n }Adds the specified modifier to the targeted country. n is in days. Won't replace or extend an already existing modifier.add_crisis_interest = [yes/no]: Involves the country in scope to the current crisis.add_crisis_temperature = nIncreases the temperature of the current crisis by n.badboy = nChange the target country's infamy by n.build_factory_in_capital_state = [factory type]: Instantly constructs given factory type in the capital state of the country.capital = [province]Change the capital of the country to the specified province id.civilized = [yes/no]Changes the civilized/uncivilized status of the country.kill_leader = [ID]: Kills the specified army/navy leader.define_general = { name = [name] personality = [trait] background = [trait] }: Creates a new general with the specified parameters.nationalvalue = [value]: Changes the national value of the current country to the value specified. value from common\nationalvalues.txtplurality = n: Change the plurality of the targeted country by n.prestige = n: Change the prestige of the targeted country by n.prestige_factor = nChanges the prestige of the targeted country by the current prestige multiplied with n. Change cannot be less than ±1.primary_culture = [culture]/[TAG/THIS/FROM]: Changes the target country's primary culture. This may be used on non-existing countries.religion = (religion): Changes the scoped country's state religion to the specified one.remove_country_modifier = [modifier]: Removes a country modifier. If the country modifier does not exist, the effect won't appear in the tooltip.research_points = n: Grants n RPs to the target country's.war_exhaustion = n: Changes the target country's war exhaustion by n.years_of_research = n: Grants a number of RP that would have been accumulated over n years.- `nationalize = [yes/no]: Turns all factories invested by foreign powers your own.
diplo_points = ...: Will add the number to the currently stored diplomatic points of the nation in scope. (Note: you can use a negative number to subtract points. Diplomatic points can not be reduced to less than zero.)suppression_points = ...: Will add the number to the currently stored suppression points of the nation in scope. (Note: you can use a negative number to subtract points. Suppression points can not be reduced to less than zero.)
Political Effects
economic_reform = [reform]: Adds the specified economic reform to the uncivilized nation.election = yes: Starts the election process ahead of schedule.enable_ideology = [ideology]government = [government]: Changes the target country's government to the specified type. Does not change any of the country's reforms.military_reform = [reform]: Adds the specified military reform to the uncivilized nation.political_reform = [reform]: Changes the target country to the specified political reform.ruling_party_ideology = [ideology]: Changes the current ideology of the country's ruling party. If there is more than one party for that ideology, the first party listed in the country file is chosen.social_reform = [reform]: Changes the target country to the specified social reform.upper_house = { ideology = [ideology] value = [n] }: Changes the proportion of the upper house that follows the specified ideology. The amount gained (U) is calculated by the following formula: U=1-1/(1+N)The other values will be multiplied by 1-U.Example:Upperhouse starts with 10% (0.1) liberals and 90% (0.9) conservatives. U=1-1/(1+N)=1-1/(1+0.25)=1-0.8=0.21-U=0.8liberals = 0.10.8+.2 = 0.28 = 28%conservatives = 0.90.8 = 0.72 = 72%N = -1-1/(U-1)ruling_party_ideology = THIS/FROM: Appoints the ruling party with an ideology ofTHISorFROMadd_accepted_culture = THIS/FROM: Now withTHIS/FROMadds the PRIMARY culture ofTHIS/FROMto the nation in scopeadd_accepted_culture = this_union/from_union: Adds the culture union of the primary culture ofTHIS/FROMas accepted to the nation in scopekill_leader = "name of leader": kills a leader (admiral or general) belonging to the nation in scope with the given name. Note that this will only reliably function if you have explicitly created a leader with that name via effect or via definition in the history files.annex_to = null: this turns all the provinces owned by the nation in scope into un-owned provinces (which defeats the nation, liberates its puppets, etc).secede_province = null: turns the province in scope into an un-owned province. This is to replace some of the tricks mods did to turn provinces un-owned, such as seceding them to nonexistent tags, etc
Diplomatic Effects
add_casus_belli = { target = [TAG/FROM/THIS] type = [casus belli] months = n }: Gives the target a casus belli against the country in scope for n months. Optional fields includestate_province_idfor when the casus belli targets a specific state, such as with acquire state, andcountryfor when the casus belli targets another country tag, such as with free peoples.annex_to = [TAG/THIS/FROM]: Annexes the targeted country to the country in the current scope.casus_belli = { target = [TAG/FROM/THIS] type = [casus belli] months = n }: Grants the scoped country a casus belli against the target country for n months. Optional fields includestate_province_idfor when the casus belli targets a specific state, such as with acquire state, andcountryfor when the casus belli targets another country tag, such as with free peoples.create_alliance = [TAG]: Creates an alliance between target country and the scoped country.create_vassal = [TAG]:Makes the specified country a vassal of the scoped country, even if they are already a vassal.diplomatic_influence = { who = [TAG/FROM/THIS] value = n }: Changes the influence that the targeted country has on the specified country by n.end_military_access = [TAG/THIS/FROM]: Ends the military access granted by the specified country to the current country.end_war = [TAG]: Ends any war between the target country and the specified country. Does not create a truce, and there are no penalties for the cancelled CBs. Will not cancel the war with allies or vassals.inherit = [TAG/FROM/THIS]: Adds all provinces of the specified country to the scoped country.leave_alliance = [TAG/FROM/THIS]: Remove the current country from an alliance with the specified country.military_access = [TAG/THIS/FROM]: Gives the target country military access to the specified country.neutrality = [yes/no]: Dissolves all alliances a nation has and set all satellites free.relation = { who = [TAG/FROM/THIS] value = n }: Changes the relation between the targeted country and the specified country by n.release = [TAG]: Scoped country releases the specified country as an independent nation.release_vassal = [TAG/FROM/THIS]: If this targets a vassal nation (or substate), the vassal is freed. If this targets a non-existing nation, it is released as a vassal of the current country. | If the capital of the released country is not owned, the country is simply freed outright and not as a vassal (check withis_possible_vassal).war = [TAG]andwar = { target = [TAG] attacker_goal = { casus_belli = [casus belli] } defender_goal = { casus_belli = [casus belli] } call_ally = [yes/no] }: Starts a war between the country for whom the event fired and the given country.
Economic Effects
add_tax_relative_income = n: remove or add money relative to country's income with maximum taxation. E.g. if n=0.1, 10% of what income would be if all taxes were maxed out is added.[resource name] = n: Change the national stockpile of the resource named by n.treasury: Change the amount of cash in the treasury by n.
Function Effects
change_tag = [TAG]: Switches the nation in scope to the specified country tag. Cores of the nation in scope are replaced with cores ofTAG.change_tag = culturechanges to the union tag for the current scope country. It has no effect on cultures with no union tag.change_tag_no_core_switch = [TAG]: Switches the player nation from the current one to the specified one. The normal change tag gives you the cores of the new tag in addition to your old cores. For example, Prussia -> Germany ends up as a Germany that has cores in all the provinces PRU had cores in plus the existing GER cores. The no core switch version is used to, for example, switch a player from one country to another without changing any cores.clr_country_flag = [flag]: Removes the specified country flag.country_event = [event]andcountry_event = { id = [event] days = n }: Fires the specified country event for the targeted country.set_country_flag = [flag]: Sets the specified flag on the current country.set_variable = { which = [name] value = n }: Creates a new variable and assigns it the value n. If the variable exist, it's value will be set as n. Variables can be national and provincial.
New Effects
random_greater_power = { ... }: Likeany_greater_power, but only one random great power is scoped.random_empty_neighbor_province- selects random empty neighbor province in nation/province scope.any_empty_neighbor_province = { ... }: Likerandom_empty_neighbor_province, but all of the empty adjacent provinces are scoped. Can be used in province or nation scope.random_neighbor_provincecan be used in nation and province scope.any_neighbor_provincecan be used in nation and province scope.change_terrain = terrain: Changes the terrain of the province on scope, can be used on pop scopes too (will default to the location of the pop)assimilate = yes: Effect can be used in a pop/province/state scope to change the culture of pops in the scope to primary culture.reduce_pop_abs = amount: Reduce pop in the pop scope by absolute amount (e.g. 500 soldiers). Use with negative values to increase pop size. Use with very big number to remove pop completely.set_culture = culture: Set culture of a pop in scope to a named culture.any_existing_country_except_scoped: Same behavior ofany_countryon decisions, any existing nation except the one scopedany_defined_country: Same behavior ofany_countryon events, scope all countries even those that don't exist and includes the current countryrandom_neighbor_country: A random neighboring country.all_core = { ... } (for provinces): The ability to use it within provinces to scope all the cores of the province in question, for example if England and Russia have cores on Houston, then this will scope both England and Russiaany_core = { ... }: Effects dont haveany_core, but triggers do, so for consistency its supported too.from_bounce = { ... }: Forward whatever is in the current scope to be "bounced" toFROM, until the end of this scopethis_bounce = { ... }: Same as above but withTHIS.random_by_modifier = { ... }: See below for syntax usagebuild_bank_in_capital = { ... }: Invalid in vanilla, added for mods to use.build_university_in_capital = { ... }: Invalid in vanilla, added for mods to use.any_owned_province = { ... }: Providing uniformity with respect to triggers.any_prov = { ... }: Shorthand forany_owned.any_owned_province = { ... }: Shorthand forany_owned.any_substate = { ... }: For parity with triggers, scopes any substates of the country.remove_country_flag = flag: Alias ofclr_country_flag.clear_global_flag = flag: Alias ofclr_global_flag.province_immigrator = n:ncan only be1or-1. This is the "province selector" used in various mods.immigrator = n: Alias ofprovince_immigrator.immigrator_selector = n: Alias ofprovince_immigrator.if = { ... }: See below for if-else usage.else_if = { ... }: See below.else = { ... }: See below.add_country_modifier = modifier: Shorthand foradd_country_modifier = { name = modifier duration = -1 }add_province_modifier = modifier: Shorthand foradd_province_modifier = { name = modifier duration = -1 }masquerade_as_nation = THIS/FROM: Use the visual flag ofTHIS/FROMas the flag of the nation, most useful for dynamic rebellions for example.change_party_name = { ... }: This effect is defined using a block with two members. The first member isideology = ...where...is either the name of an ideology orruling_party. This member determines which party the effect will apply to. If an ideology is provided, it will apply to the first active political party with that ideology (generally the "first" party is the political party defined earlier in the files). Ifruling_partyis provided, the current ruling party of the nation in scope will be affected. The second member isname = .... This value is the new name that the party will be given. This effect can be used only within a national scope. Example:change_party_name = { ideology = conservative name = NEW_PARTY_NAME }change_party_position = { ... }: This effect is defined using a block with two members. The first member isideology = ...where...is either the name of an ideology orruling_party, which determines which party the effect applies to as described above. The second member isposition = ...where...is one of the options for a party issue or a political or social reform. The effect will cause the political party determined by theideologymember to change their party position to the givenposition, if it is a party issue or it will give them a voting preference in favor of that particular reform and remove any voting preference in favor of another reform in that group (see below for more on the extension of party preferences). This effect can be used only within a national scope. Example:change_party_position = { ideology = ruling_party position = free_trade }
As for build_xxx_in_capital, the game doesn't allow custom defined buildings to be used in this mode as an effect.
The syntax for build_bank_in_capital and it's university counterpart is the same:
build_bank_in_capital = {
in_whole_capital_state = yes/no
limit_to_world_greatest_level = yes/no
}