494 lines
11 KiB
Text
494 lines
11 KiB
Text
|
|
# Example:
|
||
|
|
#
|
||
|
|
# example_trigger = {
|
||
|
|
# is_country_type = default
|
||
|
|
# free_leader_slots > 0
|
||
|
|
# }
|
||
|
|
#
|
||
|
|
#
|
||
|
|
# In a script file:
|
||
|
|
#
|
||
|
|
# trigger = {
|
||
|
|
# example_trigger = yes
|
||
|
|
# }
|
||
|
|
#
|
||
|
|
|
||
|
|
minor_gold_value_trigger = {
|
||
|
|
short_term_gold >= minor_gold_value
|
||
|
|
}
|
||
|
|
|
||
|
|
medium_gold_value_trigger = {
|
||
|
|
short_term_gold >= medium_gold_value
|
||
|
|
}
|
||
|
|
|
||
|
|
major_gold_value_trigger = {
|
||
|
|
short_term_gold >= major_gold_value
|
||
|
|
}
|
||
|
|
|
||
|
|
has_chosen_murder_execution_type = {
|
||
|
|
exists = scope:murder_method
|
||
|
|
}
|
||
|
|
|
||
|
|
seduction_target_is_close_trigger = {
|
||
|
|
scope:target = { is_in_the_same_court_as = scope:owner }
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
scope_is_close_to_root_trigger = {
|
||
|
|
OR = {
|
||
|
|
is_in_the_same_court_as = root
|
||
|
|
is_courtier_of = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#Education triggers
|
||
|
|
has_education_martial_trigger = {
|
||
|
|
OR = {
|
||
|
|
has_trait = education_martial_1
|
||
|
|
has_trait = education_martial_2
|
||
|
|
has_trait = education_martial_3
|
||
|
|
has_trait = education_martial_4
|
||
|
|
has_trait = education_martial_5
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
has_education_diplomacy_trigger = {
|
||
|
|
OR = {
|
||
|
|
has_trait = education_diplomacy_1
|
||
|
|
has_trait = education_diplomacy_2
|
||
|
|
has_trait = education_diplomacy_3
|
||
|
|
has_trait = education_diplomacy_4
|
||
|
|
has_trait = education_diplomacy_5
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
has_education_learning_trigger = {
|
||
|
|
OR = {
|
||
|
|
has_trait = education_learning_1
|
||
|
|
has_trait = education_learning_2
|
||
|
|
has_trait = education_learning_3
|
||
|
|
has_trait = education_learning_4
|
||
|
|
has_trait = education_learning_5
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
has_education_stewardship_trigger = {
|
||
|
|
OR = {
|
||
|
|
has_trait = education_stewardship_1
|
||
|
|
has_trait = education_stewardship_2
|
||
|
|
has_trait = education_stewardship_3
|
||
|
|
has_trait = education_stewardship_4
|
||
|
|
has_trait = education_stewardship_5
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
has_education_intrigue_trigger = {
|
||
|
|
OR = {
|
||
|
|
has_trait = education_intrigue_1
|
||
|
|
has_trait = education_intrigue_2
|
||
|
|
has_trait = education_intrigue_3
|
||
|
|
has_trait = education_intrigue_4
|
||
|
|
has_trait = education_intrigue_5
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
is_cannibal_trigger = {
|
||
|
|
OR = {
|
||
|
|
has_trait = cannibal
|
||
|
|
any_secret = {
|
||
|
|
secret_type = secret_cannibal
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
is_murderer_trigger = {
|
||
|
|
OR = {
|
||
|
|
has_trait = murderer
|
||
|
|
any_secret = {
|
||
|
|
secret_type = secret_murder
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
likes_target_trigger = {
|
||
|
|
opinion = {
|
||
|
|
target = $CHARACTER$
|
||
|
|
value > 10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
has_any_lifestyle_focus_trigger = {
|
||
|
|
OR = {
|
||
|
|
has_lifestyle = diplomacy_lifestyle
|
||
|
|
has_lifestyle = martial_lifestyle
|
||
|
|
has_lifestyle = stewardship_lifestyle
|
||
|
|
has_lifestyle = intrigue_lifestyle
|
||
|
|
has_lifestyle = learning_lifestyle
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
has_any_lifestyle_trait_trigger = {
|
||
|
|
OR = {
|
||
|
|
has_diplomacy_lifestyle_trait_trigger = yes
|
||
|
|
has_martial_lifestyle_trait_trigger = yes
|
||
|
|
has_stewardship_lifestyle_trait_trigger = yes
|
||
|
|
has_intrigue_lifestyle_trait_trigger = yes
|
||
|
|
has_learning_lifestyle_trait_trigger = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
tier_or_related_liege_tier_equal_trigger = {
|
||
|
|
OR = {
|
||
|
|
highest_held_title_tier = $TIER$
|
||
|
|
AND = {
|
||
|
|
exists = liege
|
||
|
|
liege = { highest_held_title_tier = $TIER$ }
|
||
|
|
OR = {
|
||
|
|
is_close_family_of = this.liege
|
||
|
|
is_spouse_of = this.liege
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
tier_or_related_liege_tier_greater_or_equal_trigger = {
|
||
|
|
OR = {
|
||
|
|
highest_held_title_tier >= $TIER$
|
||
|
|
AND = {
|
||
|
|
exists = liege
|
||
|
|
liege = { highest_held_title_tier >= $TIER$ }
|
||
|
|
OR = {
|
||
|
|
is_close_family_of = this.liege
|
||
|
|
is_spouse_of = this.liege
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
torture_secret_trigger = {
|
||
|
|
NOT = { is_known_by = scope:actor }
|
||
|
|
OR = {
|
||
|
|
is_blackmailable_secret_trigger = { BLACKMAILER = scope:actor PARTICIPANT = $PARTICIPANT$ }
|
||
|
|
secret_is_always_interesting_trigger = yes
|
||
|
|
}
|
||
|
|
NAND = {
|
||
|
|
exists = secret_target
|
||
|
|
secret_target = scope:recipient
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
has_interesting_portrait_altering_trait_trigger = {
|
||
|
|
OR = {
|
||
|
|
has_trait = scarred
|
||
|
|
has_trait = blind
|
||
|
|
has_trait = beauty_bad
|
||
|
|
has_trait = beauty_good
|
||
|
|
has_trait = hunchbacked
|
||
|
|
has_trait = dwarf
|
||
|
|
has_trait = giant
|
||
|
|
has_trait = spindly
|
||
|
|
has_trait = scaly
|
||
|
|
has_trait = albino
|
||
|
|
has_trait = one_eyed
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
is_dangerous_faction_trigger = {
|
||
|
|
OR = {
|
||
|
|
AND = {
|
||
|
|
exists = faction_leader
|
||
|
|
faction_leader = { is_ai = no } # For now human factions are always dangerous
|
||
|
|
}
|
||
|
|
|
||
|
|
AND = {
|
||
|
|
faction_is_type = peasant_faction
|
||
|
|
months_until_max_discontent <= 12
|
||
|
|
}
|
||
|
|
AND = {
|
||
|
|
NOT = { faction_is_type = peasant_faction }
|
||
|
|
discontent_per_month > 0
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
basic_allowed_to_imprison_character_trigger = { #Only to be used in is_shown for imprison interaction and similar
|
||
|
|
save_temporary_scope_as = allowed_imprisoner
|
||
|
|
$CHARACTER$ = {
|
||
|
|
OR = {
|
||
|
|
target_is_liege_or_above = scope:allowed_imprisoner
|
||
|
|
is_foreign_court_or_pool_guest_of = scope:allowed_imprisoner
|
||
|
|
AND = {
|
||
|
|
# EP3 EVICTION
|
||
|
|
is_landless_adventurer = yes
|
||
|
|
reverse_has_opinion_modifier = {
|
||
|
|
target = scope:allowed_imprisoner
|
||
|
|
modifier = eviction_ignored_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
NOT = {
|
||
|
|
is_imprisoned_by = scope:allowed_imprisoner
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
advanced_allowed_to_imprison_character_trigger = {
|
||
|
|
save_temporary_scope_as = allowed_imprisoner
|
||
|
|
$CHARACTER$ = {
|
||
|
|
save_temporary_scope_as = allowed_prisoner
|
||
|
|
is_imprisoned = no
|
||
|
|
NOT = { is_at_war_with = scope:allowed_imprisoner }
|
||
|
|
custom_description = {
|
||
|
|
text = "character_interactions_imprison_recently_ransomed"
|
||
|
|
object = scope:allowed_prisoner
|
||
|
|
NOT = {
|
||
|
|
has_opinion_modifier = {
|
||
|
|
target = scope:allowed_imprisoner
|
||
|
|
modifier = ransomed_from_prison
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
NOT = { has_strong_hook = scope:allowed_imprisoner }
|
||
|
|
custom_tooltip = {
|
||
|
|
text = hostage_travelling_tt
|
||
|
|
NOT = { exists = var:hostage_travelling_to_warden }
|
||
|
|
}
|
||
|
|
trigger_if = {
|
||
|
|
limit = { is_landless_adventurer = yes }
|
||
|
|
scope:allowed_imprisoner = { is_landed = yes }
|
||
|
|
reverse_has_opinion_modifier = {
|
||
|
|
target = scope:allowed_imprisoner
|
||
|
|
modifier = eviction_ignored_opinion
|
||
|
|
}
|
||
|
|
domicile.domicile_location.county ?= { target_is_de_facto_liege_or_above = scope:allowed_imprisoner.primary_title }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:allowed_imprisoner = {
|
||
|
|
custom_description = {
|
||
|
|
text = "character_interactions_imprison_ally_without_reason"
|
||
|
|
object = scope:allowed_prisoner
|
||
|
|
OR = {
|
||
|
|
NOT = { is_allied_to = scope:allowed_prisoner }
|
||
|
|
has_imprisonment_reason = scope:allowed_prisoner
|
||
|
|
is_spouse_of = scope:allowed_prisoner
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
allowed_to_imprison_character_trigger = {
|
||
|
|
# We separate these out so that diarchs can imprison characters they aren't liege over.
|
||
|
|
advanced_allowed_to_imprison_character_trigger = { CHARACTER = $CHARACTER$ }
|
||
|
|
basic_allowed_to_imprison_character_trigger = { CHARACTER = $CHARACTER$ }
|
||
|
|
}
|
||
|
|
|
||
|
|
can_be_granted_titles_by = { #This is set up with trigger-ifs to allow for nice tooltip printouts in grant title interaction
|
||
|
|
save_temporary_scope_as = title_grantee
|
||
|
|
#Gender check
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
is_ruler = no #Rulers can always get additional titles
|
||
|
|
is_theocratic_lessee = no #Theocratic lessees use other gender checks
|
||
|
|
NOT = { $RULER$ = { has_government = administrative_government } }
|
||
|
|
NOT = {
|
||
|
|
$RULER$.faith = {
|
||
|
|
has_dominant_ruling_gender = scope:title_grantee
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
$RULER$ = { government_allows = state_faith }
|
||
|
|
}
|
||
|
|
$RULER$.primary_title.state_faith = {
|
||
|
|
has_dominant_ruling_gender = scope:title_grantee
|
||
|
|
}
|
||
|
|
}
|
||
|
|
trigger_else = {
|
||
|
|
$RULER$.faith = {
|
||
|
|
has_dominant_ruling_gender = scope:title_grantee
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
is_ruler = no #Rulers can always get additional titles
|
||
|
|
is_theocratic_lessee = no #Theocratic lessees use other gender checks
|
||
|
|
$RULER$ = {
|
||
|
|
has_government = administrative_government
|
||
|
|
NOT = { has_realm_law = equal_law }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
$RULER$ = { has_realm_law = male_only_law }
|
||
|
|
}
|
||
|
|
scope:title_grantee = { is_female = no }
|
||
|
|
}
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
$RULER$ = { has_realm_law = female_only_law }
|
||
|
|
}
|
||
|
|
scope:title_grantee = { is_female = yes }
|
||
|
|
}
|
||
|
|
#trigger_else = { always = yes }
|
||
|
|
}
|
||
|
|
trigger_else_if = {
|
||
|
|
limit = {
|
||
|
|
is_theocratic_lessee = yes
|
||
|
|
}
|
||
|
|
liege = $RULER$
|
||
|
|
#If this is ever visible anywhere, we need to write a custom desc "Theocratic lessees cannot only be given titles by their ruler"
|
||
|
|
}
|
||
|
|
trigger_else = {
|
||
|
|
always = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
can_be_granted_theocratic_titles_by = { #This is set up with trigger-ifs to allow for nice tooltip printouts in grant title interaction
|
||
|
|
save_temporary_scope_as = title_grantee
|
||
|
|
#Gender check
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
$RULER$.faith = { has_doctrine = doctrine_clerical_gender_female_only }
|
||
|
|
}
|
||
|
|
is_female = yes
|
||
|
|
}
|
||
|
|
trigger_else_if = {
|
||
|
|
limit = {
|
||
|
|
$RULER$.faith = { has_doctrine = doctrine_clerical_gender_male_only }
|
||
|
|
}
|
||
|
|
is_male = yes
|
||
|
|
}
|
||
|
|
trigger_else = { always = yes }
|
||
|
|
}
|
||
|
|
|
||
|
|
activate_disease_data_tracking_trigger = {
|
||
|
|
always = no #Should be set to no, unless you're gathering data
|
||
|
|
}
|
||
|
|
|
||
|
|
vassal_contract_can_be_modified_trigger = {
|
||
|
|
custom_description = {
|
||
|
|
text = vassal_contract_can_be_modified
|
||
|
|
vassal_contract_has_modifiable_obligations = yes
|
||
|
|
vassal_contract_is_blocked_from_modification = no
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
has_changed_contract_obligation_trigger = {
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
scope:recipient = { government_has_flag = government_is_feudal }
|
||
|
|
}
|
||
|
|
custom_description = {
|
||
|
|
text = "modify_vassal_contract_select_different_obligation_level"
|
||
|
|
list_size = {
|
||
|
|
name = changed_obligations
|
||
|
|
value > 0
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
trigger_else = {
|
||
|
|
custom_description = {
|
||
|
|
text = "modify_non_feudal_vassal_contract_select_different_obligation_level"
|
||
|
|
list_size = {
|
||
|
|
name = changed_obligations
|
||
|
|
value > 0
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
recently_converted_faith_trigger = {
|
||
|
|
OR = {
|
||
|
|
has_character_flag = converted_by_heresy_0011_event
|
||
|
|
has_character_flag = converted_by_heresy_0010_event
|
||
|
|
has_character_flag = converted_by_forced_conversion_interaction
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
can_touch_someone_trigger = {
|
||
|
|
#This is to check if someone is physically capable and not in risk of disease. Remember to always ask for consent!
|
||
|
|
NOR = {
|
||
|
|
has_trait = leper
|
||
|
|
has_trait = scaly #people with eczema and other skin conditions often got the same treatment as lepers
|
||
|
|
has_trait = smallpox
|
||
|
|
has_trait = bubonic_plague
|
||
|
|
has_trait = measles #people with eczema and other skin conditions often got the same treatment as lepers
|
||
|
|
|
||
|
|
#circumstancial
|
||
|
|
has_trait = incapable
|
||
|
|
has_trait = wounded
|
||
|
|
has_trait = maimed
|
||
|
|
has_trait = typhus
|
||
|
|
|
||
|
|
# gout happens mostly in the foot, but as someone with inflammatory arthritis, I hate handshakes when my fingers are aching
|
||
|
|
has_trait = gout_ridden
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
is_spouse_or_romantic_partner_of_root = {
|
||
|
|
OR = {
|
||
|
|
has_relation_lover = root
|
||
|
|
is_consort_of = root
|
||
|
|
has_relation_soulmate = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
terrible_sum_of_all_skills_trigger = {
|
||
|
|
sum_of_all_skills_value <= sum_of_all_skills_threshold_terrible
|
||
|
|
}
|
||
|
|
poor_sum_of_all_skills_trigger = {
|
||
|
|
sum_of_all_skills_value <= sum_of_all_skills_threshold_poor
|
||
|
|
}
|
||
|
|
average_sum_of_all_skills_trigger = {
|
||
|
|
sum_of_all_skills_value <= sum_of_all_skills_threshold_average
|
||
|
|
}
|
||
|
|
good_sum_of_all_skills_trigger = {
|
||
|
|
sum_of_all_skills_value <= sum_of_all_skills_threshold_good
|
||
|
|
}
|
||
|
|
excellent_sum_of_all_skills_trigger = {
|
||
|
|
sum_of_all_skills_value <= sum_of_all_skills_threshold_excellent
|
||
|
|
}
|
||
|
|
|
||
|
|
scarred_trait_activation_1 = {
|
||
|
|
has_trait_xp = {
|
||
|
|
trait = scarred
|
||
|
|
track = scarred
|
||
|
|
value < 50
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
scarred_trait_activation_2 = {
|
||
|
|
AND = {
|
||
|
|
has_trait_xp = {
|
||
|
|
trait = scarred
|
||
|
|
track = scarred
|
||
|
|
value >= 50
|
||
|
|
}
|
||
|
|
has_trait_xp = {
|
||
|
|
trait = scarred
|
||
|
|
track = scarred
|
||
|
|
value < 100
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
scarred_trait_activation_3 = {
|
||
|
|
has_trait_xp = {
|
||
|
|
trait = scarred
|
||
|
|
track = scarred
|
||
|
|
value > 99
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
has_purchased_truce_with_char = {
|
||
|
|
has_variable_list = bought_truce_list
|
||
|
|
any_in_list = {
|
||
|
|
variable = bought_truce_list
|
||
|
|
this = $TARGET$
|
||
|
|
}
|
||
|
|
}
|