Conditions

From Crusader Kings II Wiki
Jump to navigation Jump to search

Conditions or Triggers are used in scripting to restrict events and commands to correct targets.

They appear:

  • In condition blocks (trigger section of events, or equivalent: mult_modifier, can_use_title, potential, allow, ...)
  • In the limit clause of command blocks
  • In scripted triggers, which can be used to group conditions into re-usable macro.
  • At the root of events for pre-triggers used to improve performances

Syntax for most conditions accepting numeric values was extended with numeric operators since version 2.8. The following triggers do not (fully) support these operators:

  • among_most_powerful_vassals
  • days_since_last_hostile_action
  • demesne_size
  • demesne_efficiency
  • num_of_realm_counties
  • real_month_of_year
  • real_day_of_year
  • realm_character_percent
  • religion_authority (< and <= do not work)
  • scaled_wealth
  • tier (as well as similar triggers, such as (lower/higher_)(real_)tier(_than)
  • heavy_troops, light_troops (simple right-hand side only, clause form fully support numeric operators)
  • <troop_type>, for example pikemen

List of conditions

Available conditions depend on the current scope type.

Condition Used in vanilla Used from scope Value type Description Example Category
adventurer title bool Checks adventurer flag of the title (title that gets destroyed whenever the holder gains another title or when the holder dies). adventurer = yes Titles
age character int The age of a character. Can be any whole number. age < 45 Characters
age_diff character clause The absolute value of the age difference between two characters. Typically used in conjunction with is_older_than.
age_diff = {
    who = PREV
    years >= 25
}
Characters
ai character bool
  • If yes, will only fire for ai characters.
  • If no, will only fire for the player(s).

Can also be used as a pre-trigger for events and decisions.

ai = no Characters
ai_ambition character int Check an AI behavior modifier (based on traits) ai_ambition >= 0 Characters
ai_greed X character int ai_greed >= 10 Characters
ai_honor character int ai_honor < 30 Characters
ai_rationality character int ai_rationality < 0 Characters
ai_zeal character int ai_zeal >= 50 Characters
always any bool Can be used to fail the conditions, without needing to comment/delete the code (always = no).

Also used to test if scopes do or do not exist:

NOT = {
    some_scope = {
	always = yes
    }
}

If the scope matches nothing, then conditions fails.

Control
among_most_powerful_vassals character int Checks if the character is among the nth most powerful vassals of the realm. It compares the character's powerbase with that of all other direct vassals of the same liege. Also see is_powerful_vassal and relative_power. Does not permit the use of 2.8+ comparison operators! among_most_powerful_vassals = 5 Realm
any_religion_distance province int Checks if any religion has been generated within the specified distance. Only used in alternate start generation/ any_religion_distance < 200 Alternate start
artifact artifact artifact (2.8) Checks to see if the scoped artifact is the same as the target artifact. artifact = PREV Control
artifact_age artifact int (2.8) Checks to see if the artifact is older than the specified value. Always returns false if the artifact has no known creation date. artifact_age > 10 Control
artifact_can_be_gifted_to X artifact character (2.8) Checks if the scoped artifact can be gifted to the target character. artifact_can_be_gifted_to = ROOT Artifacts
artifact_type artifact artifact type Checks if the scoped artifact is of the given type artifact_type = golden_platypus Artifacts
artifact_type_owned_by artifact character Checks if the given character owns at least one instance of the scoped artifact. artifact_type_owned_by = ROOT Artifacts
attribute_diff character clause Checks that currently scoped character has at least value more points in the given attribute, than target character.
attribute_diff = {
    character = FROM
    attribute = martial
    value >= 9
}
Characters
at_location character character/province/title Checks if two characters are in the same location. If target is a title, uses the current location of the titleholder.
at_location = spouse
at_location = k_france
any_courtier = { at_location = ROOT }
NOT = { at_location = 719 }
Provinces
base_health character double Checks for hidden attribute base health base_health >= 6 Health
bloodline X bloodline bloodline Returns true if the current scope <bloodline> is the exact same bloodline as the RHS scope <bloodline>. Note that this compares bloodlines, not bloodline types. Bloodlines
bloodline_is_active_for bloodline character Returns true if current scope <bloodline> is active for <character> on right-hand side. Bloodlines
borders_lake province bool Province borders a lake borders_lake = yes Provinces
borders_major_river province bool Province borders a major river borders_major_river = yes Provinces
calc_true_if any clause Returns true if amount of the triggers in it return true.[1] In this example at least 3 of the 5 triggers need to return true:
calc_true_if = {
    amount >= 3
    culture = swedish
    religion = catholic
    is_female = no
    is_adult = yes
    age >= 50
}
Control
can_be_given_away title bool The title is not occupied, has no holdings being sieged, or contested in war.

The title is not a capital settlement. (Normally, you'd give it away by giving away the county.)
any_demesne_title = {
    can_be_given_away = yes
}
Titles
can_change_religion character bool can_change_religion = yes Religion
can_call_crusade character bool Crusades have been unlocked can_call_crusade = yes Religion
can_copy_personality_trait_from character character
ROOT = {
    can_copy_personality_trait_from = PREV
}
Traits
can_grant_title character minor_title Checks if scoped ruler can grant at least one target minor title can_grant_title = title_commander Rulers
can_land_path_to province province/clause Checks if it is possible to travel by land between two provinces. Can be expanded to also take a distance parameter.
can_land_path_to = {
    target = event_target:home_capital
    distance < 1000
}
Provinces
can_naval_path_to province province/clause Checks if it is possible to travel by sea between two provinces. Both provinces have to be sea or coastal. Can be expanded to also take a distance parameter.
can_naval_path_to = c_london
can_naval_path_to = { target = c_london distance < 100 }
Provinces
can_have_more_leadership_traits character bool Checks the limit of leadership trait based on martial education trait (leadership_traits = N) Traits
can_hold_title character jobTitle/minorTitle Checks the conditions for the specified councillor position or minor title. can_hold_title = job_marshal

can_hold_title = title_commander

Characters
can_join_society character society Checks if scope character can join the specified society. can_join_society = monastic_order_orthodox Societies
can_marry character bool/character False if the character has any traits with cannot_marry = yes, rules a theocracy of a religion that prohibits priest marriages, or is a member of a holy order.

Also false for characters who are married (even if their religion allows polygamy!) or betrothed.

AND = {
    can_marry = yes
    is_marriage_adult = yes
}
Marriage
can_see_secret_religion X character character Checks if the character scope you're currently in can see the target character's secret religion. Religion
can_swap_job_title character character Checks if a character can get the job position of another character
job_chancellor = {
    NOT = { character = ROOT }
    can_swap_job_title = ROOT
}
can_use_cb character clause (2.8) Checks if the specified casus belli would show up and be usable in the UI. Checks everything in the CB itself, plus the extra hardcoded restrictions on regular war declarations.
Parameter Type Description
target character/title Required. What character or title to target.
casus_belli CB Required. What CB to use.
thirdparty_title title Optional. What title to target, if relevant.
thirdparty character Optional. What character to declare war on the behalf of, if relevant.
only_check_triggers boolean Required.
can_use_cb = {
    target = d_mecklemburg
    casus_belli = religious
    thirdparty_title = d_mecklemburg
    only_check_triggers = yes
}
Wars
character character character/title/int Checks if 2 characters are the same.
any_dynasty_member = { 
    limit = { NOT = { character = ROOT } }
}

character = c_1234

Characters
check_variable character/province clause Used in conjunction with change_variable command.
check_variable = {
    which = bob_saget
    value = 4.5
}
Control
claimed_by title character
any_demesne_title = {
    claimed_by = ROOT
}
Claims
clan character,title bool Whether character is the head of a nomadic clan, or title is a nomadic clan.
any_vassal = {
    clan = yes
}
Clans
clan_opinion character clause
clan_opinion = {
    who = FROM
    value >= 0
}
Opinion
clan_opinion_diff character clause
clan_opinion_diff = {
    first = FROM
    second = PREV
    value >= 0
}
Opinion
combat_rating character int Checks combat rating modifier combat_rating >= 0 Character
climate X province winter_type Check whether a province has a winter climate defined in /map/climate.txt - does NOT check whether province is currently experiencing a winter, use is_winter for that.

Note that you can only check for winter types (mild_winter, normal_winter, severe_winter), and not for temperate climate; but obviously any province that does not have a winter climate is temperate.

climate = severe_winter Provinces
combat_rating_diff character clause Tests combat rating modifier difference with another character
combat_rating_diff = {
    character = FROM
    value >= 3
}
Character
completely_controls X character title Character controls (personally or via a vassal) all the baronies under specified title.

Notes:

  • the title itself doesn't need to exist.
  • completely_controls is true if title name is invalid.
Rulers
completely_controls_region character region Similar to completely_controls completely_controls_region = world_steppe Rulers
conquest_culture title bool/character If yes, only fires if conquest_culture is set (?). Certain CBs set Conquest_Culture (used for cultural conversion events) Culture
continent X province continent Supplanted by more flexible region trigger, but still works Provinces
controlled_by title/province character/title Checks if province/holding is occupied (war) by another character/realm
any_demesne_province = {
    controlled_by = ROOT
}
Wars
controls X character province Checks if scoped character has province in own demesne and is unsieged, or has sieged down this province. Only takes province ID, so of very limited use. controls = 333 # Rome Wars
controls_religion character/title bool If yes, only picks characters who are the head of their religion (holder of a title with a flag controls_religion = <religion>) controls_religion = yes Religion
could_be_child_of X character character (2.8) Checks if the scoped character is young enough to be the target character's parent. This means that they're at least AGE_OF_MARRIAGE_MALE years younger, and at most MAX_CHILD_BIRTH_AGE years younger if the target is female (for immortal characters, as long as they became immortal before this age they bypass the check). It also checks that they didn't die before the birth date of the scoped character. could_be_child_of = ROOT Characters
could_be_parent_of character character (2.8) Checks if the scoped character is old enough to be the target character's parent. This means that they're at least AGE_OF_MARRIAGE_MALE years older, and at most MAX_CHILD_BIRTH_AGE years older if female (for immortal characters, as long as they became immortal before this age they bypass the check). It also checks that they didn't die before the birth date of the target. could_be_parent_of = event_target:displaced_prince Characters
count int Checks number of elements matched by a scope and some limit. Since patch 2.3 works with all any_ scopes. Does not work in traits with cached = yes associated scopes.
any_spouse_even_if_dead = {
    count >= 3
}
Control
crusade_artifact_pot X any float Checks the artifact pot for the on-going new-style Crusade crusade_artifact_pot > 10 Wars
crusade_gold_pot X any float Checks the gold pot for the on-going new-style Crusade crusade_gold_pot > 2000 Wars
crusade_piety_pot X any float Checks the piety pot for the on-going new-style Crusade crusade_piety_pot > 1000 Wars
crusade_prestige_pot X any float Checks the gold pot for the on-going new-style Crusade crusade_prestige_pot > 5000 Wars
crusade_defense_strength X any float Checks the military strength of the defenders to the military strength of the preparing attackers in a new-style Crusade. Doesn't work. crusade_defense_strength < 0.75 War
crusade_preparation_strength any float Checks the military strength of the preparing attackers to the military strength of the defenders in a new-style Crusade crusade_preparation_strength < 0.75 War
crusade_preparation_time_elapsed X any int Checks how many days have passed since the preparation of the current new-style Crusade started crusade_preparation_time_elapsed < 100 War
crusade_preparation_time_remaining any int Checks how many days remain before the current new-style Crusade will start in earnest crusade_preparation_time_remaining > 500 War
culture character/province/title culture/character/province/title Checks if the character has this specific culture Culture
culture_group character/province/title cultureGroup/character/province/title Checks if the character is part of this culture group Culture
day_of_birth character int Checks if the day of the character's date of birth is at least this number. day_of_birth >= 18 Characters
date General date Checks the current date date < 1234.5.6 General
days_at_current_society_rank character int Checks if scope character has been at current rank in society for the given number of days. days_at_current_society_rank >= 1095 Societies
days_in_society character int Checks if scope character has been in a society for the given number of days days_in_society > 365 Societies
days_since_last_hostile_action war clause Checks how long ago a character participated in a war, either through combat or siege. Does not support numeric operators.
FROM = {
    ROOT = {
	any_war = {
	    days_since_last_hostile_action = {
		who = PREVPREV
		days = 365
	    }
	}
    }
}
Offmap
days_since_policy_change offmap int True if the specified number of days has passed since the last policy change of the scoped offmap power. days_since_policy_change < 10950 #30 years Offmap
days_since_status_change X offmap int True if the specified number of days has passed since the last status change of the scoped offmap power. days_since_status_change > 1 Offmap
defending_against_claimant character clause
defending_against_claimant = {
    character = PREVPREV
    title = ROOT
}
Wars
demesne_efficiency X character double Rulers
demesne_garrison_size character int demesne_garrison_size >= 500 Warfare
demesne_size character int Checks if the character has a minimum of this demesne size Rulers
demesne_size_compared_to_limit character double (2.8) Checks if the character's demesne size is proportional to the floating point percentage specified. demesne_size_compared_to_limit < 1 Rulers
de_facto_liege character/title/province character/title
ROOT = {
    de_facto_liege = FROM
}
Vassalage
de_facto_liege_title X character/title character/title Checks that the defacto liege title of a character or title is the right-hand side.
ROOT = {
    de_facto_liege_title = e_hre
}
Vassalage
de_jure_liege character/title/province character/title Checks whether current scope is a direct de jure vassal of right hand side scope. de_jure_liege = e_rajastan Vassalage
de_jure_liege_or_above character/title/province character/title Checks whether current scope is a de jure vassal of right hand side scope. de_jure_liege_or_above = FROM Vassalage
de_jure_vassal_or_below character/title character/title Checks whether current scope is a de jure liege of right hand side scope.
crusade_target = {
    de_jure_vassal_or_below = FROM
}
Vassalage
death_reason character deathReason death_reason = death_murder Health
decadence character double decadence >= 90 Characters
disease province disease Checks if the province has the specified disease. disease = bubonic_plague Provinces
disease_defence X province float Checks if the province has at least the specified disease defence modifier. disease_defence > 0.1 Provinces
disliked_by_offmap character clause Checks whether the scoped character matches the current "dislike" of the offmap power of the specified type. If the "dislike" trigger has a context, the context parameter must match to return true. If the "dislike" trigger has no context, the context parameter must be omitted to return true.
disliked_by_offmap = {
    type = offmap_china
    context = eunuch
}
Offmap
difficulty X any int/string The game difficulty Control
diplomacy character int The character's Diplomacy attribute. For state value, see realm_diplomacy Characters
diplomatic_immunity character bool Checks if character has the diplomatic_immunity flag, protecting him from hostile actions. Characters
dislike_tribal_organization character/title bool Checks for dislike_tribal_organization religion flag dislike_tribal_organization = no Religion
distance character/province clause Determines the minimum distance from the scope. If used with NOT, it becomes maximum distance. Distances are pixels within the main map images & positions.txt
distance = {
    who = ROOT
    value >= 100
}
distance = {
    where = PREV
    distance < 1000
}
Provinces
distance_from_realm character clause
distance_from_realm = {
    who = FROM
    value = 20
}
Provinces
dynastic_prestige X character int Checks if the character's dynasty has a dynastic prestige of at least this amount. dynastic_prestige >= 100 Family
dynasty character character/int/no/none The character's dynasty, indexed by an integer value. Lowborn (no dynasty) match none or no value.
dynasty = none
dynasty = ROOT
Family
dynasty_realm_power character double
top_liege = {
    dynasty_realm_power >= 0.25
}
Family
excommunicated_for character character
top_liege = {
    excommunicated_for = ROOT
}
Religion
faction_exists X character clause
faction_exists = {
    faction = faction_succ_seniority
    title = PREV
    thirdparty = FROM
}
Factions
faction_power character clause
faction_power = {
    faction = faction_succ_seniority
    power >= 1.0
}
Factions
family character character/title/bool Alias for dynasty
any_vassal = {
    family = ROOT
}
Family
father_of_unborn_known character bool Checks if a pregnant woman's unborn child has a known father. Family
fertility character double The character's fertility value. In-game, can only be seen through the "charinfo" console command. Characters
flank_has_leader battle bool Used in combat tactics Wars
flank_has_tactic X Combat combat tactic Wars
fort_has_building X province building Checks if a fort has the specified building. fort_has_building = <fo_some_building> Buildings
fort_has_any_building X province building Checks if a fort has at least 1 building. Buildings
free_court_slots character int Checks how many free court slots a ruler has free_court_slots < -10 Rulers
from_ruler_dynasty character bool from_ruler_dynasty = yes Family
government character government, title, character, province Check government type of a character. For checking government groups, see is_feudal, is_republic, etc. Provinces must be by relative scope or saved event target, since numbers are interpreted as character IDs.
government = nomadic_government
government = k_norway
government = ROOT
Government
graphical_culture character culturegfx A character's graphical culture. This is different from the effect set_graphical_culture which takes a culture, not a culturegfx. In-game, can only be seen through the "charinfo" console command. Fixed in 2.8. (In 2.7 and earlier, checking against an invalid culturegfx will cause a CTD.) graphical_culture = norsegfx Characters
had_artifact_flag X character clause (2.8) Before 3.0 months and years do not work as parameters, only days does. Control
had_bloodline_flag X bloodline clause Returns true if the current scope <bloodline> has had the script flag for the defined time period
Parameter Type Description
flag flag Obligatory, flag to be checked
years/months/days int Obligatory, time since the flag should have been set
Control
had_character_flag character clause Evaluates to true if the character has had that flag for the specified number of days. Before 3.0 months and years do not work as parameters, only days does.
had_character_flag = {
    flag = money_from_the_pope
    years >= 2
}
Control
had_dynasty_flag X character clause Note: months and years do not work as parameters, only days does. Control
had_flag any with flags clause Checks if the current scope has had a given flag for a given time in days, months or years. Works for any scope that can store flags, unlike the more specific had_scope_flag triggers.
had_flag = {
    flag = used_legendary_gathering
    years >= 100
}
Control
had_global_flag any clause Before 3.0 months and years do not work as parameters, only days does.
had_global_flag = {
    flag = crusade_called
    months >= 6
}
Control
had_province_flag province clause Before 3.0 months and years do not work as parameters, only days does.
had_province_flag = {
    flag = aztec_explorers
    years >= 2
}
Control
had_offmap_flag X offmap clause Checks whether the offmap power previously had the specified flag for the specified amount of time. Does not appear to be functioning as of at least version 3.3.0. Use had_flag instead.
had_offmap_flag = {
    flag = busy
    months >= 1
}
Offmap
had_offmap_tmp_flag offmap clause Checks if the specified temporary flag added by script to the scoped offmap power, NOT including those defined in the offmap status or policy files, has been present for the specified amount of time.
had_offmap_tmp_flag = {
    flag = busy
    years < 2
}
Offmap
had_title_flag title clause Before 3.0 months and years do not work as parameters, only days does.
had_title_flag = {
    flag = xxx
    years >= 2
}
Control
has_alternate_start_setting

has_alternate_start_parameter

any clause Checks specified settings/parameters used in alternate world generation.
has_alternate_start_setting = {
    setting = shattered_cbs
    option = on_limited
}

has_alternate_start_setting = {
    setting = age_span
    max == 0
    min == 0
}

has_alternate_start_parameter = {
    key = religion_names
    value = random
}
Control
has_ambition character bool/objective has_ambition = obj_improve_martial Objectives
has_any_building title bool Checks if the holding has any building has_any_building = yes Holdings
has_any_opinion_modifier character modifier Similar to has_opinion_modifier. has_any_opinion_modifier = opinion_seducing_concubine Characters
has_any_quest character bool Checks whether or not the scoped character has any quests has_any_quest = yes Characters
has_any_symptom X character bool Checks if scoped character has any traits with is_symptom = yes.
has_any_symptom = no does not work, use NOT = { has_any_symptom = yes } instead.
has_any_symptom Health
has_artifact character artifact Checks if the scoped character owns an artifact by that name. has_artifact = necronomicon Artifacts
has_artifact_flag artifact flag Checks if the scoped artifact has the given flag defined. has_artifact_flag = crown_jewel Artifacts
has_assigned_minor_title character minorTitle/clause Checks to see if the character has assigned a particular minor title, or at least how many of them
has_assigned_minor_title = title_master_of_the_horse

has_assigned_minor_title = {
    title = title_commander
    count >= 2
}
Characters
has_autocephaly character bool Checks for religion autocephaly = yes has_autocephaly = yes Religion
has_bloodline_flag bloodline string Checks if a bloodline has a specified flag.
Note: "flags" in CKII scripting are not pre-determined or stored anywhere, they are dynamically created in the script. A mistyped flag will not be caught by the Validator, as there are no "invalid" flags.
has_bloodline_flag = created_bloodline Control
has_blood_oath_with character character has_blood_oath_with = ROOT Clans
has_building title (barony only),province building Checks if a holding has the specified building (under construction buildings do not count).
family_palace = {
    has_building = fp_mansion_4
}
Holdings
has_called_crusade character bool Religion
has_capital X province bool Province
has_castle province bool Checks if a province has a castle holding has_castle = yes Province
has_cb X character character Checks if scoped character can use any CB against target character has_cb = FROM Rulers
has_character_flag character string Checks if a character has a specified flag.
Note: "flags" in CKII scripting are not pre-determined or stored anywhere, they are dynamically created in the script. A mistyped flag will not be caught by the Validator, as there are no "invalid" flags.
Control
has_character_modifier character modifier Checks if the character has a modifier has_character_modifier = illumination Modifiers
has_children character bool Checks if the character has children. Functionally identical to num_of_children >= 1. has_children = yes
has_city province bool Checks if a province has a city holding has_city = yes Province
has_claim character title has_claim = k_papal_state Claims
has_council character bool
liege = {
    has_council = yes
}
Council
has_councilor_faction_join_restriction character bool Used in conjunction with set_councilor_faction_join_restriction
liege = {
    has_councilor_faction_join_restriction = yes
}
Council
has_concubinage character bool Checks if religion flag max_consorts > 0 has_concubinage = yes Religion
has_crown_law_title title bool Used to check crown laws for a specified title. Is not a condition itself though, it must be used as a scope to check crown laws by category (succession, for instance). Government
has_crusade_war_started X character/title/province/society/religion bool Checks if the scope's religion has an ongoing new-style Crusade. Also see is_preparing_crusade. has_crusade_war_started = yes Wars
has_custom_description X wonder bool True if the wonder has a description set by history has_custom_description = yes Wonders
has_custom_name wonder bool True if the wonder has a name set by the player or by history has_custom_name = yes Wonders
has_de_jure_pretension title character
any_demesne_title = {
    has_de_jure_pretension = ROOT
}
Rulers
has_disease character/province bool
any_courtier = {
    has_disease = yes
}
Health
has_dlc any string Checks if the user has a specified DLC. Values: "The Sword of Islam", "Legacy of Rome", "Sunset Invasion", "The Republic", "The Old Gods", "Sons of Abraham", "Rajas of India", "Charlemagne", "Way of Life", "Horse Lords", "Zeus" or "Conclave" (both are equivalent), "Reapers", "Mystics", "Jade Dragon", or "Holy Fury". has_dlc = "Charlemagne" Control
has_dynasty_flag character flag has_dynasty_flag = strange_chest Control
has_dynasty_modifier character modifier Checks if a character's dynasty has the specified modifier has_dynasty_modifier = ruling_in_crusader_kingdom Control
has_earmarked_regiments character flag Set via spawn_unit command and earmark parameter. has_earmarked_regiments = conscripted_merchant_ships Control
has_earmarked_regiments_not_raiding character flag Check for earmark & raiding has_earmarked_regiments_not_raiding = tribal_organize_raid Control
has_elector_stance character clause Checks elector stance for a title's Eldership election
has_elector_stance = {
    title = FROMFROM
    stance = ecstatic
}
Elections
has_embargo character character NOT = { has_embargo = FROM } Wars
has_empty_holding province bool
any_demesne_province = {
    has_empty_holding = yes
}
Provinces
has_epidemic character/province bool Checks for a trait with is_epidemic = yes, and checks if a province has an epidemic.
any_child = {
    has_epidemic = yes
}

capital_scope = {
    has_epidemic = yes
}
Health
has_feud_with character character has_feud_with = ROOT Clans
has_flag any with flags flag Checks if the current scope has a given flag. Works for any scope that can store flags, unlike the more specific has_scope_flag triggers. Control
has_focus character focus Checks for focuses has_focus = focus_war Objectives
has_fort X province bool Checks whether a province has a fort has_fort = yes Provinces
has_full_court character bool Checks if scoped character has no free court slots left has_full_court = yes Rulers
has_game_rule any clause Checks if a game rule is active. See game rules modding.
has_game_rule = {
    name = gender
    value = all
}
Control
has_game_started any bool Checks if the game is in the pre-game character selection screen. has_game_started = yes Control
has_global_flag any flag See flags. has_global_flag = found_the_holy_grail Control
has_guardian character bool
any_child = {
    has_guardian = no
}
Guardianship
has_had_offmap_name X offmap loc has_had_offmap_name = liao_china Offmap
has_heresies character/province bool Religion
has_higher_tech_than province province/character
location = {
    has_higher_tech_than = ROOT
}
Provinces
has_holder title bool Checks whether a title is currently hold by a character.
any_claim = {
    has_holder = yes
}
Titles
has_hospital province bool Checks whether a province has a hospital has_hospital = yes Provinces
has_holding_modifier title modifier Checks if the holding has the given holding modifier
any_province_holding = {
    has_holding_modifier = recently_burnt_the_land
}
Modifiers
has_horde_culture character bool Check for hord flag from culture definition Culture
has_inheritance_blocker X character bool Checks if the character in the current scope has a trait that blocks inheritance (cannot_inherit = yes)
has_instances_of_character_modifier character modifier Checks if the character has amount of times the given character modifier
has_instances_of_character_modifier = {
    name = x
    amount == y
}
Modifiers
has_instances_of_holding_modifier X title modifier Checks if the holding has a amount of times the given holding modifier
has_instances_of_holding_modifier = {
    modifier = x
    amount < y
}
Modifiers
has_instances_of_province_modifier X province modifier Checks if the province has a amount of times the given province modifier
has_instances_of_province_modifier = {
    name = x
    amount >= y
}
Modifiers
has_job_action character bool/jobAction has_job_action = action_improve_relations Jobs
has_job_title character jobTitle/bool Checks that character is a councillor. has_job_title = job_chancellor Jobs
has_known_creation_date X artifact bool (2.8) Checks if the artifact has a creation date on record. Artifacts
has_landed_title character bool/title has_landed_title = k_jerusalem Titles
has_law character/title law
has_law = succ_feudal_elective
has_law = agnatic_succession
Government
has_liege_enforced_peace character bool Prevents wars, also see will_liege_enforce_peace. has_liege_enforced_peace = no Realm
has_living_children X character bool Checks if the character has living children.
any_dynasty_member = {
    has_living_children = yes
}
has_lover character bool Yes if the character has a lover Marriage
has_mercenary_band title bool Checks if character has already created a mercenary band. has_mercenary_band = yes
has_mercenary_maintenance_modifier title modifier Checks for a static modifier added via set_mercenary_maintenance_modifier on scoped mercenary tile. has_mercenary_maintenance_modifier = maintaining_mercenary_band Modifiers
has_minor_title character minorTitle/bool Yes if the character has a minor title. Also includes religion titles. has_minor_title = title_court_jester Characters
has_newly_acquired_titles character bool Character holds titles he just recently acquired Titles
has_nickname character bool/nickname Can be used to check for a specific nickname, or (not) having any nickname.
has_nickname = nick_the_bastard
has_nickname = no
Characters
has_non_aggression_pact_with character character Checks if a character a non-aggression pact with another character. has_non_aggression_pact_with = ROOT
has_objective X character objective Deprecated, replaced by has_ambition/has_plot Objectives
has_offmap_currency character clause Whether the character has at least value currency in the specified offmap ID.
has_offmap_currency = {
    offmap = offmap_china
    value >= 10
}
Offmap
has_offmap_flag offmap string Checks if the specified temporary flag was added to the scoped offmap power, or if the scoped power's current status or policy has the flag included by default in its flags = { } array. has_offmap_flag = disallow_interactions Offmap
has_offmap_name offmap loc Checks if the scoped offmap power has the specified localisation key as its current name. has_offmap_name = liao_china Offmap
has_offmap_news_enabled character offmap Checks if the player ruler has chosen to receive news events from the specified offmap power through the interface. has_offmap_news_enabled = offmap_china Offmap
has_offmap_tmp_flag offmap string Checks if the specified temporary flag was added by script to the scoped offmap power, NOT including those defined in the offmap status or policy files. has_offmap_tmp_flag = china_invaded_player_dynasty Offmap
has_opinion_modifier character clause Checks if the scoped character has the given opinion modifier towards 'who' character
has_opinion_modifier = {
    who = ROOT
    name = i_attempted_murder
}
Opinion
has_overseas_holdings character bool Rulers
has_owner province bool
any_neighbor_province = {
  has_owner = yes
}
Rulers
has_pentarchy X religion/character/province bool Checks for whether the associated religion has a pentarchy. Works with anything that has a religion has_pentarchy = yes Religion
has_pledged_crusade_defense X character bool Checks if a character has pledged defense for the new-style Crusade being planned has_pledged_crusade_participation Wars
has_pledged_crusade_participation character bool Checks if a character has pledged participation for the new-style Crusade being planned has_pledged_crusade_participation Wars
has_plot character plot/bool
has_plot = yes

any_courtier = {
    has_plot = plot_kill_character
}
Objectives
has_policy offmap policy Checks if the scoped offmap power currently has the specified offmap policy (defined in /common/offmap_powers/policies). has_policy = china_isolationist Offmap
has_policy_flag X offmap flag Checks if the scoped offmap power's current policy has the specified flag (defined in /common/offmap_powers/policies). has_policy_flag = disallow_interactions Offmap
has_polygamy character bool Checks if religion flag max_wives > 0 has_polygamy = yes Religion
has_portrait_property character clause Checks if a character has a given portrait property/overlay/etc.
has_portrait_property = {
    layer = 6
    index = 1
}
Characters
has_position character attitude/character Checks the voting attitude of a councillor, or if same as another character. Also see is_voter. Not to be confused with has_minor_title or has_job_title. has_position = loyalist Council
has_pressed_claim X character title True if the character has a pressed claim (i.e., a non-heritable weak or strong claim created through Fabricate Claims) on the target title. has_pressed_claim = k_papal_state Claims
has_province_flag province flag has_province_flag = heresy_in_province Control
has_province_modifier province modifier Checks if the province has the given province modifier
any_realm_province = {
    has_province_modifier = heretic_stronghold
}
Modifiers
has_quest character quest_name Checks if the scoped character has a quest with the given quest_name.

has_quest = quest_indian_monastic_order_pilgrimage

Societies
has_raised_levies character character Whether character has some personal levies (vassal levies do not count)
liege = {
    has_raised_levies = ROOT
}
Wars
has_raised_standing_troops title bool
primary_title = {
    has_raised_standing_troops = no
}
Wars
has_regent character bool
liege = {
    has_regent = no
}
Titles
has_regiments character bool has_regiments = no Wars
has_religion_feature character feature Checks if character religion has a specific feature has_religion_feature = religion_equal Religion
has_religion_features any bool Detects if religion features are enabled in the current game (usually dependent on whether or not Holy Fury is active) has_religion_features = no Religion
has_secret_religion character bool Checks if character secretly follows another religion has_secret_religion = yes Religion
has_selected_religion_feature character religion feature Checks if a religion feature has been selected in the reformation screen has_selected_religion_feature = religion_syncretic Religion
has_settlement_construction province bool Checks if a holding is under construction in the province
NOR = {
    num_of_settlements >= 5
    AND = {
	num_of_settlements >= 4
	has_settlement_construction = yes
    }
}
Holdings
has_siege title(holding) bool Holding is under siege. has_siege = no Wars
has_space_for_retinue X character retinue_type Checks if character has enough unused retinue cap for target retinue type has_space_for_retinue = RETTYPE_CUL_HUNG Retinues
has_started_building_wonder province/character/wonder bool/wonder type Checks if a province/character has started building a tier/stage of a wonder. Can check particular wonders as well. Is not affected by pausing has_started_building_wonder = yes/no/<wonder type name> Wonders
has_started_building_wonder_upgrade X province/character/wonder/upgrade bool/upgrade type Checks if a wonder has started constructing an upgrade. Can check particular wonder upgrades as well. Is not affected by pausing has_started_building_wonder_upgrade = yes/no/<upgrade name> Wonders
has_status offmap status Checks if the scoped offmap power currently has the specified offmap status modifier (defined in /common/offmap_powers/statuses). has_status = china_unrest Offmap
has_status_flag X offmap string Checks if the scoped offmap power has the specified flag in its current offmap status modifier's flags list. has_status_flag = disallow_interactions Offmap
has_strong_claim character title Claims
has_strong_pressed_claim X character title True if the character has a strong pressed claim (i.e., a non-heritable strong claim) on the target title. has_strong_pressed_claim = k_papal_state Claims
has_temple X province bool Checks if a province has a temple holding has_temple = yes Province
has_terrain_specialization X character terrain/any/bool Checks for traits with terrain command modifiers Traits
has_title_flag title flag Control
has_trade_post province/title? bool Provinces
has_tribal province bool Checks if a province has a tribal holding has_tribal = yes Province
has_truce X character character Wars
has_weak_claim character title Claims
has_weak_pressed_claim X character title True if the character has a weak pressed claim (i.e., a non-inheritable claim) on the target title. has_weak_pressed_claim = k_papal_state Claims
has_wonder province/character/wonder bool/wonder type Checks if the scoped character is the current owner of any wonders, or if the scoped province contains any wonders. Can check particular wonders as well. Only applies for wonders that have completed first stage. has_wonder = yes/no/<wonder type> Wonders
has_wonder_flag wonder string Checks if a wonder has a given flag. has_wonder_flag = <flag name> Wonders
has_wonder_upgrade province/character/wonder/upgrade bool/upgrade type Checks if a wonder upgrade has a particular upgrade, or if it has any whatsoever. has_wonder_upgrade = yes/no/<upgrade name> Wonders
has_wonder_upgrade_flag wonder/upgrade string Checks if a wonder upgrade has a given flag. has_wonder_upgrade_flag = <flag name> Wonders
health character int A character's health value. In-game, can only be seen through the "charinfo" console command. Health
health_traits character int Number of traits with is_health = yes health_traits >= 1 Traits
held_favor_activated_on X character character/title/province Checks if scoped character held a favor activated on target character. The reverse condition is owed_favor_activated_on. Province scopes must be relative or saved event targets, since numbers are interpreted as character IDs.
liege = {
    held_favor_activated_on = FROM
Characters
held_title_rating character character, int held_title_rating >= FROM Titles
higher_real_tier_than character character/tier Same as higher_tier_than but ignores temporary titles Tier
higher_tier_than character/title character/tier/title Check that the tier of scoped character/title is strictly higher than the given tier.
primary_title = {
    higher_tier_than = BARON
}
Tier
historical character bool Checks if character is historical (either by being scripted in character history, or created as historical by script), or part of an ongoing event chain historical = yes Characters
holder title character Checks if title is held by target character holder = ROOT Titles
holding_diff character clause
holding_diff = {
    first_type = city
    first_count_vassals = yes
    second_type = none
    value >= 1.5
}
Holdings
holding_type Title (county/barony)/province string city / temple / castle / tribal / nomad / family_palace Holdings
hospital_has_any_building X province bool Checks if the hospital of the province has any buildings. Buildings
hospital_has_building province building Checks if a hospital has the specified building. hospital_has_building = library_1 Buildings
hospital_level province int Checks the hospital level of a province. hospital_level >= 2 Provinces
holding_garrison_percent X holding float Checks how full the holding's garrison is. 1 is 100%, 0 is 0%. holding_garrison_percent < 1 Holdings
holding_raisable_levy_percent X holding float Checks how full the holding's raisable levy is. 1 is 100%, 0 is 0%. holding_raisable_levy_percent < 1 Holdings
holding_total_levy_percent holding float Checks how full the holding's total levy (garrison + raisable) is. 1 is 100%, 0 is 0%. holding_total_levy_percent < 1 Holdings
holds_favor_on character character Checks if a character holds a favor toward another character. The reverse condition is owes_favor_to.
liege = {
    holds_favor_on = ROOT
}
Characters
holy_order character/title bool
primary_title = {
    holy_order = no
}
Titles
holy_site_distance province/title character/religion/title/province/society Checks distance to the nearest holy site of the target scope
holy_site_distance = {
    target = FROM
    value > 500
}
Titles
immortal character bool Checks if the character has a trait with immortal = yes immortal = no Health
immortal_age character int Checks which age at which a character became immortal. Always false for mortal characters immortal_age > 40 Health
imprisoned_days character int
any_courtier = {
    imprisoned_days >= 100
}
Characters
independent character bool Checks if ruler is independent and not in revolt Rulers
infamy X character double Threat infamy >= 12.5 Wars
intrigue character int A character's Intrigue stat. Characters
in_battle character bool Wars
in_coalition_against X character character/title/province Checks if scoped character is in a coalition against of the target character or ruler of target title/province. Province scopes must be relative (ROOT/FROM) or saved event targets, since numbers are interpreted as character IDs.
in_coalition_against = FROM
in_coalition_against = e_hre
Characters
in_command character bool Character is leading troops. Characters
in_faction character bool/faction in_faction = faction_independence Factions
in_revolt character bool
liege = {
    in_revolt = no
}
Titles
in_seclusion character bool Checks if scoped character has in_seclusion character modifier (?) in_seclusion = yes Titles
in_siege character bool in_siege = no Wars
interested_in_society character bool Check if the character is interested in the society with the given tag. interested_in_society = the_cult_of_kali Societies
interested_in_society_of_character character character (2.8) Check if the character is interested in the society that the target character is a member of. interested_in_society_of = ROOT Societies
is_abroad character bool Valid if character is 'abroad' (not at liege's court) Characters
is_active wonder/upgrade bool is_active = yes Wonders
is_adult character bool Checks if the character is an adult. Characters
is_alive character bool If yes, will only affect alive characters Health
is_allied_with character character Checks for alliances and tributary relationships. Does not check for being temporary war allies. Expensive calculation, use with care[2] Wars
is_allowed_holding_type title(holding) character Checks if holding type is allowed by the government of specified character. Uses de jure capital for titles above count-tier, uses county capital holding for titles above baron-tier. is_allowed_holding_type = FROM Government
is_allowed_to_loot character bool Character can raid. is_allowed_to_loot = yes Rulers
is_alternate_start any bool Checks if the world is randomised or shattered. Also see is_random_world and is_shattered_world is_alternate_start = no Control
is_ancestor_of character character (2.8) Checks if the scoped character is a progenitor of the target character's bloodline, within up to sixteen generations (for performance reasons). Expensive, so use with caution. is_ancestor_of = ROOT Characters
is_artifact_active artifact bool Checks if the scoped artifact is currently active, as defined by its active trigger. Artifacts without an active trigger will always be considered active, even if not owned, and artifacts with an active trigger and without an owner will never be considered active. Artifacts
is_artifact_equipped artifact bool Checks if the scoped artifact is currently equipped by its owner. Artifacts
is_artifact_same_type_as artifact artifact Checks if the scoped artifact is the same as the given artifact is_artifact_same_type_as = ROOT Artifacts
is_at_lootable_stage wonder bool True if the wonder is at a stage that is higher or equal to the lua define ""MIN_LOOTABLE_STAGE"". is_at_lootable_stage = yes Wonders
is_at_max_stage wonder bool True if the wonder has fully constructed its final stage. is_at_max_stage = yes Wonders
is_at_sea character bool Characters
is_attacker siege/combat bool
siege = {
    is_attacker = yes
}
combat = {
    is_attacker = no
}
Wars
is_aunt_uncle_of character character (2.8) Checks if the current scoped character is the sibling of either of the target character's parents (i.e., one of the target character's parents' siblings, colloquially known as "piblings"). is_aunt_uncle_of = ROOT Characters
is_being_looted wonder bool True if the wonder is currently being looted is_being_looted = yes Wonders
is_being_restored X wonder bool True if the wonder is currently being restored is_being_restored = yes Wonders
is_betrothed character bool If yes, will only affect betrothed characters Marriage
is_bloodline_founder_of character bloodline Returns true if current scope <character> is the founder of RightHand-Side(RHS) scope <bloodline>. Bloodlines
is_bloodline_member_of X character bloodline Returns true if current scope <character> is a member of RightHand-Side(RHS) scope <bloodline>. Bloodlines
is_building holding building Checks if a holding is constructing a new building is_building = tb_hillfort_4 Holdings
is_building_wonder province/character/wonder bool/wonder type Checks if a province/character is currently building a tier/stage of a wonder. Can check particular wonders as well. Only true if construction is not paused. is_building_wonder = yes/no/<wonder type name> Wonders
is_building_wonder_upgrade province/character/wonder/upgrade bool/upgrade type Checks if a wonder is currently constructing an upgrade. Can check particular wonder upgrades as well. Only true if construction is not paused. is_building_wonder_upgrade = yes/no/<upgrade name> Wonders
is_capital province/title bool If yes, will only affect the capital HOLDING Titles
is_child_of character character Checks if the scope is a child of another character Family
is_close_relative character character Checks if the scope is a close relative of another character. This includes spouses, parents, children, siblings, niblings, grandparents, and grandchildren is_close_relative = ROOT Family
is_conquered title bool
primary_title = {
    is_conquered = yes
}
Titles
is_consort character bool/character Checks if the scoped character is a concubine/consort of somebody; or a concubine/consort or the specified character
father_of_unborn = {
    is_consort = ROOT
}
Marriage
is_contested title bool If title is already being contested in some form of Claim or Succession War Titles
is_council_content character bool Checks whether the council is content or not.
liege = {
    is_council_content = no
}
Council
is_councillor character bool Checks if character has a councillor job (chancellor, ...)
any_courtier = {
    is_councillor = yes
}
Jobs
is_cousin_of character bool (2.8) True if the current scoped character is related to the target character by way of parental siblings. is_cousin_of = ROOT Characters
is_crown_law_title X title bool Checks for titles that can have crown laws. is_crown_law_title = yes Titles
is_damaged wonder bool True of the wonder is in a damaged state is_damaged = yes Wonders
is_decision_potential

is_decision_allowed
is_fort_decision_potential
is_fort_decision_allowed
is_government_potential
is_government_allowed
is_hospital_decision_potential
is_hospital_decision_allowed
is_law_potential
is_law_allowed
is_settlement_decision_potential
is_settlement_decision_allowed
is_targeted_decision_potential
is_targeted_decision_allowed
is_title_decision_potential
is_title_decision_allowed
is_trade_post_decision_potential
is_trade_post_decision_allowed






X
X
X
X
X
X
X
X
X
X
X
X
X
character decision/government/law/clause Checks if current scope matches the potential/allow block of the given decision/law/government.

is_decision_potential takes a normal, plot or society decision.
is_targeted_decision_potential takes any scope to a character, province or title.
is_title_decision_potential takes any scope to a title or province, except saved event target provinces.
is_settlement_decision_potential takes any scope to a barony title.
is_fort/hospital/trade_post_decision_potential takes any scope to a title or province. Uses province for barony or county tier titles, de jure capital for higher tier titles.

is_law_potential = succ_primogeniture

is_government_potential = muslim_government

is_decision_potential = request_to_rank_up_within_society

is_targeted_decision_potential = {
    key = prisoner_torture
    character = FROM
}

is_title_decision_potential = {
    key = set_crown_focus
    title = capital_holding
}

is_settlement_decision_potential = {
    key = convert_tribal_to_castle
    title = event_target:saved_barony_title
}

is_trade_post_decision_potential = {
	key = abandon_trade_post
	title = 78 # province ID
}
Control
is_connected_to province/title(county) clause Checks if two provinces are connected via some realm's territory. Can be somewhat performance intensive, so use sparingly.
Parameter Type Description
target capital/
realm_capital/
scope
Required. What province to find a connection to. Alternatively takes a scope that can be resolved to a province.
sea_gap bool Whether to allow pathing through gaps of a single sea province. Defaults to "no". Can't path through lakes.
land_gap bool Whether to allow pathing through gaps of a single land province. Defaults to "no". Can't path through wastelands.
sub_realm bool/scope Which realm to allow pathing through. "yes" for the sub-realm of the province owner. "no" for the realm of the top-liege. Alternatively takes a scope that can be resolved to a character. Defaults to "yes".
naval_distance bool/int Whether to allow pathing by sea (any number of provinces). Can take a number instead to use a max distance from already found ports.
is_connected_to = {
    sub_realm = no
    target = realm_capital
    land_gap = yes
    naval_distance = yes
}
Provinces
is_descendant_of character character (2.8) Checks if the scoped character descends from the target character, within up to sixteen generations (for performance reasons). Expensive, so use with care. is_descendant_of = ROOT Characters
is_dying character bool Checks if character is about to die. Used for on_actions called just when character dies, such as on_chronicle_owner_change. Characters
is_father character character
FROM = {
    is_father = PREV
}
Family
is_father_real_father character bool Case of illegitimate bastards. Family
is_female character bool If yes, will only affect female characters. Can also be used as an event pre-trigger. Characters
is_feudal character/title bool Checks if government is part of feudal_governments group. is_feudal = yes Government
is_flanking flank bool Checks if scoped flank is flanking an enemy flank is_flanking = yes Wars
is_foe character character Checks if the target character is_rival or has an opinion modifier with crime = yes toward the scoped character is_foe = ROOT Relations
is_former_lover character bool is_former_lover = ROOT Marriage
is_friend character character Checks if this character is a friend of the given character is_friend = ROOT Relations
is_grandchild_of character character (2.8) Checks if the scoped character is the son or daughter of the target character's son or daughter. is_grandchild_of = ROOT Characters
is_grandparent_of character character (2.8) Checks if the scoped character is the father or mother of the target character's father or mother. is_grandparent_of = ROOT Characters
is_guardian character bool/character
father = {
    is_guardian = no
}
Guardianship
is_hard_to_convert character/province bool Checks if the character or province's religion has the field hard_to_convert = yes is_hard_to_convert = yes Religion
is_heir character bool/character Checks if a character is first in the succession line of a title.
is_heir = event_target:scoped_ruler

any_child = {
    is_heir = no
}
Character
is_heresy_of character/province character/province/title/religion Checks if target is heresy of the given scope.
any_rival = {
    is_heresy_of = ROOT
}
Religion
is_heretic character/province bool Religion
is_holy_site title character/religion Checks if a barony is a holy site of the religion of specified character
is_holy_site = nestorian

any_realm_title = {
    is_holy_site = ROOT
}
Religion
is_ill character bool Checks for traits with is_illness = yes. Note that all symptom traits also have this flag. Health
is_immune_to_pruning character bool If yes, the character has been flagged with the set_immune_to_pruning command, or by the internal game logic, and will not be culled from AI courts or savegames to reduce file size/memory use. is_immune_to_pruning = yes Characters
is_important_character_to character character Checks if scoped character is marked as a special interest by the target character. is_important_character_to = ROOT Characters
is_in_same_unit_as character character Checks if the two characters are in the same unit. Does NOT check every unit on a side of a combat, unlike any/random_unit_leader. is_in_same_unit_as = ROOT Wars
is_in_society character bool Checks if a character is in a society is_in_society = yes Societies
is_incapable character bool Checks if the character is incapable. With the addition of sick_incapable in Reaper's Due, it's important to use this conditional instead of checking for trait = incapable. Health
is_indestructible artifact bool Checks if the artifact is indestructible (has indestructible = yes) is_indestructible = yes Artifacts
is_interested_in_any_society character bool Checks if character is currently showing interest in a society or not. is_interested_in_any_society = yes Societies
is_ironman character bool Used in achievements.txt Control
is_island province bool Checks if the province exists in island_region.txt. is_island = yes Provinces
is_land province bool Checks that province is not a sea province Provinces
is_landed character bool Checks that character owns a landed title. Note: landed characters are also rulers (is_ruler = true). Characters
is_landed_title_being_created X title bool Purpose unknown is_landed_title_being_created = yes Titles
is_landed_title_allowed X character title Checks if the character fulfills the allow conditions of a particular title. is_landed_title_allowed = e_hre Characters
is_landless_type_title title bool Titles
is_liege_of character character/title/province Check if the scoped character is a liege of the right hand side character.
host = {
    is_liege_of = ROOT
}
Vassalage
is_liege_or_above character/province character/title/province
owner = {
    is_liege_or_above = FROM
}
Vassalage
is_liege_or_above_of X character character Checks that scoped character is a superior to the right hand side character in the top liege's realm. is_vassal_or_below_of = ROOT Vassalage
is_local_human_observer any bool Checks if the local game is in observer mode is_local_human_observer = yes Control
is_located_in title character/title
crusade_target = {
    is_located_in = ROOT
}
Provinces
is_looting X character bool Wars
is_looting_in character province Wars
is_lover character bool/character Checks if this character is a lover of the given character is_lover = ROOT Marriage
is_lowborn character bool Checks if the character is lowborn. Fixed in 2.8. (In versions prior to 2.8, it worked backwards: setting it to no will pick out characters that are actually lowborn.) Equivalent to dynasty = none is_lowborn = no Characters
is_main_spouse character bool If yes, is primary wife. (Although written gender neutral, there are no multiple-husband polygamies in CK2.) Marriage
is_marriage_adult character bool Checks if the character is old enough to marry, based on NDefines.NCharacter.AGE_OF_MARRIAGE_MALE and NDefines.NCharacter.AGE_OF_MARRIAGE_FEMALE. Marriage
is_married character bool/character Yes, will only affect married characters Marriage
is_married_matrilineally character bool Marriage
is_merchant_republic character/title bool Checks if character is a patrician of at least duke tier or if title is a merchant republic. Government
is_mother character character is_mother = ROOT Family
is_multiplayer_host_character character bool Whether scoped character is the host in a multiplayer game. is_multiplayer_host_character = yes Control
is_name_randomized religion/culture bool Checks if the scoped religion/culture has a randomized name
true_religion_scope = {
     is_name_randomized = yes
}
Control
is_navy X unit bool Checks if a unit is a fleet. Units
is_neutral X character bool Checks if a character has no vice traits and no virtue traits Traits
is_nibling_of character character (2.8) Checks if the current scoped character is a niece/nephew of the target character (colloquially known by the gender-neutral "nibling"). is_nibling_of = ROOT Characters
is_nomadic character bool Checks if character government is part of nomadic_governments group. is_nomadic = yes Government
is_occupied title/province bool Checks if a barony or county is occupied by enemy troops. Does not work on duchy or above.
any_demesne_title = {
    lower_tier_than = DUKE
    is_occupied = no
}
Wars
is_offmap_governor character bool/id Checks if this character is/is not a governor of an offmap power (bool), or of the specified offmap power (id).
is_offmap_governor = yes
is_offmap_governor = offmap_china
Offmap
is_offmap_ruler character bool Is this character the ruler of an offmap power? is_offmap_ruler = no Offmap
is_offmap_tag offmap id Checks if the current scoped offmap power is the offmap power with the specified ID. is_offmap_tag = offmap_china Offmap
is_offmap_tag_including_dead character id Whether this character is a current or former member of the offmap power with the specified ID. Used for Chinese clothing for portraits. NOT = { is_offmap_tag_including_dead = offmap_china } Portraits
is_older_than character character Checks if the scoped character is older than the target. Even works for twins and other characters with the same age.
any_sibling = {
    is_older_than = ROOT
}
Characters
is_opposite_sex character character is_opposite_sex = ROOT Characters
is_or_was_offmap_power_ruler character bool Checks whether the scoped character is currently the ruler (holder) of the specified offmap power, or died while holding that title. is_or_was_offmap_power_ruler = yes Offmap
is_parent_religion character character/province/title
top_liege = {
    is_parent_religion = ROOT
}
Religion
is_powerful_vassal character bool Checks if a character is considered a powerful vassal. If Conclave is enabled, these vassals have a raised fist icon and expect a seat on the council. The trigger works even without Conclave. Also see among_most_powerful_vassals. Realm
is_parent_of character character (2.8) Checks if the current scoped character is the mother or father of the target character. is_parent_of = ROOT Characters
is_patrician character bool Checks if a character is the head of a Merchant Republic patrician family (has a family palace holding). Can also be used as an event pre-trigger Government
is_pilgrim character bool Checks if a character has a pilgrim trait Characters
is_playable character bool Only affects playable characters (depending on the loaded DLCs) Characters
is_plot_active character bool In conjunction with leads_faction Objectives
is_plot_target_of character character
any_realm_lord = {
    is_plot_target_of = ROOT
}
Objectives
is_preferred_holding_type title character Checks preferred holding type of character, based on government. Uses de jure capital for titles above count-tier, uses county capital holding for titles above baron-tier.
defacto_liege_title = {
    is_preferred_holding_type = FROM
}
Rulers
is_pregnant character bool Evaluates true the moment a woman is pregnant (unlike the 2 month delay for the on_pregnancy action). Characters
is_preparing_crusade character/title/province/society/religion bool Checks if the scope's religion is preparing a new-style Crusade. Also see has_crusade_war_started. is_preparing_crusade = yes Wars
is_pretender character/title bool In title scope, checks vs ROOT character.
FROM = {
    is_pretender = yes
}
Titles
is_priest character bool Checks if character is either a Court Chaplain or landed with the Theocracy government type Characters
is_primary_heir character bool/character Heir to primary title (regardless if same dynasty or not)
FROM = {
    is_primary_heir = ROOT
}
Titles
is_primary_holder_title title bool Rulers
is_primary_holder_title_tier title bool Tier
is_primary_type_title title bool Checks the flag primary of the title, for titles that cannot be held as secondary title. This covers mercenaries, the Pope, Holy Orders, etc. Titles
is_primary_war_attacker character bool Wars
is_primary_war_defender character bool
any_friend = {
    is_primary_war_defender = yes
}
Wars
is_quest_target character/title/province bool Checks if the current scope is being targeted by a quest. is_quest_target = yes Societies
is_quest_target_of character/title/province bool Checks if the current scope is being targeted by any quest the given character has. is_quest_target_of = ROOT Societies
is_random_world any bool Checks if the world is randomised. Also see is_shattered_world and is_alternate_start is_random_world = yes Control
is_recent_grant title bool is_recent_grant = no Titles
is_reformed_religion character/province bool/character Checks if the religion of character or province is a reformed pagan religion. Religion
is_reincarnated character bool
any_sibling = {
    is_reincarnated = yes
}
Family
is_republic character/title bool Checks if government is part of republic_governments group. is_republic = yes Government
is_retreating X flank bool Checks if scoped flank is retreating from combat is_retreating = yes Wars
is_rival character character Relations
is_ruler character bool Yes, will only affect characters who have a title (who are a ruler). Note that the character may not necessarily be landed (is_landed = false) in case of mercenaries, holy orders, or adventurers. Rulers
is_save_game character bool Checks if is a saved game (used for startup events). is_save_game = yes Characters
is_seafarer character bool Checks if either the culture or religion have the seafarer flag set. is_seafarer = yes Characters
is_senior_consort_party character bool Checks if the scoped character has concubines/consorts rather than being someone's concubine/consort. is_senior_consort_party = yes Marriage
is_shattered_world any bool Checks if the world is shattered. Also see is_random_world and is_alternate_start is_shattered_world = yes Control
is_society society society Checks if the currently scoped society is the same as the given one. is_society = the_satanists Societies
is_society_discovered character bool Checks if the scoped character has been "revealed" as part of a secret society, whether they're actually a member of it or not. is_society_discovered = yes Societies
is_society_discovered_real X character bool Checks if the scoped character has been revealed as part of a secret society, and they are actually part of it. is_society_discovered_real = yes Societies
is_society_grandmaster character bool Checks if scope character is the grandmaster of their society. is_society_grandmaster = yes Societies
is_society_rank_full any clause Checks if named society's rank is full.
is_society_rank_full = {
    society = the_plaguebringers
    rank >= 1
}
Societies
is_sub_unit_leader X character bool Checks if the character is the leader of a subunit. is_sub_unit_leader = yes Wars
is_theocracy character/title bool Checks if government is part of theocracy_governments group. is_theocracy = yes Government
is_title_active any title Indicates whether the landed title is active. An inactive title cannot be created. Titles are activated or inactivated using the activate_title command.

To check whether a title currently exists, use has_holder = yes instead.

is_title_active = d_knights_templar
is_title_active = THIS
Titles
is_titular title bool
any_demesne_title = {
    is_titular = no
}
Titles
is_tribal character/title(holding) bool Checks if government is part of tribal_governments group. is_tribal = yes Government
is_tribal_type_title title bool Titles
is_tributary character bool/clause Character is tributary to a suzerain. Type can specify what type of tribute they pay - if omitted, this will evaluate true for any type of tribute. suzerain can specify who they pay tribute to - if omitted, this will evaluate true if the character is a tributary of any suzerain.
is_tributary = yes

is_tributary = {
    type = imperial
    suzerain = FROM
}
Vassalage
is_twin_of X character character If yes, the scoped character is the target character's twin. is_twin_of = ROOT Characters
is_valid_attraction character character Checks if both characters are adults and not already married
any_courtier = {
    is_valid_attraction = ROOT
}
Marriage
is_valid_romance_target character character Checks if both characters are adults, not incapable, either homosexual or of different sex and that they are of divine blood religions or not close kin.
any_courtier = {
    is_valid_romance_target = ROOT
}
Marriage
is_valid_viking_invasion_target title character Checks that FROM holds the right amount of territory in the kingdom Wars
is_variable_equal character/province clause Checks if a variable has the exact value, instead of standard >= check. See variables. As of 2.8, check_variable has the same functionality, making this trigger obsolete.
is_variable_equal = {
    which = xxx
    value = xxx
}
Control
is_vassal_or_below character character Checks that scoped character is the liege of right hand side character. Warning: the naming is not intuitive, reads from right to left! is_vassal_or_below = ROOT #is ROOT my vassal? Vassalage
is_vassal_or_below_of character character Checks that scoped character is the vassal of the right hand side character. Actually intuitive (literal opposite of is_vassal_or_below), reads from left to right. is_vassal_or_below_of = ROOT #am I the vassal of ROOT? Vassalage
is_vice_royalty title bool Checks for viceroyalty flag on title is_vice_royalty = no Titles
is_virtous character bool Checks if character has at least 1 virtue and no vices. Note the spelling error! is_virtous = yes Traits
is_voter character bool Checks if character votes on the council (i.e. holds a position or minor title with the flag is_voter = yes). Also see has_position.
any_vassal = {
    is_voter = yes
}
Council
is_wicked character bool Checks if character has at least 1 vice and no virtues is_wicked = yes Traits
is_winter province bool Checks whether a province is currently experiencing a winter. To check whether it could experience a winter at all, regardless of current condition, use climate.
location = {
    is_winter = yes
}
Provinces
is_within_diplo_range character character is_within_diplo_range = FROM Relations
leader_traits character int Number of traits with leader = yes. leader_traits >= 1 Traits
leads_faction character bool/faction leads_faction = faction_succ_seniority Factions
learning character int A character's learning attribute. For state value, see realm_learning Characters
lifestyle_traits character int Number of traits with lifestyle = yes, normally 0 or 1 in vanilla. lifestyle_traits < 1 Traits
liked_by_offmap character clause Checks whether the scoped character matches the current "like" of the offmap power of the specified type. If the "like" has a context, the context parameter must match to return true. If the "like" has no context, the context parameter must be omitted to return true.
liked_by_offmap = {
    type = offmap_china
    context = eunuch
}
Offmap
likes_better_than character clause Equivalent to opinion_diff with value >= 0.
ROOT = {
    likes_better_than = {
	who = PREV
	than = PREVPREV
    }
}
Opinion
loot unit? int Used in unit_event achievement. loot >= 1000 Wars
lower_real_tier_than character character/tier Same as lower_tier_than but ignores temporary titles Tier
lower_tier_than character/title character/tier Yes, will only affect characters who are of a lower tier Tier
manpower_growth X character int Checks manpower growth of nomad ruler manpower_growth >= 100 Character
martial character int/character A character's Martial attribute. For state value, see realm_martial Characters
max_manpower character int max_manpower >= 500 Clans
max_population X character int max_population >= 30000 Clans
max_population_and_manpower X character int max_population_and_manpower >= 40000 Clans
max_realm_levy_diff X character clause Checks that the scope's maximum realm levies is at least value higher than who's maximum realm levies
max_realm_levy_diff = {
    who = ROOT
    value >= 3000
}
Warfare
mercenary character/title bool Titles
mercenary_siphon_factor title double Percentage of payment factor [?] mercenary_siphon_factor >= 0.05 Titles
month any int In-game month number. Ranges from 0 (January) to 11 (December). Will also evaluate to true if it is a later month, e.g. "10" will be true for both November and December in-game. Control
month_of_birth character int Checks if the month of the character's date of birth is at least this number (January is month 1) month_of_birth >= 1 Characters
monthly_income character/title (holding) double Money
monthly_piety X character double Checks if the character's monthly piety is at least this amount. Characters
monthly_prestige X character double Checks if the character's monthly prestige is at least this amount. Characters
multiplayer any bool Checks whether the game is multiplayer or single-player. Control
non_interference character character Checks whether the scoped character will not take hostile action against the target character. See Society_modding for details. non_interference = FROM Characters
num_culture_provinces any that have associated culture int Number of provinces in the world with the culture associated with the current scope.
norse = {
    num_culture_provinces < 10
}
Culture
num_culture_realm_provs character clause Checks the number of provinces with target culture in scoped character's realm.
num_culture_realm_provs = {
    culture = swedish/ROOT
    value >= 8
}
Culture
num_religion_provinces any that have associated religion int Number of provinces in the world with the religion associated with the current scope.
norse_pagan = {
    num_religion_provinces > 20
}
Religion
num_fitting_characters_for_title title int Checks how many characters in ones court that would fit for a specific title Title
num_of_artifacts character int Checks if if scoped character has at least the given number of artifacts. num_of_artifacts >= 3 Artifacts
num_of_baron_titles X character int Checks how many baron-tier titles a character personally holds num_of_baron_titles >= 3 Titles
num_of_baron_titles_in_realm X character int Checks how many baron-tier titles are held in a character's subrealm num_of_baron_titles_in_realm < 5 Titles
num_of_buildings title int
any_demesne_title = {
    tier = BARON
    num_of_buildings >= 1
}
Holdings
num_of_children character int Note: Both living and deceased children are counted. Family
num_of_claims character int Claims
num_of_consorts character int Checks the number of consorts/concubines a character has. Marriage
num_of_count_titles character int Titles
num_of_count_titles_in_realm character int Checks the number of count titles in the scoped character's realm. Equivalent to counting the number of provinces in the scope's realm, assuming that there are no titular count titles (which are not properly supported in any case and should generally be avoided). num_of_count_titles_in_realm >= 35 Titles
num_of_courtiers X character int Checks how many courtiers a ruler has num_of_courtiers < 30 Rulers
num_of_demesne_castles X character int Checks how many castle holdings a character personally holds num_of_demesne_castles >= 3 Rulers
num_of_demesne_cities X character int Checks how many city holdings a character personally holds num_of_demesne_cities >= 3 Rulers
num_of_demesne_empty_provinces X character int Checks how many empty provinces a character personally holds num_of_demesne_empty_provinces >= 3 Rulers
num_of_demesne_tribes X character int Checks how many tribal holdings a character personally holds num_of_demesne_castles >= 3 Rulers
num_of_demesne_temples X character int Checks how many temple holdings a character personally holds num_of_demesne_temples >= 3 Rulers
num_of_duke_titles character int Checks how many duke-tier titles a character personally holds num_of_duke_titles >= 3 Titles
num_of_duke_titles_in_realm X character int Checks how many duke-tier titles are held in a character's subrealm num_of_duke_titles_in_realm < 5 Titles
num_of_dynasty_members character int num_of_dynasty_members >= 3 Family
num_of_emperor_titles character int Titles
num_of_empty_holdings province int Note: settlements under construction, do not count as empty. Provinces
num_of_extra_landed_titles character int
liege = {
    num_of_extra_landed_titles >= 1
}
Titles
num_of_faction_backers character clause Checks the number of supporters for a given faction
num_of_faction_backers = {
    faction = faction_increase_council_power
    value >= 0
}
Factions
num_of_feuds character int num_of_feuds >= 3 Clans
num_of_forts X character int Checks number of forts the character controls Rulers
num_of_forts_diff X character clause Checks the difference in number of hospitals controlled between 2 characters Rulers
num_of_friends character int Relations
num_of_government_vassals character clause
num_of_government_vassals = {
    government = merchant_republic_government
    value >= 1
}
Governments
num_of_holy_sites character int Number of holy sites of scope's religion controlled by scope Religion
num_of_hospitals X character int Number of hospitals the character controls Rulers
num_of_hospitals_diff X character clause Difference in number of hospitals controlled between 2 characters Rulers
num_of_king_titles character int Checks how many king-tier titles a character personally holds num_of_king_titles >= 3 Titles
num_of_king_titles_in_realm X character int Checks how many king-tier titles are held in a character's subrealm num_of_king_titles_in_realm < 5 Titles
num_of_lovers character int num_of_lovers < 5 Marriage
num_of_max_settlements province int Checks the current number of constructed or constructible holding slots in a province num_of_max_settlements < 7 Provinces
num_of_plot_backers character int
liege = {
     num_of_plot_backers >= 8
}
Objectives
num_of_prisoners character int
liege = {
    num_of_prisoners >= 1
}
Characters
num_of_quests X character int Checks how many quests a character has num_of_quests >= 1 Characters
num_of_realm_counties character clause Scoped character controls at least N counties from specified title
num_of_realm_counties = {
    value = 6
    title = PREV
}
Rulers
num_of_rivals character int Relations
num_of_settlements province int Number of baronies the province has (maximum 7) Provinces
num_of_society_members character/society int (2.8) Number of members who are in the scoped society or scoped character's society. num_of_society_members < 5 Societies
num_of_subrealm_castles

num_of_subrealm_cities
num_of_subrealm_empty_provinces
num_of_subrealm_tribes
num_of_subrealm_temples



X
X
X
character int
num_of_subrealm_cities < 20
num_of_subrealm_castles >= 10
Rulers
num_of_spouses character int Marriage
num_of_symptoms character int Number of traits with is_symptom = yes num_of_symptoms >= 1 Health
num_of_titles character int Number of titles directly held by the character. Note that for this condition each County title is worth 2 (it includes the capital barony) while Barony, Duchy, Kingdom and Empire-tier titles are worth 1 each. num_of_titles < 2 Titles
num_of_titles_in_realm X character int Checks the number of titles held in the character's subrealm. Note that for this condition each County title is worth 2 (it includes the capital barony) while Barony, Duchy, Kingdom and Empire-tier titles are worth 1 each. num_of_titles_in_realm > 120 Titles
num_of_trade_posts character int Number of trade posts Rulers
num_of_trade_post_diff character clause Difference of trade posts between 2 characters
num_of_trade_post_diff = {
    character = ROOT
    value >= 10
}
Rulers
num_of_traits character int Number of traits Traits
num_of_unique_dynasty_vassals X character int Number of vassals of different dynasties (excluding the dynasty of scoped character). Vassalage
num_of_vassals character int Number of direct vassals Vassalage
num_of_wonder_upgrades wonder int Checks if if scoped character has at least the given number of upgrades. Useful for say triggering any flavor based on qualified guesses in regards to the state of the wonder. num_of_wonder_upgrades >= 2 Wonders
num_of_wonders province/character int Checks if the scoped character is listed as the owner of at least the given number of wonders (that have completed at least stage 1). This could be used as a ""does wonder exist at all?"" check, as well as for counting. num_of_wonders >= 1 Wonders
num_religion_realm_provs X title clause Checks number of provinces of target religion in scoped character's realm
num_religion_realm_provs = {
    religion = ROOT
    value >= 6
}
Rulers
num_title_realm_provs title clause Number of counties in ROOT's realm.
num_title_realm_provs = {
    who = ROOT
    value >= 6
}
Rulers
num_traits character int Alias of num_of_traits Traits
obedient character character Checks if the scoped character is obedient to the target character, e.g. has an opinion modifier with obedient = yes toward the target character.
ROOT = {
    obedient = FROM
}
Relations
offmap_has_dislike offmap string Checks whether the scoped offmap power has their current "dislike" assigned to the named scripted trigger. Note that in spite of "dislike" being negative, the vanilla triggers are shared between likes and dislikes, and therefore named in the positive (e.g., the current "dislike" may be "likes'_wealth" -- do not use "dislikes_wealth"). offmap_has_dislike = likes_wealth Offmap
offmap_has_like offmap string Checks whether the scoped offmap power has their current "like" assigned to the named scripted trigger. offmap_has_like = likes_concubines Offmap
opinion character clause Checks if the scope's opinion of who is at least this value
opinion = {
    who = ROOT
    value >= 25
}
Opinion
opinion_diff character clause True if first target character has a higher opinion of the currently scoped character than second target character by at least value points.

as_if_liege = yes also applies the liege-vassal opinion modifiers (vassal_opinion, etc.) and is used in factions, to decide if a character would like someone better as liege than another one (and therefore would join a faction seeking to replace him).

opinion_diff = {
    first = liege
    second = FROM
    value >= 25
    as_if_liege = yes
}
Opinion
opinion_levy_raised_days character clause Should be called inside a vassal's scope, and who should be the vassal's liege. The condition is useless if the government/religion allows raising vassal troops without opinion penalties.
opinion_levy_raised_days = {
    who = ROOT
    days >= 30
}
Opinion
overlord_of character character Rarely used alias for is_liege_of. Generates no tooltip!
holder_scope = {
    overlord_of = FROM
}
Rulers
over_max_demesne_size character int over_max_demesne_size >= 4 Rulers
over_vassal_limit character int over_vassal_limit >= 6 Rulers
owed_favor_activated_by X character character/title/province Checks if the scoped character owed favor activated by target character. The reverse condition is held_favor_activated_on. Province scopes must be relative or saved event targets, since numbers are interpreted as character IDs.
liege = {
    owed_favor_activated_by = ROOT
}
owes_favor_to character character Checks if a character owes a favor to another character. The reverse condition is holds_favor_on.
liege = {
    owes_favor_to = ROOT
}
owned_by province character Checks if currently scoped province is owned by target character owned_by = ROOT Rulers
owns character title/province
owns = 333 # Rome
owns = PREVPREV
Rulers
owns_mercenary_units character bool Checks if character owns mercenary units owns_mercenary_units = yes
pacifist character bool pacifist = yes Characters
pays_tribute_to character character pays_tribute_to = ROOT Characters
personal_opinion character clause Similar to opinion, but does not take state diplomacy, laws or any other such state concerns into account
personal_opinion = {
    who = FROM
    value >= 0
}
Opinion
personal_opinion_diff character clause Similar to opinion_diff, but does not take state diplomacy, laws or any other such state concerns into account
personal_opinion_diff = {
    first = ROOT
    second = liege
    value >= 5
}
Opinion
personality_traits character int Number of traits with personality = yes personality_traits <5 Traits
phase Combat skirmish/melee/pursuit Checks the current phase of the scoped combat flank
combat = {
    phase = melee
}
Characters
piety character int The amount of piety a character has. Characters
plot_is_known_by character character Tests if a plot is known by another character plot_is_known_by = ROOT Objectives
plot_months X character character Checks for how many months a character has been plotting plot_months >= 12 Objectives
plot_power character double Typically ranges from 0.5 to 4.0 in vanilla Objectives
plot_power_contribution character clause
plot_power_contribution = {
    plotter = ROOT
    power >= 0.025
}
Objectives
population character int population >= 10000 Clans
population_and_manpower character int population_and_manpower >= 10000 Clans
population_and_manpower_growth X character int population_and_manpower_growth >= 500 Clans
population_factor character double Percentage of maximum population. population_factor >= 0.9 # 90% of max Clans
population_growth X character int Checks population growth of nomad ruler population_growth >= 200 Character
port province bool Checks if province is coastal Provinces
prev_policy offmap policy Checks if the scoped offmap power previously had the specified offmap policy. has_policy = china_isolationist Offmap
prev_policy_flag X offmap string Checks if the scoped offmap power previously had the specified flag in its previous offmap status modifier's flags list. prev_policy_flag = disallow_troops Offmap
prev_status offmap status Checks if the scoped offmap power previously had the specified offmap status modifier. prev_status = china_plague Offmap
prev_status_flag X offmap string Checks if the scoped offmap power previously had the specified flag in its previous offmap status modifier's flags list. prev_status_flag = disallow_troops Offmap
preparing_invasion character bool Wars
practical_age X character int Checks the apparent age of the character, taking immortality into account -- e.g., if the character became immortal at age 40, this will yield 40 rather than their true age. practical_age > 40 Health
prestige character int The amount of prestige a character has. Characters
prisoner character bool If no, can't be applied to imprisoned characters. Can also be used as an event pre-trigger. Characters
province province province/title Checks currently scoped province to be the same as another. For titles above count tier, uses its de jure capital province.
ROOT = {
    capital_scope = {
	province = PREVPREV
    }
}
Provinces
province_id province int Alias for province Provinces
quality artifact int Checks if the quality of the scoped artifact compares correctly to the given value. quality == 4 Artifacts
race character culture/character Same as culture condition. Checks if a character's culture matches that of a specified culture or character. This is different from graphical_culure, i.e when comparing two cultures that have the same culturegfx, race still evaluates to false. race = horse Character
raised_manpower X character int Checks raised manpower of nomad ruler raised_manpower >= 2000 Character
random any int Chance of success is (100-N)%! random >= 85 Control
real_day_of_year X any int Checks for actual IRL day of the month. Ranges from 0 to 30. Checks if the day is at least the specified number, so use two checks to narrow down a range. real_day_of_year = 11 Control
real_month_of_year any int Checks for actual IRL month (contrary to month which checks it in-game). Ranges from 0 (January) to 11 (December). Checks if the month is at least the specified number, so use two checks to narrow down a range. real_month_of_year = 11 Control
real_tier character/title character/title/tier Same as tier but ignores temporary titles Tier
realm_character_percent X character clause Returns true if the percentage of characters in the scoped character's realm fulfilling the condition is equal to or greater than the target.
realm_character_percent = {
    target = 0.05
    trait = genius
}
Rulers
realm_diplomacy character int State diplomacy. For personal attribute, see diplomacy. Rulers
realm_intrigue character int State intrigue. For personal attribute, see intrigue. Rulers
realm_learning X character int State learning. For personal attribute, see learning. Rulers
realm_levies character int realm_levies < 6000 Warfare
realm_levy_diff character clause Checks that the scope's current realm levies is at least value higher than who's current realm levies
realm_levy_diff = {
    who = ROOT
    value >= 3000
}
Warfare
realm_martial character int State martial. For personal attribute, see martial. Rulers
realm_size character int Total number of landed titles in the realm realm_size >= 180 Rulers
realm_stewardship character int State stewardship. For personal attribute, see stewardship. Rulers
rebel character/title bool Characters
region title,province region Checks if scope belongs to a geographical region. region = world_africa_east Province
regional_percentage any clause Checks if the percentage of provinces in a particular region meets a set of conditions
regional_percentage = {
    region = world_india
    percentage >= 0.50
    OR = {
	religion = hindu
	religion = jain
    }
}
Province
relative_income X character clause Compares the income of two characters (?). Syntax unknown, does not work as of at least version 3.3.2. Wealth
relative_income_to_liege character float Compares the income of character and of his liege. Does not work as of at least version 3.3.2. relative_income_to_liege >= 0.5 Wealth
relative_power character clause Check that currently scoped character has at least power percentage of who's power.
relative_power = {
    who = FROM
    power >= 4.0
}
Rulers
relative_power_including_allies_attacker character clause Check that currently scoped character (plus its potential allies in an offensive war) have at least power percentage of who's power.
relative_power_including_allies_attacker = { 
    who = FROMFROM # Defender
    power >= 0.8
}
Rulers
relative_power_including_allies_defender character clause Check that currently scoped character (plus its potential allies in a defensive war) have at least power percentage of who's power.
relative_power_including_allies_defender = {
    who = FROM # Attacker
    power >= 2
}
Rulers
relative_power_to_liege character double
any_realm_lord = {
    relative_power_to_liege >= 0.1
}
Vassalage
relative_realm_size character clause (2.8) Compares the realm size of the scoped character with the character specified by who.
relative_realm_size = {
    who = ROOT
    size < 1
}
Rulers
religion character/province/title/society/religion religion Checks if character/province has the given religion Religion
religion_allows_female_temple_holders character bool Checks religion flag allows_female_temple_holders religion_allows_female_temple_holders = yes Religion
religion_allows_male_temple_holders character bool Checks religion flag allows_male_temple_holders religion_allows_male_temple_holders = yes Religion
religion_authority character/province double Ranges from 0 to 1 Religion
religion_distance X province/title character/province/title/society/religion Checks distance to closest province of target religion.
religion_distance = {
    target = ROOT
    value > 300
}
Religion
religion_group character/province/title/society/religion religion Checks if character's/province's religion belongs to the given religion group Religion
republic_total_num_of_trade_posts character int republic_total_num_of_trade_posts >= 80
reverse_clan_opinion character clause
reverse_clan_opinion = {
    who = FROM
    value >= 25
}
Opinion
reverse_clan_opinion_diff X character clause
reverse_clan_opinion_diff = {
    first = FROM
    second = PREV
    value >= 25
}
Opinion
reverse_combat_rating_diff X character clause
reverse_combat_rating_diff = {
    who = FROM
    value >= 25
}
Attribute
reverse_has_cb X character character Checks if target character can use any CB against scoped character reverse_has_cb = FROM Rulers
reverse_has_embargo X character character Checks if the right-hand side character has an embargo on the scoped character reverse_has_embargo = FROM Character
reverse_has_opinion_modifier character clause Checks if 'who' character has the given opinion modifier towards scoped character
reverse_has_opinion_modifier = {
    who = ROOT
    modifier = opinion_supported_pope
}
Opinion
reverse_has_truce character character
liege = {
    reverse_has_truce = ROOT
}
Wars
reverse_opinion_levy_raised_days X character clause Should be called inside inside the scope of a ruler with vassals, and who is any direct vassal. The condition is useless if the government/religion allows raising vassal troops without opinion penalties.
reverse_opinion_levy_raised_days = {
    who = ROOT
    days >= 30
}
Opinion
reverse_max_realm_levy_diff X character clause Checks who's maximum realm levies compared to the scoped character's maximum realm levies
reverse_max_realm_levy_diff = {
    who = ROOT
    value >= 3000
}
Warfare
reverse_opinion character/new clause Checks who's opinion of the scoped character. new can be used to reference the new_character scope.
reverse_opinion = {
    who = ROOT
    value >= 0
}
Opinion
reverse_opinion_diff X character/new clause Checks if 'first's opinion of scoped character is 'value' higher than 'first's opinion of 'second'
reverse_opinion_diff = {
    first = ROOT
    second = FROM
    value >= 0
}
Opinion
reverse_personal_opinion character clause Similar to reverse_opinion, but does not take state diplomacy, laws or any other such state concerns into account
reverse_personal_opinion = {
    who = FROM
    value >= 50
}
Opinion
reverse_personal_opinion_diff X character clause Checks if 'first's personal opinion of scoped character is 'value' higher than 'first's personal opinion of 'second'. Does not take state diplomacy, laws or any other such state concerns into account.
reverse_personal_opinion_diff = {
    first = ROOT
    second = FROM
    value >= 0
}
Opinion
reverse_realm_levy_diff X character clause Checks that who's current realm levies is value higher than the scope's current realm levies
reverse_realm_levy_diff = { 
    who = ROOT
    value >= 3000
}
Warfare
revolt_distance X character int revolt_distance >= 100 Provinces (?)
revolt_risk province double revolt_risk >= 0.02 Provinces
rightful_religious_head character character
any_independent_ruler = {
    rightful_religious_head = ROOT
}
Religion
risks_minor_clan_rising character bool risks_minor_clan_rising = yes Clans
ruled_years character/title int Rulers
same_guardian character character
any_courtier = {
    same_guardian = ROOT
}
Guardianship
same_liege character character
any_realm_lord = {
    same_liege = ROOT
}
Vassalage
same_realm character/title character
any_neighbor_province = {
    owner = {
	same_realm = ROOT
    }
}
Rulers
same_sex character character Checks if two characters have same sex. same_sex = FROM Characters
same_regnal_name X character character Checks if two characters have the same regnal name for numbering purposes. Regnal names are currently defined as having the same first first name (E.G., "Gustav" and "Gustav Adolf" are the same regnal name), or the same cultural first first name (E.G., "Alfr_Alf" and "Alf_Alf" are the same regnal name). Characters
same_society_as character character Checks if scope character is in the same society as target character. same_society_as = ROOT Societies
same_wonder_as X Wonder Wonder Checks if two wonders are of the same type
same_wonder_as = FROM 
same_wonder_as = event_target:saved_wonder
Societies
scaled_wealth character double/clause Check if character has the given wealth based on percentage of yearly income. Before 2.8, the clause syntax is not available.
scaled_wealth = 0.2

scaled_wealth = {
    value = 0.5
    min = 10
    max = 20
}
Money
score character int Current score of the player score >= 100000
secret_religion character Anything with a religion Checks if character secretly follows the given religion
secret_religion = catholic
secret_religion = FROM
Religion
secret_religion_group character religion (group) Checks if character secretly follows a religion in the given religion group
secret_religion_group = christian
secret_religion_group = ROOT
Religion
settlement_age X holding int Checks age of a holding. If pre-built in province history, a holding is considered built in 1.1.1) settlement_age < 20 Religion
shares_any_bloodline_with character character Returns true is both characters have at least one bloodline in common Bloodlines
shares_realm_border_with character character (2.8) Checks if any province in your realm (everything under your titles) borders any province in their realm. Realm
sibling character character Family
society_can_rank_down X character bool Checks if the character can rank down within their society society_can_rank_down = yes Societies
society_can_rank_up character bool Checks if the character can rank up within their society society_can_rank_up = yes Societies
society_currency character society Checks if character has the given number of society points. Can add a scaled_by_influence parameter to scale by society influence, going from a 70% reduction when the society is at 100% influence and going linearly to a 0% reduction at 0% influence society_currency >= 1000 Societies
society_has_active_progress society bool Checks if the society currently has an ongoing progress counter. society_has_active_progress = yes Societies
society_has_members society bool Checks if the society has any members. society_has_members = yes Societies
society_influence society/character/any int/clause Checks if a given society's influence compares to the given number. If no society name is given, it will use either the society in the current scope, or the society of the character in the current scope. If no society name is given, and the current scope is neither a society nor a character, it will always return false.
society_influence >= 70

society_influence = {
    society = the_assassins
    value >= 50
}
Societies
society_is_active X society bool Checks if the society's active trigger is true. society_is_active = yes Societies
society_is_criminal character bool Checks if character's society is criminal or not. society_is_criminal = no Societies
society_is_devil_worshiper character bool Checks if character's society is a devil worshiping society or not. society_is_devil_worshiper = no Societies
society_member_of character society Checks if character belongs to the given society society_member_of = monastic_order_buddhist Societies
society_progress society float Checks the society's current progress. society_progress < 25 Societies
society_rank character/int/clause society Checks if character's rank compares correctly to the value or character given. Can use clause to additionally check if character belongs to named society.
society_rank == 2

society_rank = {
    society = the_assassins
    rank == 3
}
Societies
start_date any date Check the initial start date of current game. start_date == 1066.9.15 Control
stewardship character int A character's Stewardship attribute. For state value, see realm_stewardship Characters
stored_token_trigger character Casus Belli The selected CB, in context of voting on war declaration. Available in ROOT and FROM scopes. Council voting
supply_limit X province clause Compares the supply in the province for a given character and their leader against a value. The leader defaults to the given character unless specified.
supply_limit = {
    for = ROOT
    leader = FROM
    value > 10
}
Wars
supported_checksum X any bool Checks to see if current checksum matches at least one supported checksum in the .mod files of any active mods (defined by supported_checksums = { ABCD EFGH } field). Control
symptom X character trait (?) Health
TECH_INFANTRY

TECH_CAVALRY

TECH_SKIRMISH

TECH_MELEE

TECH_SIEGE_EQUIPMENT

TECH_RECRUITMENT

TECH_CASTLE_INFRASTRUCTURE

TECH_CITY_INFRASTRUCTURE

TECH_FORTIFICATIONS_CONSTRUCTION

TECH_TRADE_PRACTICES

TECH_CONSTRUCTION

TECH_NAVAL

TECH_NOBLE_CUSTOMS

TECH_POPULAR_CUSTOMS

TECH_RELIGIOUS_CUSTOMS

TECH_MAJESTY

TECH_CULTURE_FLEX

TECH_LEGALISM

province, holding int Check whether the current holding or province has at least this level of technology in a particular tech category. TECH_POPULAR_CUSTOMS >= 3 Provinces
technology_can_spread province bool Check whether technology can spread in the province. technology_can_spread = yes Province
temporary title bool Check if title is temporary one (revolt, claimant adventurer, ...) Titles
terrain province terrain Values: forest, hills, mountain, plains, farmlands, steppe, desert, jungle, arctic Provinces
their_clan_opinion X character/clan title clause Alias for reverse_clan_opinion
their_opinion = {
    who = ROOT
    value >= 25
}
Opinion
their_opinion character clause Alias for reverse_opinion
their_opinion = {
    who = ROOT
    value >= 25
}
Opinion
tier character/title/offmap string Checks if the character's tier is exactly equivalent to the specified tier. Does not permit the use of 2.8+ comparison operators!

- Values: BARON, COUNT, DUKE, KING, EMPEROR

Tier
title character/title title/province title = d_mesopotamia Titles
total_claims character clause
total_claims = {
    who = FROM
    strong = yes
    value >= 2
}
Claims
total_manpower X character int Checks total manpower of nomad ruler total_manpower >= 2000 Character
total_years_played Any int Number of years since beginning of current game total_years_played >= 200 Control
trade_post_has_building province building Checks if a trade post has the specified building. trade_post_has_building = tr_silk_road_3 Buildings
trade_post_has_any_building X province building Checks if a trade post has at least 1 building. Buildings
trade_route province trade route/province Checks if a province is on the specified trade route, or if two provinces share a trade route
trade_route = silk_road
trade_route = event_target:saved_province
Provinces
trade_route_control character clause (2.8) Checks the amount of control of the scoped character (others?) over the specified trade route's wealth, provinces, trade posts, or trade post locations.
Parameter Type Description
trade_route identifier Required. Trade route to check against.
value float Required. Percentage of control required.
type string Optional. Type of comparison: "wealth", "provinces", "trade_posts", or "trade_post_locations". The latter two are restricted by the trade post trigger in the trade route definition. Defaults to wealth.
indirectly_owned bool Optional. Whether to include provinces in one's sub-realm that are owned by vassals. Defaults to yes.
trade_route_control = {
    trade_route = silk_road
    value > 0.1
    type = trade_post_locations
    indirectly_owned = no
}
Provinces
trait character string Checks if the character has this trait trait = shy Traits
treasury character double Alias for wealth treasury >= 50 Money
true_religion character character/province/title/society If the character has a secret religion, checks if character secretly follows the given religion, otherwise checks if the character publicly follows the given religion
true_religion = catholic
true_religion = PREV
Religion
true_religion_group character Anything with a religion, religion group If the character has a secret religion, checks if character secretly follows a religion in the given religion group, otherwise checks if the character publicly follows a religion in the given religion group
true_religion_group = christian
true_religion_group = ROOT
Religion
troops siege clause
troops = {
    who = troops
    value >= 0.1
    enemy = yes
}
Wars
units_in_province X Province int Checks the number of armies/units in a province units_in_province > 3 Units
unit_is_in_combat X unit bool Checks if the unit is in combat. Units
unused_manpower character int unused_manpower >= 250 Clans
uses_decadence character bool Character has decadence mechanic via religion/government. uses_decadence = yes Characters
uses_new_crusade character bool Checks if character's religion uses new-style Crusades as set in religion definition uses_new_crusade = yes Characters
using_cb war casusBelli
any_war = {
    using_cb = crusade
}
Wars
vassal_of character character Check if the scoped character is a direct vassal of the right hand side character.
any_rival = {
    vassal_of = ROOT
}
Vassalage
war character bool Checks if the character is in war Wars
war_participation war double
any_war = {
    war_participation = {
	who = ROOT
	score >= 50
    }
}
Wars
war_score war double
any_war = {
    war_score >= 50
}
Wars
war_title war title/province war_title = ROOT Wars
war_with character character/title Returns true if people are hostile due to raiding or if their armies are hostile because of a personal, liege or third party war.[3]
liege = {
    NOT = { war_with = ROOT }
}
Wars
was_conceived_a_bastard character bool was_conceived_a_bastard = yes Family
wealth character int The minimum amount of gold this character should have Money
will_liege_enforce_peace character bool See also has_liege_enforced_peace will_liege_enforce_peace = no Realm
wonder X wonder scope Alias of same_wonder_as
wonder = FROM 
wonder = event_target:saved_wonder
Wonders
wonder_age wonder int Checks that the wonder is at least the given number years old. wonder_age >= 150 Wonders
wonder_stage wonder int Checks which tier the wonder progress is at (not counting current construction, ie building the first tier puts your wonder at tier 0 (zero)) wonder_stage >= 1 Wonders
wonder_stage_age X wonder int Checks that the wonder has been at the current tier/stage at least the given number of years. wonder_stage_age >= 15 Wonders
wonder_upgrade wonder_upgrade scope Checks exact ID of wonder upgrade wonder_upgrade = event_target:my_saved_upgrade Wonders
wonder_upgrade_age upgrade int Checks that the upgrade is at least the given number years old. wonder_upgrade_age >= 200 Wonders
would_be_heir_under_law title clause
would_be_heir_under_law = {
    who = FROM
    law = seniority
}
Government
year any int Returns the current year. Control
year_of_birth X character int Checks if the character was born in this year or later year_of_birth >= 1000 Characters
yearly_income character/title (holding) double yearly_income >= 25 Money

See also

References