From Crusader Kings II Wiki
Jump to: navigation, search

Commands or Effects are used to alter the target that was selected with scopes and conditions.

They appear in:

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

Note: commands are different from console commands.

Control flow statements[edit]


If/limit statements allow to execute commands only if certain conditions are met. The structure is:

if = {
  limit = {
  #Commands to execute if the conditions match

If/then/else can be simulated by repeating the conditions with NOT operator:

if = {
  limit = {
if = {
  limit = {
    NOT = { 


trigger_switch was introduced in patch 2.4 and is a shortcut to multiple if/limit blocks, in case the ifs are on different values of the same condition, specified via on_trigger.

It works with all triggers that have a non-complex right-hand-side argument and will try to do a normal evaluation during the on_triggers from the scope that the trigger_switch clause is residing in. If more than one value in on_triggers evaluate as true, it will still only execute the first in the list that evaluates to true.[1] Switch doesn't work witch scripted triggers, as they are macros and thus complex right-hand-side argument.[2]

As of patch 2.5, it was not working with the region trigger, due to a specific issue that will get fixed.[3]

Here are some examples:

trigger_switch = {
	on_trigger = religion_group
	christian 		= { FROM = { add_trait = sympathy_christendom } }
	muslim 			= { FROM = { add_trait = sympathy_islam } }
	pagan_group 		= { FROM = { add_trait = sympathy_pagans } }
	zoroastrian_group 	= { FROM = { add_trait = sympathy_zoroastrianism } }
	jewish_group 		= { FROM = { add_trait = sympathy_judaism } }
	indian_group 		= { FROM = { add_trait = sympathy_indian } }
any_demesne_title = {
	trigger_switch = {
		on_trigger = title
		e_hre = { holder_scope = { ... } }
		e_byzantium = { holder_scope = { ... } }
		k_france = { holder_scope = { ... } }
any_realm_province = {
	trigger_switch = {
		on_trigger = province_id
		31 = { owner = { ... } }
		32 = { owner = { ... } }


Break was introduced with patch 2.3 and acts as a return statement, causing everything after it (in the main block: option, immediate, ...) to be ignored[4]. It avoids the need to repeat the conditions with NOT operator in another if/limit block, when commands are exclusive. The structure is:

if = {
  limit = {
  #Commands to execute if the conditions match
  break = yes
#Commands to execute if the conditions do not match


while effect was added in patch 2.6[5]

The syntax is:

while = {
	limit = { 
		# conditions
	# effects that are executed until the limit is no longer true.

Here is an example:

set_variable = { which = count value = 20 }
while = {
	limit = {
		check_variable = {
			which = count
			value = 1
	subtract_variable = {
		which = count
		value = 1
	add_treasury = 5


  • the while effect does not produce any tooltip due to the problems that would cause.
  • make sure you don't create an endless loop... Although there is a fail-safe at 100K loops.

Storing information[edit]


Variables are numeric values attached to character, province or title scopes. Note that there are no global variables.

Variable are persisted in saves, and though there is no command to clear variables, the increased file size is usually negligible.

Important: scripting variables are completely isolated from the other numeric variables used by the game (attributes, gold, piety, ...), i.e. it's not possible to assign the value of a trigger to a variable.

Variables are always stored/retrieve in the scope where the commands/triggers are executed. So for instance to create a variable myvar with value 1 in ROOT scope:

ROOT = {
  set_variable = { which = myvar value = 1 }

and to check for it:

ROOT = {
  check_variable = { which = myvar value = 1 }

Commands on variables have a second parameter, which can be:

  • A literal value: (set|change|subtract|multiply|divide)_variable = { which = <variable_name> value = <value> }
  • A reference to another variable in same scope: (set|change|subtract|multiply|divide)_variable = { which = <variable_name> which = <another_variable_name> }
  • A scope (in the form of ROOT/FROM/PREV/THIS) which contains a variable with the same name: (set|change|subtract|multiply|divide)_variable = { which = <variable_name> which = <scope> }

Variables can be checked with usual superior or equal comparison, or with strict equality:

  • check_variable = { which = <variable_name> value = <value> }
  • is_variable_equal = { which = <variable_name> value = <value> }

Variables can be used in localization:[6]:

  • [<variable_name>.GetName], ex: [Root.PrimaryTitle.test_var.GetName]
  • [<variable_name>.GetValue], ex: [Root.PrimaryTitle.test_var.GetValue]

The variables themselves are localized via a .csv entry whose key is the variable name:

  • myvar;My Variable;;;;;;;;;;;;;x


Flags are boolean values (flag is either present or not), which can be attached to the following scopes: character, province, title, dynasty, or global.

The command to set or clear a flag are:

  • set_<scope>_flag = <flag_name>
  • clr_<scope>_flag = <flag_name>

Flags can be checked via conditions, for either the flag presence or the duration since the flag has been set:

  • has_<scope>_flag = <flag_name>
  • had_<scope>_flag = { flag = <flag_name> days = <duration> }

Note that modifiers are somehow similar to flags, but in addition they alter the statistics of the scope they are attached to.


Event spawned units have a similar but more limited mechanism than flags, called earmarks.

An earmark is added when creating a unit via: spawn_unit = { earmark = <earmark> }

It can then be tested on the owner of the unit: has_earmarked_regiments = <earmark>

And finally to disband the unit with the given earmark: disband_event_forces = <earmark>

Event targets[edit]

Main article: Scope#Event targets

Event targets are scope values, attached to the following scopes: character, province, title or global


There are two commands that can be used to generate a random result: random and random_list. random_list is similar to using several random blocks, except it guarantees that only one block will execute, which is not the case with multiple random blocks.

Since patch 2.3 both commands can be weighted with some modifier = { } blocks, that based on conditions, can:

  • increase the chances if factor > 1
  • decrease the chances if factor < 1
  • annihilate the chances if factor = 0


random = {
  chance = <percentage>
  modifier = {
    factor = <factor_1>
    #Conditions for factor to apply
  modifier = {
    factor = <factor_2>
    #Conditions for factor to apply
  #Commands to execute if the random check succeeded

The actual chances (if both <factor_1> and <factor_2> conditions match) are: <percentage> * <factor_1> * <factor_2> / 100


random = {
  chance = 20
  add_trait = stressed

Random list[edit]

random_list = {
  <percentage_A> = {
    modifier = {
      factor = <factor_1>
      #Conditions for factor to apply
    modifier = {
      factor = <factor_2>
      #Conditions for factor to apply
    #Commands for case A
  <percentage_B> = {
    modifier = {
      factor = <factor_3>
      #Conditions for factor to apply
    #Commands for case B

The actual chances (in case all factor match) are:

  • Total = <percentage_A> * <factor_1> * <factor_2> + <percentage_B> * <factor_3> + ...
  • A chances: <percentage_A> * <factor_1> * <factor_2> / Total
  • B chances: <percentage_B> * <factor_3> / Total


random_list = {
  10 = {
    give_nickname = nick_the_wise
  10 = {
    give_nickname = nick_the_able
  10 = {
    modifier = {
      factor = 0
      religion = buddhist
    give_nickname = nick_priest_hater

List of commands[edit]

Available commands depend on the current scope type.

Command Used in vanilla Used from scope Value type Description Example Category
abandon_heresy character/province bool Converts to the parent religion abandon_heresy = yes Religion
abdicate character bool Abdicate to current heir abdicate = yes Government
abdicate_to character character Abdicate to an arbitrary character.

Note: to also transfer wealth, use the wealth and clear_wealth commands.

holder_scope = { abdicate_to = ROOT } Government
abdicate_to_most_liked_by character character FROM = { abdicate_to_most_liked_by = ROOT } Government
activate_disease any disease Activate a disease, which can now randomly appear. Note that there's no way to deactivate a disease. activate_disease = syphilis Health
activate_plot character bool For plots activated by decision hidden_tooltip = { activate_plot = yes } Plots
activate_title any clause Activate/deactivate a titular or de jure landed title. Unlike destroyed titles (destroy_landed_title), deactivated titles cannot be re-created by the player or AI, except through special decisions. activate_title = { title = d_hashshashin status = no } Titles
add_alliance X character clause Creates an alliance between characters. Also see break_alliance. add_alliance = { who = x days/months/years = y } Relations
add_ambition character ambition add_ambition = obj_become_chancellor Plots
add_betrothal X character Warn: buggy behavior Marriage
add_building title building Construct a building in a holding. add_building = ct_shipyard_1 Holdings
add_character_modifier character clause Adds a character modifier add_character_modifier = { name = mod_bloodlust duration = 180 } Modifiers
add_claim title/character character/title Adds a strong, non-inheritable claim to a character.

Note: assigned value cannot be a scope reference to a title.[7]

ROOT = { # ROOT is character
   add_claim = k_france # Needs to be a titleID, PREV wouldn't work.
k_france = {
   add_claim = ROOT # ROOT is a character

county = { add_claim = ROOT }

add_consort X character character Marriage
add_favor character character Makes scoped character owe a favor toward another character. Also see reverse_add_favor. add_favor = ROOT
add_friend character character add_friend = ROOT Relations
add_holding_modifier holding modifier Adds a holding modifier.
add_holding_modifier = {
	modifier = nomad_population_boom
	years = 8
	stacking = yes
add_holding_slot province int Adds N constructible settlement to a province add_holding_slot = 1 Holdings
add_law title law random_demesne_title = { add_law = centralization_0 } Government
add_law_w_cooldown title law any_demesne_title = { add_law_w_cooldown = investiture_law_0 } Government
add_lover character character add_lover = PREV Marriage
add_objective X character objective add_objective = objective Plots
add_pressed_claim title/character character/title Adds a strong, inheritable claim. Note: assigned value cannot be a scope reference to a title.[7] primary_title = { add_pressed_claim = ROOT } Claims
add_province_modifier province clause Adds a province modifier add_province_modifier = { name = smugglers_ring duration = -1 } Modifiers
add_random_education_trait character attribute/1/2/3/4/yes Adds an education /trait matching specified attribute or level. add_random_education_trait = martial Character
add_rival character character Relations
add_spouse character character add_spouse = FROM Marriage
add_spouse_matrilineal character character add_spouse_matrilineal = FROM Marriage
add_trait character trait Adds a trait to the character, using an ID from the traits files. Also see remove_trait. add_trait = skilled_tactician Traits
add_weak_claim character/title title/character Adds a weak, non-inheritable claim. Note: assigned value cannot be a scope reference to a title.[7] add_weak_claim = FROM Claims
add_weak_pressed_claim character/title title/character Adds a weak, inheritable claim. Note: assigned value cannot be a scope reference to a title.[7] add_weak_pressed_claim = FROM Claims
adjective title string k_france = { adjective="" } Titles
adjust_siphon_factor title double Update the percentage of income that goes to the creator for a dynamic mercenary company. primary_title = { adjust_siphon_factor = -0.02 }
ambition_succeeds character bool ambition_succeeds = yes Plots
approve_law character/title law/title
  • approve_law = law starts a vote on a law
  • approve_law = title votes in favor of a law
primary_title = { approve_law = city_tax_0 }

approve_law = FROM

back_plot character character ROOT = { back_plot = PREV } Plots
banish character bool banish character to random court FROM = { banish = yes } Characters
banish_religion character religion All characters of the targeted religion will be banished to random court banish_religion = jewish Religion
become_heretic character bool Changes character religion to a random heresy of current religion become_heretic = yes Religion
best_fit_character_for_title title clause Gives the character best fit for a title. Parameters: title, perspective (From whose perspective we are viewing the title), index (The index of the character in the list), grant_title
best_fit_character_for_title = {
  title = PREV 
  perspective = ROOT
  index = 1 
  grant_title = PREV
break_alliance character character Remove an alliance. Also see add_alliance break_alliance = FROM Relations
break_betrothal X character character break_betrothal = FROM Marriage
build_holding province clause Builds a new settlement in the province. build_holding = { title = b_masyaf type = castle holder = ROOT } Holdings
cancel_ambition character bool cancel_ambition = yes Plots
cancel_job_action character job_action FROM = { cancel_job_action = action_inquisition } Jobs
cancel_objective X character objective Outdated, now cancel_objective/cancel_plot Plots
cancel_plot character plot cancel_plot = plot_gain_title Plots
capital character province Moves the capital Rulers
change_diplomacy character int Changes base diplomacy stat. Negative decreases base diplomacy but will not decrease base diplomacy below 0 change_diplomacy = 1 Characters
change_infamy X character clause Add or remove threat from a charcater.

value : numerical change in infamy/threat (can be a decimal value)
localisation : key for the localisation entry for the character's threat tooltip.

change_infamy = {
    value = x
    localisation = key
change_intrigue character int Changes base intrigue stat. Negative decreases base intrigue but will not decrease base intrigue below 0 change_intrigue = 1 Characters
change_learning character int Changes base learning stat. Negative decreases base learning but will not decrease base learning below 0 change_learning = 1 Characters
change_martial character int Changes base martial stat. Negative decreases base martial but will not decrease base martial below 0 change_martial = 2 Characters
change_mercenary_composition X title clause Change the composition of a dynamic mercenary title. change_mercenary_composition = { from = <unit> type = <unit> change = <int> }
change_random_civ_tech X province int change_random_civ_tech = 2 Provinces
change_random_eco_tech X province int Provinces
change_random_mil_tech X province int Provinces
change_stewardship character int Changes base stewardship stat. Negative decreases base stewardship but will not decrease base stewardship below 0 change_stewardship = 1 Characters
change_tech province clause Improves technology in the province (referenced in common/technology.txt) change_tech = { technology = TECH_NAVAL value = 1} Province
change_title_army_size title double Changes the army size of a mercenary/adventurer title.
primary_title = {
	change_title_army_size = 0.05 # Increase of percentage
change_variable character/province clause Increment (or decrement) a variable with specified value, or another variable change_variable = { which = "bob_saget" value = 1 }

change_variable = { which = "bob_saget" which = another_var }

character_event character clause Fires an event to scoped character. See event modding.
Parameter Type Description
id int Required. Event ID to fire. May use a namespace.
days int Optional. Base number of days to wait before firing the event. If not specified, event occurs instantly.
random int Optional. Number of days to add randomly for the event occurrence date, closed-ended (days to days+random).
tooltip Key Optional localisation key to show as tooltip. If not specified, uses the DEFAULT_SENDEVENT_EVENTOPTION_TOOLTIP key ("Character receives an event").
character_event = { id = 66010 days = 17 tooltip = EVTTOOLTIP66010 } Control
clan_opinion title clause
clan_opinion = {
	who = event_target:liege_clan
	modifier = won_tributary_war
	years = 5
clan_reverse_opinion title clause
clan_reverse_opinion = { 
	modifier = opinion_built_temple
	years = 20
clear_delayed_event character/province clause Removes specified event id with a delayed trigger on current scope. clear_delayed_event = { id = HL.6500 } Control
clear_event_target any var Deletes a previously saved variable clear_event_target = target_victim Control
clear_focus character bool Removes the focus of a character. Also see set_focus. clear_focus = yes
clear_global_event_target X any var Deletes a previously saved global variable Control
clear_global_event_targets X any bool Deletes all previously saved global variables clear_global_event_targets = yes Control
clear_revolt province bool clear_revolt = yes Provinces
clear_wealth character bool/character Sets wealth of character to 0. Can be used after transfer of money via wealth command. clear_wealth = yes Money
clr_character_flag character flag clr_character_flag = flag_promised_marriage Control
clr_dynasty_flag chararcter flag clr_dynasty_flag = strange_chest Control
clr_global_flag any flag clr_global_flag = shepherds_crusade_active Control
clr_province_flag province flag clr_province_flag = tournament_60_days_furusiyya Control
clr_title_flag title flag Control
conquest_culture character/title/province culture/character/title/province conquest_culture = PREVPREV Culture
convert_to title(holding) type Converts holding to another holding type: CASTLE, CITY, TEMPLE, TRIBAL, NOMAD convert_to = CASTLE Holdings
copy_random_personality_trait character character ROOT = { copy_random_personality_trait = PREV } Traits
copy_title_history title title Copies title history from title on the right to title on the left. e_spain = { copy_title_history = k_asturias } Titles
copy_title_laws title title Copies title laws from title on the right to title on the left. e_spain = { copy_title_laws = k_asturias } Government
create_character character/province clause Creates a random character with specified parameters. Note: options "father" and "mother" for current version 2.44 is not valid. Use the commands "set_father" and "set_mother."
Parameter Type Description
age int age = 0
name string
has_nickname nickname
attributes clause martial, intrigue, diplomacy, stewardship, learning
trait trait trait = bastard
health double
fertility double
random_traits bool
female bool female = no
employer title
religion religion religion = ROOT
culture culture/random culture = ROOT
dynasty ID/none/random/culture dynasty = none
dna string
flag flag
father character father = ROOT
mother character mother = PREV
race character race = PREV
historical bool If yes, character won't ever be pruned from the database.
create_character = {
  random_traits = no
  name = "Hassan"
  dynasty = random
  religion = ROOT
  culture = persian
  female = no
  age = 40
  attributes = {
    martial = 6
    diplomacy = 8
    stewardship = 9
    intrigue = 12
    learning = 12
  health = 6
  fertility = 0.8
  trait = elusive_shadow
  trait = patient
  trait = zealous
  trait = scholar
  trait = chaste
  trait = temperate
create_family_palace character bool Creates the patrician family palace create_family_palace = yes Holdings
create_feud title title Create a feud between two clans
clan_title = {
	FROM = {
		clan_title = {
			create_feud = PREVPREV
create_random_diplomat character/province clause creates a random character with diplomacy education create_random_diplomat = { ... } Characters
create_random_intriguer character/province clause creates a random character with intrigue education create_random_intriguer = { ... } Characters
create_random_priest character/province clause creates a random character with learning education create_random_priest = { ... } Characters
create_random_soldier character/province clause creates a random character with martial education create_random_soldier = { ... } Characters
create_random_steward character/province clause creates a random character with stewardship education create_random_steward = { ... } Characters
create_title character clause Creates a dynamic title with specified parameters
Parameter Type Description
tier tier
landless bool
temporary bool
rebel bool
culture culture
name Key
holder character
custom_created bool
base_title title
copy_title_laws bool
mercenary bool
adventurer bool Adventure titles work just as temporary titles but do not get destroyed automatically when the holder is in peace. Instead, they are destroyed whenever the holder gains another title or when the holder dies.
ruler Key
ruler_female Key
foa Key
nomad bool
replace_captain_on_death bool Used for dynamic mercenary titles.
siphons_income_to_creator double Percentage of income given to creator for dynamic mercenary titles.
army_template composition Army composition for dynamic mercenary titles.
create_title = { 
  tier = DUKE 
  holder = THIS 
create_tradepost X character/title province (ID or scope pointing to province) Creates a trade post in the specified province
create_tradepost = 123
chronicle character clause Parameters: entry, portrait, picture
chronicle = { 
  portrait = [Root.GetID]
culture character/province/title culture/character/province/title Culture
culture_techpoints character int culture_techpoints = 50 Rulers
cure_illness character bool cure_illness = yes Health
cut_mercenary_creator_relation title bool Break free the dynamic mercenary title from its creator. cut_mercenary_creator_relation = yes
de_jure_liege title character/title/0 Changes the de jure structure
any_direct_de_jure_vassal_title = { 
  de_jure_liege = e_roman_empire
death character clause Kills currently scoped character death = { death_reason = death_execution killer = ROOT } Health
decadence character int decadence = -50 Characters
decline_law character title Also see approve_law. decline_law = FROM Council
destroy_fort X province province Destroy the fort in a province. destroy_fort = THIS Provinces
destroy_landed_title title title/bool Destroys a landed title. It can later be re-created by the player or AI, at the difference of deactivating it via activate_title.

Note: does not fully work on count-tier mercenary companies, until the current owner loses the title.

k_asturias = { destroy_landed_title = THIS } Titles
destroy_random_building province bool
random_demesne_title = { 
  destroy_random_building = yes
destroy_settlement title title Destroys scoped holding. Also see build_holding. destroy_settlement = THIS Holdings
destroy_tradepost character province destroy_tradepost = FROMFROM Provinces
diplomatic_immunity character bool diplomatic_immunity = yes Characters
disable_council_voting_on_issue title votingTopic Changes council laws. Also see enable_council_voting_on_issue. disable_council_voting_on_issue = grant_landed_title_interaction Council
disable_prepared_invasion character religion Disable dynamically the allow_viking_invasion characteristic of a religion. Also see enable_prepared_invasion. disable_prepared_invasion = norse_pagan Religion
disband_event_forces character earmark Disbands the levies previously created with the given earmark via spawn_unit = { earmark = xxx } disband_event_forces = prepared_invasion Wars
divide_variable X character/province clause Divide a variable with specified value, or with another variable divide_variable = { which = var value = 2 }

divide_variable = { which = var which = another_var }

dynasty character id/character Sets the dynasty of scoped character. May need to been chained with recalc_succession command, if impacting succession. Use 'dynasty = father_bastard' to generate a cadet dynasty. dynasty = FROM Family
economy_techpoints character int economy_techpoints = -50 Rulers
enable_council_voting_on_issue title votingTopic Changes council laws. Also see disable_council_voting_on_issue. enable_council_voting_on_issue = laws

enable_council_voting_on_issue = declare_war_interaction

enable_prepared_invasion any religion Enables dynamically prepared invasions for that religion with allow_viking_invasion flag. Also see disable_prepared_invasion. enable_prepared_invasion = norse_pagan Wars
end_oath title title Ends a blood oath
clan_title = {
	end_oath = THIS
end_war war string Possible war ends: invalid, whitepeace, success, reverse_demand end_war = invalid Wars
embargo character character embargo = FROM Wars
excommunicate character bool excommunicate = no Religion
faction character faction faction = faction_lower_crown_authority Factions
fertility character double fertility = 0.4 Characters
gain_all_occupied_titles character character gain_all_occupied_titles = FROM Titles
gain_settlements_under_title character clause gain_settlements_under_title = { title = PREV enemy = ROOT } Titles
gain_title title character/title Similar to abdicate_to
random_demesne_title = { 
  gain_title = FROM 
gain_title_plus_barony_if_unlanded X title character Gives opinion bonus toward the title giver gain_title_plus_barony_if_unlanded = ROOT Titles
gender_succ title string cognatic, agnatic, true_cognatic, enatic_cognatic, or enatic gender_succ = cognatic Government
give_job_title character job give_job_title = job_chancellor Jobs
give_minor_title character minor_title give_minor_title = title_chief_qadi Characters
give_nickname character nickname gives the character a nickname give_nickname = nick_the_great Characters
grant_kingdom_w_adjudication title character
random_demesne_title = { 
  grant_kingdom_w_adjudication = FROM
grant_title character/title title/character/clause Also grants any vassal owning or below current title
random_claim = { 
  grant_title = FROM 

grant_title = { target = PREV type = invasion }

grant_title_no_opinion X character/title title/character No claim for the giver and no opinion bonus from the receiver. Titles
health character double health = -1 Health
hold_election X character true For merchant republics hold_election = yes Government
impregnate character character/0 impregnate = ROOT Marriage
impregnate_cuckoo character character/bool impregnate_cuckoo = ROOT Marriage
imprison character character scoped character will be imprisoned by target imprison = ROOT Characters
inherit character character scoped character will inherit titles of target character random_courtier = { inherit = ROOT } Titles
join_attacker_wars character character ROOT = { join_attacker_wars = PREV } Wars
join_defender_wars character character Only joins one war. Cannot be used by (feudal?) vassals to join liege's war. FROM = { join_defender_wars = ROOT } Wars
leave_plot character character leave_plot = FROM Plots
log any string Logs for debug purposes into game.log. Localisation commands can be used normally in the string. log = "20: Adultery discovered between [Root.GetTitledName] and [This.GetTitledName]!" Control
letter_event character clause Fires an event to scoped character. See event modding.
Parameter Type Description
id int Required. Event ID to fire. May use a namespace.
days int Optional. Base number of days to wait before firing the event. If not specified, event occurs instantly.
random int Optional. Number of days to add randomly for the event occurrence date, closed-ended (days to days+random).
tooltip Key Optional localisation key to show as tooltip. If not specified, uses the DEFAULT_SENDEVENT_EVENTOPTION_TOOLTIP key ("Character receives an event").
letter_event = { id = 88752 days = 4 tooltip = "EVTTOOLTIP88751" } Control
make_capital_holding holding bool Makes the holding the capital of the province. Also see revoke_capital_holding. make_capital_holding = yes Holdings
make_primary_spouse character bool scoped character will become primary spouse FROM = { make_primary_spouse = yes } Marriage
make_primary_title title bool k_leon = { make_primary_title = yes } Rulers
make_tributary character clause Whoever the command is scoped from becomes the suzerain, WHO becomes the tributary. For example, on a targetted_decision, to make the target the tributary of the decision taker, use the first example in the Example column. To make the decision taker the tributary, and the target the suzerain, use the second example. (The suzerain is the boss, the tributary is the servant) FROM = { make_tributary = { who = PREV percentage = 0.4 } }

make_tributary = { who = FROM percentage = 0.4 }

manpower character int Increase/decrease manpower manpower = 250 Clans
military_techpoints character int military_techpoints = -50 Rulers
morale unit double Changes the morale of the unit by the amount indicated morale = -0.2 Army
move_character character character scoped character will be moved to targeted characters court FROM = { move_character = ROOT } Characters
multiply_variable character/province clause Multiply variable with specified value, or variable. multiply_variable = { which = var value = 2 }

multiply_variable = { which = var which = another_var }

narrative_event character clause Fires an event to scoped character. See event modding.
Parameter Type Description
id int Required. Event ID to fire. May use a namespace.
days int Optional. Base number of days to wait before firing the event. If not specified, event occurs instantly.
random int Optional. Number of days to add randomly for the event occurrence date, closed-ended (days to days+random).
tooltip Key Optional localisation key to show as tooltip. If not specified, uses the DEFAULT_SENDEVENT_EVENTOPTION_TOOLTIP key ("Character receives an event").
narrative_event = { id = 88007 days = 2 } Control
occupy_minors_of_occupied_settlements character character occupy_minors_of_occupied_settlements = FROM Characters
opinion character clause Adds an opinion modifier of scoped character towards right side of who argument. origin_description can be used to customize localization that appears in tooltip. opinion = { modifier = dynastic_refused_claim who = ROOT years = 5 } Opinion
participation_scaled_decadence character double Wars
participation_scaled_piety character double participation_scaled_piety = 1000 Wars
participation_scaled_prestige character double participation_scaled_prestige = 500 Wars
piety character int piety = 10 Characters
plot_succeeds character bool Tells the plot system to end the plot and fire the effect block. Note that it doesn't cause a plot to succeed, it should be used when a plot has already succeeded (success condition block). plot_succeeds = yes Plots
population character int population = 120000 Clans
press_claim title character press_claim = ROOT Claims
prestige character/title int prestige = -20 Characters
province_capital title bool b_tivoli = { province_capital = yes } Provinces
province_event province clause Fires an event to scoped province. See event modding.
Parameter Type Description
id int Required. Event ID to fire. May use a namespace.
days int Optional. Base number of days to wait before firing the event. If not specified, event occurs instantly.
random int Optional. Number of days to add randomly for the event occurrence date, closed-ended (days to days+random).
tooltip Key Optional localisation key to show as tooltip.
province_event = { id = 8512 days = 1 } Control
random any clause random = { chance = 5 add_trait = wounded } Control
random_list any clause random_list = { 50 = { ... } 50 = { ... } } Control
rebel_defection title bool rebel_defection = yes Provinces
recalc_succession any bool Recalculates the succession. recalc_succession = yes Government
reduce_disease province double random_demesne_province = { reduce_disease = 0.33 } Health
refill_holding_levy title bool
any_demesne_title = {
  limit = { tier = BARON }
  refill_holding_levy = yes
religion character/province religion Changes the religion of scoped character/province. See also unsafe_religion. religion = catholic Religion
religion_authority character/province double/clause Adds a religion modifier to the religion of scoped character/province religion_authority = { modifier = ruler_converted_from } Religion
remove_building X title building Holdings
remove_character_modifier character modifier Removes a character modifier remove_character_modifier = promised_a_title Modifiers
remove_claim character/title title/character Note: assigned value cannot be a scope reference to a title.[7] remove_claim = k_papal_state # Needs to be a title ID, won't work with a title scope reference (ROOT/FROM/PREV)

any_claim = { remove_claim = PREV } # PREV is a character

remove_consort character character consort = { remove_consort = ROOT } Marriage
remove_favor X character character Also see reverse_remove_favor.
remove_friend character character remove_friend = FROM Relations
remove_holding_modifier title modifier Removes a holding modifier remove_holding_modifier = recently_conquered Modifiers
remove_lover character character Remove scoped character's lover remove_lover = yes Relations
remove_nickname character bool/nickname Remove character's nickname remove_nickname = yes Characters
remove_opinion character clause Removes an opinion modifier remove_opinion = { who = FROM modifier = opinion_friend } Opinion
remove_province_modifier province modifier Removes a province modifier remove_province_modifier = thieves_guild Modifiers
remove_rival character character Relations
remove_special_character_title X character key Characters
remove_spouse character string/bool/character remove scoped character's spouse remove_spouse = spouse Marriage
remove_title character job/minor_title remove_title = job_chancellor Jobs
remove_trait character trait Removes a trait, also see add_trait. remove_trait = charitable Traits
remove_tributary character character Stop a character to be tributary to its suzerain.
suzerain = {
	remove_tributary = PREV
repeat_event any clause Fires an event, without modifying the event chain (i.e ROOT and FROM remain unchanged). Note that it will fire the event whose id is specified, and not necessarily the current event again. See event modding.

Warning: the event will fire for the character/province scope where it is written in, however the scopes of event chain will be weird if you do so (ROOT and default will be different, and FROM will be modified), so this is not recommended.

Parameter Type Description
id int Required. Event ID to fire. May use a namespace.
days int Optional. Base number of days to wait before firing the event. If not specified (or 0), event occurs instantly.
random int Optional. Number of days to add randomly for the event occurrence date, closed-ended (days to days+random).
tooltip Key Optional localisation key to show as tooltip. If not specified, uses the DEFAULT_SENDEVENT_EVENTOPTION_TOOLTIP key ("Character receives an event").
repeat_event = { id = WoL.5002 days = 30 } Control
reset_coa title title
k_hungary = {
  reset_coa = THIS
reveal_plot character bool/character reveal scoped characters plot. The plot discoverer may be specified. reveal_plot = yes

reveal_plot = ROOT #ROOT is the discoverer of the plot

reveal_plot_w_message character bool reveal scoped characters plot reveal_plot_w_message = yes Plots
reverse_add_favor character character Makes scoped character hold a favor from another character. Also see add_favor. reverse_add_favor = ROOT
reverse_banish character character random_realm_lord = { reverse_banish = FROM } Characters
reverse_culture character/province character/title/province Change the target's culture to the one of current scope reverse_culture = PREV Culture
reverse_imprison character character FROM = { reverse_imprison = ROOT } Characters
reverse_opinion character clause Adds an opinion modifier of right side of who argument towards scoped character. reverse_opinion = { modifier = opinion_dislike who = FROM years = 5 } Opinion
reverse_religion character/province character/province/title reverse_religion = PREV Religion
reverse_remove_favor character character Also see remove_favor. reverse_remove_favor = event_target:pardon_target
reverse_remove_opinion character clause Removes an opinion modifier of right side of who argument towards scoped character. reverse_remove_opinion = { who = ROOT modifier = opinion_friend } Opinion
reverse_war character/title clause Initiate a war, with current character as defender. infamy can be used to override the threat value (for instance infamy = 0).
random_claim = { 
  reverse_war = { 
    target = from 
    casus_belli = other_claim 
    thirdparty = root 
revoke_capital_holding holding bool Also see make_capital_holding revoke_capital_holding = yes Holdings
revoke_law title law revoke_law = investiture_law_1 Government
save_event_target_as any var Saves a scope into a variable, to be re-used later in an event chain
father_of_unborn = {
  save_event_target_as = target_adulterer
save_global_event_target_as X any var Saves a scope into a global variable, to be re-used later Control
scaled_wealth character double/clause Modifies wealth by percent (1.0 = 100%) of annual income. min increases final cost to min if result would be lower. scaled_wealth = -0.15

scaled_wealth = { value = 0.5 min = 10 }

seize_trade_post title/province character any_neighbor_province = { seize_trade_post = ROOT } Rulers
send_assassin character character send_assassin = FROMFROM Plots
set_allow_free_duchy_revokation title bool Crown laws set_allow_free_duchy_revokation = yes Government
set_allow_free_infidel_revokation title bool Crown laws set_allow_free_infidel_revokation = yes Government
set_allow_free_revokation title bool Crown laws set_allow_free_revokation = yes Government
set_allow_title_revokation title bool Crown laws Government
set_allow_feminism title bool set_allow_feminism = yes Government
set_allow_free_vice_royalty_revokation title bool Crown laws Government
set_allow_gender_laws title bool set_allow_gender_laws = yes Government
set_allow_vice_royalties title bool/tier Crown laws
set_allow_vice_royalties = duke
set_allow_vice_royalties = no
set_allows_matrilineal_marriage title bool set_allows_matrilineal_marriage = yes Government
set_appoint_generals title bool Crown laws Government
set_appoint_regents title bool Crown laws Government
set_can_toggle_looting unit bool Units
set_character_flag character flag set_character_flag = decadence_drunkard Control
set_coa title title Set the coats of arms (flag) of a title to that of another title. An otherwise unused "dummy" title in landed_titles can be used to define the coats of arms.
primary_title = {
  e_hre = {
    set_coa = e_byzantium
set_defacto_liege character/title character/title Sets the liege of a character. Can be used to make a character become independent via set_defacto_liege = THIS set_defacto_liege = FROM Vassalage
set_defacto_vassal character character/title holder_scope = { set_defacto_vassal = PREVPREV } Vassalage
set_dynasty_flag character flag set_dynasty_flag = the_victims Control
set_father character character/0 Change (or remove) the father of a character. set_father = PREV

set_father = 0

set_focus character clause Sets the focus of a character (bypasses 5 year cooldown period) set_focus = focus_war Character
set_global_flag any flag Creates a global flag. set_global_flag = west_francia_renamed Control
set_government_type character government Change the government type of a character set_government_type = feudal_government Government
set_graphical_culture X character culture/character/province Sets the ethnicity of character, based on the default graphical_culture of a culture, or of the culture of another character or province.

Note: it changes the face of the character, but note the clothing.

set_graphical_culture = norse (Note: will actually set norsegfx) Characters
set_guardian character character set_guardian = ROOT Guardianship
set_investiture title string Crown laws set_investiture = head / set_investiture = any Government
set_job_action character clause Update the current job of a councillor.
job_spiritual = {
	set_job_action = {
		action = action_inquisition
		where = event_target:event_ze_5000_province
set_looting unit bool Used with set_can_toggle_looting set_looting = yes Units
set_mercenary_maintenance_modifier title modifier set_mercenary_maintenance_modifier = maintaining_mercenary_band_2
set_mother character character set_mother = PREV Family
set_name character/title string Override name of character or title. Using set_name = "" resets the original name. b_kolbatz = { set_name = Jomsborg } Titles/Characters
set_opinion_levy_raised_days character clause set_opinion_levy_raised_days = { who = ROOT days = 0 } Opinion
set_parent_religion any clause Religion becomes an heresy of new parent religion set_parent_religion = { religion = catholic parent = orthodox } Religion
set_pentarch_title X title title/none The scoped title becomes under the authority of the specified Pentarch seat
k_aragon = { set_pentarchy_title = b_jerusalem }
set_protected_inheritance title bool Crown laws: avoid titles leaving the realm upon inheritance set_protected_inheritance = yes Government
set_province_flag province flag set_province_flag = home_of_jeanne_darc Control
set_real_father character character When a child is denounced (no official father), real_father is used to keep track of it. set_real_father = FROM Family
set_reincarnation character character/0 father_even_if_dead = { ROOT = { set_reincarnation = THIS } } Family
set_special_character_title character key set_special_character_title = GENGHIS_KHAN Characters
set_the_kings_full_peace title bool Crown laws: allow/disallow vassals to wage war set_the_kings_full_peace = yes Government
set_the_kings_peace title bool Crown laws: allow/disallow vassals to wage war between them set_the_kings_peace = no Government
set_title_flag title flag Creates a flag on a title set_title_flag = temporary_landless_title Control
set_title_adventurer title clause set/unset title as being an adventurer title. set_title_adventurer = { title = THIS status = yes } Titles
set_title_landless title clause set/unset title as being a temporary title. set_title_landless = { title = THIS status = yes } Titles
set_title_nomad title clause set/unset title as being a nomad title. set_title_nomad = { title = THIS status = no } Titles
set_tribal_vassal_levy_control title bool Whether liege can directly raise tribal vassal levies set_tribal_vassal_levy_control = yes Laws
set_tribal_vassal_tax_income title bool Whether tribal vassals pay taxes to their liege set_tribal_vassal_tax_income = yes Laws
set_variable character/province clause Used to create (or reset) a variable to a value, or to the value of another variable set_variable = { which = "bob_saget" value = 1 }

set_variable = { which = "bob_saget" which = "another_var" }

spawn_fleet character clause
Parameter Type Description
province province/closest Closest sea zone
owner character
earmark earmark ID of the unit, to be able to reference them later.
troops int
match_character character
match_mult double Matches against the total levies of every single holding
match_min double
disband_on_peace bool
cannot_inherit bool
spawn_fleet = {
  province = closest
  owner = ROOT
  disband_on_peace = yes
  earmark = conscripted_merchant_ships
  troops = {
    galleys = { 20 20 }
spawn_unit character clause
Parameter Type Description
province province/closest Spawn location
home province
owner character
leader character/none Defaults to current character scope.
earmark earmark ID of the unit, to be able to reference them later. Can be localized via earmark_ARMY and earmark_ARMY_OF.
troops clause Fixed amount of troops in the form troop_type = { <max_value> <starting_value> }. Ex: archers = { 100 100 }
match_character character Character to match against for match_mult
match_mult double Proportional amount of troops to match_character total levy size (levies and event troops)
match_max double
match_min double
disband_on_peace bool Will auto-disband if at peace.
cannot_inherit bool Marked as not inheritable
attrition double Attrition multiplier (1.0 for normal, 0 for attrition-less)
maintenance_multiplier double Will have normal maintenance cost multiplied by this value
scaled_by_biggest_garrison double
merge bool Merge all the regiments in this province together into one army
can_toggle_looting bool
is_looter bool
reinforces bool By default spawned unit do not reinforce.
reinforce_rate_multiplier double
maintenance bool
spawn_unit = {
  owner = ROOT
  province = ROOT
  home = ROOT
  troops = {
    archers = { 500 500 }
    light_infantry = { 1500 1500 }
    heavy_infantry = { 300 300 }
    light_cavalry = { 200 200 }
  attrition = 1.0
  disband_on_peace = yes
  maintenance_multiplier = 0.5
steal_population_scaled character clause Steal population from another nomad clan
steal_population_scaled = {
	target = FROM
	percentage = 0.1
steal_random_tech X province character steal_random_tech = character Jobs
subjugate_or_take_under_title character clause subjugate_or_take_under_title = { title = PREV enemy = FROM } Wars
subtract_variable X character/province clause Subtract specified value or another variable to a variable subtract_variable = { which = var value = 1 }

subtract_variable = { which = var which = another_var }

succession title succession Valid successions: gavelkind, primogeniture, feudal_elective, seniority, catholic_bishopric, open_elective, turkish_succession, patrician_elective, ultimogeniture, tanistry, appointment, papal_succession, elective_gavelkind succession = primogeniture Government
succession_w_cooldown title succession succession_w_cooldown = primogeniture Government
transfer_scaled_wealth character clause
Parameter Type Description
from character Either from or to
to character Either from or to
value all/double 1 means 1 year of income
min double min = 5
transfer_scaled_wealth = { to = FROM value = 0.25 } Money
treasury character int Same as wealth ? treasury = -20 Money
troops unit double Changes the size of the unit by the amount indicated troops = -0.2 Army
unsafe_destroy_landed_title any title Bypasses some error-checking in destroy title, allowing to destroy landless titles. Warning: use this effect with care !
d_iconoclast = { 
  unsafe_destroy_landed_title = THIS
unsafe_religion character/title religion Bypasses some error-checking in set religion, allowing to change the religion of the leader of a holy order, a religious head or a rebel leader. Warning: use this effect with care !
d_iconoclast = {
  holder_scope = {
    unsafe_religion = orthodox  
usurp_title character/title title/character/clause c_pest = { usurp_title = ROOT }

usurp_title = { target = ROOT type = invasion }

usurp_title_only title character/clause Gives strong claim to character being usurped usurp_title_only = ROOT

usurp_title_only = { target = PREV type = holy_war }

usurp_title_plus_barony_if_unlanded character/title title/character/clause Gives strong claim to character being usurped
plot_target_title = { 
  usurp_title_plus_barony_if_unlanded = PREV


character/title/clause title/character Targeted character will usurp scoped title
c_byzantion = { 
  usurp_title_plus_barony_if_unlanded_and_vassals = PREV


character/title title/character/clause Targeted character will usurp scoped title
usurp_title_plus_barony_if_unlanded_and_vassals_no_adj = {
  target = ROOT 
  type = claim
vassalize_or_take_under_title character clause vassalize_or_take_under_title = { title = PREV enemy = FROM } Vassalage


character clause vassalize_or_take_under_title_destroy_duchies = { title = PREV enemy = FROM } Vassalage
war character clause Initiate a war, with current character as attacker. Also see reverse_war. infamy can be used to override the threat value (for instance infamy = 0). war = { target = PREVPREV casus_belli = duchy_adventure thirdparty_title = PREV tier = DUKE } Wars
wealth character double/character Modify the wealth of scoped character with the specified amount, or with the wealth of another character. wealth = -50 Money

See also[edit]


  1. forum:597480/page-110#post-20878292
  2. forum:874495/page-21#post-20889305
  3. forum:597480/page-110#post-20879441
  4. Forum:820483
  5. forum:774248/page-30#post-21507013
  6. Forum:774248
  7. 7.0 7.1 7.2 7.3 7.4