Trigger Documentation:

--------------------



--------------------

any_dynasty_member - Iterate through all dynasty members
any_dynasty_member = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: dynasty
Supported Targets: character

--------------------

blood_legacy_track_perks - How many perks in the lifestyle does this dynasty have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

ce1_heroic_track_perks - How many perks in the lifestyle does this dynasty have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

ce1_legitimacy_legacy_track_perks - How many perks in the lifestyle does this dynasty have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

dynasty_can_unlock_relevant_perk - Can the scoped dynasty unlock a 'relevant' perk? Relevant meaning one that isn't the first in its track unless the dynasty has no partially filled tracks
Traits: yes/no 
Supported Scopes: dynasty

--------------------

dynasty_num_unlocked_perks - does the dynasty has the required number of unlocked dynasty perks?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

dynasty_prestige - does the dynasty have the required prestige?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

dynasty_prestige_level - does the dynasty have the required prestige level?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

ep1_culture_legacy_track_perks - How many perks in the lifestyle does this dynasty have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

ep2_activities_legacy_track_perks - How many perks in the lifestyle does this dynasty have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

ep3_administrative_legacy_track_perks - How many perks in the lifestyle does this dynasty have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

erudition_legacy_track_perks - How many perks in the lifestyle does this dynasty have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

fp1_adventure_legacy_track_perks - How many perks in the lifestyle does this dynasty have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

fp1_pillage_legacy_track_perks - How many perks in the lifestyle does this dynasty have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

fp2_coterie_legacy_track_perks - How many perks in the lifestyle does this dynasty have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

fp2_urbanism_legacy_track_perks - How many perks in the lifestyle does this dynasty have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

fp3_khvarenah_legacy_track_perks - How many perks in the lifestyle does this dynasty have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

glory_legacy_track_perks - How many perks in the lifestyle does this dynasty have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

guile_legacy_track_perks - How many perks in the lifestyle does this dynasty have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

has_dynasty_modifier - Does the scoped dynasty have a given modifier
has_dynasty_modifier = name
Supported Scopes: dynasty

--------------------

has_dynasty_modifier_duration_remaining - Does the scoped dynasty have the duration remaining on a given modifier
has_dynasty_modifier_duration_remaining = name
Supported Scopes: dynasty

--------------------

has_dynasty_perk - Does the dynasty have this dynasty perk? has_dynasty_perk = key
Supported Scopes: dynasty

--------------------

kin_legacy_track_perks - How many perks in the lifestyle does this dynasty have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

law_legacy_track_perks - How many perks in the lifestyle does this dynasty have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

warfare_legacy_track_perks - How many perks in the lifestyle does this dynasty have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty

--------------------

any_activity_phase_location - Iterate through all province locations of the phases of the activity, optionally limited to unique locations.
any/every/random_activity_phase_location {
	unique = yes/no
}

any_activity_phase_location = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: activity
Supported Targets: province

--------------------

any_activity_phase_location_future - Iterate through all future province locations of the phases of the activity, optionally limited to unique locations. ('future' does not include any started phase)
any/every/random_activity_phase_location_future {
	unique = yes/no
}

any_activity_phase_location_future = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: activity
Supported Targets: province

--------------------

any_activity_phase_location_past - Iterate through all past province locations of the phases of the activity, optionally limited to unique locations. ('past' only includes ended phases)
any/every/random_activity_phase_location_future {
	unique = yes/no
}

any_activity_phase_location_past = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: activity
Supported Targets: province

--------------------

any_attending_character - Iterate through all characters attending an activity.
Invited guests that have not accepted/declined yet are not part of this list.
Supports an optional state the character must be in.
any_attending_character = { state = travel/passive/active }
any_attending_character = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: activity
Supported Targets: character

--------------------

any_guest_subset - any/every/random_guest_subset = {
	name = <subset_key>
	phase = <phase_key> # Optional
}
Iterates through characteres within the specified subset for past, current and
future phases. If phase is specified it will only iterate through characters
subsets of that particular phase type. 
any_guest_subset = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: activity
Supported Targets: character

--------------------

any_guest_subset_current_phase - any/every/random_guest_subset_current_phase = {
	name = <subset_key>
}
Iterates through characteres within the specified subset of the current phase.
any_guest_subset_current_phase = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: activity
Supported Targets: character

--------------------

any_invited_character - Iterate through all characters invited to an activity. Once they accept/decline, they are removed from this list.
any_invited_character = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: activity
Supported Targets: character

--------------------

any_special_guest - Iterate through all special guests of an activity.
any_special_guest = { ... }
any_special_guest = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: activity
Supported Targets: character

--------------------

has_active_locale - Does the scoped activity have the designated locale active?
has_active_locale = locale_key
Supported Scopes: activity

--------------------

has_activity_option - has_activity_option = { category = key option = key }
Does the scoped activity have the option in the given category active
Supported Scopes: activity

--------------------

has_activity_type - has_activity_type = key
Does the scoped activity have the given activity type
Traits: class CActivityTypeDatabase key
Supported Scopes: activity
Supported Targets: activity_type

--------------------

has_current_phase - has_current_phase = key
Does the scoped activity have the given phase active
Supported Scopes: activity

--------------------

has_phase - Check if a phase exists on this activity. You can search for just a type directly, or a complex trigger with  only `type`, `location` or both.
has_phase = name_of_phase
has_phase = {
	type = name_of_phase
	location = scope:province
}
Supported Scopes: activity

--------------------

has_phase_future - Check if a past phase exists on this activity. You can search for just a type directly, or a complex trigger with  only `type`, `location` or both.
has_phase = name_of_phase
has_phase = {
	type = name_of_phase
	location = scope:province
}
Supported Scopes: activity

--------------------

has_phase_past - Check if a past phase exists on this activity. You can search for just a type directly, or a complex trigger with  only `type`, `location` or both.
has_phase = name_of_phase
has_phase = {
	type = name_of_phase
	location = scope:province
}
Supported Scopes: activity

--------------------

is_activity_complete - Check if the current activity is completed or not, this doesn't have much use for content since we delete an activity as soon as we can, but in multiplayer it exists until everyone stops viewing it so we use this to cancel some delayed events
is_activity_complete = yes/no
Traits: yes/no 
Supported Scopes: activity

--------------------

is_current_phase_active - Check if the current activity phase is in the active state (else it is in the passive state)
is_current_phase_active = yes/no
Traits: yes/no 
Supported Scopes: activity

--------------------

is_open_invite_activity - Check if the scoped activity is an open invite activity
is_open_invite_activity = yes/no
Traits: yes/no 
Supported Scopes: activity

--------------------

is_required_special_guest - Is the target character a required special guest in the scoped activity.
is_required_special_guest = character
Supported Scopes: activity

--------------------

is_special_guest - Is the target character a special guest in the scoped activity, optionally for a specific type.
is_special_guest = character
is_special_guest = { target = character type = key }
Supported Scopes: activity

--------------------

num_future_phases - The number of future phases for the scoped activity.
num_future_phases > 5
Traits: <, <=, =, !=, >, >=
Supported Scopes: activity

--------------------

num_past_phases - The number of past phases for the scoped activity.
num_past_phases > 5
Traits: <, <=, =, !=, >, >=
Supported Scopes: activity

--------------------

num_phases - The number total number of planned phases for the scoped activity.
num_phases > 5
Traits: <, <=, =, !=, >, >=
Supported Scopes: activity

--------------------

any_culture_county - Iterate through all counties of the culture
any_culture_county = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: culture
Supported Targets: landed_title

--------------------

any_culture_duchy - Iterate through all duchies of the culture (duchies with at least one county of the culture
any_culture_duchy = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: culture
Supported Targets: landed_title

--------------------

any_culture_empire - Iterate through all empires of the culture (empires with at least one county of the culture
any_culture_empire = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: culture
Supported Targets: landed_title

--------------------

any_culture_kingdom - Iterate through all kingdoms of the culture (kingdoms with at least one county of the culture
any_culture_kingdom = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: culture
Supported Targets: landed_title

--------------------

any_parent_culture - Iterate through all parent cultures
any_parent_culture = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: culture
Supported Targets: culture

--------------------

any_parent_culture_or_above - Iterate through all parent cultures or above
any_parent_culture_or_above = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: culture
Supported Targets: culture

--------------------

any_tradition - Iterate through all traditions of the given culture
any_tradition = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: culture
Supported Targets: culture_tradition

--------------------

can_get_innovation_from - Get random applicable innovation from another culture
Supported Scopes: culture

--------------------

cultural_acceptance - The cultural acceptance of the scoped culture with the target culture
cultural_acceptance = { target = culture value > 50 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: culture

--------------------

culture_age - Checks the age of the scope culture in years. If the culture has no creation date set, this will simply return the current year
culture_age >= 200
Traits: <, <=, =, !=, >, >=
Supported Scopes: culture

--------------------

culture_number_of_counties - How many counties are there of this culture?
culture_number_of_counties > 10
Traits: <, <=, =, !=, >, >=
Supported Scopes: culture

--------------------

culture_overlaps_geographical_region - Checks if any county with this culture is in the given geographical region
Traits: class CGeographicalRegionDatabase key
Supported Scopes: culture
Supported Targets: geographical_region

--------------------

free_tradition_slot - How many free tradition slot are in the scoped culturescope:culture = { free_tradition_slot > 1 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: culture

--------------------

has_all_innovations - Has the culture discovered all innovations matching the filter?
has_all_innovations = {
	with_flag = flag_name # innovation matches if it has the flag; optional
	without_flag = flag_name # innovation matches if it does not have the flag; optional
	culture_era = era_key # innovation matches if it is from the era; optional
}
Supported Scopes: culture

--------------------

has_building_gfx - Does the culture have this building gfx?
<culture> = { has_building_gfx = mena_building_gfx }
Supported Scopes: culture

--------------------

has_clothing_gfx - Does the culture have this clothing gfx?
<culture> = { has_building_gfx = mena_clothing_gfx }
Supported Scopes: culture

--------------------

has_coa_gfx - Does the culture have this CoA gfx?
<culture> = { has_building_gfx = mena_coa_gfx }
Supported Scopes: culture

--------------------

has_cultural_era_or_later - Has this culture achieved specified era<culture> = { has_cultural_era_or_later = culture_era_early_medieval }
Supported Scopes: culture

--------------------

has_cultural_parameter - Does the culture have this cultural parameter?
<culture> = { has_cultural_parameter = name }
Supported Scopes: culture

--------------------

has_cultural_pillar - Does the culture have this cultural pillar?
<culture> = { has_cultural_pillar = name }
Supported Scopes: culture

--------------------

has_cultural_tradition - Does the culture have this cultural tradition scope?
<culture> = { has_cultural_tradition = scope:traditon }
Traits: class CCultureTraditionDatabase key
Supported Scopes: culture
Supported Targets: culture_tradition

--------------------

has_innovation - Have the culture discovered this innovation?
Supported Scopes: culture

--------------------

has_innovation_flag - Has the culture discovered an innovation with this flag? has_innovation_flag = flag
Supported Scopes: culture

--------------------

has_name_list - Does the culture have this name list?
<culture> = { has_name_list = name }
Supported Scopes: culture

--------------------

has_primary_name_list - Does the culture have this name list as its first name list?
<culture> = { has_primary_name_list = name }
Supported Scopes: culture

--------------------

has_same_culture_ethos - Does the culture have the same ethos as the target?
Traits: culture scope
Supported Scopes: culture
Supported Targets: culture

--------------------

has_same_culture_heritage - Does the culture have the same heritage as the target?
Traits: culture scope
Supported Scopes: culture
Supported Targets: culture

--------------------

has_same_culture_language - Does the culture have the same language as the target?
Traits: culture scope
Supported Scopes: culture
Supported Targets: culture

--------------------

has_same_culture_martial_tradition - Does the culture have the same martial tradition as the target?
Traits: culture scope
Supported Scopes: culture
Supported Targets: culture

--------------------

has_unit_gfx - Does the culture have this unit gfx?
<culture> = { has_unit_gfx = mena_unit_gfx }
Supported Scopes: culture

--------------------

is_divergent_culture - Checks if the scope culture was created by diverging from a single parent culture and returns yes if true or no if false.
is_divergent_culture = yes
Traits: yes/no 
Supported Scopes: culture

--------------------

is_hybrid_culture - Checks if the scope culture was created from a hybridization of two cultures and returns yes if true or no if false.
is_hybrid_culture = yes
Traits: yes/no 
Supported Scopes: culture

--------------------

num_discovered_innovations - Does the culture have the required number of discovered innovations?
num_discovered_innovations > 20
Traits: <, <=, =, !=, >, >=
Supported Scopes: culture

--------------------

num_discovered_innovations_in_era - Does the scoped culture have the required number of active discovered innovations in the specified era?
num_discovered_innovations_in_era = {
	era = culture_era_early_medieval
	value > 5
}
num_discovered_innovations_in_era:culture_era_early_medieval > 15
num_discovered_innovations_in_era:culture_era_early_medieval > scope:target_culture.num_discovered_innovations_in_era:culture_era_early_medieval
Traits: <, <=, =, !=, >, >=
Supported Scopes: culture

--------------------

any_memory_participant - Iterate through all participating character of a memory
any_memory_participant = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character_memory
Supported Targets: character

--------------------

has_memory_category - has_memory_category = happy
Does the character memory have this memory category?
Supported Scopes: character_memory

--------------------

has_memory_participant - has_memory_participant = character
Does the character memory have this target character as a participant?
Traits: character scope
Supported Scopes: character_memory
Supported Targets: character

--------------------

has_memory_type - has_memory_type = battle
Does the character memory have this memory type?
Supported Scopes: character_memory

--------------------

is_memory_of_travel - Is the scoped memory a memory of a specific travel plan? is_memory_of_travel = travel_plan
Traits: travel_plan scope
Supported Scopes: character_memory
Supported Targets: travel_plan

--------------------

memory_age_years - How many years since the memory was created (rounded down).
Traits: <, <=, =, !=, >, >=
Supported Scopes: character_memory

--------------------

memory_creation_date - Date when the memory was created.
Traits: <, <=, =, >, >= valid date
Supported Scopes: character_memory

--------------------

memory_end_date - Date when the memory will be forgotten. (this may change over time)
Traits: <, <=, =, >, >= valid date
Supported Scopes: character_memory

--------------------

can_upgrade_maa - Can target MaA regiment be upgraded
Traits: yes/no 
Supported Scopes: regiment

--------------------

is_event_maa_regiment - Is target MaA regiment part of event troops
Traits: yes/no 
Supported Scopes: regiment

--------------------

is_hired_maa_regiment - Was target MaA regiment hired from merc or holy order
Traits: yes/no 
Supported Scopes: regiment

--------------------

is_maa_in_combat - Is target MaA regiment engaged in combat
Traits: yes/no 
Supported Scopes: regiment

--------------------

is_maa_type - Check MaA type of a regiment
scope:regiment = { is_maa_type = light_footmen }
Traits: class CMenAtArmsTypeDatabase key
Supported Scopes: regiment

--------------------

is_personal_maa_regiment - Is target MaA regiment personal
Traits: yes/no 
Supported Scopes: regiment

--------------------

is_raised - Is target MaA regiment raised
Traits: yes/no 
Supported Scopes: regiment

--------------------

is_regular_maa_regiment - Is target MaA regiment just a normal one recruited by a ruler
Traits: yes/no 
Supported Scopes: regiment

--------------------

is_title_maa_regiment - Is target MaA regiment belongs to a title
Traits: yes/no 
Supported Scopes: regiment

--------------------

is_unit_type - Check base MaA type of a regiment
scope:regiment = { is_unit_type = skirmishers }
Supported Scopes: regiment

--------------------

maa_current_troops_count - Get current number of soldiers in MaA regiment
Traits: <, <=, =, !=, >, >=
Supported Scopes: regiment

--------------------

maa_max_troops_count - Get max number of soldiers in MaA regiment
Traits: <, <=, =, !=, >, >=
Supported Scopes: regiment

--------------------

maa_size - Get regiment size - number of subregiments in it
Traits: <, <=, =, !=, >, >=
Supported Scopes: regiment

--------------------

obligation_level_score - The score in favour of the vassal for the scoped vassal contract obligation level
obligation_level_score > 2
Traits: <, <=, =, !=, >, >=
Supported Scopes: vassal_contract_obligation_level

--------------------

any_opposite_trait - Iterate through all opposite traits of the scoped trait
any_opposite_trait = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: trait
Supported Targets: trait

--------------------

has_trait_category - Does the scoped trait belong to the given trait cateogry.
has_trait_category = health
Traits: personality, education, childhood, commander, winter_commander, lifestyle, court_type, fame, health
Supported Scopes: trait

--------------------

has_trait_flag - Does the scoped trait have the given flag.
has_trait_flag = can_not_marry
Supported Scopes: trait

--------------------

is_opposite_of_trait - Is the scoped trait an opposite trait of the target trait.
is_opposite_of_trait = scope:trait
Traits: class CTraitDatabase key
Supported Scopes: trait
Supported Targets: trait

--------------------

any_house_claimed_artifact - Iterate through all claimed artifacts of the scoped house
any_house_claimed_artifact = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: dynasty_house
Supported Targets: artifact

--------------------

any_house_member - Iterate through all house members
any_house_member = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: dynasty_house
Supported Targets: character

--------------------

any_house_unity_member - Iterate through all valid house unity members
any_house_unity_member = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: dynasty_house
Supported Targets: character

--------------------

has_house_artifact_claim - Does the scoped dynasty house have a personal claim on the target artifact
Traits: artifact scope
Supported Scopes: dynasty_house
Supported Targets: artifact

--------------------

has_house_modifier - Does the scoped house have a given modifier
has_house_modifier = name
Supported Scopes: dynasty_house

--------------------

has_house_modifier_duration_remaining - Does the scoped house have the duration remaining on a given modifier
has_house_modifier_duration_remaining = name
Supported Scopes: dynasty_house

--------------------

has_house_unity - Is the given dynasty house has house unity
Traits: yes/no 
Supported Scopes: dynasty_house

--------------------

has_house_unity_modifier - Does the scoped house with unity have a given modifier
has_house_unity_modifier = name
Supported Scopes: dynasty_house

--------------------

has_house_unity_modifier_duration_remaining - Does the scoped house have the duration remaining on a given modifier
has_house_unity_modifier_duration_remaining = name
Supported Scopes: dynasty_house

--------------------

has_house_unity_parameter - Does the given house unity have the given parameter? Can only check for bool parameters. has_house_unity_parameter = parameter_key
Supported Scopes: dynasty_house

--------------------

has_house_unity_stage - Is the given house unity the given stage?. 
has_house_unity_stage = house_unity_stage_key
Supported Scopes: dynasty_house

--------------------

house_land_share_in_realm - Calculate share of counties held in the target liege's realm by the house.
Only rulers of liege's government type counts

scope:house = {
	house_land_share_in_realm = {
		target = scope:liege
		value > 0.5
	}
}
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty_house

--------------------

house_power - Compare house power: scope:house = { house_power >= value }
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty_house

--------------------

house_unity_value - does the dynasty house have the required house unity value?
Traits: <, <=, =, !=, >, >=
Supported Scopes: dynasty_house

--------------------

is_dominant_family - Is the given house considered dominant: scope:house = { is_dominant_family = yes }
Traits: yes/no 
Supported Scopes: dynasty_house

--------------------

is_powerful_family - Is the given house considered powerful: scope:house = { is_powerful_family = yes }
Traits: yes/no 
Supported Scopes: dynasty_house

--------------------

has_task_contract_group - Has task contract of the group
scope:character = { has_task_contract_group = group }
Supported Scopes: task_contract

--------------------

has_task_contract_type - has task contract with type 
scope:task_contract = { has_task_contract_type = type_name }
Supported Scopes: task_contract

--------------------

is_criminal - Is the contract type of criminal nature?
Traits: yes/no 
Supported Scopes: task_contract

--------------------

is_valid_to_keep - Is contract valid to keep?
Traits: yes/no 
Supported Scopes: task_contract

--------------------

task_contract_tier - Tier value for task contract
scope:task_contract = { task_contract_tier = num }
Traits: <, <=, =, !=, >, >=
Supported Scopes: task_contract

--------------------

time_since_contract_taken - Days since the task contract was accepted.
Traits: <, <=, =, !=, >, >=
Supported Scopes: task_contract

--------------------

can_fire_position - Check if the scope task's councillor can be fired. Will check both can_fire and things like it being illegal to reassing the position
scope:task = { position_can_be_fired = yes }
Traits: yes/no 
Supported Scopes: council_task

--------------------

any_secret_knower - Iterate through all characters who know the secret
any_secret_knower = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: secret
Supported Targets: character

--------------------

any_secret_participant - Iterate through participants in a secret
any_secret_participant = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: secret
Supported Targets: character

--------------------

can_be_exposed_by - can the scope secret be exposed by the target character? can_be_exposed_by = target
Traits: character target 
Supported Scopes: secret

--------------------

is_criminal_for - is this secret criminal for the target participant? is_criminal_for = <character>
Traits: character scope
Supported Scopes: secret
Supported Targets: character

--------------------

is_known_by - is the scope secret known by the target character?
Traits: character target 
Supported Scopes: secret

--------------------

is_shunned_for - is this secret shunned for the target participant? is_shunned_for = <character>
Traits: character scope
Supported Scopes: secret
Supported Targets: character

--------------------

is_shunned_or_criminal_for - is this secret shunned or criminal for the target participant? is_shunned_or_illegal_for = <character>
Traits: character scope
Supported Scopes: secret
Supported Targets: character

--------------------

is_spent_by - has the scope secret been spent by the target character? is_spent_by = target
Traits: character target 
Supported Scopes: secret

--------------------

local_player_knows_this_secret - Does the local player have knowledge about the secret?
An interface trigger, can only be used in specific places
Traits: yes/no 
Supported Scopes: secret

--------------------

same_secret_type_as - Is the scope secret of the same type as the target secret?
same_secret_type_as = scope:some_secret
Traits: secret scope
Supported Scopes: secret
Supported Targets: secret

--------------------

secret_type - Is the scope secret of the specified type?
Supported Scopes: secret

--------------------

any_faith - Iterate through all faiths within a religion
any_faith = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: religion
Supported Targets: faith

--------------------

is_in_family - Is the scoped faith in a given religious family
is_in_family = abrhamic
Supported Scopes: religion

--------------------

any_army_maa_regiment - Iterate through all MaA regiments in the army
scope:army = {
	any_army_maa_regiment = {
		include_hired = yes # should it include merc and holy order regiments (yes by default)
	}
}
any_army_maa_regiment = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: army
Supported Targets: regiment

--------------------

army_is_moving - is this army moving?
Traits: yes/no 
Supported Scopes: army

--------------------

army_max_size - what size is this army's max size?
Traits: <, <=, =, !=, >, >=
Supported Scopes: army

--------------------

army_size - what size is this army?
Traits: <, <=, =, !=, >, >=
Supported Scopes: army

--------------------

can_disband_army - Can we disband this army?
Traits: yes/no 
Supported Scopes: army

--------------------

is_army_in_combat - Is the scoped army in combat?
Traits: yes/no 
Supported Scopes: army

--------------------

is_army_in_raid - Is the scoped army in a raid (this includes a raid interrupted by combat)?
Traits: yes/no 
Supported Scopes: army

--------------------

is_army_in_siege - Is the scoped army in a siege (this includes a siege interrupted by combat)?
Traits: yes/no 
Supported Scopes: army

--------------------

is_army_in_siege_relevant_for - Is the scoped army in a siege that is relevant to the target character?
is_army_in_siege_relevant_for = scope:character
Traits: character scope
Supported Scopes: army
Supported Targets: character

--------------------

is_raid_army - Is the scoped army a raid army?
Traits: yes/no 
Supported Scopes: army

--------------------

raid_loot - How much raid loot is the army carrying?
Traits: <, <=, =, !=, >, >=
Supported Scopes: army

--------------------

total_army_damage - What is the army's total damage stat in its current location?
Traits: <, <=, =, !=, >, >=
Supported Scopes: army

--------------------

total_army_pursuit - What is the army's total pursuit stat in its current location?
Traits: <, <=, =, !=, >, >=
Supported Scopes: army

--------------------

total_army_screen - What is the army's total screen stat in its current location?
Traits: <, <=, =, !=, >, >=
Supported Scopes: army

--------------------

total_army_siege_value - What is the army's total siege value stat in its current location?
Traits: <, <=, =, !=, >, >=
Supported Scopes: army

--------------------

total_army_toughness - What is the army's total toughness stat in its current location?
Traits: <, <=, =, !=, >, >=
Supported Scopes: army

--------------------

any_entourage_character - Iterate through all characters travelling along with the travel plan owner. Includes travel leader, but not the travel plan owner.

any_entourage_character = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: travel_plan
Supported Targets: character

--------------------

any_future_path_location - Iterate through all provinces this travel plan has in its route.

any_future_path_location = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: travel_plan
Supported Targets: province

--------------------

any_visited_location - Iterate through all provinces this travel plan has arrived at so far.

any_visited_location = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: travel_plan
Supported Targets: province

--------------------

can_cancel - Can this travel plan be cancelled? (associated activity might disallow it)
Traits: yes/no 
Supported Scopes: travel_plan

--------------------

current_danger_value - Danger value of the current province the travel plan is in (-100.0 to +100.0).
Traits: <, <=, =, !=, >, >=
Supported Scopes: travel_plan

--------------------

days_travelled - Total number of days since this travel plan started.
Traits: <, <=, =, >, >= valid date
Supported Scopes: travel_plan

--------------------

departure_date - Compare the date the travel plan started.
Traits: <, <=, =, !=, >, >=
Supported Scopes: travel_plan

--------------------

final_destination_arrival_date - Estimation date of arrival at the final destination
Traits: <, <=, =, >, >= valid date
Supported Scopes: travel_plan

--------------------

final_destination_arrival_days - Estimation of days until we arrive at the final destination?
Traits: <, <=, =, !=, >, >=
Supported Scopes: travel_plan

--------------------

final_destination_progress - Time progress (0.0 - 1.0) towards the final destination of the travel plan, compared to departure date from the very start of the Travel Plan.
Traits: <, <=, =, !=, >, >=
Supported Scopes: travel_plan

--------------------

has_travel_option - Does the travel plan have this travel option active?
<travel_plan> = { has_travel_option = name }
Supported Scopes: travel_plan

--------------------

has_travel_plan_modifier - Does the scoped travel plan have a given modifier
has_travel_plan_modifier = name
Supported Scopes: travel_plan

--------------------

has_travel_plan_modifier_duration_remaining - Does the scoped travel plan have the duration remaining on a given modifier
nhas_county_modifier_duration_remaining = name
Supported Scopes: travel_plan

--------------------

is_aborted - Is this travel plan aborted?
Traits: yes/no 
Supported Scopes: travel_plan

--------------------

is_cancelled - Is this travel plan cancelled? (manually stopped, and rerouted home)
Traits: yes/no 
Supported Scopes: travel_plan

--------------------

is_completed - Is this travel plan completed? (finished by arrival at final destination)
Traits: yes/no 
Supported Scopes: travel_plan

--------------------

is_paused - Is this travel plan paused?
Traits: yes/no 
Supported Scopes: travel_plan

--------------------

is_travel_with_domicile - Is character travelling with a domicile?
<travel_plan> = { is_travel_with_domicile = yes }
Traits: yes/no 
Supported Scopes: travel_plan

--------------------

next_destination_arrival_date - Estimation date of arrival at the next destination
Traits: <, <=, =, >, >= valid date
Supported Scopes: travel_plan

--------------------

next_destination_arrival_days - Estimation of days until we arrive at the next destination
Traits: <, <=, =, !=, >, >=
Supported Scopes: travel_plan

--------------------

next_destination_progress - Time progress (0.0 - 1.0) towards the next destination of the travel plan, compared to departure date of the previous destination.
Traits: <, <=, =, !=, >, >=
Supported Scopes: travel_plan

--------------------

num_entourage_characters - Size of the travel plan entourage.
Traits: <, <=, =, !=, >, >=
Supported Scopes: travel_plan

--------------------

num_options - Number of travel options selected.
Traits: <, <=, =, !=, >, >=
Supported Scopes: travel_plan

--------------------

travel_safety - Gets the current travel safety for travel
Traits: <, <=, =, !=, >, >=
Supported Scopes: travel_plan

--------------------

travel_speed - Gets the current travel speed for travel (percentage points above 100%)
Traits: <, <=, =, !=, >, >=
Supported Scopes: travel_plan

--------------------

was_activity_completed - If there is/was an activity attached to this travel plan, was it completed?
Traits: yes/no 
Supported Scopes: travel_plan

--------------------

was_activity_invalidated - If there is/was an activity attached to this travel plan, was it invalidated?
Traits: yes/no 
Supported Scopes: travel_plan

--------------------

any_defensive_great_holy_wars - Iterate through all great holy wars this faith is defending against
any_defensive_great_holy_wars = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: faith
Supported Targets: ghw

--------------------

any_faith_character - Iterate through characters of the scoped faith
any_faith_character = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: faith
Supported Targets: character

--------------------

any_faith_holy_order - Iterate through all holy orders of the faith
any_faith_holy_order = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: faith
Supported Targets: holy_order

--------------------

any_faith_playable_ruler - Iterate through playable rulers of the scoped faith
any_faith_playable_ruler = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: faith
Supported Targets: character

--------------------

any_faith_ruler - Iterate through rulers of the scoped faith
any_faith_ruler = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: faith
Supported Targets: character

--------------------

any_holy_site - Iterate through all holy site baronies of a faith
any_holy_site = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: faith
Supported Targets: landed_title

--------------------

controls_holy_site - Does the faith control a holy site? controls_holy_site = key_of_holy_site
Supported Scopes: faith

--------------------

controls_holy_site_with_flag - Does the faith control a holy site with the given flag? controls_holy_site_with_flag = some flag
Supported Scopes: faith

--------------------

estimated_faith_strength - How strong is the scoped faith? *Expensive*, if you're gonna use the value repeatedly, save it to a scope first! This is scaled by a factor of 1000, so '1' means 1000 men. This is due to the cap of ~2 million, which would be too low in many cases
Traits: <, <=, =, !=, >, >=
Supported Scopes: faith

--------------------

faith_hostility_level - What is the faith's hostility level towards the target faith? faith_hostility_level { target = scope:some_faith value > 1 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: faith

--------------------

faith_hostility_level_comparison - Compares the scoped faith's hostility level towards two other faiths. faith_hostility_level_comparison { faith1 > faith2 }
Supported Scopes: faith

--------------------

fervor - What is the faith's fervor?
Traits: <, <=, =, !=, >, >=
Supported Scopes: faith

--------------------

has_allowed_gender_for_clergy - Is the target character of the allowed gender to be clergy of the faith?
Traits: character target 
Supported Scopes: faith

--------------------

has_doctrine - Does the given faith have the given doctrine?? has_doctrine = doctrine_key
Traits: class CFaithDoctrineDatabase key
Supported Scopes: faith
Supported Targets: doctrine

--------------------

has_doctrine_parameter - Does the given faith have the given doctrine parameter? Can only check for bool parameters. has_doctrine_parameter = parameter_key
Supported Scopes: faith

--------------------

has_dominant_ruling_gender - Is the target character's gender a dominant ruling gender of the faith? Also evaluates to true if there's no dominant ruling gender
Traits: character target 
Supported Scopes: faith

--------------------

has_graphical_faith - Does the faith have this graphical faith?
<faith> = { has_graphical_faith = orthodoxgfx }
Supported Scopes: faith

--------------------

has_icon - Does the faith have the given icon
has_icon = some_cool_custom_icon
Supported Scopes: faith

--------------------

has_preferred_gender_for_clergy - Is the target character of the preferred gender to be clergy of the faith?
Traits: character target 
Supported Scopes: faith

--------------------

holy_sites_controlled - How many holy sites does the faith control? holy_sites_controlled > 1
Traits: <, <=, =, !=, >, >=
Supported Scopes: faith

--------------------

num_character_followers - Returns how many characters follow the given faith
num_character_followers > 0
Traits: <, <=, =, !=, >, >=
Supported Scopes: faith

--------------------

num_county_followers - Returns how many counties follow the given faith
num_county_followers > 0
Traits: <, <=, =, !=, >, >=
Supported Scopes: faith

--------------------

religion_tag - checks the tag of the religion of the current faith
Supported Scopes: faith

--------------------

trait_is_sin - Does the scoped faith consider the given trait a sin?
trait_is_sin = lustful
Traits: class CTraitDatabase key
Supported Scopes: faith
Supported Targets: trait

--------------------

trait_is_virtue - Does the scoped faith consider the given trait a virtue?
trait_is_virtue = lustful
Traits: class CTraitDatabase key
Supported Scopes: faith
Supported Targets: trait

--------------------

any_interloper_ruler - Iterate through all characters that are interloper in a struggle.
any_interloper_ruler = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: struggle
Supported Targets: character

--------------------

any_involved_county - Iterate through all counties that are involved in a struggle
any_involved_county = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: struggle
Supported Targets: landed_title

--------------------

any_involved_ruler - Iterate through all characters that are involved in a struggle.
any_involved_ruler = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: struggle
Supported Targets: character

--------------------

has_struggle_phase_parameter - Does the given struggle's current phase have the given parameter? Can only check for bool parameters. has_struggle_phase_parameter = parameter_key
Supported Scopes: struggle

--------------------

is_culture_involved_in_struggle - is the culture involved in struggle?
	is_culture_involved_in_struggle = culture:english
Traits: culture scope
Supported Scopes: struggle
Supported Targets: culture

--------------------

is_faith_involved_in_struggle - is the faith involved in struggle?
	is_faith_involved_in_struggle  = faith:baltic_pagan
Traits: faith scope
Supported Scopes: struggle
Supported Targets: faith

--------------------

is_struggle_phase - is the scope struggle's current phase particular phase?
	is_struggle_phase = struggle_iberia_phase_opportunity
Supported Scopes: struggle

--------------------

is_struggle_type - is the scope struggle's type particular type?
	is_struggle_type = iberian_struggle
Supported Scopes: struggle

--------------------

phase_has_catalyst - Is any of the future phases affected by the given catalyst?phase_has_catalyst = catalyst_key
Supported Scopes: struggle

--------------------

agent_slot_contribution - The contribution value given by the scoped filled agent slot.
Traits: <, <=, =, !=, >, >=
Supported Scopes: agent_slot

--------------------

agent_slot_has_contribution_type - Does the agent slot have provide the given type of contribution?
Supported types: 'secrecy', 'success_chance', 'success_chance_growth', 'success_chance_max' and 'speed'
agent_slot_has_contribution_type = <type>
Supported Scopes: agent_slot

--------------------

is_agent_slot_type - Does the Agent Slot have the given type?
is_agent_slot_type = key
Supported Scopes: agent_slot

--------------------

is_filled - Is this agent slot filled?
Traits: yes/no 
Supported Scopes: agent_slot

--------------------

any_pledged_attacker - Iterate through all pledged attackers within a great holy war
any_pledged_attacker = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: ghw
Supported Targets: character

--------------------

any_pledged_defender - Iterate through all pledged defenders within a great holy war
any_pledged_defender = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: ghw
Supported Targets: character

--------------------

days_until_ghw_launch - How many days is it until the given GHW launches its war?
Traits: <, <=, =, !=, >, >=
Supported Scopes: ghw

--------------------

ghw_attackers_strength - What is the max (if all levies were fully reinforced) military strength of the pledged attackers in the given Great Holy War?
Traits: <, <=, =, !=, >, >=
Supported Scopes: ghw

--------------------

ghw_defenders_strength - What is the max (if all levies were fully reinforced) military strength of the pledged defenders in the given Great Holy War?
Traits: <, <=, =, !=, >, >=
Supported Scopes: ghw

--------------------

ghw_war_chest_gold - How much gold is in the great holy war's war chest?
Traits: <, <=, =, !=, >, >=
Supported Scopes: ghw

--------------------

ghw_war_chest_piety - How much piety is in the great holy war's war chest?
Traits: <, <=, =, !=, >, >=
Supported Scopes: ghw

--------------------

ghw_war_chest_prestige - How much prestige is in the great holy war's war chest?
Traits: <, <=, =, !=, >, >=
Supported Scopes: ghw

--------------------

has_forced_defender - Is the target character forced to be a defender in the given Great Holy War?
Traits: character scope
Supported Scopes: ghw
Supported Targets: character

--------------------

has_pledged_attacker - Is the target character pledged as an attacker in the given Great Holy War?
Traits: character scope
Supported Scopes: ghw
Supported Targets: character

--------------------

has_pledged_defender - Is the target character pledged as a defender in the given Great Holy War?
Traits: character scope
Supported Scopes: ghw
Supported Targets: character

--------------------

is_directed_ghw - Is the scoped GHW a directed GHW?
Traits: yes/no 
Supported Scopes: ghw

--------------------

any_infected_province - Gets all provinces infected by the scoped epidemic
any_infected_province = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: epidemic
Supported Targets: province

--------------------

days_since_outbreak_start - Number of days since the epidemic outbreak started.
days_since_outbreak_start >= 20
Traits: <, <=, =, !=, >, >=
Supported Scopes: epidemic

--------------------

outbreak_intensity - Get the outbreak intensity of this epidemic.
outbreak_intensity = major
Traits: minor, major, apocalyptic
Supported Scopes: epidemic

--------------------

outbreak_start_date - Date when the epidemic outbreak began.
Traits: <, <=, =, >, >= valid date
Supported Scopes: epidemic

--------------------

total_infected_provinces - Get the total number of provinces infected over the lifetime of this epidemic.
total_infected_provinces >= 20
Traits: <, <=, =, !=, >, >=
Supported Scopes: epidemic

--------------------

any_tax_slot_vassal - Iterates through all Vassals assigned to the scoped Tax Slot
any_tax_slot_vassal = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: tax_slot
Supported Targets: character

--------------------

available_taxpayer_slots - How many slots for taxpayers are available in scoped tax slot?
scope:tax_slot = { available_tax_player_slots > 2 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: tax_slot

--------------------

has_tax_collector - has_tax_collector = yes
Does the scoped Tax Slot have any Tax Collector employed?
Traits: yes/no 
Supported Scopes: tax_slot

--------------------

is_active_obligation - Is this the current active tax obligation?
scope:tax_slot = { is_active_obligation = obligation_key }
Supported Scopes: tax_slot

--------------------

accolade_type_tier - Is the scoped Accolade Type's tier equal to?
Supported Scopes: accolade_type

--------------------

type_has_accolade_category - Does the scoped Accolade Type have the given category?
type_has_accolade_category = flag
Supported Scopes: accolade_type

--------------------

has_tradition_category - has_tradition_category = realm
Does the scoped tradition belong to the specified category?
Supported Scopes: culture_tradition

--------------------

any_target_title - Iterate through all casus belli's target titles
any_target_title = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: casus_belli
Supported Targets: landed_title

--------------------

any_artifact_claimant - Iterate through all characters with a claim on the scoped artifact
any_artifact_claimant = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: artifact
Supported Targets: character

--------------------

any_artifact_house_claimant - Iterate through all dynasty houses with a claim on the scoped artifact
any_artifact_house_claimant = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: artifact
Supported Targets: dynasty_house

--------------------

artifact_durability - does this artifact have the required durability?
Traits: <, <=, =, !=, >, >=
Supported Scopes: artifact

--------------------

artifact_max_durability - does this artifact have the required max durability?
Traits: <, <=, =, !=, >, >=
Supported Scopes: artifact

--------------------

artifact_slot_type - is the artifact of the given inventory slot type?
Supported Scopes: artifact

--------------------

artifact_type - is the artifact of the given type?
Supported Scopes: artifact

--------------------

can_be_claimed_by - Can the scoped artifact be claimed by the given character?
Traits: character scope
Supported Scopes: artifact
Supported Targets: character

--------------------

category - is the scoped artifact of given category?
Supported Scopes: artifact

--------------------

has_artifact_feature - Does the artifact have the given feature?
has_artifact_feature = key
Supported Scopes: artifact

--------------------

has_artifact_feature_group - Does the artifact have the given feature group?
has_artifact_feature_group = key
Supported Scopes: artifact

--------------------

has_artifact_modifier - Does the artifact have the given modifier?
has_artifact_modifier  = key
Supported Scopes: artifact

--------------------

is_equipped - is the scoped artifact currently equipped in its owners inventory?
Traits: yes/no 
Supported Scopes: artifact

--------------------

is_unique - Is the scoped artifact unique
defined in the scripted template of the artifact
Traits: yes/no 
Supported Scopes: artifact

--------------------

num_artifact_kills - How many kills has this artifact been used in?
Traits: <, <=, =, !=, >, >=
Supported Scopes: artifact

--------------------

rarity - is the scoped artifact of given rarity?
Supported Scopes: artifact

--------------------

should_decay - should the scoped artifact decay with time?
Traits: yes/no 
Supported Scopes: artifact

--------------------

mercenary_company_expiration_days - How many days are left in the mercenary contract. 0 if not hired.
Traits: <, <=, =, !=, >, >=
Supported Scopes: mercenary_company

--------------------

any_killed_character - Iterate through all kills of a character
any_killed_character = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character, artifact
Supported Targets: character

--------------------

add_to_temporary_list - Saves a temporary target for use during the trigger execution
This is used to build lists in triggers.
If used within an any-trigger, placement within the trigger is quite important. The game will iterate through every instance of the any-trigger until it finds a single instance that fulfills the requirements, and then it will stop.
In order to add every instance of a scope that fulfills certain conditions, use "count = all" while also placing this "effect" at the very end of the any-trigger (so that every condition is evaluated for every iteration).
Supported Scopes: none

--------------------

all_false - true if all children are false (equivalent to NOR)
Supported Scopes: none

--------------------

always - checks if the assigned yes/no value is true
always = yes # always succeeds
always = no  # always fails
always = scope:a_boolean_value # evaluated at runtime
Traits: yes/no 
Supported Scopes: none

--------------------

and - all inside trigger must be true
Supported Scopes: none

--------------------

any_accolade_type - Iterate through every accolade_type in the database
any_accolade_type = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: accolade_type

--------------------

any_activity - Iterate through all activities in the world
any_activity = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: activity

--------------------

any_activity_type - Iterate through every activity_type in the database
any_activity_type = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: activity_type

--------------------

any_artifact - Iterate through all existing artifacts
any_artifact = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: artifact

--------------------

any_barony - Iterate through all baronies in the game
any_barony = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: landed_title

--------------------

any_casus_belli_type - Iterate through every casus_belli_type in the database
any_casus_belli_type = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: casus_belli_type

--------------------

any_character_with_royal_court - Iterate through all characters with a royal court
any_character_with_royal_court = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: character

--------------------

any_completed_legend - Gets all legends in the world that have been completed
any_completed_legend = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: legend

--------------------

any_county - Iterate through all counties in the game
any_county = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: landed_title

--------------------

any_county_in_region - Iterate through all counties in the region. Put 'region = region_name' inside it
any_county_in_region = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: landed_title

--------------------

any_culture_global - Iterate through all cultures in the game
any_culture_global = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: culture

--------------------

any_culture_pillar - Iterate through every culture_pillar in the database
any_culture_pillar = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: culture_pillar

--------------------

any_culture_tradition - Iterate through every culture_tradition in the database
any_culture_tradition = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: culture_tradition

--------------------

any_decision - Iterate through every decision in the database
any_decision = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: decision

--------------------

any_doctrine - Iterate through every doctrine in the database
any_doctrine = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: doctrine

--------------------

any_domicile - Iterate through all domiciles
any_domicile = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: domicile

--------------------

any_duchy - Iterate through all duchies in the game
any_duchy = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: landed_title

--------------------

any_empire - Iterate through all empires in the game
any_empire = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: landed_title

--------------------

any_epidemic - Gets all epidemics in the world
any_epidemic = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: epidemic

--------------------

any_epidemic_type - Iterate through every epidemic_type in the database
any_epidemic_type = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: epidemic_type

--------------------

any_false - true if any child is false (equivalent to NAND)
Supported Scopes: none

--------------------

any_geographical_region - Iterate through every geographical_region in the database
any_geographical_region = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: geographical_region

--------------------

any_government_type - Iterate through every government_type in the database
any_government_type = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: government_type

--------------------

any_holding_type - Iterate through every holding_type in the database
any_holding_type = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: holding_type

--------------------

any_important_location - Iterate through all counties that are important for at least some title
any_important_location = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: landed_title

--------------------

any_in_global_list - Iterate through all items in global list. list = name or variable = name
any_in_global_list = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none

--------------------

any_in_list - Iterate through all items in list. list = name or variable = name
any_in_list = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none

--------------------

any_in_local_list - Iterate through all items in local list. list = name or variable = name
any_in_local_list = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none

--------------------

any_independent_ruler - Independent rulers list with a COUNT tier or above who hold land
any_independent_ruler = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: character

--------------------

any_inspiration - Iterate through all inspirations in the world
any_inspiration = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: inspiration

--------------------

any_inspired_character - Iterate through all characters with an inspirations in the world
any_inspired_character = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: character

--------------------

any_interested_title - Iterate through all titles that are interested in any county
any_interested_title = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: landed_title

--------------------

any_kingdom - Iterate through all kingdoms in the game
any_kingdom = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: landed_title

--------------------

any_legend - Gets all legends in the world that have not been completed
any_legend = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: legend

--------------------

any_legend_type - Iterate through every legend_type in the database
any_legend_type = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: legend_type

--------------------

any_living_character - Iterate through all living characters
any_living_character = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: character

--------------------

any_mercenary_company - Iterate through all mercenary companies
any_mercenary_company = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: mercenary_company

--------------------

any_open_invite_activity - Iterate through all open invite activities in the world
any_open_invite_activity = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: activity

--------------------

any_player - Iterate through all player characters
any_player = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: character

--------------------

any_pool_character - Iterate through all characters in the pool of the given province
any_pool_character = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: character

--------------------

any_province - Iterate through all provinces (skips non-land and impassable provinces)
any_province = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: province

--------------------

any_religion_global - Iterate through all religions in the game
any_religion_global = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: religion

--------------------

any_ruler - Rulers list with a COUNT tier o above
any_ruler = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: character

--------------------

any_special_building_province - Iterate through all provinces with a special building slot (built or un-built)
any_special_building_province = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: province

--------------------

any_task_contract - Gets all available and accepted task contracts.
any_task_contract = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: task_contract

--------------------

any_task_contract_type - Iterate through every task_contract_type in the database
any_task_contract_type = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: task_contract_type

--------------------

any_trait - Iterate through every trait in the database
any_trait = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: trait

--------------------

any_trait_in_category - Iterate through all traits in a given category
any_trait_in_category = { category = fame/health/etc }
any_trait_in_category = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: trait

--------------------

any_vassal_contract - Iterate through every vassal_contract in the database
any_vassal_contract = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: none
Supported Targets: vassal_contract

--------------------

assert_if - Conditionally cause an assert during run time
assert_if = { limit = { X } text = Y }, where X is a trigger and Y is an optional string
Supported Scopes: none

--------------------

assert_read - Conditionally cause an assert during read time
assert_read = X, where X is yes or the string to be printed in the assert
Supported Scopes: none

--------------------

calc_true_if - Returns true if the specified number of sub-triggers return true
calc_true_if = { amount = 2 <trigger> <trigger> <trigger> }
Supported Scopes: none

--------------------

can_start_tutorial_lesson - Can the specified tutorial lesson be started?
can_start_tutorial_lesson = reactive_advice_succession
An interface trigger, can only be used in specific places
Supported Scopes: none

--------------------

current_computer_date - Compare the current computer date.
An interface trigger, can only be used in specific places
Traits: <, <=, =, >, >= valid date
Supported Scopes: none

--------------------

current_computer_date_day - Compare the current computer day.
An interface trigger, can only be used in specific places
Traits: <, <=, =, !=, >, >=
Supported Scopes: none

--------------------

current_computer_date_month - Compare the current computer month.
An interface trigger, can only be used in specific places
Traits: <, <=, =, !=, >, >=
Supported Scopes: none

--------------------

current_computer_date_year - Compare the current computer year.
An interface trigger, can only be used in specific places
Traits: <, <=, =, !=, >, >=
Supported Scopes: none

--------------------

current_date - Compare the current ingame date.
Traits: <, <=, =, >, >= valid date
Supported Scopes: none

--------------------

current_day - Compare the current ingame day [1, 31]
Traits: <, <=, =, !=, >, >=
Supported Scopes: none

--------------------

current_month - Compare the current ingame month [1..12]
Traits: <, <=, =, !=, >, >=
Supported Scopes: none

--------------------

current_tooltip_depth - What is number of tooltips open rigth now?
An interface trigger, can only be used in specific places
Traits: <, <=, =, !=, >, >=
Supported Scopes: none

--------------------

current_year - Compare the current ingame year
Traits: <, <=, =, !=, >, >=
Supported Scopes: none

--------------------

custom_description - Wraps triggers that get a custom description instead of the auto-generated one
custom_description = {
	text = <trigger_localization_key>
	subject = <optional subject scope> #defaults to current scope
	object = <optional object scope>
	value = <optional script value>
	... triggers ...
}
Supported Scopes: none

--------------------

custom_tooltip - Replaces the tooltips for the enclosed triggers with a custom text
custom_tooltip = {
	text = <text>
	subject = <scope> (optional)
	<trigger>
}
Supported Scopes: none

--------------------

debug_log - Log whether the parent trigger succeeded or failed
Supported Scopes: none

--------------------

debug_log_details - Log whether the parent trigger succeeded or failed. Log which children succeeded or failed
Supported Scopes: none

--------------------

debug_only - Checks if the game is in debug mode or not.
Traits: yes/no 
Supported Scopes: none

--------------------

exists - Checks whether the specified scope target exists (check for not being the null object)
exists = from.owner.var:cool_var.mother
Supported Scopes: none

--------------------

game_start_date - Compare the date of the bookmarked game launched.
Traits: <, <=, =, >, >= valid date
Supported Scopes: none

--------------------

global_variable_list_size - Checks the size of a variable list
variable_list_size = { name = X target >= Y }
Where X is the name of the variable
Where Y is a script value or number
Supported Scopes: none

--------------------

has_dlc - Does the host have this DLC
Traits: Valid DLCs: The Fate of Iberia, Tours and Tournaments, Elegance of the Empire, North African Attire, Roads to Power, Couture of the Capets, Legends of the Dead, The Northern Lords, Garments of the Holy Roman Empire, The Royal Court, Legacy of Persia, Fashion of the Abbasid Court, Friends and Foes, and Wards and Wardens
Supported Scopes: none

--------------------

has_dlc_feature - Does the host have DLC that enables this particular feature
Traits: Valid Features: garments_of_the_hre, fashion_of_the_abbasid_court, the_northern_lords, hybridize_culture, diverge_culture, royal_court, reform_culture, court_artifacts, the_fate_of_iberia, friends_and_foes, tours_and_tournaments, advanced_activities, accolades, legacy_of_persia, elegance_of_the_empire, wards_and_wardens, legends_of_the_dead, legends, north_african_attire, couture_of_the_capets, landless_playable, admin_gov, roads_to_power, and court_room_view
Supported Scopes: none

--------------------

has_game_rule - Is the given game rule setting enabled?
has_game_rule = faster_conversion
Supported Scopes: none

--------------------

has_global_variable - Checks whether the current scope has the specified variable set
has_variable = name
Supported Scopes: none

--------------------

has_global_variable_list - Checks whether the current scope has the specified variable list set
has_variable_list = name
Supported Scopes: none

--------------------

has_local_player_open_court_event - Has the local player opened a court event in the royal court view?
An interface trigger, can only be used in specific places
Traits: yes/no 
Supported Scopes: none

--------------------

has_local_player_seen_unopened_court_event - Has the local player seen the unopened court event(s) waiting in the royal court view?
An interface trigger, can only be used in specific places
Traits: yes/no 
Supported Scopes: none

--------------------

has_local_player_unopened_court_event - Has the local player an unopened court event waiting in the royal court view?
An interface trigger, can only be used in specific places
Traits: yes/no 
Supported Scopes: none

--------------------

has_local_variable - Checks whether the current scope has the specified variable set
has_variable = name
Supported Scopes: none

--------------------

has_local_variable_list - Checks whether the current scope has the specified variable list set
has_variable_list = name
Supported Scopes: none

--------------------

has_map_mode - Checks if the current map mode is the specified one
has_map_mode = realms
An interface trigger, can only be used in specific places
Supported Scopes: none

--------------------

has_multiple_players - Does the game have at least two players currently connected?
Traits: yes/no 
Supported Scopes: none

--------------------

has_reward_item - Does the player have a reward item
An interface trigger, can only be used in specific places
Supported Scopes: none

--------------------

has_variable - Checks whether the current scope has the specified variable set
has_variable = name
Supported Scopes: none

--------------------

has_variable_list - Checks whether the current scope has the specified variable list set
has_variable_list = name
Supported Scopes: none

--------------------

has_vassal_stance - Does the scoped vassal character have the given vassal stance
has_vassal_stance = glory_hound
Supported Scopes: none

--------------------

has_war_result_message_with_outcome - Is there a war result message with the specified outcome?
has_war_result_message_with_outcome = victory/defeat/white_peace/invalidated/any
An interface trigger, can only be used in specific places
Supported Scopes: none

--------------------

is_bad_nickname - Is the nickname bad?
Supported Scopes: none

--------------------

is_frontend_character_selected - is the specified front end character selected (also can be used with "= yes" and "= no")?
An interface trigger, can only be used in specific places
Supported Scopes: none

--------------------

is_game_view_open - is the specified in-game view open?
An interface trigger, can only be used in specific places
Supported Scopes: none

--------------------

is_gamestate_tutorial_active - Is the gamestate tutorial active? See save_progress_in_gamestate in tutorial_lesson_chains documentation.
An interface trigger, can only be used in specific places
Traits: yes/no 
Supported Scopes: none

--------------------

is_in_list - Checks if a target in in a list
Supported Scopes: none

--------------------

is_mercenary_in_hire_range - Is the mercenary company within the hiring range of the target character.
is_mercenary_in_hire_range = scope:character
Traits: character scope
Supported Scopes: none
Supported Targets: character

--------------------

is_player_selected - is the player playing a character?
An interface trigger, can only be used in specific places
Traits: yes/no 
Supported Scopes: none

--------------------

is_rightful_liege_of - Was the target character the preferred heir of the scoped character
was_preferred_heir = scope:character
Traits: character scope
Supported Scopes: none
Supported Targets: character

--------------------

is_set - Checks whether the specified scope target has been set (includes being the null object)
is_set = from.owner.var:cool_var.mother
Supported Scopes: none

--------------------

is_target_in_global_variable_list - Checks if a target is in a variable list
is_target_in_variable_list = { name = X target = Y }
Where X is the name of the variable
Where Y is an event target
Supported Scopes: none

--------------------

is_target_in_local_variable_list - Checks if a target is in a variable list
is_target_in_variable_list = { name = X target = Y }
Where X is the name of the variable
Where Y is an event target
Supported Scopes: none

--------------------

is_target_in_variable_list - Checks if a target is in a variable list
is_target_in_variable_list = { name = X target = Y }
Where X is the name of the variable
Where Y is an event target
Supported Scopes: none

--------------------

is_tooltip_with_name_open - is the tooltip with the specified name open?
An interface trigger, can only be used in specific places
Supported Scopes: none

--------------------

is_tutorial_active - Is the tutorial active?
An interface trigger, can only be used in specific places
Traits: yes/no 
Supported Scopes: none

--------------------

is_tutorial_lesson_active - Is this the current tutorial lesson?
is_tutorial_lesson_active = reactive_advice_succession
An interface trigger, can only be used in specific places
Supported Scopes: none

--------------------

is_tutorial_lesson_chain_completed - Has the tutorial lesson chain with the specified key been finished?
An interface trigger, can only be used in specific places
Supported Scopes: none

--------------------

is_tutorial_lesson_completed - has the tutorial lesson with the specified name been finished?
An interface trigger, can only be used in specific places
Supported Scopes: none

--------------------

is_tutorial_lesson_step_completed - Has the tutorial lesson step been finished?
is_tutorial_lesson_step_completed = lesson_key:step_key
An interface trigger, can only be used in specific places
Supported Scopes: none

--------------------

is_war_overview_tab_open - is the war overview open at a specified tab (victory, defeat, white_peace)?
An interface trigger, can only be used in specific places
Supported Scopes: none

--------------------

is_widgetid_open - Is the widget with the specified `widgetid` open (visible and not animating)?
The fastest and safest way to check. (replaces old `is_widget_open` functionality, which operated on names.)
An interface trigger, can only be used in specific places
Supported Scopes: none

--------------------

list_size - Checks the size of a list
list_size = { name = X value >= Y }
Where X is the name of the list
Where Y is a script value
Traits: <, <=, =, !=, >, >=
Supported Scopes: none

--------------------

local_variable_list_size - Checks the size of a variable list
variable_list_size = { name = X target >= Y }
Where X is the name of the variable
Where Y is a script value or number
Supported Scopes: none

--------------------

meets_legitimacy_expectation_of - Does the scoped character meet the legitimacy expectations of the target AI vassal
meets_legitimacy_expectation_of = scope:some_vassal
Traits: character scope
Supported Scopes: none
Supported Targets: character

--------------------

nand - a negated AND trigger
Supported Scopes: none

--------------------

nor - a negated OR trigger
Supported Scopes: none

--------------------

not - negates content of trigger
Supported Scopes: none

--------------------

or - at least one entry inside trigger must be true
Supported Scopes: none

--------------------

perks_in_diplomacy_lifestyle - How many perks does this lifestyle have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: none

--------------------

perks_in_intrigue_lifestyle - How many perks does this lifestyle have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: none

--------------------

perks_in_learning_lifestyle - How many perks does this lifestyle have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: none

--------------------

perks_in_martial_lifestyle - How many perks does this lifestyle have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: none

--------------------

perks_in_stewardship_lifestyle - How many perks does this lifestyle have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: none

--------------------

release_only - Checks if the game is in release mode or not.
Traits: yes/no 
Supported Scopes: none

--------------------

save_temporary_opinion_value_as - Saves the scoped character's opinion of the target character as an arbitrarily-named target to be referenced later in the in the same trigger
save_temporary_opinion_value_as = { name = <string> target = x 
Supported Scopes: none

--------------------

save_temporary_scope_as - Saves a temporary target for use during the trigger execution
Supported Scopes: none

--------------------

save_temporary_scope_value_as - Saves a numerical or bool value as an arbitrarily-named temporary target to be referenced later in the same effect
save_temporary_scope_value_as = { name = <string> value = x }
Supported Scopes: none

--------------------

scripted_tests - Checks if the game is currently running scripted tests.
Traits: yes/no 
Supported Scopes: none

--------------------

should_show_disturbing_portrait_modifiers - can disturbing portrait modifiers be shown?
An interface trigger, can only be used in specific places
Traits: yes/no 
Supported Scopes: none

--------------------

should_show_nudity - can nudity be shown?
An interface trigger, can only be used in specific places
Traits: yes/no 
Supported Scopes: none

--------------------

switch - Switch on a trigger for the evaluation of another trigger with an optional fallback trigger.
switch = {
	trigger = simple_assign_trigger
	case_1 = { <triggers> }
	case_2 = { <triggers> }
	case_n = { <triggers> }
	fallback = { <triggers> }
Supported Scopes: none

--------------------

time_of_year - Check if the current date is within the bounds
time_of_year = {
    min = 11.1 # default: beginning of year
    max = 2.29 # default: end of year
}
Dates are formatted as "<month>.<day>" or just "<month>".
The check includes the min and max dates.
min can be larger than max, in this case we wrap around to the next year (i.e., February is between October and March).
Supported Scopes: none

--------------------

trigger_else - Evaluates the triggers if the display_triggers of preceding 'trigger_if' or 'trigger_else_if' is not mettrigger_if = { limit = { <display_triggers> } <triggers> }
 trigger_else = { <triggers> }
Supported Scopes: none

--------------------

trigger_else_if - Evaluates the enclosed triggers if the display_triggers of the preceding `trigger_if` or `trigger_else_if` is not met and its own display_trigger of the limit is mettrigger_if = { limit = { <display_triggers> } <triggers> }
trigger_else_if = { limit = { <display_triggers> } <triggers> }
Supported Scopes: none

--------------------

trigger_if - Evaluates the triggers if the display_triggers of the limit are met
trigger_if = { limit = { <display_triggers> } <triggers> }
Supported Scopes: none

--------------------

variable_list_size - Checks the size of a variable list
variable_list_size = { name = X target >= Y }
Where X is the name of the variable
Where Y is a script value or number
Supported Scopes: none

--------------------

was_preferred_heir - Was the target character the preferred heir of the scoped character
was_preferred_heir = scope:character
Traits: character scope
Supported Scopes: none
Supported Targets: character

--------------------

weighted_calc_true_if - Returns true if the sum of weights of fulfilled sub-triggers amount to the specified sum
weighted_calc_true_if = { amount = 10 5 = { <trigger> } 15 = { <trigger> } 7 = { <trigger> } }
Supported Scopes: none

--------------------

years_from_game_start - How many years it has been since the start of the game
years_from_game_start > 5
Traits: <, <=, =, !=, >, >=
Supported Scopes: none

--------------------

any_army_in_location - Iterate through all armies currently located in the scoped province
any_army_in_location = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: province
Supported Targets: army

--------------------

any_character_in_location - Iterate through all characters currently located in the scoped province
any_character_in_location = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: province
Supported Targets: character

--------------------

any_neighboring_province - Iterate through all neighboring provinces of a province
any_neighboring_province = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: province
Supported Targets: province

--------------------

any_province_domicile - Iterate through all domiciles of scoped province
any_province_domicile = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: province
Supported Targets: domicile

--------------------

any_province_epidemic - Gets epidemics affecting the scoped province
any_province_epidemic = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: province
Supported Targets: epidemic

--------------------

any_province_legend - Gets legends affecting the scoped province
any_province_legend = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: province
Supported Targets: legend

--------------------

available_loot - How much gold is available to loot for raiding armies?
available_loot >= 7
Traits: <, <=, =, !=, >, >=
Supported Scopes: province

--------------------

building_slots - How many building slots exist (including occupied ones)?
building_slots > 3
Traits: <, <=, =, !=, >, >=
Supported Scopes: province

--------------------

combined_building_level - How many levels of normal buildings are there? Duchy and such buildings do not count. Building under construction does not count. The capital building does count
combined_building_level > 10
Traits: <, <=, =, !=, >, >=
Supported Scopes: province

--------------------

days_since_province_infection - Number of days since the target epidemic infected the scoped province.
days_since_province_infection >= 20
Traits: <, <=, =, !=, >, >=
Supported Scopes: province

--------------------

epidemic_resistance - Get the epidemic resistance of the scoped province.
epidemic_resistance >= 20
Traits: <, <=, =, !=, >, >=
Supported Scopes: province

--------------------

fort_level - Compares the fort level of a province
Traits: <, <=, =, !=, >, >=
Supported Scopes: province

--------------------

free_building_slots - How many free building slots exist? A building in construction is considered to be taking a slot
free_building_slots > 3
Traits: <, <=, =, !=, >, >=
Supported Scopes: province

--------------------

geographical_region - Checks if a province is in a certain geographical region
Traits: class CGeographicalRegionDatabase key
Supported Scopes: province
Supported Targets: geographical_region

--------------------

has_building - does the scope province have a particular building?
	has_building = temple_01
Supported Scopes: province

--------------------

has_building_or_higher - does the scope province have a particular building or its successor?
	has_building_or_higher = temple_01
Supported Scopes: province

--------------------

has_building_with_flag - does the scope province have a building with a certain flag?
	has_building_with_flag = { flag = temple count >= 2 }
	has_building_with_flag = temple # count >= 1
Supported Scopes: province

--------------------

has_construction_with_flag - does the scope province have a construction of a building with the specified flag?
	has_construction_with_flag = temple
Supported Scopes: province

--------------------

has_free_building_slot - does the scope province have a free building slot? has_free_building_slot = yes
Traits: yes/no 
Supported Scopes: province

--------------------

has_holding - does the scope province have holding?
	has_holding = yes
Traits: yes/no 
Supported Scopes: province

--------------------

has_holding_type - does the scope province have a holding of particular type?
	has_holding_type = castle_holding
Supported Scopes: province

--------------------

has_ongoing_construction - does the scope province have a construction ongoing?
	has_ongoing_construction = yes
Traits: yes/no 
Supported Scopes: province

--------------------

has_province_modifier - Does the scoped province have a given modifier
has_province_modifier = name
Supported Scopes: province

--------------------

has_province_modifier_duration_remaining - Does the scoped province have the duration remaining on a given modifier
has_province_modifier_duration_remaining = name
Supported Scopes: province

--------------------

has_special_building - Does the province (holding) have a special building?
Traits: yes/no 
Supported Scopes: province

--------------------

has_special_building_slot - Does the province (holding) have a special building slot?
Traits: yes/no 
Supported Scopes: province

--------------------

has_stationed_regiment - Does this province have stationed regiments?
Traits: yes/no 
Supported Scopes: province

--------------------

has_stationed_regiment_of_base_type - Does the province have stationed regiment of base type?
Supported Scopes: province

--------------------

has_travel_point_of_interest - Checks if there is a travel point of interest of type X in the province.
has_travel_point_of_interest = point_of_interest_type
Traits: class CTravelPointOfInterestTypeDatabase key
Supported Scopes: province

--------------------

is_coastal - is the province a coastal province?
Traits: yes/no 
Supported Scopes: province

--------------------

is_county_capital - is the province the county capital?
Traits: yes/no 
Supported Scopes: province

--------------------

is_occupied - Is this province currently being occupied?
Traits: yes/no 
Supported Scopes: province

--------------------

is_raided - Is this province currently being raided?
Traits: yes/no 
Supported Scopes: province

--------------------

is_river_province - is the province a river?
Traits: yes/no 
Supported Scopes: province

--------------------

is_riverside_province - is the province riverside?
Traits: yes/no 
Supported Scopes: province

--------------------

is_sea_province - Is this a sea province?
Traits: yes/no 
Supported Scopes: province

--------------------

monthly_income - Check the income of the scoped province
monthly_income > 10
Traits: <, <=, =, !=, >, >=
Supported Scopes: province

--------------------

num_buildings - How many normal buildings are there? Duchy and such buildings do not count. Building under construction does count
num_buildings > 3
Traits: <, <=, =, !=, >, >=
Supported Scopes: province

--------------------

number_of_characters_in_pool - Check the number of characters in the pool the scoped province is a part of
Traits: <, <=, =, !=, >, >=
Supported Scopes: province

--------------------

province_infection_date - Date when the target epidemic infected the scoped province.
Traits: <, <=, =, >, >= valid date
Supported Scopes: province

--------------------

province_infection_rate - Infection rate of target epidemic in the scoped province.
province_infection_rate >= 20
Traits: <, <=, =, !=, >, >=
Supported Scopes: province

--------------------

terrain - Checks if a province is of a specific terrain type
Supported Scopes: province

--------------------

travel_danger_type - Checks if a province's danger type is of a specific type for a specific travel plan
travel_danger_type = { travel_plan = scope:some_travel_plan type = name_of_danger_type }
travel_danger_type = { travel_plan = scope:some_travel_plan terrain = terrain type } 
Supported Scopes: province

--------------------

travel_danger_value - What is the province's danger value for a specific travel plan? travel_danger_value = { target = scope:some_travel_plan value > 1 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: province

--------------------

any_war_attacker - Iterate through all attackers in the war
any_war_attacker = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: war
Supported Targets: character

--------------------

any_war_defender - Iterate through all defenders in the war
any_war_defender = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: war
Supported Targets: character

--------------------

any_war_participant - Iterate through all participants in the war
any_war_participant = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: war
Supported Targets: character

--------------------

attacker_war_score - compares the attacker war score
Traits: <, <=, =, !=, >, >=
Supported Scopes: war

--------------------

days_since_max_war_score - Number of days since the war score has been at max (+100 or -100). Returns -1 if the war score is not +100 or -100
Traits: <, <=, =, !=, >, >=
Supported Scopes: war

--------------------

defender_war_score - compares the defender war score
Traits: <, <=, =, !=, >, >=
Supported Scopes: war

--------------------

has_valid_casus_belli - does the war interaction still have a valid casus belli (those should be automatically removed on daily tick, but can exist for a tick)
Traits: yes/no 
Supported Scopes: war

--------------------

is_attacker - is the target character in the scope war as an attacker?
Traits: character target 
Supported Scopes: war

--------------------

is_civil_war - Check if the scope war is a civil war or not
Traits: yes/no 
Supported Scopes: war

--------------------

is_defender - is the target character in the scope war as a defender?
Traits: character target 
Supported Scopes: war

--------------------

is_participant - is the target character participating in the scope war as an attacker or defender?
Traits: character target 
Supported Scopes: war

--------------------

is_war_leader - is the target character leading one of the sides in the scope war?
Traits: character target 
Supported Scopes: war

--------------------

is_white_peace_possible - Check if the scoped war's CB has is_white_peace_possible = yes
Traits: yes/no 
Supported Scopes: war

--------------------

using_cb - is the scope war using the specified CB? using_cb = religious_war
Supported Scopes: war

--------------------

war_contribution - Checks how much a character has contributed to the scoped war
war_contribution = {
target = some character
value > 5
}
Traits: <, <=, =, !=, >, >=
Supported Scopes: war

--------------------

war_days - compares the number of days the war is going on for
Traits: <, <=, =, !=, >, >=
Supported Scopes: war

--------------------

was_called - has the target character been called to the scope war already?
Traits: character target 
Supported Scopes: war

--------------------

any_leased_title - Iterate through all titles leased to a holy order
any_leased_title = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: holy_order
Supported Targets: landed_title

--------------------

num_leased_titles - How many holdings the holy order has under lease
Traits: <, <=, =, !=, >, >=
Supported Scopes: holy_order

--------------------

accolade_rank - How many ranks does this Accolade have unlocked?
accolade_rank > 2
Traits: <, <=, =, !=, >, >=
Supported Scopes: accolade

--------------------

has_accolade_category - Does any of the Accolades types have the given category flag?
has_accolade_category = flag
Supported Scopes: accolade

--------------------

has_accolade_parameter - Does any of the Accolades unlocked ranks have the given parameter flag?
has_accolade_parameter = flag
Supported Scopes: accolade

--------------------

has_accolade_type - Does the Accolade have the given type?
has_accolade_type = key
Supported Scopes: accolade

--------------------

has_potential_accolade_successors - Does the given Accolade's Owner have any character in their court ( including guests ) that could act as Successor of this Accolade if made into a Knight?
Traits: yes/no 
Supported Scopes: accolade

--------------------

is_accolade_active - Is the scoped Accolade active, i.e. assinged by their Liege?
Traits: yes/no 
Supported Scopes: accolade

--------------------

primary_tier - Is the scoped Accolade's primary type tier equal to?
Supported Scopes: accolade

--------------------

secondary_tier - Is the scoped Accolade's secondary type tier equal to?
Supported Scopes: accolade

--------------------

any_legend_promoter - Gets all promoters of the scoped legend
any_legend_promoter = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: legend
Supported Targets: character

--------------------

any_spread_province - Gets all provinces the scoped legend has spread into
any_spread_province = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: legend
Supported Targets: province

--------------------

days_since_legend_completion - Days since when the legend was completed.
Traits: <, <=, =, !=, >, >=
Supported Scopes: legend

--------------------

days_since_legend_start_date - Days since when the legend was created.
Traits: <, <=, =, !=, >, >=
Supported Scopes: legend

--------------------

has_legend_chapter - Does the legend have the given localization key set for the named chapter.
has_legend_chapter = { name = opening localization_key = default_legend_opening }
has_legend_chapter = opening
Supported Scopes: legend

--------------------

has_legend_chronicle - Does the scoped legend have the specified legend chronicle.
has_legend_chronicle = beast_slayer
Supported Scopes: legend

--------------------

has_legend_county_modifier - Does the scoped legend have a given modifier affecting the counties
has_legend_county_modifier = name
Supported Scopes: legend

--------------------

has_legend_county_modifier_duration_remaining - Does the scoped legend have the duration remaining on a given modifier affecting the counties
has_legend_county_modifier_duration_remaining = name
Supported Scopes: legend

--------------------

has_legend_owner_modifier - Does the scoped legend have a given modifier affecting the owner
has_legend_owner_modifier = name
Supported Scopes: legend

--------------------

has_legend_owner_modifier_duration_remaining - Does the scoped legend have the duration remaining on a given modifier affecting the owner
has_legend_owner_modifier_duration_remaining = name
Supported Scopes: legend

--------------------

has_legend_province_modifier - Does the scoped legend have a given modifier affecting the provinces
has_legend_province_modifier = name
Supported Scopes: legend

--------------------

has_legend_province_modifier_duration_remaining - Does the scoped legend have the duration remaining on a given modifier affecting the provinces
has_legend_province_modifier_duration_remaining = name
Supported Scopes: legend

--------------------

is_legend_completed - Is the scoped legend completed?.
scope:legend = {
	is_legend_completed = yes
}
Traits: yes/no 
Supported Scopes: legend

--------------------

legend_completion_date - Date when the legend was completed.
Traits: <, <=, =, >, >= valid date
Supported Scopes: legend

--------------------

legend_quality - Get the quality of this legend.
legend_quality = famed
Traits: famed, illustrious, mythical
Supported Scopes: legend

--------------------

legend_start_date - Date when the legend was created.
Traits: <, <=, =, >, >= valid date
Supported Scopes: legend

--------------------

any_scheme_agent_character - Iterate through all characters in agent slots in the scheme
any_scheme_agent_character = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: scheme
Supported Targets: character

--------------------

any_scheme_agent_slot - Iterate through all agent slots in the scheme
any_scheme_agent_slot = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: scheme
Supported Targets: agent_slot

--------------------

has_scheme_modifier - Is the scheme currently affected by the specified modifier? has_scheme_modifier = X
Supported Scopes: scheme

--------------------

is_hostile - Is the scoped scheme a hostile scheme?
is_hostile = bool
Traits: yes/no 
Supported Scopes: scheme

--------------------

is_scheme_agent_exposed - Is the target character an exposed agent in the scope scheme?
Traits: character target 
Supported Scopes: scheme

--------------------

is_scheme_category - Does the scheme have the given category?
Supported categories: 'hostile', 'contract', and 'personal'.
is_scheme_category = <category>
Supported Scopes: scheme

--------------------

is_scheme_exposed - Is the scheme exposed?
Traits: yes/no 
Supported Scopes: scheme

--------------------

is_scheme_target_type - Does the scheme have a target of the given type?
Supported types: character, title, faith, culture
is_scheme_target_type = <type>
Supported Scopes: scheme

--------------------

is_type_basic - Is the scoped scheme's type a basic type?
is_type_basic = bool
Traits: yes/no 
Supported Scopes: scheme

--------------------

is_type_secret - Is the scoped scheme's type a secret type?
is_type_secret = bool
Traits: yes/no 
Supported Scopes: scheme

--------------------

max_scheme_success_chance - Max Scheme Success Chance
Traits: <, <=, =, !=, >, >=
Supported Scopes: scheme

--------------------

maximum_scheme_breaches - The maximum number of breaches the scheme can have
Traits: <, <=, =, !=, >, >=
Supported Scopes: scheme

--------------------

scheme_agent_charges - The number of the scheme's currently available agent charges
Traits: <, <=, =, !=, >, >=
Supported Scopes: scheme

--------------------

scheme_breaches - The number of breaches the scheme currently has
Traits: <, <=, =, !=, >, >=
Supported Scopes: scheme

--------------------

scheme_duration_days - The number of days since scheme was started
Traits: <, <=, =, !=, >, >=
Supported Scopes: scheme

--------------------

scheme_is_character_agent - Is the target character part of this scheme?
Traits: character target 
Supported Scopes: scheme

--------------------

scheme_number_of_exposed_agents - The number of exposed agents in a scheme
Traits: <, <=, =, !=, >, >=
Supported Scopes: scheme

--------------------

scheme_number_of_filled_agent_slots - The number of agents in a scheme
Traits: <, <=, =, !=, >, >=
Supported Scopes: scheme

--------------------

scheme_phase_duration - Scheme phase duration
Traits: <, <=, =, !=, >, >=
Supported Scopes: scheme

--------------------

scheme_progress - Scheme progress (0 - 10 (defined))
Traits: <, <=, =, !=, >, >=
Supported Scopes: scheme

--------------------

scheme_secrecy - Scheme secrecy
Traits: <, <=, =, !=, >, >=
Supported Scopes: scheme

--------------------

scheme_skill - Is the scheme currently affected by the specified modifier? has_scheme_modifier = X
Supported Scopes: scheme

--------------------

scheme_success_chance - Scheme success chance
Traits: <, <=, =, !=, >, >=
Supported Scopes: scheme

--------------------

scheme_type - Is the scheme of the specified type? scheme_type = X
Supported Scopes: scheme

--------------------

story_type - Is the story in scope of this type?
Supported Scopes: story

--------------------

age - Get character age: scope:character = { age > 16 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

ai_boldness - AI boldness
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

ai_compassion - AI compassion
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

ai_diplomacy_stance - The AI's diplomatic view of the target character
ai_diplomacy_stance = {
    target = target_character
    stance = neutral/threat/enemy/friend
}
Supported Scopes: character

--------------------

ai_energy - AI energy
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

ai_greed - AI greed
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

ai_honor - AI honor
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

ai_rationality - AI rationality
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

ai_sociability - AI sociability
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

ai_values_divergence - target = other character value >/</= sum of differences in ai values
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

ai_vengefulness - AI vengefulness
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

ai_zeal - AI zeal
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

all_court_artifact_slots - check if all the scoped characters court artifact slots are empty or full
Supported Scopes: character

--------------------

all_inventory_artifact_slots - check if all the scoped characters inventory artifact slots are empty or full
Supported Scopes: character

--------------------

allowed_concubines - Can the scope owner have concubines?
Traits: yes/no 
Supported Scopes: character

--------------------

allowed_more_concubines - Can the scope owner have more concubines?
Traits: yes/no 
Supported Scopes: character

--------------------

allowed_more_spouses - Can the scope owner have more spouses?
Traits: yes/no 
Supported Scopes: character

--------------------

amenity_level - amenity_level = { type = food value >= 5 }
Compares the scoped character's amenity level in the given type to the given value
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

any_acclaimed_knight - Iterate through all acclaimed knights employed by a given character
any_acclaimed_knight = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_accolade - Iterate through all ( active and inactive ) Accolades of a given liege character's Acclaimed Knights
any_accolade = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: accolade

--------------------

any_active_accolade - Iterate through all active Accolades of a given liege character's Acclaimed Knights
any_active_accolade = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: accolade

--------------------

any_alert_creatable_title - Iterate through all titles that can be created by the character. (only for alerts)
any_alert_creatable_title = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_alert_usurpable_title - Iterate through all titles that can be usurped by the character. (only for alerts)
any_alert_usurpable_title = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_ally - Iterate through all allies
any_ally = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_ancestor - Iterate through all the ancestors of the scope character up to 5 generations
any_ancestor = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_army - Iterate through all armies
any_army = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: army

--------------------

any_available_task_contract - Iterate through all task contracts of location of root province
any_available_task_contract = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: task_contract

--------------------

any_character_active_contract - Gets all accepted task contracts of the root character
any_character_active_contract = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: task_contract

--------------------

any_character_artifact - Iterate through all artifacts in a given characters inventory
any_character_artifact = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: artifact

--------------------

any_character_epidemic - Gets epidemics affecting the scoped character
any_character_epidemic = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: epidemic

--------------------

any_character_struggle - Iterate through all struggles that character is involved in. Optional: Narrow down the involvement status *_chracter_struggle = { involvement = involved | interloper } 
any_character_struggle = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: struggle

--------------------

any_character_task_contract - Gets all task contracts of the scoped character
any_character_task_contract = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: task_contract

--------------------

any_character_to_title_neighboring_and_across_water_county - Scopes from a character to a neighboring county (incl. across water, looking trough the de Jure lieges)
any_character_to_title_neighboring_and_across_water_county = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_character_to_title_neighboring_and_across_water_duchy - Scopes from a character to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
any_character_to_title_neighboring_and_across_water_duchy = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_character_to_title_neighboring_and_across_water_empire - Scopes from a character to a neighboring empire (incl. across water, looking trough the de Jure lieges)
any_character_to_title_neighboring_and_across_water_empire = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_character_to_title_neighboring_and_across_water_kingdom - Scopes from a character to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
any_character_to_title_neighboring_and_across_water_kingdom = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_character_to_title_neighboring_county - Scopes from a character to a neighboring county (looking trough the de Jure lieges)
any_character_to_title_neighboring_county = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_character_to_title_neighboring_duchy - Scopes from a character to a neighboring duchy (looking trough the de Jure lieges)
any_character_to_title_neighboring_duchy = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_character_to_title_neighboring_empire - Scopes from a character to a neighboring empire (looking trough the de Jure lieges)
any_character_to_title_neighboring_empire = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_character_to_title_neighboring_kingdom - Scopes from a character to a neighboring kingdom (looking trough the de Jure lieges)
any_character_to_title_neighboring_kingdom = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_character_trait - Iterate through all traits a character has
any_character_trait = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: trait

--------------------

any_character_war - Wars of the scoped character
any_character_war = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: war

--------------------

any_child - Iterate through all children
any_child = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_claim - Iterate through the titles of all claims held by a character; parameters: explicit = yes/no/all pressed = yes/no/all
any_claim = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_claimed_artifact - Iterate through all claimed artifacts of the scoped character
any_claimed_artifact = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: artifact

--------------------

any_close_family_member - Iterate through all the close family [father, mother, siblings, children, grandparents]
any_close_family_member = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_close_or_extended_family_member - Iterate through all the close and extended relatives [father, mother, siblings, children, grandparents, uncles/aunts, nephew/niece, cousins]
any_close_or_extended_family_member = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_concubine - Iterate through all concubines
any_concubine = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_consort - Iterate through all consorts (concubines and spouses)
any_consort = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_contact - Iterate through all contact characters of the root character
any_contact = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_councillor - Iterate through all councillors
any_councillor = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_court_position_employer - Iterates through all characters that employ the scoped character in any court position.
any_court_position_employer = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_court_position_holder - Iterates through all characters employed by the scoped character in the target court position.
any_court_position_holder = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_courtier - Iterate through all courtiers
any_courtier = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_courtier_away - Iterate through all courtiers that are away
any_courtier_away = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_courtier_or_guest - Iterate through all courtiers and guests (pool and foreign court guests)
any_courtier_or_guest = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_de_jure_claim - Iterate through all de jure claims for a character
any_de_jure_claim = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_diarchy_succession_character - Iterate through all character in the diarchy line of succession.If there's no active diarchy or active one doesn't have succession,it iterates over regency candidates
any_diarchy_succession_character = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_diplomacy_councillor - Iterate through all diplomacy-based councillors
any_diplomacy_councillor = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_directly_owned_province - Iterate through all directly owned provinces
any_directly_owned_province = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: province

--------------------

any_election_title - Iterate through all titles the scoped character can vote on
any_election_title = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_equipped_character_artifact - Iterate through all equipped artifacts in a given characters inventory
any_equipped_character_artifact = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: artifact

--------------------

any_extended_family_member - Iterate through all the extended family [uncles/aunts, nephew/niece, cousins]
any_extended_family_member = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_foreign_court_guest - Iterate through all guests visiting from another court (in contrast to pool_guest they have a liege)
any_foreign_court_guest = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_former_concubine - Iterate through all former concubines. Not persisted past death
any_former_concubine = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_former_concubinist - Iterate through all former concubinists. Not persisted past death
any_former_concubinist = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_former_spouse - Iterate through all former spouses
any_former_spouse = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_general_councillor - Iterate through all councillors that are not related to a skill
any_general_councillor = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_heir - Heirs of the scoped character
any_heir = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_heir_title - Iterate through all titles the scoped character is heir to
any_heir_title = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_held_title - Iterate through all held landed titles
any_held_title = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_hired_mercenary - Iterate through all hired mercenary companies
any_hired_mercenary = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: mercenary_company

--------------------

any_home_court_hostage - Iterate through all hostages currently abroad
any_home_court_hostage = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_hooked_character - Iterate through all characters this character has a hook on
any_hooked_character = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_hostile_raider - Iterate through anyone the character is hostile to due to their top-liege's realm having been raided
any_hostile_raider = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_intrigue_councillor - Iterate through all intrigue-based councillors
any_intrigue_councillor = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_invited_activity - Iterate through all activities a character has been invited to
any_invited_activity = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: activity

--------------------

any_knight - Iterate through all knights
any_knight = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_known_secret - Iterate through all secrets known by the character
any_known_secret = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: secret

--------------------

any_learning_councillor - Iterate through all learning-based councillors
any_learning_councillor = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_liege_or_above - Iterate through all lieges above a character (skipping the character themselves)
any_liege_or_above = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_maa_regiment - Iterate through all MaA regiments
any_maa_regiment = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: regiment

--------------------

any_martial_councillor - Iterate through all martial-based councillors
any_martial_councillor = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_memory - Iterate through all memories of a character
any_memory = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character_memory

--------------------

any_neighboring_and_across_water_realm_same_rank_owner - A sub-realm or realm bordering the scope character's realm (including across water) and has the same rank as the scope character (look for lieges of he owner of the land if necessary)
any_neighboring_and_across_water_realm_same_rank_owner = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_neighboring_and_across_water_top_liege_realm - A realm with a different top liege neighboring the realm of the scope character's top liege (including across water); switches to the realm's top title. Can be based on borders a day or two out of date
any_neighboring_and_across_water_top_liege_realm = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_neighboring_and_across_water_top_liege_realm_owner - A realm with a different top liege neighboring the realm of the scope character's top liege (including across water); switches to the holder of the realm. Can be based on borders a day or two out of date
any_neighboring_and_across_water_top_liege_realm_owner = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_neighboring_realm_same_rank_owner - A sub-realm or realm bordering the scope character's realm and has the same rank as the scope character (look for lieges of he owner of the land if necessary)
any_neighboring_realm_same_rank_owner = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_neighboring_top_liege_realm - A realm with a different top liege neighboring the realm of the scope character's top liege; switches to the realm's top title. Can be based on borders a day or two out of date
any_neighboring_top_liege_realm = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_neighboring_top_liege_realm_owner - A realm with a different top liege neighboring the realm of the scope character's top liege; switches to the holder of the realm. Can be based on borders a day or two out of date
any_neighboring_top_liege_realm_owner = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_noble_family - Iterate through all noble family titles in the realm of scoped character
any_noble_family = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_opposite_sex_spouse_candidate - Iterate through all the spouse candidates of the opposite sex of a character.
WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
any_opposite_sex_spouse_candidate = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_owned_story - Iterate through all owned stories for a character
any_owned_story = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: story

--------------------

any_parent - Iterate through all (both) parents
any_parent = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_patroned_holy_order - Iterate through all holy orders that the scoped character is a patron of
any_patroned_holy_order = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: holy_order

--------------------

any_personal_claimed_artifact - Iterate through all personally claimed artifacts of the scoped character
any_personal_claimed_artifact = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: artifact

--------------------

any_pinned_character - Iterate through characters this player has pinned
any_pinned_character = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_pinning_character - Iterate through characters whose player has this character pinned
any_pinning_character = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_played_character - Iterate through all characters the player playing this character has played. Matches the game over legacy, except for excluding the currently played character
any_played_character = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_player_heir - Iterate through player heirs, capped at the first 10
any_player_heir = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_player_legend_library - Get all legends in a player character library.
any_player_legend_library = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: legend

--------------------

any_pool_guest - Iterate through all guests visiting the court from the pool (in contrast to foreign_court_guest they don't have a liege)
any_pool_guest = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_potential_marriage_option - Iterate through all potential selectable marriage or betrohed options
any_potential_marriage_option = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_powerful_family - Iterate through all directly owned provinces
any_powerful_family = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: dynasty_house

--------------------

any_powerful_vassal - Iterate through the all powerful vassals of a character
any_powerful_vassal = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_pretender_title - Iterate through all landed titles character is pretender to
any_pretender_title = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_primary_war_enemy - Iterate through all primary war enemies
any_primary_war_enemy = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_prisoner - Iterate through all prisoners
any_prisoner = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_prowess_councillor - Iterate through all prowess-based councillors
any_prowess_councillor = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_raid_target - Iterate through anyone the character is hostile to due to having raided them. Only returns top lieges
any_raid_target = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_realm_border_county - Iterate through all counties that are on the edge of your realm bordering a different neighboring realm.
any_realm_border_county = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_realm_county - Iterate through all counties in the realm. Based on top liege

any_realm_county = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_realm_de_jure_duchy - Iterate through all de jure duchies that have at least one county in the realm. Based on top liege

any_realm_de_jure_duchy = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_realm_de_jure_empire - Iterate through all de jure empire that have at least one county in the realm. Based on top liege

any_realm_de_jure_empire = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_realm_de_jure_kingdom - Iterate through all de jure kingdom that have at least one county in the realm. Based on top liege

any_realm_de_jure_kingdom = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_realm_province - Iterate through all realm provinces of a character
any_realm_province = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: province

--------------------

any_relation - Iterate through scripted relations of a given type or multiple types, if someone is multiple relations they will only be in the list once
any_relation = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_same_sex_spouse_candidate - Iterate through all the spouse candidates of the same sex of a character.
WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
any_same_sex_spouse_candidate = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_scheme - Iterate through all schemes owned by the character
any_scheme = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: scheme

--------------------

any_secret - Iterate through all secrets of the character
any_secret = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: secret

--------------------

any_sibling - Iterate through all siblings
any_sibling = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_sponsored_inspiration - Iterate through all sponsored inspirations
any_sponsored_inspiration = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: inspiration

--------------------

any_spouse - Iterate through all spouses
any_spouse = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_spouse_candidate - Iterate through all the spouse candidates of a character.
WARNING: THIS IS VERY SLOW DO NOT DO IT OFTEN.
any_spouse_candidate = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_stewardship_councillor - Iterate through all stewardship-based councillors
any_stewardship_councillor = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_sub_realm_barony - Iterate through all baronies in sub-realm
any_sub_realm_barony = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_sub_realm_county - Iterate through all counties in sub-realm
any_sub_realm_county = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_sub_realm_duchy - Iterate through all duchies in sub-realm
any_sub_realm_duchy = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_sub_realm_empire - Iterate through all empires in sub-realm
any_sub_realm_empire = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_sub_realm_kingdom - Iterate through all kingdoms in sub-realm
any_sub_realm_kingdom = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_sub_realm_title - Iterate through all titles in sub-realm
any_sub_realm_title = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_succession_appointment_invested_candidate - Iterate through all candidates supported by the scoped investor character for any title
It may contain people outside of investor's top realm or no longer valid for appointment
any_succession_appointment_invested_candidate = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_succession_appointment_invested_title - Iterate through all titles that has candidates supported by the scoped investor
It may contain titles outside of investor's top realm, and so invalid for appointment,
and candidates may be already dead
any_succession_appointment_invested_title = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_targeting_faction - Iterate through all factions targeting the scope character
any_targeting_faction = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: faction

--------------------

any_targeting_scheme - Iterate through all schemes targeting the character
any_targeting_scheme = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: scheme

--------------------

any_targeting_secret - Iterate through all secrets that target the specified scope
any_targeting_secret = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: secret

--------------------

any_tax_collector - Iterates through all Tax Collectors employed by the scoped character
any_tax_collector = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_tax_collector_vassal - Iterates through all Vassals the scoped Character is the Tax Collector for
any_tax_collector_vassal = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_tax_slot - Iterates through all Tax Slots the scoped character has
any_tax_slot = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: tax_slot

--------------------

any_top_realm_border_county - Iterate through all counties that are on the edge of your realm bordering a different neighboring top realm.
any_top_realm_border_county = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: landed_title

--------------------

any_traveling_family_member - Iterate though all characters that should travel with the scoped one (when moving between courts for instance); includes the scoped character
any_traveling_family_member = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_truce_holder - Iterate through all characters that have a truce on this character
any_truce_holder = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_truce_target - Iterate through all characters this character has a truce on
any_truce_target = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_unassigned_taxpayers - Iterates through all unassigned taxpayers for scoped Character
any_unassigned_taxpayers = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_unspent_known_secret - Iterate through all unspent secrets known by the character
any_unspent_known_secret = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: secret

--------------------

any_vassal - Iterate through all DIRECT vassals
any_vassal = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_vassal_or_below - Iterate through ALL vassals, not just direct vassals
any_vassal_or_below = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_war_ally - Iterate through all direct war allies
any_war_ally = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_war_enemy - Iterate through all direct war enemies
any_war_enemy = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

any_warden_hostage - Iterate through all hostages having this warden
any_warden_hostage = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: character
Supported Targets: character

--------------------

appointment_candidate_accumulated_score - Charater's accumulated score for appointment for the target title.
Only investment count, and not character personality.
appointment_candidate_accumulated_score = {
    title = scope:title
    value >= scope:fixed_point
}
"appointment_candidate_accumulated_score(scope:title)" >= value
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

appointment_candidate_score - Charater's total score for appointment for the target title
appointment_candidate_score = {
    title = scope:title
    value >= scope:fixed_point
}
"appointment_candidate_score(scope:title)" >= value
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

aptitude - What is the scoped character's aptitude in the target court position type? aptitude = { court_position = court_position_type value >= 1 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

attraction - Attraction value for the scoped character
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

average_amenity_level - average_amenity_level >= 3
Compares the scoped character's average amenity level to the given value, you probably never want to check for direct equality since the average will be some decimal number
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

base_weight - Base weight of the scoped character
base_weight > 10
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

can_accept_task_contract - Check character against task contract requirement triggers?
scope:actor = { can_accept_task_contract = SCOPE_TASK_CONTRACT }
Traits: task_contract scope
Supported Scopes: character
Supported Targets: task_contract

--------------------

can_add_hook - will trying to hook the target character override the current hook? (if no current hook, always returns true)
can_add_hook = {
target = <character>
type = <hook type>
days/months/year = whatever (optional; will use the duration from the type if not provided)
}
Supported Scopes: character

--------------------

can_appoint_for_title - Can character be appointed for the target title.
Appointment is only allowed for duchies and above, and if it's top tier title for the holder
Traits: landed_title scope
Supported Scopes: character
Supported Targets: landed_title

--------------------

can_arrive_in_time_to_activity_minimum - can_arrive_in_time_to_activity_minimum = target_activity
Can the scoped character arrive to the target activity in time? (only does rough but performance consideration) 
Traits: activity scope
Supported Scopes: character
Supported Targets: activity

--------------------

can_assign_to_tax_slot - Is this scoped character valid to assign to target tax slot
scope:character = { can_assign_to_tax_slot = scope:tax_slot }
Traits: tax_slot scope
Supported Scopes: character
Supported Targets: tax_slot

--------------------

can_attack_in_hierarchy - can the scope target be attacking the defender based on their liege-vassal relations?
Traits: character target 
Supported Scopes: character

--------------------

can_be_acclaimed - Can the given character potentially be the Acclaimed Knight of an Accolade?
Traits: yes/no 
Supported Scopes: character

--------------------

can_be_child_of - Would the target character have been able to have children at the time of the scoped character's birth? Only age is taken into account
Traits: character target 
Supported Scopes: character

--------------------

can_be_employed_as - can the scoped character be employed as target court position type?
Supported Scopes: character

--------------------

can_be_parent_of - Would the scoped character have been able to have children at the time of the target character's birth? Only age is taken into account
Traits: character target 
Supported Scopes: character

--------------------

can_become_owner_of_legend - Can the scoped character become owner of the provided legend?
scope:character = {
	can_become_owner_of_legend = <legend>
}
Traits: legend scope
Supported Scopes: character
Supported Targets: legend

--------------------

can_benefit_from_artifact - Can the scoped character benefit from the main bonuses of this artifact?
Traits: artifact scope
Supported Scopes: character
Supported Targets: artifact

--------------------

can_create_faction - can the character create the faction of the specified type against the specified character?
can_create_faction = { type = X target = Y }
Supported Scopes: character

--------------------

can_create_maa - Can target character create MaA of specified type
Traits: class CMenAtArmsTypeDatabase key
Supported Scopes: character

--------------------

can_create_task_contract - scope:owner = { can_create_task_contact = { type_name = <key> employer = <character> } 
can_create_task_contact = <key> 
Can create task contract with <key> type and employer(optional) 
Supported Scopes: character

--------------------

can_declare_war - Can the scoped character declare war on the defender with the specified casus bellis on the defender character for the target titles with an optional claimant. can_declare_war = { defender = X casus_belli = Y target_titles = { Z } claimant = A }
Supported Scopes: character

--------------------

can_diverge - Can this ruler diverge their culture? Includes checking the cost
Traits: yes/no 
Supported Scopes: character

--------------------

can_diverge_excluding_cost - Can this ruler diverge their culture? Does not check the cost
Traits: yes/no 
Supported Scopes: character

--------------------

can_embrace_tradition - Can scoped charater embrace new culture tradition?
scope:character = { can_embrace_tradition = scope:new_tradition }
scope:character = {
	can_embrace_tradition = {
		tradition = scope:new_tradition
		replace = my_old_tradition
	}
}
Supported Scopes: character

--------------------

can_employ_court_position_type - Can the scoped character employ the target court position type and is the position vacant?
Supported Scopes: character

--------------------

can_equip_artifact - Can the scoped character equip given artifact?
Traits: artifact scope
Supported Scopes: character
Supported Targets: artifact

--------------------

can_execute_decision - Is the scoped character able to execute the asigned decision?
Traits: class CDecisionTypeDatabase key
Supported Scopes: character
Supported Targets: decision

--------------------

can_have_children - can the character have children? Only checks hard blocks from traits, not fertility
can_have_children = yes/no
Traits: yes/no 
Supported Scopes: character

--------------------

can_host_activity - can_host_activity = target_activity
Can the scoped character host the target activity type
Traits: class CActivityTypeDatabase key
Supported Scopes: character
Supported Targets: activity_type

--------------------

can_hybridize - Can this ruler hybridize with the target culture? Includes checking the cost
Traits: culture scope
Supported Scopes: character
Supported Targets: culture

--------------------

can_hybridize_excluding_cost - Can this ruler hybridize with the target culture? Does not check the cost
Traits: culture scope
Supported Scopes: character
Supported Targets: culture

--------------------

can_join_activity - can_join_activity = target_activity
Can the scoped character join the target activity
Traits: activity scope
Supported Scopes: character
Supported Targets: activity

--------------------

can_join_faction - Can the scope character join the faction? can_join_faction = faction
Traits: faction scope
Supported Scopes: character
Supported Targets: faction

--------------------

can_join_or_create_faction_against - Can the scope character create if join a faction against the target?
can_join_or_create_faction_against = scope:faction_target
can_join_or_create_faction_against = {
	who = scope:faction_target
	faction = faction_key # optional
	check_in_a_faction = no # default: yes
}
Traits: character target 
Supported Scopes: character

--------------------

can_sponsor_inspiration - can_sponsor_inspiration = inspiration
Can the scoped character sponsor the target inspiration
Traits: inspiration scope
Supported Scopes: character
Supported Targets: inspiration

--------------------

can_start_scheme - can the character start the scheme?
can_start_scheme = { type = X target = Y }
Supported Scopes: character

--------------------

character_has_commander_trait_scope_does_not - Does the character have a commander trait that the scope does not?
Traits: character target 
Supported Scopes: character

--------------------

character_is_land_realm_neighbor - Is the scoped character a realm neighbor of the target? Meaning they're independent or has the same liege, and border your realm.
Traits: character target 
Supported Scopes: character

--------------------

character_is_realm_neighbor - Is the scoped character a realm neighbor of the target? Meaning they're independent or has the same liege, and border your realm. Including across two sea zones
Traits: character target 
Supported Scopes: character

--------------------

character_men_at_arms_expense_gold_relative - What is the ratio of the scoped character's men-at-arms gold expenses, relative to their income?
Similar calc compared to `ai_men_at_arms_expense_gold_min` / `ai_men_at_arms_expense_gold_ideal`.
(Relative value 0.0 - 1.0 - *, where 1.0 is all income, unraised maa costs)
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

character_men_at_arms_expense_prestige_relative - What is the ratio of the scoped character's men-at-arms prestige expenses, relative to their income?
Similar calc compared to `ai_men_at_arms_expense_prestige_min` / `ai_men_at_arms_expense_prestige_ideal`.
(Relative value 0.0 - 1.0 - *, where 1.0 is all income, unraised maa costs)
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

completely_controls - does the character controls all counties and baronies inside de jure title (no hostile occupation either)?
Traits: landed_title scope
Supported Scopes: character
Supported Targets: landed_title

--------------------

completely_controls_region - does the character controls all counties and baronies inside the specified region (no hostile occupation either)?
Traits: class CGeographicalRegionDatabase key
Supported Scopes: character
Supported Targets: geographical_region

--------------------

council_task_monthly_progress - Is the scoped character's monthly progress on their assigned council task this big?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

court_grandeur_base - Gets the base court grandeur value for a character, always NRoyalCourt::COURT_GRANDEUR_MIN for those without one
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

court_grandeur_current - Gets the current court grandeur value for a character, always NRoyalCourt::COURT_GRANDEUR_MIN for those without one
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

court_grandeur_current_level - Gets the current court grandeur level for a character, always 0 for those without one
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

court_grandeur_minimum_expected - Gets the minimum expected court grandeur value for a character, always NRoyalCourt::COURT_GRANDEUR_MIN for those without one
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

court_grandeur_minimum_expected_level - Gets the minimum expected court grandeur level for a character, always 0 for those without one
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

court_positions_currently_available - How many court positions the scoped character CAN currently employs
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

court_positions_currently_filled - How many court positions the scope character currently employs
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

create_faction_type_chance - Check if the chance to create a faction against a target of the scope character is is true against the scripted value
create_faction_type_chance = { 
    type = faction_type #An ongoing faction
    target = target_character
    value <|<=|>=|> 0
}
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

current_military_strength - Is the scoped character's current military strength this big?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

current_weight - Current weight of the scoped character
current_weight > 10
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

current_weight_for_portrait - Current weight of the scoped character as a value for portraits scaled between 0.0 and 1.0
current_weight_for_portrait > 0.1
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

days_as_ruler - Number of days this character has been a ruler, returns -1 if character isn't a ruler
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

days_in_prison - number of days the character has been imprisoned for (0 if not imprisoned)
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

days_of_continuous_peace - Number of days the character has been in peace (0 if in war). Raids count as 'not peace'
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

days_of_continuous_war - Number of days the character has been in peace (0 if in peace)
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

days_since_death - number of days since the character has died.
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

days_since_joined_court - days_since_joined_court > 5
Gets the days since scoped character joined their current court
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

days_since_vassal_contract_liege_dynasty_reign_start - Days since this vassal's liege's dynasty started ruling over this vassal
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

death_reason - Does the scoped character have the given death reason?
death_reason = death_natural_causes
Supported Scopes: character

--------------------

debt_level - Is the scoped character's debt level this value? -1 if not meeting any debt level threshold.
0 for the first one, and so on.
Note that this might not match exactly with the modifier in effect as it calculates what the modifier will be now, and the character's actual modifier can lag behind
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

diarch_aptitude - Diarch aptitude score for the scoped (potential) diarch
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

diarch_loyalty - Diarch loyalty score for the scoped (potential) diarch
scope:diarch = { diarch_loyalty >= 50 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

diarchy_swing - Get diarchy scales of power swing
scope:liege = { diarchy_swing > 50 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

diplomacy - does the character have the required diplomacy skill level?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

diplomacy_diff - does the character have the required diplomacy skill level difference against target?
diplomacy = { target = character value <= script_value abs = yes/no(optional, default no) }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

diplomacy_for_portrait - Diplomacy skill scaled between 0.0 and 1.0 for portraits
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

diplomacy_lifestyle_perk_points - How many perk points available does the character have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

diplomacy_lifestyle_perks - How many perks from this lifestyle does the character have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

diplomacy_lifestyle_unlockable_perks - How many perks from this lifestyle can the character currently unlock? This checks that they have the parent perks, and that the can_be_picked is met. It doesn't check perk points
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

diplomacy_lifestyle_xp - How many perk points available does the character have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

does_ai_liege_in_vassal_contract_desire_obligation_change - Does the AI liege in a vassal contract desire changing an obligation level
Traits: yes/no 
Supported Scopes: character

--------------------

does_ai_vassal_in_vassal_contract_desire_obligation_change - Does the AI vassal in a vassal contract desire changing an obligation level
Traits: yes/no 
Supported Scopes: character

--------------------

domain_limit - Is the scoped character's domain limit this big?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

domain_limit_available - Is there this much space left in the character's domain limit? Negative values also work for checking characters that are above their limit
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

domain_limit_percentage - Is the scoped character's domain this big in comparison to their limit?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

domain_size - Is the scoped character's domain this big?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

domain_size_excluding_grace_period - Is the scoped character's domain this big? Does not count titles currently in the grace period
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

dread - does the character have the required dread?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

dread_modified_ai_boldness - AI boldness modified by the dread of the specified character
dread_modified_ai_boldness = {
	character = root	# the character whose dread is affecting the target character
	value >= 5
}
Supported Scopes: character

--------------------

effective_age - is the character old/young enough? If immortal, this uses the age they became immortal at
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

employs_court_position - is the scoped character employing a target court position type?
Supported Scopes: character

--------------------

employs_tax_collector - employs_tax_collector = yes
Does the scoped character have any Tax Collectors employed?
Traits: yes/no 
Supported Scopes: character

--------------------

fertility - does the character have the required fertility?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

focus_progress - Does the character have this much focus progress
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

gold - does the character have the required gold?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

government_allows - checks if the government of the character allows something
Supported Scopes: character

--------------------

government_disallows - checks if the government of the character disallows something
Supported Scopes: character

--------------------

government_has_flag - checks if the government of the character has a specific flag
Supported Scopes: character

--------------------

has_active_diarchy - Does the scoped character has an active diarchy
Traits: yes/no 
Supported Scopes: character

--------------------

has_active_mandate - Does the diarch have this mandate active?
scope:diarch = { has_active_mandate = live_long_and_prosper }
Supported Scopes: character

--------------------

has_activity_intent - has_activity_intent = key
Does the scoped character have the given activity intent
Supported Scopes: character

--------------------

has_activity_state - has_activity_state > travel/passive/active
Does the scoped character have the given state in their currenty involved activity
Supported Scopes: character

--------------------

has_any_artifact - does the scoped character have any artifacts?
Traits: yes/no 
Supported Scopes: character

--------------------

has_any_artifact_claim - does the scoped character have any artifact claims at all? ( CHEAP )
Traits: yes/no 
Supported Scopes: character

--------------------

has_any_cb_on - does the scope character have any casus bellis on the taget character?
Traits: character target 
Supported Scopes: character

--------------------

has_any_court_position - does the scoped character have any court positions?
Traits: yes/no 
Supported Scopes: character

--------------------

has_any_display_cb_on - does the scope character have any casus bellis on the taget character that should be displayed? (Allowed to fail valid_to_start_display_regardless)
Traits: character target 
Supported Scopes: character

--------------------

has_any_focus - Does the character have any focus set?
Traits: yes/no 
Supported Scopes: character

--------------------

has_any_nickname - Has the scope character any nickname?
Traits: yes/no 
Supported Scopes: character

--------------------

has_any_scripted_relation - does the scope character have any scripted relation with the taget character?
Traits: character target 
Supported Scopes: character

--------------------

has_any_secret_relation - does the scope character have any secret relation with the taget character?
Traits: character target 
Supported Scopes: character

--------------------

has_any_secrets - Does the character have any secrets?
Traits: yes/no 
Supported Scopes: character

--------------------

has_any_unequipped_artifact - does the scoped character have any unequipped artifacts?
Traits: yes/no 
Supported Scopes: character

--------------------

has_appointment_invested_character - Has scoped investor supported appointment of target character in the same realm.
Ignores if candidate has a valid reason to be appointed
scope:investor = {
	has_appointment_investment_in_character = scope:candidate
}
Traits: character scope
Supported Scopes: character
Supported Targets: character

--------------------

has_appointment_invested_title - Has scoped investor supported appointment for target title in the same realm.
Returns true even for dead candidates, for the sake of efficiency.
scope:investor = {
	has_appointment_investment_in_title = scope:title
}
Traits: landed_title scope
Supported Scopes: character
Supported Targets: landed_title

--------------------

has_artifact_claim - Does the scoped character have a personal or house claim on the target artifact
Traits: artifact scope
Supported Scopes: character
Supported Targets: artifact

--------------------

has_away_hostages - Does the scoped character have Hostages abroad?
Traits: yes/no 
Supported Scopes: character

--------------------

has_bad_nickname - Has the scope character a bad nickname?
Traits: yes/no 
Supported Scopes: character

--------------------

has_banish_reason - Does the character have the banish reason towards the target?
Traits: character target 
Supported Scopes: character

--------------------

has_cb_on - does the scope character have the specified casus bellis on the taget character? Invalid target returns false automatically. has_cb_on = { target = X casus_belli/cb = Y }
Supported Scopes: character

--------------------

has_character_flag - Does the character have this flag?
Supported Scopes: character

--------------------

has_character_modifier - Does the scoped character have a given modifier
has_character_modifier = name
Supported Scopes: character

--------------------

has_character_modifier_duration_remaining - Does the scoped character have the duration remaining on a given modifier
has_character_modifier_duration_remaining = name
Supported Scopes: character

--------------------

has_claim_on - does the character have an explicit claim on the target title?
Traits: landed_title scope
Supported Scopes: character
Supported Targets: landed_title

--------------------

has_completed_activity_intent - has_completed_activity_intent = { type = <key> target = <character> }
has_completed_activity_intent = <key>
Has the scoped character completed an intent of the given type in their involved activity, optionally against a specific target.
Supported Scopes: character

--------------------

has_completed_inspiration - has_completed_inspiration = bool
Checks if the scoped character has ever completed an inspiration
Traits: yes/no 
Supported Scopes: character

--------------------

has_contact - Check if laamp has character as employer?
scope:actor = { has_contact = SCOPE_CHARACTER }
Traits: character scope
Supported Scopes: character
Supported Targets: character

--------------------

has_council - Does character have a council?
Traits: yes/no 
Supported Scopes: character

--------------------

has_council_position - Does the scoped character have the given position?
Supported Scopes: character

--------------------

has_councillor_for_skill - does the scope character have a councillor for the specified skill?
	has_councillor_for_skill = X, where X is a skill name or 'general'
Supported Scopes: character

--------------------

has_court_language - Is the character's court language the given language?
has_court_language = language_norwegian
Supported Scopes: character

--------------------

has_court_language_of_culture - Is the character's court language the language of the target culture?
has_court_language_of_culture = scope:target_culture
Traits: culture scope
Supported Scopes: character
Supported Targets: culture

--------------------

has_court_position - is the scoped character holding the target court position type?
Supported Scopes: character

--------------------

has_court_type - has_court_type = court_diplomatic
Does the character have this court type?
Supported Scopes: character

--------------------

has_culture - Does the character have this culture?
Traits: culture scope
Supported Scopes: character
Supported Targets: culture

--------------------

has_de_jure_claim_on - does the scope character have a dejure claim against the target?
Traits: character target 
Supported Scopes: character

--------------------

has_dead_character_flag - Does the dead character have this flag?
Supported Scopes: character

--------------------

has_dead_character_variable - Does the dead character have this variable?
Supported Scopes: character

--------------------

has_diarchy_active_parameter - Does active diarchy have this parameter active for current power level?
scope:liege = { has_diarchy_active_parameter = parameter_name }
Supported Scopes: character

--------------------

has_diarchy_parameter - Can active diarchy have this parameter at some power level?
scope:liege = { has_diarchy_parameter = parameter_name }
Supported Scopes: character

--------------------

has_diarchy_type - Is scope character in a diarchy of a specific type?
Trigger works even when there's no active diarchyscope:liege = { has_diarchy_type = regency }
Supported Scopes: character

--------------------

has_divorce_reason - Does the character have the divorce reason towards the target?
Traits: character target 
Supported Scopes: character

--------------------

has_domicile - Does scoped character have a domicile?
scope:character = { has_domicile = yes }
Traits: yes/no 
Supported Scopes: character

--------------------

has_domicile_temperament_high - Does scoped character have domicile temperament high?
scope:character = { has_temperament_high = yes }
Traits: yes/no 
Supported Scopes: character

--------------------

has_domicile_temperament_low - Does scoped character have domicile temperament low?
scope:character = { has_temperament_low = yes }
Traits: yes/no 
Supported Scopes: character

--------------------

has_domicile_temperament_neutral - Does scoped character have domicile temperament neutral?
scope:character = { has_temperament_neutral = yes }
Traits: yes/no 
Supported Scopes: character

--------------------

has_dread_level_towards - How much is scared the scope character agains the target. 0 = not intimidated, 1 = intimidated, 2 = cowed. 
has_dread_level_towards = { 
target = X 
level >/</>=/<=/= Y 
 }
Supported Scopes: character

--------------------

has_dynasty - does the character have a valid dynasty?
Traits: yes/no 
Supported Scopes: character

--------------------

has_election_vote_of - Is the target character voting for the scoped character in the election of the target title
has_election_vote_of = { who = scope:actor title = primary_title }
Supported Scopes: character

--------------------

has_employed_any_court_position - does the scoped character have any employed court positions?
Traits: yes/no 
Supported Scopes: character

--------------------

has_execute_reason - Does the character have the execute reason towards the target?
Traits: character target 
Supported Scopes: character

--------------------

has_faith - Does the character have this faith?
has_faith = faith:baltic_pagan
Traits: faith scope
Supported Scopes: character
Supported Targets: faith

--------------------

has_father - does the character have a valid living father?
Traits: yes/no 
Supported Scopes: character

--------------------

has_focus - Does the character have this focus?
Supported Scopes: character

--------------------

has_free_council_slot - Does the scope character have a council position to fill? (ignoring automatically filled positions)
Traits: yes/no 
Supported Scopes: character

--------------------

has_gene - Does the character have the specified gene template? Only works for morph genes. An interface trigger. has_gene = { category = X template = Y }
An interface trigger, can only be used in specific places
Supported Scopes: character

--------------------

has_government - checks if the character has a specific government type
Supported Scopes: character

--------------------

has_had_focus_for_days - Does the character had a focus for that time?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

has_hook - does the character have a hook on the target, has_hook = <character>
Traits: character scope
Supported Scopes: character
Supported Targets: character

--------------------

has_hook_from_secret - does the character have a hook based on the target secret? example use: has_hook_from_secret = scope:saved_secret
Traits: secret scope
Supported Scopes: character
Supported Targets: secret

--------------------

has_hook_of_type - does the character have a hook on the target of the given type?, has_hook_of_type = { target = X type = Y }
Supported Scopes: character

--------------------

has_imprisonment_reason - Does the character have the imprisonment reason towards the target?
Traits: character target 
Supported Scopes: character

--------------------

has_inactive_trait - Does the character have this trait or a trait of this trait group amongst their inactive traits?
Supported Scopes: character

--------------------

has_legitimacy - Does the scoped character uses legitimacy
has_legitimacy = yes
Traits: yes/no 
Supported Scopes: character

--------------------

has_legitimacy_flag - Does the scoped character's current legitimacy level have the given flag
has_legitimacy_flag = cool_folk
Supported Scopes: character

--------------------

has_lifestyle - Does the character have this lifestyle?
Supported Scopes: character

--------------------

has_mother - does the character have a valid living mother?
Traits: yes/no 
Supported Scopes: character

--------------------

has_nickname - Does the character have this nickname?
Supported Scopes: character

--------------------

has_opinion_modifier - does the character have the specified opinion modifier on the target? (optional *value <|<=|=|>=|> X* or *value = { MIN MAX }* inclusive)
Supported Scopes: character

--------------------

has_opposite_relation - Does the scope character have an opposite relationship of the relation value with the target character? target = , relation = 
Supported Scopes: character

--------------------

has_outstanding_artifact_claims - does the scoped character have any artifact claims that can be pressed? ( EXPENSIVE )
Traits: yes/no 
Supported Scopes: character

--------------------

has_owned_scheme - Does this character own a scheme?
Traits: yes/no 
Supported Scopes: character

--------------------

has_pending_court_events - has_pending_court_events = bool
Does the character have pending court events? Meaning court events that'll spawn when they next open the royal court view.
Can only be used on player characters with a royal court.
Traits: yes/no 
Supported Scopes: character

--------------------

has_pending_interaction_of_type - Does the character have a pending interaction of the type? Only works if the scope is player-controlled.
Example: has_pending_interaction = interaction_key
Supported Scopes: character

--------------------

has_perk - Does the character have this perk?
Supported Scopes: character

--------------------

has_personal_artifact_claim - Does the scoped character have a personal claim on the target artifact
Traits: artifact scope
Supported Scopes: character
Supported Targets: artifact

--------------------

has_personal_legend_seed - Does the scoped character have a legend seed of the specified legend type?.
scope:character = {
	has_personal_legend_seed = heroic
}
Traits: class CLegendTypeDatabase key
Supported Scopes: character
Supported Targets: legend_type

--------------------

has_potential_acclaimed_knights - Does the given character have any potential knights that could be appointed as Acclaimed Knights?
Traits: yes/no 
Supported Scopes: character

--------------------

has_primary_title - does the character has specific title as his primary title
Traits: landed_title scope
Supported Scopes: character
Supported Targets: landed_title

--------------------

has_prisoners - Does the character have prisoners?
Traits: yes/no 
Supported Scopes: character

--------------------

has_raid_immunity_against - Is the scoped character's (top-liege) realm immune to raiding by the target due to having defeated their raid army?
has_raid_immunity_against = scope:character
Traits: character scope
Supported Scopes: character
Supported Targets: character

--------------------

has_raised_armies - does the character have raised or gathering armies?
Traits: yes/no 
Supported Scopes: character

--------------------

has_realm_law - Does the scoped character have the given realm law?
Supported Scopes: character

--------------------

has_realm_law_flag - Does the scoped character have a law with the given flag?
Supported Scopes: character

--------------------

has_relation_activity_recurrer - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_antiquarian - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_best_friend - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_bully - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_court_physician - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_crush - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_event_recurrer - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_favorite_child - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_flag - Does the scope character have a specific flag on a relation with the target character? target = , relation = , flag = 
Supported Scopes: character

--------------------

has_relation_friend - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_grudge - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_guardian - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_intrigue_mentor - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_intrigue_student - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_lover - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_mentor - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_nemesis - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_nursed_child - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_oaf - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_old_flame - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_potential_friend - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_potential_hook - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_potential_lover - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_potential_rival - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_rival - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_soldier_friend - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_soulmate - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_student - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_to - does the character have a relation to the target? Matches the logic of the data system function HasRelationTo, has_relation_to = <character>
Traits: character scope
Supported Scopes: character
Supported Targets: character

--------------------

has_relation_victim - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_ward - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_wedding_bad_fertility - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_wedding_good_fertility - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_wedding_very_bad_fertility - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_wedding_very_good_fertility - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_relation_wet_nurse - Checks for a scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_religion - Does the character have this religion?
has_religion = religion:buddhism_religion
Traits: religion scope
Supported Scopes: character
Supported Targets: religion

--------------------

has_revoke_title_reason - Does the character have the revoke title reason towards the target?
Traits: character target 
Supported Scopes: character

--------------------

has_royal_court - has_royal_court = bool
Does the scoped character have a royal court
Traits: yes/no 
Supported Scopes: character

--------------------

has_same_court_language - Is the character's court language the same language as the target character's?
has_same_court_language = scope:target_character
Traits: character scope
Supported Scopes: character
Supported Targets: character

--------------------

has_same_court_type_as - has_same_court_type_as = character
Does the character have the same court type as the target?
Traits: character target 
Supported Scopes: character

--------------------

has_same_culture_as - Does the character have the same culture as the target?
Traits: character target 
Supported Scopes: character

--------------------

has_same_focus_as - Does the character have the same focus as the other?
Traits: character target 
Supported Scopes: character

--------------------

has_same_government - checks if the character has the same government type as another character
Traits: character target 
Supported Scopes: character

--------------------

has_same_sinful_trait - do the two characters share a trait that is considered sinful by both of their respective faiths?
scope:character_1 = { has_same_sinful_trait = scope:character_2 }
Traits: character target 
Supported Scopes: character

--------------------

has_same_virtue_trait - do the two characters share a trait that is considered virtuous by both of their respective faiths?
scope:character_1 = { has_same_virtue_trait = scope:character_2 }
Traits: character target 
Supported Scopes: character

--------------------

has_scheme_countermeasure_parameter - Does the given ruler, or the liege of the given courtier, have a countermeasure with the given parameter?
Can only check for boolean parameters.
has_scheme_countermeasure_parameter = parameter_key
Supported Scopes: character

--------------------

has_secret_relation_activity_recurrer - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_antiquarian - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_best_friend - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_bully - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_court_physician - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_crush - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_event_recurrer - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_favorite_child - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_friend - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_grudge - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_guardian - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_intrigue_mentor - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_intrigue_student - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_lover - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_mentor - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_nemesis - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_nursed_child - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_oaf - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_old_flame - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_potential_friend - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_potential_hook - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_potential_lover - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_potential_rival - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_rival - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_soldier_friend - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_soulmate - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_student - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_victim - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_ward - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_wedding_bad_fertility - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_wedding_good_fertility - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_wedding_very_bad_fertility - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_wedding_very_good_fertility - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_secret_relation_wet_nurse - Checks for a secret scripted relationship with a target character
Traits: character target 
Supported Scopes: character

--------------------

has_selected_mandate - Was this mandate selected for the diarch?
Trigger works even when there's no active diarchyscope:diarch = { has_selected_mandate = live_long_and_prosper }
Supported Scopes: character

--------------------

has_sexuality - Does the character's sexuality match the scripted? (heterosexual, homosexual, bisexual, asexual, none). Characters that have yet to get a sexuality (children) have the none set.
Supported Scopes: character

--------------------

has_spawned_court_events - has_spawned_court_events = bool
Does the character have spawned court events? Meaning court events are shown (opened or not) in the royal court view.
Can only be used on player characters with a royal court.
Traits: yes/no 
Supported Scopes: character

--------------------

has_strong_claim_on - does the character have an explicit Pressed Claim on the target title?
Traits: landed_title scope
Supported Scopes: character
Supported Targets: landed_title

--------------------

has_strong_hook - does the character have a strong hook on the target, has_strong_hook = <character>
Traits: character scope
Supported Scopes: character
Supported Targets: character

--------------------

has_strong_implicit_claim_on - does the character have an implicit Pressed Claim on the target title
Traits: landed_title scope
Supported Scopes: character
Supported Targets: landed_title

--------------------

has_strong_usable_hook - does the character have a strong hook on the target that is not on cooldown, has_strong_usable_hook = <character>
Traits: character scope
Supported Scopes: character
Supported Targets: character

--------------------

has_succession_appointment_investors - Does the scope the scoped character have any investors for their appointment towards the target title?
scope:character = { has_succession_appointment_investors = scope:title }
Traits: landed_title scope
Supported Scopes: character
Supported Targets: landed_title

--------------------

has_targeting_faction - Has the scope character a faction targeting him/her?
Traits: yes/no 
Supported Scopes: character

--------------------

has_title - does the character hold the title?
Traits: landed_title scope
Supported Scopes: character
Supported Targets: landed_title

--------------------

has_trait - Does the character have this trait or a trait of this trait group?
Supported Scopes: character

--------------------

has_trait_rank - Compare the trait rank of a character to a value or other character.
has_trait_rank = {
  trait = TRAIT_GROUP
  rank <=> number (can be script value) # need only one of rank or character
  character <=> character target # need only one of rank or character
}
Note that not having the trait and having rank 0 counts as the same thing. rank < X on its own will therefore always return true for a character that does not have the trait.
Supported Scopes: character

--------------------

has_trait_with_flag - does the scope character have a trait with a certain flag?
	has_trait_with_flag = can_not_marry
Supported Scopes: character

--------------------

has_trait_xp - Checks if the scopd character has the given amount of XP in the trait level track. Track name is required if the trait has multiple tracks, otherwise should not be provided.
has_trait_xp = { trait = <trait_key> track = <track_key> value = <script_value> }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

has_triggered_legend_seed - Does the scoped character qualify for the specified triggered legend seed?.
scope:character = {
	has_triggered_legend_seed = king_arthur
}
Supported Scopes: character

--------------------

has_truce - Does the scope character have a truce with the target character? Truces are one way, which means we ask if the scope character can't attack the target character
Traits: character target 
Supported Scopes: character

--------------------

has_usable_hook - does the character have a hook on the target that isn't on cooldown, has_usable_hook = <character>
Traits: character scope
Supported Scopes: character
Supported Targets: character

--------------------

has_weak_claim_on - does the character have an explicit Unpressed Claim on the target title?
Traits: landed_title scope
Supported Scopes: character
Supported Targets: landed_title

--------------------

has_weak_hook - does the character have a weak hook on the target. A strong hook will *not* count, has_weak_hook = <character>
Traits: character scope
Supported Scopes: character
Supported Targets: character

--------------------

has_weak_implicit_claim_on - does the character have an implicit Unpressed Claim on the target title
Traits: landed_title scope
Supported Scopes: character
Supported Targets: landed_title

--------------------

health - does the character have the required health?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

highest_held_title_tier - what is the highest held landed title tier of the character?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

highest_skill - Is the skill the highest skill (excluding Prowess) of the character? True even when there are multiple skills with the same highest value.
Supported Scopes: character

--------------------

holds_landed_title - Is the scope character landed (holds a county or barony)?
Traits: yes/no 
Supported Scopes: character

--------------------

hostage_duration - For how long has the scope character been a hostage? { days/months/years =,>,< X }
Supported Scopes: character

--------------------

important_action_is_valid_but_invisible - is there an important action available to the character, but they dismissed it?
important_action_is_valid_but_invisible = important_action_key
Supported Scopes: character

--------------------

important_action_is_visible - is there an important action shown to the character?
important_action_is_visible = important_action_key
Supported Scopes: character

--------------------

in_diplomatic_range - Is the scope character and the target character within each others diplomatic range?
Traits: character target 
Supported Scopes: character

--------------------

influence - does the character have the required influence?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

influence_level - does the character have the required influence level?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

intrigue - does the character have the required intrigue skill level?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

intrigue_diff - does the character have the required intrigue skill level difference against target?
intrigue = { target = character value <= script_value abs = yes/no(optional, default no) }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

intrigue_for_portrait - Intrigue skill scaled between 0.0 and 1.0 for portraits
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

intrigue_lifestyle_perk_points - How many perk points available does the character have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

intrigue_lifestyle_perks - How many perks from this lifestyle does the character have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

intrigue_lifestyle_unlockable_perks - How many perks from this lifestyle can the character currently unlock? This checks that they have the parent perks, and that the can_be_picked is met. It doesn't check perk points
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

intrigue_lifestyle_xp - How many perk points available does the character have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

is_a_faction_leader - Is the scope character a leader of a faction?
Traits: yes/no 
Supported Scopes: character

--------------------

is_a_faction_member - Is the scope character a member of a faction?
Traits: yes/no 
Supported Scopes: character

--------------------

is_acclaimed - Is the given character the Acclaimed Knight of an Accolade?
Traits: yes/no 
Supported Scopes: character

--------------------

is_accolade_successor - Is the given character the Successor of an Accolade?
Traits: yes/no 
Supported Scopes: character

--------------------

is_activity_type_on_cooldown - Is the given activity type on cooldown for the current character.
is_activity_type_on_cooldown = activity_type_key
Traits: class CActivityTypeDatabase key
Supported Scopes: character
Supported Targets: activity_type

--------------------

is_adult - Is the scope character adult?
Traits: yes/no 
Supported Scopes: character

--------------------

is_agent_exposed_in_scheme - Is the scope character an exposed agent in the target scheme?
Traits: scheme scope
Supported Scopes: character
Supported Targets: scheme

--------------------

is_ai - is the character played by AI?
Traits: yes/no 
Supported Scopes: character

--------------------

is_alive - is the character alive or dead?
Traits: yes/no 
Supported Scopes: character

--------------------

is_allied_in_war - Is the scope character allied to the target character in a war?
Traits: character target 
Supported Scopes: character

--------------------

is_allied_to - Is the scope character allied to the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_at_home - is the character at home?
Traits: yes/no 
Supported Scopes: character

--------------------

is_at_location - Is the character currently in the target province?
Traits: province target province scope
Supported Scopes: character
Supported Targets: province

--------------------

is_at_same_location - Is the character currently in the same province as the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_at_war - is the character at war? Does not consider your lieges' wars
Traits: yes/no 
Supported Scopes: character

--------------------

is_at_war_as_attacker - is the character at war as an attacker? Does not consider your lieges' wars
Traits: yes/no 
Supported Scopes: character

--------------------

is_at_war_as_defender - is the character at war as a defender? Does not consider your lieges' wars
Traits: yes/no 
Supported Scopes: character

--------------------

is_at_war_with - Is the character at war with the target? Does not consider your lieges' wars
Traits: character target 
Supported Scopes: character

--------------------

is_at_war_with_liege - is the character at war with their liege?
Traits: yes/no 
Supported Scopes: character

--------------------

is_attacker_in_war - is the scope character in the target war as an attacker?
Traits: war scope
Supported Scopes: character
Supported Targets: war

--------------------

is_attracted_to_gender_of - does the sexuality of the scope character make them attracted to the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_attracted_to_men - Is the character attracted to men?
Traits: yes/no 
Supported Scopes: character

--------------------

is_attracted_to_women - Is the character attracted to women?
Traits: yes/no 
Supported Scopes: character

--------------------

is_away_from_court - Is the character away from the court?
Traits: yes/no 
Supported Scopes: character

--------------------

is_betrothed - Is the scope character betrothed?
Traits: yes/no 
Supported Scopes: character

--------------------

is_causing_raid_hostility_towards - Is the scoped character making the target hostile due to having raided their (top-liege's) realm?
is_causing_raid_hostility_towards = scope:character
Traits: character scope
Supported Scopes: character
Supported Targets: character

--------------------

is_character_interaction_potentially_accepted - Is the character interaction specified available and potentially accepted for the target character?
is_character_interaction_potentially_accepted = {
    recipient = character
    interaction = interaction_name
    secondary_actor = character <optional>
    secondary_recipient = character <optional>
    target_title = title <optional>
}
Supported Scopes: character

--------------------

is_character_interaction_shown - Is the character interaction specified shown for the target character?
is_character_interaction_shown = {
    recipient = character
    interaction = interaction_name
}
Supported Scopes: character

--------------------

is_character_interaction_valid - Is the character interaction specified valid (shown and usable) for the target character?
is_character_interaction_valid = {
    recipient = character
    interaction = interaction_name
}
Supported Scopes: character

--------------------

is_character_window_main_character - Is the local player the main character in the character window?
An interface trigger, can only be used in specific places
Traits: yes/no 
Supported Scopes: character

--------------------

is_child_of - Is the character a child of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_claimant - is the character a claimant to any landed titles?
Traits: yes/no 
Supported Scopes: character

--------------------

is_clergy - Is the scoped character a clergy?
Traits: yes/no 
Supported Scopes: character

--------------------

is_close_family_of - Is the character a close family [parents, children, siblings, grandparents, grandchildren] of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_close_or_extended_family_of - Is the character a close or extended family [parents, children, siblings, grandparents, grandchildren, cousins, uncles, aunts, nephews, nieces] of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_commanding_army - is the character a commanding an army?
Traits: yes/no 
Supported Scopes: character

--------------------

is_concubine - Is the scope character a concubine?
Traits: yes/no 
Supported Scopes: character

--------------------

is_concubine_of - Is the target character a concubine of the scope character?
Traits: character target 
Supported Scopes: character

--------------------

is_consort_of - Is the character a spouse or concubine of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_contact_of - Check if character is employer of laamp
scope:actor = { is_contact_of = SCOPE_CHARACTER }
Traits: character scope
Supported Scopes: character
Supported Targets: character

--------------------

is_council_task_valid - Check if the task of the scope councillor is valid { task_type = council_position_type_key target = for_targeted_tasks }
Supported Scopes: character

--------------------

is_councillor - Is the scoped character a councillor?
Traits: yes/no 
Supported Scopes: character

--------------------

is_councillor_of - Is the scoped character a councillor for the specified character?
Traits: character target 
Supported Scopes: character

--------------------

is_court_position_employer - is the scoped character employed in the target position by target character
Supported Scopes: character

--------------------

is_courtier - Is the scope character a courtier?
Traits: yes/no 
Supported Scopes: character

--------------------

is_courtier_of - Is the scope character a courtier of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_cousin_of - Is the character a cousin of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_decision_on_cooldown - Is the given decision on cooldown for the current character.
is_decision_on_cooldown = decision_key
Traits: class CDecisionTypeDatabase key
Supported Scopes: character
Supported Targets: decision

--------------------

is_defender_in_war - is the scope character in the target war as a defender?
Traits: war scope
Supported Scopes: character
Supported Targets: war

--------------------

is_designated_diarch - Is the scoped character was diesignated as diarch by their liege?
scope:character = { is_designated_diarch = yes/no }
Traits: yes/no 
Supported Scopes: character

--------------------

is_diarch - Is the scoped character currently an active diarch of anyone?
scope:character = { is_diarch = yes/no }
Traits: yes/no 
Supported Scopes: character

--------------------

is_diarch_of_target - Is the scoped character currently an active diarch of the target?
scope:character = { is_diarch_of_target = scope:liege }
Traits: character scope
Supported Scopes: character
Supported Targets: character

--------------------

is_diarchy_successor - Is the scoped character next in the line of succession for diarchy?
Traits: yes/no 
Supported Scopes: character

--------------------

is_employer_of - Is the target character a courtier of the scope character?
Traits: character target 
Supported Scopes: character

--------------------

is_extended_family_of - Is the character a extended family [cousins, uncles, aunts, nephews, nieces] of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_favorite_child - is the character your favorite child?
Traits: yes/no 
Supported Scopes: character

--------------------

is_female - Is the scope character female?
Traits: yes/no 
Supported Scopes: character

--------------------

is_forbidden_from_scheme - Is the scope character forbidden from the target scheme?
Traits: scheme scope
Supported Scopes: character
Supported Targets: scheme

--------------------

is_forced_into_faction - Is the scope character forced to be part of a faction?
Traits: yes/no 
Supported Scopes: character

--------------------

is_forced_into_scheme - Checks if the scope character is forced into the target scheme
Traits: scheme scope
Supported Scopes: character
Supported Targets: scheme

--------------------

is_foreign_court_guest - Is the character a guest from another a court? In contrast to is_pool_guest the character has a liege
Traits: yes/no 
Supported Scopes: character

--------------------

is_foreign_court_guest_of - Is the character a guest from another a court, visiting the target character's court? In contrast to is_pool_guest_of the character has a liege
Traits: character target 
Supported Scopes: character

--------------------

is_foreign_court_or_pool_guest - Is the character a guest? (is_pool_guest or is_foreign_court_guest)
Traits: yes/no 
Supported Scopes: character

--------------------

is_foreign_court_or_pool_guest_of - Is the character a guest? (is_pool_guest_of or is_foreign_court_guest_of)
Traits: character target 
Supported Scopes: character

--------------------

is_from_ruler_designer - Was this character made from the ruler designer
Traits: yes/no 
Supported Scopes: character

--------------------

is_grandchild_of - Is the character a grandchild of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_grandparent_of - Is the character a grandparent of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_great_grandchild_of - Is the character a great grandchild of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_great_grandparent_of - Is the character a great grandparent of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_heir_of - Is the character an heir of the target [placeholder]?
Traits: character target 
Supported Scopes: character

--------------------

is_hostage - Is the scoped character a Hostage?
Traits: yes/no 
Supported Scopes: character

--------------------

is_hostage_from - Is the scope character a Hostage with target character as their original Liege? is_hostage_from = TARGET
Traits: character target 
Supported Scopes: character

--------------------

is_hostage_of - Is the scope character a Hostage with target character as their Warden? is_hostage_of = TARGET
Traits: character target 
Supported Scopes: character

--------------------

is_hostage_warden - Is the scoped character a Warden with Hostages?
Traits: yes/no 
Supported Scopes: character

--------------------

is_immortal - Is the character immortal?
Traits: yes/no 
Supported Scopes: character

--------------------

is_important_decision - Is the scoped decision an important decision for the target character?
Traits: class CDecisionTypeDatabase key
Supported Scopes: character
Supported Targets: decision

--------------------

is_imprisoned - is the character imprisoned?
Traits: yes/no 
Supported Scopes: character

--------------------

is_imprisoned_by - Is the scope character imprisoned by the target character? is_imprisoned_by = TARGET
Traits: character target 
Supported Scopes: character

--------------------

is_in_army - is the character in an army (a commander or a knight)?
Traits: yes/no 
Supported Scopes: character

--------------------

is_in_civil_war - is the character at war with their liege, or one or more of their vassals?
Traits: yes/no 
Supported Scopes: character

--------------------

is_in_guest_subset - Is the scoped character in the specified guest subset in the activity they are 
involved in? 
is_in_guest_subset = {
	name = <subset_key>
	phase = <phase_key> #Optional
}
If phase is not specified, it will check the current phase, otherwise it will 
check all phases matching the phase key.
Supported Scopes: character

--------------------

is_in_ongoing_great_holy_war - is the character in an ongoing (i.e. the war has started) great holy war?
Traits: yes/no 
Supported Scopes: character

--------------------

is_in_pool_at - Is the character in the pool the target province is a part of
Traits: province target province scope
Supported Scopes: character
Supported Targets: province

--------------------

is_in_prison_type - is the character imprisoned in a prison of the specified type? Accepts any static modifier (see also imprison effect).
is_in_prison_type = house_arrest
Supported Scopes: character

--------------------

is_in_the_same_court_as - Is the character in the same court as the target character (they have the same court owner or one is a courtier of the other)?
Traits: character target 
Supported Scopes: character

--------------------

is_in_the_same_court_as_or_guest - Is the character in the same court as the target character (they have the same court owner or one is a courtier of the other)? Includes guests in the court.
Traits: character target 
Supported Scopes: character

--------------------

is_incapable - is the character incapable?
Traits: yes/no 
Supported Scopes: character

--------------------

is_independent_ruler - is the character an independent ruler?
Traits: yes/no 
Supported Scopes: character

--------------------

is_knight - Is the scoped character a knight
Traits: yes/no 
Supported Scopes: character

--------------------

is_knight_of - Is the scoped character a knight of the target character
Traits: character target 
Supported Scopes: character

--------------------

is_landed - Is the scope character landed (holds a county or barony)?
Traits: yes/no 
Supported Scopes: character

--------------------

is_landless_ruler - Is the scope character a landless ruler (holds any title, but no on-map land)?
Traits: yes/no 
Supported Scopes: character

--------------------

is_leader_in_war - is the scope character leading one of the sides in the target war?
Traits: war scope
Supported Scopes: character
Supported Targets: war

--------------------

is_leading_faction_type - Is the character leading a faction of the specified type?
Supported Scopes: character

--------------------

is_liege_or_above_of - is the scope character a liege or above of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_local_player - is the character the local player?
An interface trigger, can only be used in specific places
Traits: yes/no 
Supported Scopes: character

--------------------

is_lowborn - Is the character a lowborn?
Traits: yes/no 
Supported Scopes: character

--------------------

is_male - Is the scope character male?
Traits: yes/no 
Supported Scopes: character

--------------------

is_married - Is the scope character married?
Traits: yes/no 
Supported Scopes: character

--------------------

is_nibling_of - Is the character a nibling (niece/nephew) of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_normal_councillor - Is the scoped character a regular councillor?
Traits: yes/no 
Supported Scopes: character

--------------------

is_overriding_designated_winner - Is the scoped character overriding the winner in the GHW they're pledged to (will put their beneficiary on the throne if they're top participant)?
Traits: yes/no 
Supported Scopes: character

--------------------

is_parent_of - Is the character a parent of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_participant_in_activity - is_participant_in_activity = target_activity
Is the scoped character a participant in the target activity
Traits: activity scope
Supported Scopes: character
Supported Targets: activity

--------------------

is_participant_in_war - is the scope character participating in the target war as an attacker or defender?
Traits: war scope
Supported Scopes: character
Supported Targets: war

--------------------

is_performing_council_task - Is the scoped character performing the given task?
Supported Scopes: character

--------------------

is_player_heir_of - Is the scope character the player heir of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_pledged_ghw_attacker - Is the scoped character a pledged attacker in the current GHW (it's an error to check this if there's no GHW around)
Traits: yes/no 
Supported Scopes: character

--------------------

is_pool_character - Is the character in the pool? (not a ruler, courtier or guest at any court)
Traits: yes/no 
Supported Scopes: character

--------------------

is_pool_guest - Is the character a guest from the pool? In contrast to is_foreign_court_guest the character has no liege
Traits: yes/no 
Supported Scopes: character

--------------------

is_pool_guest_of - Is the character a guest from the pool, visiting the target character's court? In contrast to is_foreign_court_guest_of the character has no liege
Traits: character target 
Supported Scopes: character

--------------------

is_potential_knight - Is the scoped character a POTENTIAL knight to their liege?
Traits: yes/no 
Supported Scopes: character

--------------------

is_powerful_vassal - Is the character a powerful vassal?
Traits: yes/no 
Supported Scopes: character

--------------------

is_powerful_vassal_of - Is the character a powerful vassal of the target?
Traits: character target 
Supported Scopes: character

--------------------

is_pregnant - is the character pregnant?
Traits: yes/no 
Supported Scopes: character

--------------------

is_primary_heir_of - Is the character the heir of the target's primary title?
Traits: character target 
Supported Scopes: character

--------------------

is_ruler - Is the scope character a ruler (holds any title)?
Traits: yes/no 
Supported Scopes: character

--------------------

is_scheming_against - Checks whether the scope character is an owner or an owner agent in a scheme agains target. There are 3 possible ways to use it:
is_scheming_against = { target = X type = Y } limits to schemes of type Y
is_scheming_against = { target = X scheme_skill = Y } limits to schemes of Y skill category
is_scheming_against = { target = X } considers all schemes
Supported Scopes: character

--------------------

is_sibling_of - Is the character a sibling of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_spouse_of - Is the character a spouse of the target character, and are both alive?
Traits: character target 
Supported Scopes: character

--------------------

is_spouse_of_even_if_dead - Is the character a spouse of the target character, even if one or both are dead?
Traits: character target 
Supported Scopes: character

--------------------

is_successor_of_accolade - Is the scoped character the successor of a given Accolade?
is_successor_of_accolade = accolade
Traits: accolade scope
Supported Scopes: character
Supported Targets: accolade

--------------------

is_tax_collector - Is this scope character a tax collector?
scope:character = { is_tax_collector = yes/no }
Traits: yes/no 
Supported Scopes: character

--------------------

is_tax_collector_of - Is the scoped character a tax collector of the target character
Traits: character target 
Supported Scopes: character

--------------------

is_theocratic_lessee - Is the scope character a theocratic lessee (bishop)?
Traits: yes/no 
Supported Scopes: character

--------------------

is_travel_entourage_character - Is the character travelling and part of the entourage? (travel leader is part of the entourage)
Traits: yes/no 
Supported Scopes: character

--------------------

is_travel_leader - Is the character travelling and the active travel leader?
Traits: yes/no 
Supported Scopes: character

--------------------

is_travelling - Is the character currently travelling?
Traits: yes/no 
Supported Scopes: character

--------------------

is_twin_of - Is the character a twin of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_unborn_child_of_concubine - Is the unborn a child of a concubine?
Traits: yes/no 
Supported Scopes: character

--------------------

is_unborn_known_bastard - Is the unborn a known bastard?
Traits: yes/no 
Supported Scopes: character

--------------------

is_uncle_or_aunt_of - Is the character an uncle or aunt of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_valid_as_agent_in_any_slot - Is the scope character suitable as an agent for any slot in target scheme?
Traits: scheme scope
Supported Scopes: character
Supported Targets: scheme

--------------------

is_valid_as_agent_in_slot - Is the scope character suitable as an agent for the target agent slot?
Traits: agent_slot scope
Supported Scopes: character

--------------------

is_valid_designated_heir - Is the target character a valid potential designated heir of the scoped character?
(can they inherit one or more of the titles the scoped character holds?)
is_valid_designated_heir = scope:target_character
Traits: character target 
Supported Scopes: character

--------------------

is_valid_for_event_debug - is the scoped character valid for the given event, without checking event cooldown?
NOTE: this is only for debug purposes and will not work in release mode!
is_valid_for_event_debug = event_key
Supported Scopes: character

--------------------

is_valid_for_event_debug_cooldown - is the scoped character valid for the given event, including a cooldown check?
NOTE: this is only for debug purposes and will not work in release mode!
is_valid_for_event_debug_cooldown = event_key
Supported Scopes: character

--------------------

is_valid_successor_for_accolade - Is the scoped character a valid candidate to take over as successor of this Accolade?
is_valid_successor_for_accolade = accolade
Traits: accolade scope
Supported Scopes: character
Supported Targets: accolade

--------------------

is_valid_to_hire_court_position_type - Does the scoped character fulfill the requirements for being employed as the targeted court position type?
Supported Scopes: character

--------------------

is_vassal_of - Is the character a direct vassal of the target character?
Traits: character target 
Supported Scopes: character

--------------------

is_vassal_or_below_of - is the scope character a vassal or below of the target character? Non-rulers are not considered vassals
Traits: character target 
Supported Scopes: character

--------------------

is_visibly_fertile - Is the scoped character visibly fertile, that is: not too old if a woman, not too young and has no traits blocking having children
Traits: yes/no 
Supported Scopes: character

--------------------

join_faction_chance - Check if the chance of the scope character to join the faction against the scripted value
join_faction_chance = { 
    target = faction_target #An ongoing faction
    value <|<=|>=|> 0
}
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

join_scheme_chance - Check if the chance of the scope character is between the given range (being min and max exclusive)
join_scheme_chance = { 
    scheme = scheme_target #An ongoing scheme
    max = 0
    min = -10
}
Supported Scopes: character

--------------------

knows_court_language_of - Does the character know the court language of the target character?
knows_court_language_of = scope:target_character
Traits: character scope
Supported Scopes: character
Supported Targets: character

--------------------

knows_language - Does the character know the language?
knows_language = language_norwegian
Supported Scopes: character

--------------------

knows_language_of_culture - Does the character know the language of the target culture?
knows_language_of_culture = scope:target_culture
Traits: culture scope
Supported Scopes: character
Supported Targets: culture

--------------------

learning - does the character have the required learning skill level?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

learning_diff - does the character have the required learning skill level difference against target?
learning = { target = character value <= script_value abs = yes/no(optional, default no) }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

learning_for_portrait - Learning skill scaled between 0.0 and 1.0 for portraits
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

learning_lifestyle_perk_points - How many perk points available does the character have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

learning_lifestyle_perks - How many perks from this lifestyle does the character have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

learning_lifestyle_unlockable_perks - How many perks from this lifestyle can the character currently unlock? This checks that they have the parent perks, and that the can_be_picked is met. It doesn't check perk points
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

learning_lifestyle_xp - How many perk points available does the character have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

legitimacy - Gets the scoped character's current legitimacy
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

legitimacy_level - Gets the scoped character's current legitimacy level
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

levies_to_liege - The amount of levies a character sends to their liege
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

long_term_gold - does the character have the required gold? (AI category 'long term')
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

long_term_gold_maximum - How big is the 'long term' budget is supposed to get?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

maa_regiments_count - Current number of personal MaA regiments
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

maa_regiments_max_count - Max number of personal MaA regiment
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

mandate_type_qualification - Diarch qualification for spefic mandate type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

martial - does the character have the required martial skill level?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

martial_diff - does the character have the required martial skill level difference against target?
martial = { target = character value <= script_value abs = yes/no(optional, default no) }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

martial_for_portrait - Martial skill scaled between 0.0 and 1.0 for portraits
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

martial_lifestyle_perk_points - How many perk points available does the character have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

martial_lifestyle_perks - How many perks from this lifestyle does the character have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

martial_lifestyle_unlockable_perks - How many perks from this lifestyle can the character currently unlock? This checks that they have the parent perks, and that the can_be_picked is met. It doesn't check perk points
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

martial_lifestyle_xp - How many perk points available does the character have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

matrilinear_betrothal - Is this character's betrothal matrilinear? False if there's no betrothal.
Traits: yes/no 
Supported Scopes: character

--------------------

matrilinear_marriage - Is the marriage with the spouse matrilinear?
Traits: yes/no 
Supported Scopes: character

--------------------

max_active_accolades - How many active accolades can this character have at most?
max_active_accolades <= 3
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

max_military_strength - Is the scoped character's max military strength this big?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

max_number_maa_soldiers_of_base_type - Does the scope character have value amount of max soldiers of MaA of the base type?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

max_number_maa_soldiers_of_type - Does the scope character have value amount of max soldiers of MaA of the type?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

max_number_of_concubines - The maximum number of concubines a character can have
max_number_of_concubines > 2
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

max_number_of_knights - Check how many knights the scoped character can potentially have
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

missing_unique_ancestors - The amount of missing unique ancestors from the characters real father and mother
Traverses the family tree for NDefines::NChildbirth::INBREEDING_ANCESTOR_GENERATIONS amount of generations. By default this means that we're traversing 62 ancestors and report the amount of duplicates we find.
calc_missing_unique_ancestors > 10
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

monthly_character_balance - Is the scoped character's monthly balance this big?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

monthly_character_expenses - Is the scoped character's monthly expenses this big?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

monthly_character_income - Is the scoped character's monthly income this big?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

monthly_character_income_long_term - did the character allocate the required gold? (AI category long term)
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

monthly_character_income_reserved - did the character allocate the required gold? (AI category reserved)
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

monthly_character_income_short_term - did the character allocate the required gold? (AI category short term)
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

monthly_character_income_war_chest - did the character allocate the required gold? (AI category war chest)
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

monthly_character_men_at_arms_expense_gold - Is the scoped character's monthly military gold expenses this big? (unraised maa costs)
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

monthly_character_men_at_arms_expense_prestige - Is the scoped character's monthly military prestige expenses this big? (unraised maa costs)
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

months_as_ruler - Number of months this character has been a ruler, returns -1 if character isn't a ruler
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

morph_gene_attribute - Compare entity attribute from specific gene
Example scope:character = {
	morph_gene_attribute = {
		category = gene_height
		attribute = body_height
		value < 0.05
	}
}
An interface trigger, can only be used in specific places
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

morph_gene_value - Compare value of specific gene. Does NOT take into account trait modifiers
scope:character = {
	morph_gene_attribute = {
		category = gene_height
		value < 0.05
	}
}
scope:character = {
	morph_gene_value:gene_baldness > 0.05
	0.05 < morph_gene_value:gene_baldness
}
An interface trigger, can only be used in specific places
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_active_accolades - How many active accolades does this character currently have?
num_active_accolades < 4
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_inactive_accolades - How many inactive accolades does this character currently have?
num_inactive_accolades > 0
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_bad_genetic_traits - Compare the number of bad genetic traits
<charater> = { num_of_bad_genetic_traits = 0 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_good_genetic_traits - Compare the number of good genetic traits
<charater> = { num_of_good_genetic_traits >= 2 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_known_languages - How many languages does the character know?
num_of_known_languages > 1
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_activity_recurrer - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_antiquarian - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_best_friend - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_bully - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_court_physician - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_crush - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_event_recurrer - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_favorite_child - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_friend - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_grudge - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_guardian - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_intrigue_mentor - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_intrigue_student - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_lover - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_mentor - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_nemesis - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_nursed_child - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_oaf - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_old_flame - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_potential_friend - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_potential_hook - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_potential_lover - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_potential_rival - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_rival - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_soldier_friend - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_soulmate - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_student - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_victim - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_ward - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_wedding_bad_fertility - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_wedding_good_fertility - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_wedding_very_bad_fertility - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_wedding_very_good_fertility - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_of_relation_wet_nurse - Compares the number of scripted relations a character has of the type
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_offered_task_contracts - Count of active task contract offered
scope:actor = { num_offered_task_contracts > 0 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_personal_legend_seeds - How many personal legend seeds are available to this character?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_sinful_traits - Does the scoped character have this number of virtous traits?
num_virtous_traits > 5 ORnum_virtous_traits = { value > 5 faith = scope:faith }, to base it on what a specific faith considers virtuous
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_taken_task_contracts - Amount of taken task contracts for character (accepted & not yet completed)
scope:actor = { num_taken_task_contracts > 0 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_task_contracts - Amount of tas contracts for character
scope:actor = { num_task_contracts > 0 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_triggered_legend_seeds - How many triggered legend seeds are available to this character?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

num_virtuous_traits - Does the scoped character have this number of virtous traits?
num_virtous_traits > 5 ORnum_virtous_traits = { value > 5 faith = scope:faith }, to base it on what a specific faith considers virtuous
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_maa_regiments_of_base_type - Does the scope character have value amount of MaA of the base type?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_maa_regiments_of_type - Does the scope character have value amount of MaA of the type?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_maa_soldiers_of_base_type - Does the scope character have value amount of soldiers of MaA of the base type?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_maa_soldiers_of_type - Does the scope character have value amount of soldiers of MaA of the type?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_of_commander_traits - does the character have this many commander traits?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_of_commander_traits_in_common - does the character and the target have a number of commander traits in common? 
number_of_personality_traits_in_common = { target = X value >/</>=/<= Y }
Supported Scopes: character

--------------------

number_of_concubines - The number of concubines the scoped character has
number_of_concubines > 2
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_of_desired_concubines - The number of fertile concubines the scoped character should have to not get penalties
number_of_desired_concubines > 2
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_of_election_votes - Check the number of votes the scoped character has in the target title
number_of_election_votes = { title = scope:actor.primary_title value = 0 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_of_fertile_concubines - The number of visibly fertile concubines the scoped character has
number_of_fertile_concubines > 2
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_of_knights - Check how many knights the scoped character has at the moment
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_of_lifestyle_traits - does the character have this many lifestyle traits?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_of_maa_regiments - The number of men at arms the scoped character has
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_of_opposing_personality_traits - does the character and the target have a number of opposing personality traits? 
number_of_opposing_personality_traits = { target = X value >/</>=/<= Y }
Supported Scopes: character

--------------------

number_of_opposing_traits - does the character and the target have a number of opposing traits? 
number_of_opposing_traits = { target = X value >/</>=/<= Y }
Supported Scopes: character

--------------------

number_of_personality_traits - does the character have this many personality traits?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_of_personality_traits_in_common - does the character and the target have a number of personality traits in common? 
number_of_personality_traits_in_common = { target = X value >/</>=/<= Y }
Supported Scopes: character

--------------------

number_of_powerful_vassals - Does the character have a specified number of powerful vassals?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_of_sinful_traits_in_common - do the two characters share a number of traits that is considered sinful by both of their respective faiths?
number_of_sinful_traits_in_common = { target = X value >/</>=/<= Y }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_of_stationed_maa_regiments - The number of stationed men at arms the scoped character has
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_of_traits - does the character have this many traits?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_of_traits_in_common - does the character and the target have a number of traits in common? 
number_of_traits_in_common = { target = X value >/</>=/<= Y }
Supported Scopes: character

--------------------

number_of_virtue_traits_in_common - do the two characters share a number of traits that is considered virtuous by both of their respective faiths?
number_of_virtue_traits_in_common = { target = X value >/</>=/<= Y }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

number_title_maa_regiments_of_type - Does the scope character have value amount of MaA of the type for their controlled title troops?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

opinion - is the character's opinion of the target greater or equal than the value? opinion = { target = X [*value >/</>=/<= Y* or *value = { min max }*  }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

owns_a_story - checks whether the scope character is the owner of any currently active story
Traits: yes/no 
Supported Scopes: character

--------------------

owns_story_of_type - Does the character own a story of this type?
Supported Scopes: character

--------------------

patrilinear_betrothal - Is this character's betrothal patrilinear? False if there's no betrothal.
Traits: yes/no 
Supported Scopes: character

--------------------

patrilinear_marriage - Is the marriage with the spouse patrilinear?
Traits: yes/no 
Supported Scopes: character

--------------------

perk_points - Does the character have this many perk points across all lifestyles combined?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

perk_points_assigned - Does the character have this many perk points assigned across all lifestyles combined?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

perks_in_tree - Does the character have this many perk points assigned to this tree? perks_in_tree = { tree = tree_key value > 5 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

piety - does the character have the required piety?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

piety_level - does the character have the required piety level?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

player_heir_position - Check where the target character is in the scoped character's player heir list.
player_heir_position = { target = scope:actor position = 0 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

pregnancy_days - How long has the character been pregnant? Counts from impregnation, not reveal
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

prestige - does the character have the required prestige?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

prestige_level - does the character have the required prestige level?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

provision_cost_to_domicile - What is the provision cost between the domicile owner and the domicile's current location."
In order to calculate the cost we will operate in three stages: 
1. Check if the from and to provinces are direct neighbours. 
2. Check any travel plan the domicile owner might have and see if the from and 
   to are part of the travel plan. This will require domicile's location to be 
   the first entry in the travel plan. 
3. Do a pathfind between the domicile and domicile owner's current location, 
   using that path for the cost.
scope:character = {
	provision_cost_to_domicile > 100
}
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

prowess - does the character have the required prowess skill level?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

prowess_diff - does the character have the required prowess skill level difference against target?
prowess = { target = character value <= script_value abs = yes/no(optional, default no) }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

prowess_for_portrait - Prowess skill scaled between 0.0 and 1.0 for portraits
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

prowess_no_portrait - does the character have the required prowess skill level (ignores the prowess_no_portrait modifier)?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

ransom_cost - what is the ransom cost of the character?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

realm_size - Is the scoped character's top liege's realm this big (# of counties)?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

realm_to_title_distance_squared - Is the character's realm within this distance of the title? Distance is in pixels, squared for performance reasons. realm_to_title_distance_squared = { title = some_title value > 10000 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

reserved_gold - does the character have the required gold? (AI category 'reserved')
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

reserved_gold_maximum - How big is the 'reserved' budget is supposed to get?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

reverse_has_opinion_modifier - does the target have the specified opinion modifier on the character? (optional *value <|<=|=|>=|> X* or *value = { MIN MAX }* inclusive)
Supported Scopes: character

--------------------

reverse_opinion - is the target character's opinion of the scope character greater or equal than the value? opinion = { target = X [*value >/</>=/<= Y* or *value = { min max }*  }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

scriptedtests_can_marry_character - can the character marry the target character?
Traits: character target 
Supported Scopes: character

--------------------

scriptedtests_dread_base - does the character have the specified dread baseline value?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

scriptedtests_gold_income_no_theocracy - does the character have the specified tax income, excluding income from the theocratic lessee?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

scriptedtests_piety_income - does the character have the specified piety income?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

sex_opposite_of - Are the scope character the target character of the opposite sex?
Traits: character target 
Supported Scopes: character

--------------------

sex_same_as - Are the scope character the target character of the same sex?
Traits: character target 
Supported Scopes: character

--------------------

short_term_gold - does the character have the required gold? (AI category 'short term')
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

short_term_gold_maximum - How big is the 'short term' budget is supposed to get?(It may exceed this if all other budgets are full)
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

should_decision_create_alert - Is the scoped decision an important decision for the target character?
Traits: class CDecisionTypeDatabase key
Supported Scopes: character
Supported Targets: decision

--------------------

should_notify_can_host_activity - should_notify_can_host_activity = target_activity
Should the scoped character be alerted that they can host the target activity type
Traits: class CActivityTypeDatabase key
Supported Scopes: character
Supported Targets: activity_type

--------------------

should_notify_can_join_open_activity - should_notify_can_join_open_activity = target_activity
Should the scoped character be alerted that they can join the target activity type
Traits: class CActivityTypeDatabase key
Supported Scopes: character
Supported Targets: activity_type

--------------------

static_group_filter - Check if this character 'matches' a group, with a certain match percentage.
A match value can range from 0.0 to 1.0. (0% to 100%)
A static group filter means: this character will always get the same result against the same group. (there is no 'random' involved beyond the name of the group)
On average (across all characters), an 0.1 match means you would get 'yes' for 10% of the characters to match this group, and it would always be the same characters for the same group.

static_group_filter = {
    group = <a_group_id>
    match = 0.1
}

Instead of a group id, you can supply a scope, and it will use that scope's value as the group 'id'.
static_group_filter = {
    scope = <any_scope>
    match = 0.1
}
Supported Scopes: character

--------------------

stewardship - does the character have the required stewardship skill level?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

stewardship_diff - does the character have the required stewardship skill level difference against target?
stewardship = { target = character value <= script_value abs = yes/no(optional, default no) }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

stewardship_for_portrait - Stewardship skill scaled between 0.0 and 1.0 for portraits
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

stewardship_lifestyle_perk_points - How many perk points available does the character have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

stewardship_lifestyle_perks - How many perks from this lifestyle does the character have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

stewardship_lifestyle_unlockable_perks - How many perks from this lifestyle can the character currently unlock? This checks that they have the parent perks, and that the can_be_picked is met. It doesn't check perk points
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

stewardship_lifestyle_xp - How many perk points available does the character have?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

stress - does the character have the required stress?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

stress_level - does the character have the required stress level?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

strife_opinion - Strife opinion value accumulated by the character
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

sub_realm_size - Is the scoped character's sub-realm this big (# of counties)?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

succession_appointment_score_invested - How much has the scoped character invested in the target title towards the target candidate? 
scope:character = { 
	succession_appointment_score_invested = {
		title = scope:title 
		candidate = scope:character
		value < 0
	}
}
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

target_is_liege_or_above - is the target character the liege or above the scope character?
Traits: character target 
Supported Scopes: character

--------------------

target_is_same_character_or_above - is the target character the the same character or above (in the vassal hierarchy) the scope character?
Traits: character target 
Supported Scopes: character

--------------------

target_is_vassal_or_below - is the target character a vassal or below of the scope character? Non-rulers are not considered vassals
Traits: character target 
Supported Scopes: character

--------------------

target_weight - Target weight of the scoped character
target_weight > 10
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

tax_collector_aptitude - What is the scoped character's Tax Collector aptitude in the target tax slot type? tax_collector_aptitude = { tax_slot_type = tax_slot_type value >= 1 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

tax_to_liege - The amount of tax a character sends to their liege
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

tier_difference - What is the difference in highest_held_title_tier between the scoped character and the target character (-5 to 5)
For example, this is true:
scope:a_baron = {
    tier_difference = {
        target = scope:a_king
        value = -3
    }
}
Supported Scopes: character

--------------------

time_after_diarch_designated - How much time passed after diarch was designated?
time_after_designated_diarch = { days/months/years =,>,< X }
Supported Scopes: character

--------------------

time_in_prison - for how long has the character been imprisoned? time_in_prison = { days/months/years =,>,< X }
Supported Scopes: character

--------------------

time_in_prison_type - for how long has the character been imprisoned with the current type? time_in_prison_type = { days/months/years =,>,< X }
Supported Scopes: character

--------------------

time_since_death - for how long has the character is dead? time_since_death  = { days/months/years =,>,< X }
Supported Scopes: character

--------------------

time_to_hook_expiry - The # of days until the scoped character's hook on the target expires
time_to_hook_expiry = { target = someone value > 50 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

trait_compatibility - target = other character value >/</= sum of trait compatibility values
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

travel_leader_cost - What this character would cost as a travel leader
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

travel_leader_safety - The safety-aptitude of the current travel leader
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

travel_leader_speed - The speed-aptitude of the current travel leader
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

tyranny - does the character have the required tyranny?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

vassal_contract_has_flag - Do any of the current active obligations in the scoped character's vassal contract have the given flag
Supported Scopes: character

--------------------

vassal_contract_has_modifiable_obligations - Can the scoped character's contract be modified at all, that is: they have one, they use obligation levels, and are count or above
Traits: yes/no 
Supported Scopes: character

--------------------

vassal_contract_is_blocked_from_modification - Has the scoped character's contract been blocked from modification by script via 'set_vassal_contract_modification_blocked'
Traits: yes/no 
Supported Scopes: character

--------------------

vassal_contract_liege_dynasty_reign_start_date - Date when this vassal's liege's dynasty started ruling over this vassal
Traits: <, <=, =, >, >= valid date
Supported Scopes: character

--------------------

vassal_contract_obligation_level - The level of the provided contract type in the scoped character's current vassal contract
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

vassal_contract_obligation_level_can_be_decreased - Can the obligation level of the scoped character's vassal contract be decreasde?
Supported Scopes: character

--------------------

vassal_contract_obligation_level_can_be_increased - Can the obligation level of the scoped character's vassal contract be increased?
Supported Scopes: character

--------------------

vassal_contract_obligation_level_score - The score in favour of the avassal for the provided contract type in the scoped character's current vassal contract
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

vassal_count - Is the scoped character's number of vassals (excluding barons) this high?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

vassal_limit - Is the scoped character's vassal limit this big?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

vassal_limit_available - Is there this much space left in the character's vassal limit? Negative values also work for checking characters that are above their limit
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

vassal_limit_percentage - Is the scoped character's vassal count this big in comparison to their limit?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

war_chest_gold - does the character have the required gold? (AI category 'war chest')
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

war_chest_gold_maximum - How big is the 'war chest' budget is supposed to get?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

was_hostage_child - Was the scoped character a Hostage as a Child?
Traits: yes/no 
Supported Scopes: character

--------------------

would_be_valid_for_court_position - can the scoped character be employed as court position by the employer?
scope:character = {
	would_be_valid_for_court_position = {
		employer = scope:employer
		court_position = court_physician_court_position
	}
}
Supported Scopes: character

--------------------

year_of_birth - Get character year_of_birth: scope:character = { year_of_birth > 1096 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

yearly_character_balance - Is the scoped character's yearly balance this big?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

yearly_character_expenses - Is the scoped character's yearly expenses this big?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

yearly_character_income - Is the scoped character's yearly income this big?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

yearly_character_men_at_arms_expense_gold - Is the scoped character's yearly military gold expenses this big? (unraised maa costs)
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

yearly_character_men_at_arms_expense_prestige - Is the scoped character's yearly military prestige expenses this big? (unraised maa costs)
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

years_as_diarch - How many whole years has the character been an active diarch?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

years_as_ruler - Number of years this character has been a ruler, returns -1 if character isn't a ruler
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

years_in_diarchy - How many whole years has liege spent in a diarchy?
Traits: <, <=, =, !=, >, >=
Supported Scopes: character

--------------------

yields_alliance - Checks if the character would get an alliance with the target character through such a marriage.
Supported Scopes: character

--------------------

any_combat_side - Iterate over both sides ( attacker and defender ) of the given combat
any_combat_side = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: combat
Supported Targets: combat_side

--------------------

num_total_troops - Number of total troops on boths sides.
num_total_troops >= 2000
Traits: <, <=, =, !=, >, >=
Supported Scopes: combat

--------------------

warscore_value - Warscore value.
warscore_value >= 25
Traits: <, <=, =, !=, >, >=
Supported Scopes: combat

--------------------

active_de_jure_drift_progress - task_current_value = scope:county.active_de_jure_drift_progress
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

any_claimant - Iterate through all claimants to title. parameters: explicit = yes/no/all - default yes
any_claimant = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: character

--------------------

any_connected_county - Iterate through all counties connected to this one. Is based on top liege
any/every/whatever_connectec_county = {
	max_naval_distance = 500
	allow_one_county_land_gap = yes
any_connected_county = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

any_controlled_faith - Iterate through all faiths headed by a title
any_controlled_faith = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: faith

--------------------

any_controlled_title_maa_regiment - Iterate through controlled title regiments
any_controlled_title_maa_regiment = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: regiment

--------------------

any_county_province - Iterate through all provinces in a county
any_county_province = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: province

--------------------

any_county_struggle - Iterate through all struggles that a county is involved in.
any_county_struggle = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: struggle

--------------------

any_de_jure_county - Iterate through all counties within this dejure title
any_de_jure_county = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

any_de_jure_county_holder - Iterate through all characters directly holding counties within this dejure title
any_de_jure_county_holder = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: character

--------------------

any_de_jure_top_liege - Iterate through all top lieges of the counts within this dejure title
any_de_jure_top_liege = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: character

--------------------

any_dejure_vassal_title_holder - Iterate through all the vassal holders of the title
any_dejure_vassal_title_holder = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: character

--------------------

any_direct_de_facto_vassal_title - Iterate through all de facto vassal titles
any_direct_de_facto_vassal_title = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

any_direct_de_jure_vassal_title - Iterate through the all de jure vassals titles
any_direct_de_jure_vassal_title = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

any_election_candidate - Iterate through all characters who are valid candidates in an election for a title
any_election_candidate = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: character

--------------------

any_elector - Iterate through all characters who are valid electors in an election for a title
any_elector = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: character

--------------------

any_important_location_for_title - Iterate through all counties that are important for the scoped title
any_important_location_for_title = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

any_in_de_facto_hierarchy - Iterate through the title itself, all de facto vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal
This is unrelated to the limit; if the limit is met it is added to the list, but its vassals will get checked even if the limit isn't met as long as the 'continue' trigger is
..._de_jure_vassal_and_below = { continue = { conditions } }
any_in_de_facto_hierarchy = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

any_in_de_jure_hierarchy - Iterate through the title itself, all de jure vassals, and below. The continue trigger specifies whether to recursively iterate through the vassal's vassal
This is unrelated to the limit; if the limit is met it is added to the list, but its vassals will get checked even if the limit isn't met as long as the 'continue' trigger is
..._de_jure_vassal_and_below = { continue = { conditions } }
any_in_de_jure_hierarchy = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

any_neighboring_county - Iterate through all neighboring counties. Can only be used in county scope
any_neighboring_county = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

any_owned_title_maa_regiment - Iterate through owned title MaA regiments
any_owned_title_maa_regiment = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: regiment

--------------------

any_past_holder - Iterate through all past owners of a title from earliest to latest
any_past_holder = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: character

--------------------

any_past_holder_reversed - Iterate through all past owners of a title from latest to earliest
any_past_holder_reversed = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: character

--------------------

any_succession_appointment_investors - Iterate through all investors of target candidate within the scoped title. Optionally specify a value to filter by investment amount
scope:landed_title = {
	any/every/ordered/random_succession_appointment_investors = {
		candidate = scope:character
		value > {			# Optional compare value to
			value = 100		# only have characters that
			add = 10		# have invested this much.
		}
	}
}
any_succession_appointment_investors = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: character

--------------------

any_this_title_or_de_jure_above - Iterate through this title and all its dejure liege titles
any_this_title_or_de_jure_above = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

any_title_heir - Line of succession for the scoped title
any_title_heir = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: character

--------------------

any_title_interested_in_location - Iterate through titles that consider scoped county an important location
any_title_interested_in_location = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

any_title_joined_faction - Iterate through all factions joined the scope landed title
any_title_joined_faction = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: faction

--------------------

any_title_maa_regiment - Iterate through title all MaA regiments
any_title_maa_regiment = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: regiment

--------------------

any_title_to_title_neighboring_and_across_water_county - Scopes from a title to a neighboring county (incl. across water, looking trough the de Jure lieges)
any_title_to_title_neighboring_and_across_water_county = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

any_title_to_title_neighboring_and_across_water_duchy - Scopes from a title to a neighboring duchy (incl. across water, looking trough the de Jure lieges)
any_title_to_title_neighboring_and_across_water_duchy = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

any_title_to_title_neighboring_and_across_water_empire - Scopes from a title to a neighboring empire (incl. across water, looking trough the de Jure lieges)
any_title_to_title_neighboring_and_across_water_empire = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

any_title_to_title_neighboring_and_across_water_kingdom - Scopes from a title to a neighboring kingdom (incl. across water, looking trough the de Jure lieges)
any_title_to_title_neighboring_and_across_water_kingdom = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

any_title_to_title_neighboring_county - Scopes from a title to a neighboring county (looking trough the de Jure lieges)
any_title_to_title_neighboring_county = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

any_title_to_title_neighboring_duchy - Scopes from a title to a neighboring duchy (looking trough the de Jure lieges)
any_title_to_title_neighboring_duchy = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

any_title_to_title_neighboring_empire - Scopes from a title to a neighboring empire (looking trough the de Jure lieges)
any_title_to_title_neighboring_empire = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

any_title_to_title_neighboring_kingdom - Scopes from a title to a neighboring kingdom (looking trough the de Jure lieges)
any_title_to_title_neighboring_kingdom = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

can_be_leased_out - Can the scoped title be leased out?
Traits: yes/no 
Supported Scopes: landed_title

--------------------

can_create_title_maa - Can create MaA of specified type for the scoped title
Traits: class CMenAtArmsTypeDatabase key
Supported Scopes: landed_title

--------------------

can_title_create_faction - can the title create the faction of the specified type against the specified character?
can_title_create_faction = { type = X target = Y }
Supported Scopes: landed_title

--------------------

can_title_join_faction - Can the scope title join the faction? can_title_join_faction = faction
Traits: faction scope
Supported Scopes: landed_title
Supported Targets: faction

--------------------

county_control - does the county title have the required county countrol?
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

county_holder_opinion - Compares the county's opinion of its holder
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

county_opinion - compares the county's opinion of the current count
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

county_opinion_target - compares the county's opinion of the target character to the specified value, county_opinion_target = { target = X value >/</= Y } 
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

de_jure_drift_progress - Compare drift progress towards target with value<drifting_title> = { de_jure_drif_progress = {     target = <drift_target_title>    value > 50 } }
Supported Scopes: landed_title

--------------------

de_jure_drifting_towards - Is the scoped landed title de jure drifts toward another title?<drifting_title> = { de_jure_drifting_towards = <drift_target_title> }
Traits: landed_title scope
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

development_level - does the county title have the required county development level?
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

development_rate - how much development progress is the county gaining each month?
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

development_rate_modifier - What's the multiplier to the development progress?
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

development_towards_level_increase - does the county title have the required progress towards the next level of development? E.G., if level 1 is 100, level 2 is 300 (these are set in defines), and current total is 150, this would return 50
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

has_character_nominiated - Has the target character nominated a successor for the scoped elective title
Traits: character target 
Supported Scopes: landed_title

--------------------

has_county_modifier - Does the scoped county have a given modifier
has_county_modifier = name
Supported Scopes: landed_title

--------------------

has_county_modifier_duration_remaining - Does the scoped county have the duration remaining on a given modifier
has_county_modifier_duration_remaining = name
Supported Scopes: landed_title

--------------------

has_disabled_building - Is the scope landed title connected to a holding that contains at least one disabled building?
Traits: yes/no 
Supported Scopes: landed_title

--------------------

has_holy_site_flag - Does the barony have a holy site with the given flag? has_holy_site_flag = some flag
Supported Scopes: landed_title

--------------------

has_order_of_succession - Does the scoped title have a given order of succession
has_order_of_succession = election
Supported Scopes: landed_title

--------------------

has_revokable_lease - Is the title under a lease that can be revoked manually?
Traits: yes/no 
Supported Scopes: landed_title

--------------------

has_title_law - Does the scoped title have the given title-specifc-law?
Supported Scopes: landed_title

--------------------

has_title_law_flag - Does the scoped title have a title-specific law with the given flag?
Supported Scopes: landed_title

--------------------

has_user_set_coa - Has the user set a specific coat of arms for this title?
Traits: yes/no 
Supported Scopes: landed_title

--------------------

has_wrong_holding_type - Is the scope landed title connected to a holding that cannot be governed by the current lessee or holder?
Traits: yes/no 
Supported Scopes: landed_title

--------------------

is_capital_barony - Is title in the scope a capital barony?
Traits: yes/no 
Supported Scopes: landed_title

--------------------

is_coastal_county - is the county coastal?
Traits: yes/no 
Supported Scopes: landed_title

--------------------

is_connected_to - Is the county connected to the other county? Is based on top liege
is_connected_to = {
	max_naval_distance = 500
	allow_one_county_land_gap = yes
	target = some other county
}
Supported Scopes: landed_title

--------------------

is_contested - Is the scope landed title contested in any war?
Traits: yes/no 
Supported Scopes: landed_title

--------------------

is_de_facto_liege_or_above_target - is the title de facto liege or above the target title?
Traits: landed_title scope
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

is_de_jure_liege_or_above_target - is the title de jure liege or above the target title?
Traits: landed_title scope
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

is_head_of_faith - Is this title a head of faith title
Traits: yes/no 
Supported Scopes: landed_title

--------------------

is_holy_order - Is the scope landed title a holy order?
Traits: yes/no 
Supported Scopes: landed_title

--------------------

is_holy_site - Is the barony a holy site of any faith? is_holy_site = yes
Traits: yes/no 
Supported Scopes: landed_title

--------------------

is_holy_site_controlled_by - Does the target character control a holy site of the scoped object
is_holy_site_controlled_by = root
Traits: character scope
Supported Scopes: landed_title
Supported Targets: character

--------------------

is_holy_site_of - Is the barony a holy site of the given faith? is_holy_site_of = some faith
Traits: faith scope
Supported Scopes: landed_title
Supported Targets: faith

--------------------

is_important_location - Is the scoped county important for target title?
scope:county = { is_important_location = scope:title }
Traits: landed_title scope
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

is_landless_type_title - Is this title considered a landless type title?
Traits: yes/no 
Supported Scopes: landed_title

--------------------

is_leased_out - Is the scoped title leased out?
Traits: yes/no 
Supported Scopes: landed_title

--------------------

is_mercenary_company - Is the scope landed title a mercenary company?
Traits: yes/no 
Supported Scopes: landed_title

--------------------

is_neighbor_to_realm - Is this landed title adjacent to the character's realm
is_neighbor_to_realm = character
Traits: character scope
Supported Scopes: landed_title
Supported Targets: character

--------------------

is_noble_family_title - Is this title used by noble family to allow landless playable
Traits: yes/no 
Supported Scopes: landed_title

--------------------

is_riverside_county - is the county riverside?
Traits: yes/no 
Supported Scopes: landed_title

--------------------

is_target_of_council_task - Is the county currently affected by the specified council task? Needs to be in a county title scope
Supported Scopes: landed_title

--------------------

is_title_created - Is title in the scope created?
Traits: yes/no 
Supported Scopes: landed_title

--------------------

is_titular - Is this title titular (has no dejure counties in it, and is not a barony/county)?
Traits: yes/no 
Supported Scopes: landed_title

--------------------

is_under_holy_order_lease - Is the scoped title leased out to any holy order?
Traits: yes/no 
Supported Scopes: landed_title

--------------------

monthly_county_control_change - How much county control is the county gaining/losing each month in total?
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

monthly_county_control_decline - How much county control is the county declining each month? (ignoring any growth)
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

monthly_county_control_decline_factor - What's the multiplier to the control decline rate? E.G., if there's just a +20% modifier, this would return 1.2
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

monthly_county_control_growth - How much county control is the county gaining each month? (ignoring any decline)
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

monthly_county_control_growth_factor - What's the multiplier to the control growth rate? E.G., if there's just a +20% modifier, this would return 1.2
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

num_county_holdings - How many provinces in this county have holdings
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

place_in_line_of_succession - what place in line of succession does the character hold?
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

recent_history - Does the scoped title have a history entry of the specified type in recent history?
recent_history = { type = X days/months/years = Y }
The type can be omitted, all history types are considered then
Possible types:
	conquest
	conquest_holy_war
	conquest_claim
	conquest_populist
	election
	inheritance
	abdication
	created
	destroyed
	usurped
	granted
	revoked
	independency
	leased_out
	lease_revoked
	returned
	faction_demand
	swear_fealty
	stepped_down
	appointment
	appointment_succession
Supported Scopes: landed_title

--------------------

target_is_de_facto_liege_or_above - is the target title de facto liege or above?
Traits: landed_title scope
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

target_is_de_jure_liege_or_above - is the target title de jure liege or above?
Traits: landed_title scope
Supported Scopes: landed_title
Supported Targets: landed_title

--------------------

tier - What tier is the scoped title? barony = 1, empire = 5. Use the script values please, not raw numbers
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

title_create_faction_type_chance - Check if the chance to create a faction against a target of the scope landed title is is true against the scripted value
title_create_faction_type_chance = { 
    type = faction_type #An ongoing faction
    target = target_character
    value <|<=|>=|> 0
}
Supported Scopes: landed_title

--------------------

title_held_years - Returns the number of years a title is held if valid (otherwise returns 0)
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

title_is_a_faction_member - Is the scope title a member of a faction?
Traits: yes/no 
Supported Scopes: landed_title

--------------------

title_join_faction_chance - Check if the chance of the scope landed title to join the faction against the scripted value
title_join_faction_chance = { 
    faction = faction_target #An ongoing faction
    value <|<=|>=|> 0
}
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title

--------------------

title_will_leave_sub_realm_on_succession - Will the title leave the sub-realm of the character on the right-hand-side upon succession? That is, is the first heir in someone outside the sub-realm, and the highest tier title they'll inherit from the person holding the title is not higher than their current tier
Traits: character target 
Supported Scopes: landed_title

--------------------

any_faction_county_member - Iterate through all faction county members
any_faction_county_member = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: faction
Supported Targets: landed_title

--------------------

any_faction_member - Iterate through all faction character members
any_faction_member = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: faction
Supported Targets: character

--------------------

average_faction_opinion - Average opinion of all the characters of the faction scope target
Traits: <, <=, =, !=, >, >=
Supported Scopes: faction

--------------------

average_faction_opinion_not_powerful_vassal - Average opinion of the character that are NOT powerful vassals of the faction scope target
Traits: <, <=, =, !=, >, >=
Supported Scopes: faction

--------------------

average_faction_opinion_powerful_vassal - Average opinion of the character that are powerful vassals of the faction scope target
Traits: <, <=, =, !=, >, >=
Supported Scopes: faction

--------------------

discontent_per_month - How much is the Faction's Discontent increasing each month?
Traits: <, <=, =, !=, >, >=
Supported Scopes: faction

--------------------

faction_can_press_demands - Can the scope faction press demands?
Traits: yes/no 
Supported Scopes: faction

--------------------

faction_discontent - Current discontent of the faction
Traits: <, <=, =, !=, >, >=
Supported Scopes: faction

--------------------

faction_is_at_war - Is the scope faction at war?
Traits: yes/no 
Supported Scopes: faction

--------------------

faction_is_type - Is the faction of this type?
Supported Scopes: faction

--------------------

faction_power - Current power of the faction
Traits: <, <=, =, !=, >, >=
Supported Scopes: faction

--------------------

faction_power_threshold - Current power threshold of the faction
Traits: <, <=, =, !=, >, >=
Supported Scopes: faction

--------------------

has_special_character - Has the faction a special character assigned?
Traits: yes/no 
Supported Scopes: faction

--------------------

has_special_title - Has the faction a special title assigned?
Traits: yes/no 
Supported Scopes: faction

--------------------

months_until_max_discontent - How many months until Discontent is max (100)?
Traits: <, <=, =, !=, >, >=
Supported Scopes: faction

--------------------

number_of_faction_members_in_council - Current number of faction members in faction
Traits: <, <=, =, !=, >, >=
Supported Scopes: faction

--------------------

building_levies - The amount of levies in a county or province from buildings
levies > 100
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title, province

--------------------

building_max_garrison - The max amount of garrison in a county or province from buildings
levies > 100
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title, province

--------------------

squared_distance - How far away is the province/barony/county from the target? Measured in map pixels. Squared for performance reasons (square root is expensive). squared_distance = { target = some province/barony/county value > 10000 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: landed_title, province

--------------------

any_side_commander - Iterate through all commanders (the commanders of every army on the side, not just the one leading the battle)
any_side_commander = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: combat_side
Supported Targets: character

--------------------

any_side_knight - Iterate through all knights
any_side_knight = { <count=num/all> / <percent=fixed_point> <triggers> }
Supported Scopes: combat_side
Supported Targets: character

--------------------

has_maa_of_type - Does this combat side have at least one MaA of the given regiment type? has_maa_of_type = onager
Supported Scopes: combat_side

--------------------

is_combat_side_attacker - whether the combat side was the attacker or not
Traits: yes/no 
Supported Scopes: combat_side

--------------------

is_combat_side_pursuing - is this side the winner of the combat
Traits: yes/no 
Supported Scopes: combat_side

--------------------

is_combat_side_retreating - is this side defeated in the combat
Traits: yes/no 
Supported Scopes: combat_side

--------------------

num_enemies_killed - Number of troops killed on the opposite side.
num_enemies_killed >= 500
Traits: <, <=, =, !=, >, >=
Supported Scopes: combat_side

--------------------

percent_enemies_killed - Percantage of enemies killed out of total number of enemy soldiers.
percent_enemies_killed >= 80
Traits: <, <=, =, !=, >, >=
Supported Scopes: combat_side

--------------------

side_army_size - what is the current size of all armies combined on this combat side?
Traits: <, <=, =, !=, >, >=
Supported Scopes: combat_side

--------------------

side_max_army_size - what is the max possible size of all armies combined on this combat side?
Traits: <, <=, =, !=, >, >=
Supported Scopes: combat_side

--------------------

side_soldiers - How many soldiers does this side have still fighting?
Traits: <, <=, =, !=, >, >=
Supported Scopes: combat_side

--------------------

side_strength - How strong is this side (based on soldiers still fighting)? Scaled down by a factor of 1000 so it doesn't get too large to do math on
Traits: <, <=, =, !=, >, >=
Supported Scopes: combat_side

--------------------

troops_ratio - Side's troops/opposide side's troops.ntroops_ratio < 0.5
Traits: <, <=, =, !=, >, >=
Supported Scopes: combat_side

--------------------

external_domicile_building_slots - Total amount of external building slots for scoped domicile
scope:domicile = { external_domicile_building_slots == 5 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: domicile

--------------------

free_external_domicile_building_slots - Amount of free external building slots for scoped domicile
scope:domicile = { free_external_domicile_building_slots < 1 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: domicile

--------------------

has_domicile_building - Does scoped domicile have building of specified type?
scope:domicile = { has_domicile_building = domicile building key }
Supported Scopes: domicile

--------------------

has_domicile_building_or_higher - Does scoped domicile have building or one of its upgrades?
scope:domicile = { has_domicile_building_or_higher = domicile building key }
Supported Scopes: domicile

--------------------

has_domicile_parameter - Does scoped domicile have parameter in one or more of its buildings?
scope:domicile = { has_domicile_parameter = parameter_name }
Supported Scopes: domicile

--------------------

has_ongoing_domicile_construction - Does the scoped domicile have an ongoing construction?)
scope:domicile = {
	has_ongoing_construction = yes/no
}
Traits: yes/no 
Supported Scopes: domicile

--------------------

is_domicile_type - Is the scoped domicile of domicile type?
scope:domicile = { is_domicile_type = domicile_type_key }
Supported Scopes: domicile

--------------------

max_provisions - does the scoped domicile have the required max provisions?
Traits: <, <=, =, !=, >, >=
Supported Scopes: domicile

--------------------

num_domicile_buildings - Amount of buildings constructed for scoped domicile
scope:domicile = { num_domicile_buildings > 0 }
Traits: <, <=, =, !=, >, >=
Supported Scopes: domicile

--------------------

provision_cost_to_owner - Is the provision cost from the domicile's current location to it's owner.
In order to calculate the cost we will operate in three stages: 
1. Check if the from and to provinces are direct neighbours. 
2. Check any travel plan the domicile owner might have and see if the from and 
   to are part of the travel plan. This will require domicile's location to be 
   the first entry in the travel plan. 
3. Do a pathfind between the domicile and domicile owner's current location, 
   using that path for the cost.
scope:domicile = {
	provision_cost_to_owner < 100
}
Traits: <, <=, =, !=, >, >=
Supported Scopes: domicile

--------------------

provisions - does the scoped domicile have the required provisions?
Traits: <, <=, =, !=, >, >=
Supported Scopes: domicile

--------------------

base_inspiration_gold_cost - base_inspiration_gold_cost > 5
Gets the base gold cost of the scoped inspiration
Traits: <, <=, =, !=, >, >=
Supported Scopes: inspiration

--------------------

days_since_creation - days_since_creation > 5
Gets the days since creation of the scoped inspiration
Traits: <, <=, =, !=, >, >=
Supported Scopes: inspiration

--------------------

days_since_sponsorship - days_since_sponsorship > 5
Gets the days since sponsorship started of the scoped inspiration
Traits: <, <=, =, !=, >, >=
Supported Scopes: inspiration

--------------------

has_inspiration_type - has_inspiration_type = type
Checks if the scoped inspiration has the given inspiration database type
Supported Scopes: inspiration

--------------------

inspiration_gold_invested - inspiration_gold_invested > 5
Gets the amount of gold invested in the scoped inspiration
Traits: <, <=, =, !=, >, >=
Supported Scopes: inspiration

--------------------

inspiration_progress - inspiration_progress > 5
Gets the progress of the scoped inspiration
Traits: <, <=, =, !=, >, >=
Supported Scopes: inspiration