Professional Documents
Culture Documents
Vassal Events
Vassal Events
namespace = vassal
###########################################
# Religious liege wants you to build temple
# 1001 - 1020
# by Linnéa Thimrén
###########################################
vassal.1001 = {
type = character_event
title = vassal.1001.t
desc = vassal.1001.desc
theme = faith
override_background = {
event_background = farmland
}
left_portrait = scope:religious_liege
trigger = {
is_landed = yes
is_in_civil_war = no
NOR = {
exists = var:promised_to_build_temple
has_character_flag = had_vassal_1001_event
has_character_flag = had_vassal_1101_event
}
exists = liege
liege = {
NOT = { liege = this }
faith = root.faith
is_available_ai_adult = yes
OR = {
has_trait = zealous
piety >= high_piety_level
}
root = { NOT = { has_hook = prev } }
}
gold >= 600
any_directly_owned_province = {
has_free_building_slot = yes
}
}
weight_multiplier = {
base = 0.5
modifier = {
add = 0.3
liege = {
is_available_ai_adult = yes
has_trait = zealous
piety >= high_piety_level
}
}
modifier = {
add = 0.5
any_directly_owned_province = {
NOT = { has_building_with_flag = temple }
has_free_building_slot = yes
}
}
}
immediate = {
add_character_flag = {
flag = had_vassal_1001_event
days = 1460
}
liege = {
if = {
limit = { root = { is_ai = no } }
assign_quirk_effect = yes
}
save_scope_as = religious_liege
}
}
option = { #Nah
name = {
trigger = { has_trait = zealous }
text = vassal.1001.b_zealous
}
name = {
trigger = { NOT = { has_trait = zealous } }
text = vassal.1001.b
}
add_piety = minor_piety_loss
reverse_add_opinion = {
modifier = refusal_opinion
target = scope:religious_liege
opinion = low_negative_opinion
}
stress_impact = {
zealous = medium_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_rationality = 0.25
ai_greed = 0.75
}
}
}
}
theme = faith
left_portrait = {
character = scope:religious_liege
animation = happiness
}
trigger = {
exists = var:promised_to_build_temple
var:promised_to_build_temple = { is_alive = yes }
}
immediate = {
var:promised_to_build_temple = {
save_scope_as = religious_liege
}
reverse_add_opinion = {
modifier = respect_opinion
target = scope:religious_liege
opinion = medium_positive_opinion
}
}
option = {
name = vassal.1010.a
add_piety = major_piety_gain
if = {
limit = {
can_add_hook = {
target = scope:religious_liege
type = favor_hook
}
}
add_hook = {
target = scope:religious_liege
type = favor_hook
}
}
}
after = {
remove_variable = promised_to_build_temple
remove_character_flag = promised_liege_temple
}
}
theme = unfriendly
left_portrait = {
character = scope:religious_liege
animation = anger
}
trigger = {
exists = var:promised_to_build_temple
var:promised_to_build_temple = { is_alive = yes }
NOT = { has_character_flag = had_vassal_1001_event }
}
immediate = {
var:promised_to_build_temple = {
save_scope_as = religious_liege
}
reverse_add_opinion = {
modifier = respect_opinion
target = scope:religious_liege
opinion = low_negative_opinion
}
}
option = {
name = {
trigger = {
NOR = {
has_trait = zealous
piety >= high_piety_level
}
}
text = vassal.1020.a
}
name = {
trigger = {
OR = {
has_trait = zealous
piety >= high_piety_level
}
}
text = vassal.1020.a_religious
}
custom_tooltip = vassal.1020.a.tt
add_piety = medium_piety_loss
if = {
limit = {
has_trait = zealous
}
stress_impact = {
zealous = medium_stress_impact_gain
}
}
}
after = {
remove_variable = promised_to_build_temple
remove_character_flag = promised_liege_temple
}
}
##############################################
# Religious vassal wants you to build temple
# 1101 - 1120
# by Linnéa Thimrén
##############################################
scripted_trigger vassal_1101_religious_vassal_trigger = {
faith = root.faith
is_available_ai_adult = yes
NOT = { root = { has_hook = prev } }
OR = {
has_trait = zealous
piety_level >= high_piety_level
}
}
vassal.1101 = {
type = character_event
title = vassal.1001.t
desc = vassal.1101.desc
theme = vassal
left_portrait = {
character = scope:religious_vassal
animation = personality_zealous
}
trigger = {
is_landed = yes
is_in_civil_war = no
has_government = feudal_government
NOR = {
exists = var:promised_to_build_temple
has_character_flag = had_vassal_1101_event
has_character_flag = had_vassal_1001_event
}
any_vassal = {
vassal_1101_religious_vassal_trigger = yes
}
gold >= 600
any_directly_owned_province = {
has_free_building_slot = yes
}
}
weight_multiplier = {
base = 0.5
modifier = {
add = 0.3
any_vassal = {
vassal_1101_religious_vassal_trigger = yes
has_trait = zealous
piety_level >= high_piety_level
}
}
modifier = {
add = 0.5
any_directly_owned_province = {
NOT = { has_building_with_flag = temple }
has_free_building_slot = yes
}
}
}
immediate = {
add_character_flag = {
flag = had_vassal_1101_event
days = 1460
}
random_vassal = {
limit = {
vassal_1101_religious_vassal_trigger = yes
}
weight = {
base = 100
modifier = {
add = 100
is_powerful_vassal = yes
}
modifier = {
add = 100
has_trait = zealous
piety_level >= high_piety_level
}
}
save_scope_as = religious_vassal
if = {
limit = { root = { is_ai = no } }
assign_quirk_effect = yes
}
}
}
theme = faith
left_portrait = {
character = scope:religious_vassal
animation = happiness
}
trigger = {
exists = var:promised_to_build_temple
var:promised_to_build_temple = { is_alive = yes }
}
immediate = {
var:promised_to_build_temple = {
save_scope_as = religious_vassal
}
}
option = {
name = vassal.1110.a
reverse_add_opinion = {
modifier = kept_promise
target = scope:religious_vassal
}
if = {
limit = {
can_add_hook = {
target = scope:religious_vassal
type = favor_hook
}
}
add_hook = {
target = scope:religious_vassal
type = favor_hook
}
}
add_piety = major_piety_gain
}
after = {
remove_variable = promised_to_build_temple
remove_character_flag = promised_vassal_temple
}
}
theme = unfriendly
left_portrait = {
character = scope:religious_vassal
animation = anger
}
trigger = {
scope:religious_vassal = { is_alive = yes }
exists = var:promised_to_build_temple
var:promised_to_build_temple = { is_alive = yes }
NOT = { has_character_flag = had_vassal_1001_event }
}
immediate = {
var:promised_to_build_temple = {
save_scope_as = religious_vassal
}
reverse_add_opinion = {
modifier = respect_opinion
target = scope:religious_vassal
opinion = low_negative_opinion
}
}
option = {
name = vassal.1120.a
custom_tooltip = vassal.1120.a.tt
add_piety = medium_piety_loss
}
after = {
remove_variable = promised_to_build_temple
remove_character_flag = promised_vassal_temple
}
}
##############################################
# Vassal wants liege to educate their child
# by Linnéa Thimrén
##############################################
scripted_trigger vassal_2001_vassal_child_trigger = {
num_of_relation_guardian = 0
child_not_infant_trigger = yes
NOT = { this = root }
is_ruler = no
is_imprisoned = no
}
scripted_trigger vassal_2001_vassal_trigger = {
opinion = {
target = root
value >= neutral_opinion
}
NOT = {
has_relation_rival = root
}
any_child = {
vassal_2001_vassal_child_trigger = yes
}
root = {
NOT = {
has_hook = prev
}
}
}
vassal.2001 = {
type = character_event
title = vassal.2001.t
desc = vassal.2001.desc
theme = learning
override_background = {
event_background = throne_room
}
left_portrait = scope:vassal_proposing_education
right_portrait = scope:child_to_educate
trigger = {
is_landed = yes
is_in_civil_war = no
NOT = { has_character_flag = had_event_vassal_2001 }
num_of_relation_ward < 2
any_vassal = {
vassal_2001_vassal_trigger = yes
}
}
weight_multiplier = {
base = 0.5
modifier = { #More likely if liege is highly skilled
add = 0.5
OR = {
martial > high_skill_rating
diplomacy > high_skill_rating
intrigue > high_skill_rating
learning > high_skill_rating
stewardship > high_skill_rating
prowess > high_skill_rating
}
}
modifier = { #More likely if the vassal feels threatened
add = 0.2
dread > high_dread
}
}
immediate = {
add_character_flag = {
flag = had_event_vassal_2001
days = 1825
}
random_vassal = {
limit = {
vassal_2001_vassal_trigger = yes
}
weight = {
base = 100
modifier = {
add = 100
is_powerful_vassal = yes
}
}
save_scope_as = vassal_proposing_education
random_child = {
limit = {
vassal_2001_vassal_child_trigger = yes
}
if = {
limit = { root = { is_ai = no } }
assign_quirk_effect = yes
}
save_scope_as = child_to_educate
}
}
}
##############################################
# No feast in a while, vassal requests it
# 2101 - 2120
# by Linnéa Thimrén
##############################################
scripted_trigger vassal_2101_potential_vassal_trigger = {
is_available_ai_adult = yes
NOR = {
has_trait = shy
has_hosted_feast_opinion_targeting_character = { CHARACTER = root }
}
}
vassal.2101 = {
type = character_event
title = vassal.2101.t
desc = vassal.2101.desc
theme = vassal
left_portrait = scope:party_vassal
trigger = {
is_landed = yes
is_in_civil_war = no
NOT = { has_character_flag = had_event_vassal_2101 }
is_at_war = no
any_vassal = {
count >= 1
vassal_2101_potential_vassal_trigger = yes
}
}
weight_multiplier = {
base = 0.5
modifier = {
add = 0.5
any_vassal = {
count >= 1
is_ai = yes
OR = {
has_trait = reveler_1
has_trait = reveler_2
has_trait = reveler_3
}
}
}
}
immediate = {
add_character_flag = {
flag = had_event_vassal_2101
days = 3650
}
random_vassal = {
limit = {
vassal_2101_potential_vassal_trigger = yes
}
weight = {
base = 100
modifier = {
add = 100
is_powerful_vassal = yes
}
modifier = {
add = 20
has_trait = gregarious
}
modifier = {
add = 20
has_trait = reveler_1
}
modifier = {
add = 40
has_trait = reveler_2
}
modifier = {
add = 60
has_trait = reveler_3
}
}
save_scope_as = party_vassal
if = {
limit = { root = { is_ai = no } }
assign_quirk_effect = yes
}
}
}
option = { #Refuse
name = {
trigger = { always = no }
text = vassal.2101.b
}
name = {
trigger = {
has_trait = greedy
}
text = vassal.2101.b_greedy
}
name = {
trigger = {
has_trait = arrogant
}
text = vassal.2101.b_arrogant
}
name = {
trigger = {
has_trait = lazy
}
text = vassal.2101.b_lazy
}
name = {
trigger = {
has_trait = shy
}
text = vassal.2101.b_shy
}
trait = greedy
trait = arrogant
trait = lazy
trait = shy
scope:party_vassal = {
add_opinion = {
modifier = refusal_opinion
target = root
opinion = low_negative_opinion
}
}
stress_impact = {
reveler_1 = minor_stress_impact_gain
reveler_2 = minor_stress_impact_gain
reveler_3 = minor_stress_impact_gain
drunkard = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_energy = 0.25
}
}
}
}
theme = vassal
left_portrait = {
character = scope:party_vassal
animation = happiness
}
trigger = {
exists = var:was_promised_a_feast
var:was_promised_a_feast = {
is_alive = yes
}
}
immediate = {
var:was_promised_a_feast = {
save_scope_as = party_vassal
}
remove_variable = was_promised_a_feast
if = {
limit = {
scope:party_vassal = {
OR = {
has_trait = reveler_1
has_trait = reveler_2
has_trait = reveler_3
}
}
}
reverse_add_opinion = {
modifier = kept_promise
target = scope:party_vassal
}
}
else = {
reverse_add_opinion = {
target = scope:party_vassal
modifier = respect_opinion
opinion = low_positive_opinion
}
}
}
option = {
name = vassal.2110.a
}
}
theme = unfriendly
override_background = {
event_background = throne_room
}
left_portrait = {
character = scope:party_vassal
animation = sadness
}
trigger = {
exists = var:was_promised_a_feast
var:was_promised_a_feast = {
is_alive = yes
}
}
immediate = {
var:was_promised_a_feast = {
save_scope_as = party_vassal
}
remove_variable = was_promised_a_feast
reverse_add_opinion = {
modifier = respect_opinion
target = scope:party_vassal
opinion = low_negative_opinion
}
}
option = {
name = vassal.2120.a
}
}
##############################################
# Vassal offers loan to liege
# 2201 - 2205
# by Linnéa Thimrén
##############################################
scripted_trigger vassal_2201_potential_vassal_trigger = {
is_adult = yes
is_imprisoned = no
is_ai = yes
opinion = {
target = root
value >= 10
}
NOT = { has_trait = greedy }
OR = {
monthly_character_income > medium_income_multiplier_value
gold > major_gold_value
}
NOT = {
has_hook_of_type = {
target = root
type = favor_hook
}
}
}
vassal.2201 = {
type = character_event
title = vassal.2201.t
desc = vassal.2201.desc
theme = vassal
left_portrait = scope:vassal_loan_holder
trigger = {
is_landed = yes
is_in_civil_war = no
short_term_gold < medium_gold_value
OR = {
monthly_character_income < 0
gold < tiny_gold_value
is_at_war = yes
}
NOR = {
exists = var:loan_holder #You can't already have a loan
has_character_flag = had_event_vassal_2201
has_character_flag = had_event_councillor_spouse_stewardship_2002
}
any_vassal = {
vassal_2201_potential_vassal_trigger = yes
}
}
immediate = {
add_character_flag = {
flag = had_event_vassal_2201
days = 3650
}
random_vassal = {
limit = {
vassal_2201_potential_vassal_trigger = yes
}
save_scope_as = vassal_loan_holder
if = {
limit = { root = { is_ai = no } }
assign_quirk_effect = yes
}
set_variable = {
name = amount_to_loan
value = major_gold_value
}
}
set_variable = { #For tooltip only.
name = amount_to_loan_root
value = scope:vassal_loan_holder.var:amount_to_loan
}
}
option = { #Accept
name = vassal.2201.a
set_up_loan_effect = {
LENDER = scope:vassal_loan_holder
AMOUNT = var:amount_to_loan_root
}
custom_tooltip = vassal.2201.a.money_loan_tooltip
custom_tooltip = vassal.2201.a.repay_loan
scope:vassal_loan_holder = {
add_hook = {
target = root
type = favor_hook
}
}
stress_impact = {
paranoid = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = -80
OR = {
has_trait = paranoid
opinion = {
target = scope:vassal_loan_holder
value <= neutral_opinion
}
}
}
ai_value_modifier = {
ai_rationality = 0.25
ai_boldness = 0.25
}
}
}
theme = vassal
left_portrait = {
character = scope:vassal_loan_holder
animation = personality_greedy
}
lower_left_portrait = scope:original_lender
right_portrait = scope:original_loaner
trigger = {
exists = var:loan_holder
var:loan_holder = {
is_alive = yes
NOT = { this = root }
}
NOT = {
has_character_flag = had_event_vassal_2205
}
}
weight_multiplier = {
base = 0
modifier = { #Possible to trigger even if you don't have enough money
add = 0.5
OR = {
has_trait = greedy
has_trait = impatient
}
}
modifier = {
add = 1
gold > var:loan_amount_owed
}
modifier = {
add = 0.2
exists = var:has_reminded_about_loan
var:has_reminded_about_loan = 1
}
modifier = {
add = 0.5
exists = var:has_reminded_about_loan
var:has_reminded_about_loan = 2
}
modifier = {
add = 1
exists = var:has_reminded_about_loan
var:has_reminded_about_loan = 3
}
}
immediate = {
if = {
limit = {
NOT = { exists = var:has_reminded_about_loan }
}
set_variable = {
name = has_reminded_about_loan
value = 1
}
}
else = {
change_variable = {
name = has_reminded_about_loan
add = 1
}
}
add_character_flag = {
flag = had_event_vassal_2205
days = 365
}
var:loan_holder = {
save_scope_as = vassal_loan_holder
if = {
limit = { root = { is_ai = no } }
assign_quirk_effect = yes
}
}
##############################################
# Highly skilled vassal progresses development in province
# by Linnéa Thimrén
##############################################
scripted_trigger vassal_2301_vassal_trigger = {
is_available_ai_adult = yes
holds_landed_title = yes
OR = {
diplomacy > high_skill_rating
martial > high_skill_rating
stewardship > high_skill_rating
intrigue > high_skill_rating
learning > high_skill_rating
}
capital_county = {
NOT = { has_county_modifier = encouraged_improvement_modifier }
}
}
vassal.2301 = {
type = character_event
title = vassal.2301.t
desc = {
desc = vassal.2301.desc_opening
first_valid = {
triggered_desc = {
trigger = {
scope:skilled_vassal = { has_character_flag =
high_diplomacy }
}
desc = vassal.2301.desc_diplomacy
}
triggered_desc = {
trigger = {
scope:skilled_vassal = { has_character_flag =
high_martial }
}
desc = vassal.2301.desc_martial
}
triggered_desc = {
trigger = {
scope:skilled_vassal = { has_character_flag =
high_stewardship }
}
desc = vassal.2301.desc_stewardship
}
triggered_desc = {
trigger = {
scope:skilled_vassal = { has_character_flag =
high_intrigue }
}
desc = vassal.2301.desc_intrigue
}
triggered_desc = {
trigger = {
scope:skilled_vassal = { has_character_flag =
high_learning }
}
desc = vassal.2301.desc_learning
}
}
desc = vassal.2301.desc_ending
}
theme = vassal
left_portrait = scope:skilled_vassal
trigger = {
is_landed = yes
is_in_civil_war = no
NOT = { has_character_flag = had_event_vassal_2301 }
any_vassal = {
vassal_2301_vassal_trigger = yes
}
}
weight_multiplier = {
base = 0
modifier = {
add = 1
any_vassal = {
vassal_2301_vassal_trigger = yes
capital_county = {
development_level <= bad_development_level
}
}
}
modifier = {
add = 1
any_vassal = {
vassal_2301_vassal_trigger = yes
is_powerful_vassal = yes
}
}
modifier = {
add = 0.5
any_vassal = {
vassal_2301_vassal_trigger = yes
OR = {
diplomacy > extremely_high_skill_rating
martial > extremely_high_skill_rating
stewardship > extremely_high_skill_rating
intrigue > extremely_high_skill_rating
learning > extremely_high_skill_rating
}
}
}
}
immediate = {
add_character_flag = {
flag = had_event_vassal_2301
days = 1825
}
random_vassal = {
limit = {
is_powerful_vassal = yes
vassal_2301_vassal_trigger = yes
}
alternative_limit = {
vassal_2301_vassal_trigger = yes
}
save_scope_as = skilled_vassal
capital_county = {
save_scope_as = develop_county
}
random_list = {
10 = {
trigger = {
diplomacy > high_skill_rating
}
add_character_flag = {
flag = high_diplomacy
days = 50
}
}
10 = {
trigger = {
martial > high_skill_rating
}
add_character_flag = {
flag = high_martial
days = 50
}
}
10 = {
trigger = {
stewardship > high_skill_rating
}
add_character_flag = {
flag = high_stewardship
days = 50
}
}
10 = {
trigger = {
intrigue > high_skill_rating
}
add_character_flag = {
flag = high_intrigue
days = 50
}
}
10 = {
trigger = {
learning > high_skill_rating
}
add_character_flag = {
flag = high_learning
days = 50
}
}
}
}
}
option = { #Nah
name = vassal.2301.c
scope:skilled_vassal = {
add_opinion = {
target = root
modifier = refusal_opinion
opinion = -10
}
}
ai_chance = {
base = 0
modifier = {
add = 50
opinion = {
target = scope:skilled_vassal
value <= neutral_opinion
}
}
ai_value_modifier = {
ai_boldness = 0.5
ai_vengefulness = 0.25
}
}
}
}
##############################################
# Vassal in need of gold, offers territory or improved Vassal Contract in exchange
# by Linnéa Thimrén
##############################################
scripted_trigger vassal_2401_potential_vassal_trigger = {
is_ai = yes
is_adult = yes
is_imprisoned = no
domain_size > 1 #Must not become landless.
vassal_contract_obligation_level_can_be_increased = feudal_government_taxes
NOR = {
has_government = theocracy_government
has_government = republic_government
has_government = holy_order_government
}
OR = {
monthly_character_income < 0
gold < tiny_gold_value
is_at_war = yes
}
OR = {
domain_size >= domain_limit
vassal_contract_obligation_level:feudal_government_taxes <=
feudal_tax_normal_level
}
any_directly_owned_province = {
NOT = { is_county_capital = yes }
exists = county
}
}
vassal.2401 = {
type = character_event
title = vassal.2401.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
is_close_or_extended_family_of =
scope:vassal_needs_gold
}
desc = vassal.2401.desc_family
}
desc = vassal.2401.desc_other
}
desc = vassal.2401.desc
}
theme = vassal
left_portrait = {
character = scope:vassal_needs_gold
animation = beg
}
trigger = {
is_landed = yes
is_in_civil_war = no
any_vassal = {
vassal_2401_potential_vassal_trigger = yes
}
NOT = { has_character_flag = had_event_vassal_2401 }
}
weight_multiplier = {
base = 1
modifier = {
add = -0.5
domain_size >= domain_limit
}
}
immediate = {
add_character_flag = {
flag = had_event_vassal_2401
days = 3650
}
random_vassal = {
limit = {
vassal_2401_potential_vassal_trigger = yes
is_powerful_vassal = yes
}
alternative_limit = {
vassal_2401_potential_vassal_trigger = yes
}
if = {
limit = { root = { is_ai = no } }
assign_quirk_effect = yes
}
save_scope_as = vassal_needs_gold
random_directly_owned_province = {
limit = {
NOT = {
is_county_capital = yes
}
}
county = {
save_scope_as = possible_county
}
}
}
}
##############################################
# Vassal wants better contract, offers territory or gold in exchange
# by Linnéa Thimrén
##############################################
scripted_trigger vassal_2451_potential_vassal_trigger = {
has_government = feudal_government
is_ai = yes
is_adult = yes
is_imprisoned = no
any_held_county = {
count > 1 #Must not become landless
}
highest_held_title_tier >= 2 #No Barons
any_directly_owned_province = {
is_county_capital = no
exists = county
}
}
vassal.2451 = {
type = character_event
title = vassal.2451.t
desc = vassal.2451.desc
theme = vassal
left_portrait = scope:negotiating_vassal
trigger = {
is_landed = yes
is_in_civil_war = no
any_vassal = {
vassal_2451_potential_vassal_trigger = yes
OR = {
vassal_contract_obligation_level_can_be_increased =
feudal_government_taxes
domain_size >= domain_limit
gold >= major_gold_value
is_powerful_vassal = yes
}
}
NOT = { has_character_flag = had_event_vassal_2451 }
}
weight_multiplier = {
base = 0.5
modifier = { #more likely to need gold
add = 0.4
is_at_war = yes
}
modifier = {
add = 0.4
domain_size < domain_limit
}
modifier = {
add = 0.4
gold <= minor_gold_value
}
modifier = {
add = 0.4
monthly_character_income < 0
}
}
immediate = {
add_character_flag = {
flag = had_event_vassal_2451
days = 3650
}
random_vassal = {
limit = {
vassal_2451_potential_vassal_trigger = yes
}
weight = {
base = 100
modifier = {
add = 100
is_powerful_vassal = yes
}
modifier = {
add = 100
domain_size >= domain_limit
}
modifier = {
add = 100
gold >= major_gold_value
}
modifier = {
add = 100
vassal_contract_obligation_level:feudal_government_taxes <=
feudal_tax_normal_level
}
}
if = {
limit = { root = { is_ai = no } }
assign_quirk_effect = yes
}
save_scope_as = negotiating_vassal
random_directly_owned_province = {
limit = {
is_county_capital = no
}
county = {
save_scope_as = possible_county
}
}
}
}
##############################################
# Peaceful vassal complains about ongoing war
# by Linnéa Thimrén
##############################################
scripted_trigger vassal_2501_potential_vassal_trigger = {
is_ai = yes
is_adult = yes
is_imprisoned = no
has_raised_armies = yes
NOR = {
has_trait = wrathful
has_trait = vengeful
has_trait = brave
has_trait = sadistic
has_trait = callous
}
opinion = {
target = root
value <= low_negative_opinion
}
}
vassal.2501 = {
type = character_event
title = vassal.2501.t
desc = vassal.2501.desc
theme = vassal
left_portrait = {
character = scope:peaceful_vassal
animation = sadness
}
trigger = {
is_landed = yes
is_in_civil_war = no
days_of_continuous_war > 730
is_at_war = yes
NOT = { has_character_flag = had_event_vassal_2501 }
any_vassal = {
vassal_2501_potential_vassal_trigger = yes
}
}
weight_multiplier = {
base = 0.5
modifier = {
add = 0.5
any_vassal = {
is_ai = yes
is_adult = yes
is_imprisoned = no
OR = {
has_trait = craven
has_trait = content
has_trait = calm
has_trait = forgiving
}
}
}
}
immediate = {
add_character_flag = {
flag = had_event_vassal_2501
days = 3650
}
random_vassal = {
limit = {
vassal_2501_potential_vassal_trigger = yes
}
weight = {
base = 100
modifier = {
add = 100
is_powerful_vassal = yes
}
modifier = {
add = 100
calc_true_if = {
amount >= 2
has_trait = craven
has_trait = content
has_trait = calm
has_trait = forgiving
}
}
}
save_scope_as = peaceful_vassal
}
}
option = { #Nah
name = vassal.2501.c
scope:peaceful_vassal = {
add_opinion = {
target = root
modifier = cruelty_opinion
opinion = low_negative_opinion
}
}
stress_impact = {
compassionate = medium_stress_impact_gain
calm = medium_stress_impact_gain
humble = medium_stress_impact_gain
forgiving = medium_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_rationality = 0.75
}
}
}
}
##############################################
# Warmongering vassal complains about peace
# 2601 - 2620
# by Linnéa Thimrén
##############################################
scripted_trigger vassal_2601_potential_vassal_trigger = {
is_ai = yes
is_adult = yes
is_imprisoned = no
NOR = {
has_trait = compassionate
has_trait = craven
has_trait = content
has_trait = calm
#opinion = {
# target = scope:holder_of_claim
# value >= low_positive_opinion
#}
}
}
scripted_trigger vassal_2601_holder_trigger = {
any_neighboring_top_liege_realm_owner = { this = root }
max_military_strength < root.max_military_strength
}
vassal.2601 = {
type = character_event
title = vassal.2601.t
desc = vassal.2601.desc
theme = vassal
left_portrait = {
character = scope:warmongering_vassal
animation = personality_callous
}
right_portrait = scope:holder_of_claim
trigger = {
is_landed = yes
is_in_civil_war = no
NOT = { has_character_flag = had_event_vassal_2601 }
days_of_continuous_peace > 730
any_claim = {
exists = holder
holder = {
vassal_2601_holder_trigger = yes
save_temporary_scope_as = holder_of_claim
}
}
any_vassal = {
vassal_2601_potential_vassal_trigger = yes
}
}
weight_multiplier = {
base = 0.5
modifier = {
add = 0.3
any_vassal = {
is_ai = yes
is_adult = yes
is_imprisoned = no
OR = {
has_trait = wrathful
has_trait = vengeful
has_trait = impatient
has_trait = brave
}
}
}
modifier = {
add = 0.3
any_vassal = {
is_ai = yes
is_adult = yes
is_imprisoned = no
OR = {
number_of_commander_traits >= 1
ai_boldness = medium_positive_boldness
ai_vengefulness = medium_positive_vengefulness
ai_zeal = medium_positive_zeal
martial >= medium_skill_rating
}
}
}
}
immediate = {
add_character_flag = {
flag = had_event_vassal_2601
days = 3650
}
random_claim = {
limit = {
exists = holder
holder = {
vassal_2601_holder_trigger = yes
}
}
weight = {
base = 100
modifier = {
add = {
value = 1
subtract = {
value = this.holder.max_military_strength
divide = { value =
root.max_military_strength min = 1 }
}
multiply = 20
}
}
}
save_scope_as = claim_to_fight_for
holder = { save_scope_as = holder_of_claim }
}
random_vassal = {
limit = {
vassal_2601_potential_vassal_trigger = yes
}
weight = {
base = 100
modifier = {
add = 30
culture = root.culture
}
modifier = {
add = 30
faith = root.faith
}
modifier = {
add = 30
dynasty = root.dynasty
}
modifier = {
add = 70
is_powerful_vassal = yes
}
modifier = {
add = 100
calc_true_if = {
amount >= 2
has_trait = wrathful
has_trait = vengeful
has_trait = impatient
has_trait = brave
}
}
modifier = {
add = 100
OR = {
number_of_commander_traits >= 1
ai_boldness = medium_positive_boldness
ai_vengefulness = medium_positive_vengefulness
ai_zeal = medium_positive_zeal
martial >= medium_skill_rating
}
}
}
save_scope_as = warmongering_vassal
if = {
limit = { root = { is_ai = no } }
assign_quirk_effect = yes
}
}
}
option = { #Nah
name = vassal.2601.b
scope:warmongering_vassal = {
add_opinion = {
target = root
modifier = refusal_opinion
opinion = low_negative_opinion
}
}
add_prestige = medium_prestige_loss
stress_impact = {
wrathful = medium_stress_impact_gain
ambitious = medium_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_compassion = 0.5
ai_rationality = 0.5
}
}
}
}
theme = vassal
left_portrait = {
character = scope:warmongering_vassal
animation = ecstasy
}
trigger = {
exists = var:promised_war
var:promised_war = {
is_alive = yes
}
}
immediate = {
var:promised_war = {
save_scope_as = warmongering_vassal
}
var:promised_to_claim = {
save_scope_as = claim_to_fight_for
}
scope:warmongering_vassal = {
add_opinion = {
modifier = kept_promise
target = root
}
}
}
option = {
name = vassal.2610.a
}
after = {
remove_variable = promised_war
remove_variable = promised_to_claim
}
}
theme = unfriendly
left_portrait = {
character = scope:warmongering_vassal
animation = anger
}
trigger = {
exists = var:promised_war
var:promised_war = {
is_alive = yes
is_vassal_of = root
}
}
immediate = {
scope:claim_to_fight_for.holder = { save_scope_as = holder_of_claim }
var:promised_war = {
save_scope_as = warmongering_vassal
}
scope:warmongering_vassal = {
add_opinion = {
modifier = respect_opinion
target = root
opinion = low_negative_opinion
}
}
add_prestige = medium_prestige_loss
remove_variable = promised_war
}
option = {
name = vassal.2620.a
}
}
##############################################
# Demand commander training from vassal
# 2701 - 2702
# by Linnéa Thimrén
##############################################
scripted_trigger vassal_2701_potential_vassal_trigger = {
is_available_healthy_ai_adult = yes
number_of_commander_traits >= 1
root = { character_has_commander_trait_scope_does_not = prev }
}
vassal.2701 = {
type = character_event
title = vassal.2701.t
desc = vassal.2701.desc
theme = vassal
left_portrait = scope:teacher
trigger = {
is_landed = yes
is_in_civil_war = no
is_available_adult = yes
NOT = {
has_character_flag = had_event_vassal_2701
}
has_lifestyle = martial_lifestyle
any_vassal = {
vassal_2701_potential_vassal_trigger = yes
}
number_of_commander_traits < 3
}
weight_multiplier = {
base = 1
compare_modifier = {
factor = martial
multiplier = 0.1
max = 2
}
modifier = {
add = -0.8
number_of_commander_traits = 1
}
modifier = {
add = -0.1
number_of_commander_traits = 2
}
modifier = {
add = 0.3
any_vassal = {
vassal_2701_potential_vassal_trigger = yes
opinion = {
target = root
value >= low_positive_opinion
}
}
}
}
immediate = {
add_character_flag = {
flag = had_event_vassal_2701
days = 3650
}
add_character_flag = {
flag = being_taught_commander_trait
days = 1825
}
random_vassal = {
limit = {
vassal_2701_potential_vassal_trigger = yes
}
save_scope_as = teacher
}
randomize_commander_trait_to_be_taught_effect = yes
}
option = {
name = vassal.2701.a
pay_short_term_gold = {
gold = minor_gold_value
target = scope:teacher
}
scope:teacher = {
add_prestige = medium_prestige_gain
}
show_as_tooltip = {
random_list = {
50 = {
desc = vassal.2701.a.random_list.success
compare_modifier = {
target = scope:teacher
factor = learning
multiplier = 0.2
max = 2
}
compare_modifier = {
factor = martial
multiplier = 0.2
max = 2
}
compare_modifier = {
factor = prowess
multiplier = 0.2
step = 0.1
max = 2
}
modifier = {
factor = 1.3
reverse_opinion = {
target = scope:teacher
value >= 10
}
}
modifier = {
add = 20
has_education_martial_trigger = yes
}
modifier = {
factor = 0.6
reverse_opinion = {
target = scope:teacher
value <= neutral_opinion
}
}
add_character_flag = {
flag = will_learn_ct
days = 50
}
learn_commander_trait_success_effect = yes
}
50 = {
desc = vassal.2701.a.random_list.failure
custom_tooltip = vassal.2701.a.tt
}
}
}
trigger_event = {
id = vassal.2702
days = { 30 50 }
}
stress_impact = {
wrathful = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = -100
OR = {
tyranny >= medium_tyranny
dread >= medium_dread
has_trait = wrathful
has_trait = arrogant
}
}
}
}
option = { #Nah
name = vassal.2701.c
custom_tooltip = learn_commander_trait.11.b.tt
add_prestige = minor_prestige_loss
ai_chance = {
base = 0
}
}
}
#Did you learn a commander trait?
vassal.2702 = {
type = character_event
title = vassal.2701.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
has_character_flag = will_learn_ct
}
desc = {
first_valid = {
triggered_desc = {
trigger = {
OR = {
has_education_martial_trigger
= yes
has_lifestyle =
martial_lifestyle
}
}
desc =
vassal.2702.desc_success_inclination
}
desc = vassal.2702.desc_success_no_inclination
}
}
}
desc = vassal.2702.desc_failure
}
}
theme = vassal
override_background = {
event_background = courtyard
}
left_portrait = {
character = scope:teacher
triggered_animation = {
trigger = { has_character_flag = will_learn_ct }
animation = happiness
}
triggered_animation = {
trigger = { always = yes }
animation = idle
}
}
immediate = {
hidden_effect = {
random_list = {
50 = {
compare_modifier = {
target = scope:teacher
factor = learning
multiplier = 0.2
max = 2
}
compare_modifier = {
factor = martial
multiplier = 0.2
max = 2
}
compare_modifier = {
factor = prowess
multiplier = 0.2
step = 0.1
max = 2
}
modifier = {
factor = 1.3
reverse_opinion = {
target = scope:teacher
value >= 10
}
}
modifier = {
add = 20
has_education_martial_trigger = yes
}
modifier = {
factor = 0.6
reverse_opinion = {
target = scope:teacher
value <= neutral_opinion
}
}
add_character_flag = {
flag = will_learn_ct
days = 50
}
learn_commander_trait_success_effect = yes
}
50 = { }
}
}
}
option = {
name = vassal.2702.a
trigger = {
has_character_flag = will_learn_ct
var:commander_trait_being_taught = flag:logistician
}
trait = logistician
}
option = {
name = vassal.2702.a
trigger = {
has_character_flag = will_learn_ct
var:commander_trait_being_taught = flag:military_engineer
}
trait = military_engineer
}
option = {
name = vassal.2702.a
trigger = {
has_character_flag = will_learn_ct
var:commander_trait_being_taught = flag:aggressive_attacker
}
trait = aggressive_attacker
}
option = {
name = vassal.2702.a
trigger = {
has_character_flag = will_learn_ct
var:commander_trait_being_taught = flag:unyielding_defender
}
trait = unyielding_defender
}
option = {
name = vassal.2702.a
trigger = {
has_character_flag = will_learn_ct
var:commander_trait_being_taught = flag:forder
}
trait = forder
}
option = {
name = vassal.2702.a
trigger = {
has_character_flag = will_learn_ct
var:commander_trait_being_taught = flag:flexible_leader
}
trait = flexible_leader
}
option = {
name = vassal.2702.a
trigger = {
has_character_flag = will_learn_ct
var:commander_trait_being_taught = flag:desert_warrior
}
trait = desert_warrior
}
option = {
name = vassal.2702.a
trigger = {
has_character_flag = will_learn_ct
var:commander_trait_being_taught = flag:winter_soldier
}
trait = winter_soldier
}
option = {
name = vassal.2702.a
trigger = {
has_character_flag = will_learn_ct
var:commander_trait_being_taught = flag:jungle_stalker
}
trait = jungle_stalker
}
option = {
name = vassal.2702.a
trigger = {
has_character_flag = will_learn_ct
var:commander_trait_being_taught = flag:reaver
}
trait = reaver
}
option = {
name = vassal.2702.a
trigger = {
has_character_flag = will_learn_ct
var:commander_trait_being_taught = flag:reckless
}
trait = reckless
}
option = {
name = vassal.2702.a
trigger = {
has_character_flag = will_learn_ct
var:commander_trait_being_taught = flag:holy_warrior
}
trait = holy_warrior
}
option = {
name = vassal.2702.b
trigger = {
NOT = {
has_character_flag = will_learn_ct
}
}
}
after = {
if = {
limit = {
exists = var:commander_trait_being_taught
}
remove_variable = commander_trait_being_taught
}
if = {
limit = {
has_character_flag = will_learn_ct
}
remove_character_flag = will_learn_ct
}
if = {
limit = {
has_character_flag = being_taught_commander_trait
}
remove_character_flag = being_taught_commander_trait
}
}
}
##############################################
# Liege complains abut no province improvement
# by Linnéa Thimrén
##############################################
scripted_trigger vassal_2801_potential_province_trigger = {
has_free_building_slot = yes
NOR = {
has_construction_with_flag = temple
has_construction_with_flag = castle
has_construction_with_flag = city
}
}
vassal.2801 = {
type = character_event
title = vassal.2801.t
desc = vassal.2801.desc
theme = vassal
left_portrait = {
character = scope:industrious_liege
animation = personality_callous
}
trigger = {
is_landed = yes
is_in_civil_war = no
NOT = { has_character_flag = had_event_vassal_2801 }
is_independent_ruler = no
exists = liege
liege = {
is_available_ai_adult = yes
}
any_directly_owned_province = {
vassal_2801_potential_province_trigger = yes
}
gold >= 600
}
weight_multiplier = {
base = 0.5
modifier = {
add = 0.2
liege = {
has_trait = diligent
}
}
modifier = {
add = 0.2
gold >= 1200
}
modifier = {
add = 0.2
gold >= 1800
}
modifier = {
add = 0.2
gold >= 2400
}
modifier = {
add = 0.7
any_directly_owned_province = {
has_free_building_slot = yes
count >= 3
}
}
}
immediate = {
add_character_flag = {
flag = had_event_vassal_2801
days = 3650
}
liege = {
save_scope_as = industrious_liege
}
random_directly_owned_province = {
limit = {
vassal_2801_potential_province_trigger = yes
county = {
development_level <= bad_development_level
}
}
alternative_limit = {
vassal_2801_potential_province_trigger = yes
}
county = {
save_scope_as = develop_county
}
}
}
##############################################
# Vassal requesting land they have claim on that you're the holder of
# 2901 - 2910
# by Linnéa Thimrén
##############################################
scripted_trigger vassal_2901_claim_vassal_trigger = {
is_available_ai_adult = yes
highest_held_title_tier > 1 #No Barons
NOR = {
has_government = theocracy_government
has_government = republic_government
has_government = holy_order_government
}
any_claim = {
pressed = no
holder = root
NOT = { this = root.primary_title }
}
NOT = { root = { has_hook = prev } }
}
vassal.2901 = {
type = character_event
title = vassal.2901.t
desc = vassal.2901.desc
theme = vassal
left_portrait = {
character = scope:claim_vassal
animation = personality_callous
}
trigger = {
is_landed = yes
is_in_civil_war = no
NOT = { has_character_flag = had_event_vassal_2901 }
highest_held_title_tier > 2 #Dukes or above.
any_vassal = {
vassal_2901_claim_vassal_trigger = yes
}
}
weight_multiplier = {
base = 0.8
modifier = {
add = 0.2
any_vassal = {
vassal_2901_claim_vassal_trigger = yes
has_trait = ambitious
}
}
}
immediate = {
add_character_flag = {
flag = had_event_vassal_2901
days = 7200
}
random_vassal = {
limit = {
vassal_2901_claim_vassal_trigger = yes
is_powerful_vassal = yes
}
alternative_limit = {
vassal_2901_claim_vassal_trigger = yes
}
weight = {
base = 1
modifier = {
has_trait = ambitious
add = 2
}
}
save_scope_as = claim_vassal
}
scope:claim_vassal = {
random_claim = {
pressed = no
limit = {
save_temporary_scope_as = this_claim
exists = holder
holder = {
NOT = { scope:this_claim = this.primary_title }
this = root
}
}
save_scope_as = claim_to_propose
}
}
}
option = { #nah
name = vassal.2901.b
scope:claim_vassal = {
add_opinion = {
modifier = refusal_opinion
target = root
opinion = low_negative_opinion
}
}
stress_impact = {
generous = medium_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_greed = 0.75
ai_vengefulness = 0.5
ai_rationality = 0.25
}
}
}
}
theme = vassal
left_portrait = {
character = scope:recipient
animation = happiness
}
immediate = {
scope:recipient = {
var:promised_title = {
save_scope_as = claim_to_propose
}
}
}
option = {
name = vassal.2910.a
if = {
limit = {
can_add_hook = {
target = scope:recipient
type = favor_hook
}
}
add_hook = {
target = scope:recipient
type = favor_hook
}
}
else = {
add_prestige = major_prestige_gain
add_opinion = {
modifier = respect_opinion
target = root
opinion = medium_positive_opinion
}
}
}
after = {
remove_variable = was_promised_title
scope:recipient = {
remove_variable = promised_title
}
}
}
theme = unfriendly
override_background = {
event_background = throne_room
}
left_portrait = {
character = scope:claim_vassal
animation = rage
}
trigger = {
scope:claim_vassal = { is_alive = yes }
exists = var:was_promised_title
}
immediate = {
scope:claim_vassal = {
var:promised_title = {
save_scope_as = claim_to_propose
}
}
}
option = {
name = vassal.2911.a
reverse_add_opinion = {
modifier = respect_opinion
target = scope:claim_vassal
opinion = medium_negative_opinion
}
add_prestige = medium_prestige_loss
remove_variable = was_promised_title
scope:claim_vassal = {
remove_variable = promised_title
}
}
}
##############################################
# You have no heir, ask a vassal with a lot of children for help
# 3001 - 3004
# by Linnéa Thimrén
##############################################
scripted_trigger vassal_3001_potential_child_trigger = {
is_alive = yes
OR = {
reverse_opinion = {
target = root
value <= neutral_opinion
}
has_trait = incapable
has_trait_rank = {
trait = intellect_bad
rank > 1
}
}
}
scripted_trigger vassal_3001_potential_vassal_trigger = {
any_child = {
count >= 5
is_alive = yes
}
reverse_opinion = {
target = root
value >= 10
}
}
scripted_trigger vassal_3001_spouse_trigger = {
is_alive = yes
sex_opposite_of = root
is_pregnant = no
}
vassal.3001 = {
type = character_event
title = vassal.3001.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
exists = scope:child
}
desc = vassal.3001.desc_child
}
desc = vassal.3001.desc_no_child
}
desc = vassal.3001.desc
}
theme = vassal
left_portrait = scope:vassal_to_ask
right_portrait = scope:spouse
lower_right_portrait = scope:child
trigger = {
is_landed = yes
is_in_civil_war = no
OR = {
any_child = {
count >= 1
vassal_3001_potential_child_trigger = yes
}
NOT = {
any_child = {
count >= 1
is_alive = yes
}
}
}
any_spouse = {
vassal_3001_spouse_trigger = yes
}
NOR = {
has_character_flag = had_event_vassal_3001
any_spouse = {
is_pregnant = yes
}
is_pregnant = yes
has_trait = eunuch
has_trait = celibate
has_trait = infertile
}
any_vassal = {
vassal_3001_potential_vassal_trigger = yes
}
}
weight_multiplier = {
base = 0.5
modifier = {
add = 0.5
any_vassal = {
vassal_3001_potential_vassal_trigger = yes
OR = {
any_child = {
count >= 6
}
has_trait = lustful
fertility >= high_fertility
}
}
}
}
immediate = {
save_scope_as = liege_with_trouble
add_character_flag = {
flag = had_event_vassal_3001
days = 3650
}
random_spouse = {
limit = {
vassal_3001_spouse_trigger = yes
this = root.primary_spouse
}
alternative_limit = {
vassal_3001_spouse_trigger = yes
}
save_scope_as = spouse
}
random_child = {
limit = {
vassal_3001_potential_child_trigger = yes
}
save_scope_as = child
}
random_vassal = {
limit = {
vassal_3001_potential_vassal_trigger = yes
}
weight = {
base = 100
modifier = {
add = 100
is_powerful_vassal = yes
}
modifier = {
add = 20
fertility >= high_fertility
}
modifier = {
add = 50
any_child = {
count >= 7
}
}
modifier = {
add = 20
has_trait = lustful
}
}
save_scope_as = vassal_to_ask
}
}
#Response event for vassal: Liege wants some pointers in the bedchamber
vassal.3002 = {
type = character_event
title = vassal.3001.t
desc = vassal.3002.desc
theme = vassal
left_portrait = {
character = scope:liege_with_trouble
animation = personality_coward
}
lower_left_portrait = scope:spouse
trigger = {
scope:spouse = { is_alive = yes }
scope:liege_with_trouble = { is_alive = yes }
}
after = {
scope:liege_with_trouble = {
trigger_event = vassal.3003
}
}
}
theme = vassal
left_portrait = scope:vassal_to_ask
right_portrait = scope:spouse
trigger = {
scope:vassal_to_ask = { is_alive = yes }
scope:spouse = { is_alive = yes }
}
immediate = {
if = {
limit = {
has_character_modifier = modifier_amazing_fertility_counsel
}
show_as_tooltip = {
add_character_modifier = {
modifier = modifier_amazing_fertility_counsel
days = 1825
}
add_opinion = {
target = scope:vassal_to_ask
modifier = friendliness_opinion
opinion = 30
}
}
}
else_if = {
limit = {
has_character_modifier = modifier_great_fertility_counsel
}
show_as_tooltip = {
add_character_modifier = {
modifier = modifier_great_fertility_counsel
days = 1825
}
add_opinion = {
target = scope:vassal_to_ask
modifier = friendliness_opinion
opinion = low_positive_opinion
}
}
}
else_if = {
limit = {
has_character_modifier = modifier_bad_fertility_counsel
}
show_as_tooltip = {
add_character_modifier = {
modifier = modifier_bad_fertility_counsel
days = 1825
}
add_opinion = {
target = scope:vassal_to_ask
modifier = respect_opinion
opinion = low_negative_opinion
}
}
}
else_if = {
limit = {
scope:vassal_to_ask = {
NOR = {
has_character_flag = is_making_a_move
has_character_flag = is_making_a_move_on_spouse
}
}
}
scope:vassal_to_ask = {
add_opinion = {
target = root
modifier = insult_opinion
opinion = -10
}
}
}
}
option = { #Bummer
name = vassal.3003.b
trigger = {
NOR = {
has_character_modifier = modifier_amazing_fertility_counsel
has_character_modifier = modifier_great_fertility_counsel
scope:vassal_to_ask = { has_character_flag =
is_making_a_move }
scope:vassal_to_ask = { has_character_flag =
is_making_a_move_on_spouse }
}
}
add_stress = medium_stress_gain
}
theme = seduction
left_portrait = {
character = scope:liege_with_trouble
animation = flirtation
}
immediate = {
if = {
limit = {
has_character_flag = is_making_a_move
}
progress_towards_lover_effect = {
CHARACTER = scope:liege_with_trouble
OPINION = yes
}
had_sex_with_effect = {
CHARACTER = scope:liege_with_trouble
PREGNANCY_CHANCE = pregnancy_chance
}
}
else_if = {
limit = {
has_character_flag = is_making_a_move_on_spouse
}
progress_towards_lover_effect = {
CHARACTER = scope:spouse
OPINION = yes
}
had_sex_with_effect = {
CHARACTER = scope:spouse
PREGNANCY_CHANCE = pregnancy_chance
}
}
else = {
reverse_add_opinion = {
target = root
modifier = insult_opinion
opinion = low_negative_opinion
}
}
}
option = {
name = vassal.3004.a
trigger = {
NOR = {
has_character_flag = is_making_a_move
has_character_flag = is_making_a_move_on_spouse
}
}
}
option = {
name = vassal.3004.b
trigger = {
has_character_flag = is_making_a_move
}
}
option = {
name = vassal.3004.c
trigger = {
has_character_flag = is_making_a_move_on_spouse
}
}
after = {
if = {
limit = {
has_character_flag = is_making_a_move
}
remove_character_flag = is_making_a_move
}
if = {
limit = {
has_character_flag = is_making_a_move_on_spouse
}
remove_character_flag = is_making_a_move_on_spouse
}
}
}
##############################################
# Zealous vassal wants you to fight religious enemies
# 5010 - 5020
# by Tobias Bodlund
##############################################
scripted_trigger vassal_5010_potential_trigger = {
is_capable_adult_ai = yes
has_trait = zealous
is_at_war = no
faith = root.faith
}
vassal.5010 = {
type = letter_event
opening = {
desc = vassal.5010.opening
}
desc = vassal.5010.desc
sender = scope:vassal
trigger = {
is_landed = yes
is_in_civil_war = no
NOT = { has_character_flag = 5010_vassal_asked_for_holy_war } #
Cooldown check
is_ai = no
any_vassal = { # Vassal is same faith and zealous
vassal_5010_potential_trigger = yes
}
# Must currently have a religious cb
any_independent_ruler = {
NOT = { is_allied_to = root }
root = {
has_cb_on = {
target = prev
cb = religious_war
}
}
faith = {
faith_hostility_level = {
target = root.faith
value >= faith_hostile_level
}
}
}
# Must be either at peace or only at war with coreligionists
OR = {
is_at_war = no
at_war_only_with_coreligionists_trigger = yes
}
}
weight_multiplier = {
base = 1
modifier = { # Higher chance if at war with coreligionists
factor = 2
at_war_with_any_coreligionist_trigger = yes
}
modifier = {
factor = 2
has_trait = impatient
}
modifier = {
factor = 0.5
has_trait = patient
}
}
immediate = {
add_character_flag = {
flag = 5010_vassal_asked_for_holy_war # Cooldown
years = 5
}
random_vassal = {
limit = {
vassal_5010_potential_trigger = yes
}
save_scope_as = vassal
}
}
option = {
name = vassal.5010.a # Promise holy war within six months
custom_tooltip = vassal.5010.a.tt
scope:vassal = {
add_opinion = {
target = root
modifier = promised_vassal_holy_war_opinion
}
}
trigger_event = {
id = vassal.5020 # Check if promise is fulfilled
days = 180
}
}
option = {
name = vassal.5010.b # Decline with good diplomacy skill
trigger = {
diplomacy >= high_skill_rating
}
add_piety = miniscule_piety_loss
skill = diplomacy
custom_tooltip = vassal.5010.b.tt
}
option = {
name = vassal.5010.c # Decline - vassal is angered
trigger = {
NOT = { diplomacy >= high_skill_rating }
}
add_piety = miniscule_piety_loss
scope:vassal = {
add_opinion = {
target = root
modifier = impious_opinion
opinion = -15
}
}
}
}
theme = vassal
left_portrait = scope:vassal
option = {
name = {
trigger = {
untrustworthy_trigger = no
}
text = vassal.5020.a
}
name = {
trigger = {
untrustworthy_trigger = yes
}
text = vassal.5020.b
}
trait = arbitrary
trait = deceitful
add_piety = minor_piety_loss
scope:vassal = {
add_opinion = {
target = root
modifier = impious_opinion
opinion = -15
}
add_opinion = {
target = root
modifier = suspicion_opinion
opinion = -15
}
}
}
}
##############################################
# Vassal has a claim in a foreign realm and nags the liege about going to war over
it
# 5050 - 5060
# by Tobias Bodlund
##############################################
scripted_trigger vassal_5050_potential_vassal_trigger = {
is_capable_adult_ai = yes
is_at_war = no
NOT = { has_trait = content }
any_claim = {
exists = holder
holder = {
NOT = { is_allied_to = root }
NOT = { any_liege_or_above = { this = root } }
root = {
has_cb_on = {
target = prev
cb = claim_cb
}
}
}
}
}
vassal.5050 = {
type = letter_event
opening = {
desc = vassal.5010.opening
}
desc = vassal.5050.desc
sender = scope:vassal
trigger = {
is_landed = yes
is_in_civil_war = no
NOT = { has_character_flag = 5050_vassal_asked_for_war_over_claim } #
Cooldown check
is_ai = no
is_at_war = no
any_vassal = {
vassal_5050_potential_vassal_trigger = yes
}
}
weight_multiplier = {
base = 1
modifier = {
factor = 1.5
has_trait = greedy
}
modifier = {
factor = 2
has_trait = ambitious
}
modifier = {
factor = 2
has_trait = impatient
}
modifier = {
factor = 0.5
has_trait = patient
}
modifier = {
factor = 2
is_powerful_vassal = yes
}
}
immediate = {
add_character_flag = {
flag = 5050_vassal_asked_for_war_over_claim # Cooldown
years = 5
}
random_vassal = {
limit = {
vassal_5050_potential_vassal_trigger = yes
}
save_scope_as = vassal
# find relevant claim and save the scope (for text)
random_claim = {
limit = {
exists = holder
holder = {
NOT = { any_liege_or_above = { this = root } }
root = {
has_cb_on = {
target = prev
cb = claim_cb
}
}
}
}
save_scope_as = claim
holder = {
save_scope_as = claimed_title_holder
}
}
}
}
option = {
name = vassal.5050.b # Decline with good diplomacy skill
trigger = {
diplomacy >= high_skill_rating
}
skill = diplomacy
custom_tooltip = vassal.5050.b.tt
}
option = {
name = vassal.5050.a # Promise war within twelve months
custom_tooltip = vassal.5050.a.tt
scope:vassal = {
add_opinion = {
target = root
modifier = promised_vassal_claim_war_opinion
}
}
trigger_event = {
id = vassal.5060 # Check if promise is fulfilled
days = 365
}
}
option = {
name = vassal.5050.c # Decline - vassal is disappointed
trigger = {
NOT = { diplomacy >= high_skill_rating }
}
scope:vassal = {
add_opinion = {
target = root
modifier = disappointed_opinion
opinion = -10
}
}
}
}
theme = vassal
left_portrait = scope:vassal
trigger = {
scope:vassal = {
is_alive = yes
NOT = { has_trait = incapable }
liege = root
NOT = { is_at_war_with = root }
}
# must be in an offensive war over that claim or in a defensive war OR
the vassal holds that claim
NOR = {
scope:claim = { holder = scope:vassal }
any_character_war = {
using_cb = claim_cb
casus_belli = {
any_target_title = { this = scope:claim }
}
}
any_character_war = {
casus_belli = { primary_defender = root }
}
}
}
option = {
name = {
trigger = {
untrustworthy_trigger = no
}
text = vassal.5060.a
}
name = {
trigger = {
untrustworthy_trigger = yes
}
text = vassal.5060.b
}
trait = arbitrary
trait = deceitful
add_prestige = minor_prestige_loss
scope:vassal = {
add_opinion = {
target = root
modifier = disappointed_opinion
opinion = -10
}
add_opinion = {
target = root
modifier = suspicion_opinion
opinion = -10
}
}
}
}