N3OW/events/dlc/bp2/bp2_yearly_events_6.txt
2026-05-23 20:45:31 -04:00

15018 lines
310 KiB
Text

#Events run from the yearly_pulse on_action
namespace = bp2_yearly
# List of events in this file:
#
#
# 6000 Not the Italian Way
# 6010 No Man Imprisoned
# 6020 Children Say Such Funny Things
# 6030 Eyes of the Family
# 6040 All We Are Not
# 6050 Stone, Iron, Clay and Wattle
# 6060 Studies in Eternity
# 6070 Where All the World Gazes
# 6080 Bulgarian Blood
# 6090 A Birthright, Renewed
# 6091 A People, Immutable
# 6100 Moldavia, Reborn!
# 6110 Foreign Reforms
# 6120 Where Bonds Are Tested
# 6121 The Forgone Son
# 6122 Not Forgotten
# 6123 The Scion of Peace
# 6130 Captive, Captivated
# 6140 For Amity, Too Young
# 6150 The Assurance Speaks
# 6160 Worst of my Riders
# 6170 A Pact with the Uncivilized
# 6180-6199 Foreign-Raised Reformer feed events
# 6200-6203 Where the Knights Know Peace
# 6204 A Plea From My Blood
# 6205 To Lands of Strife
# 6210-6215 Foreign-Raised Reformer feed events
#####################################
# Not the Italian Way #
# by Jason Cantalini #
# 60000 #
#####################################
scripted_trigger bp2_yearly_6000_valid_educator = {
is_available = yes
culture = root.culture
NOR = {
has_trait = cynical
has_trait = calm
has_trait = eccentric
}
OR = {
has_relation_guardian = scope:hosted_child
has_court_position = court_tutor_court_position
AND = {
root.culture = {
has_cultural_pillar = ethos_bellicose
}
OR = {
is_knight_of = root
root.cp:councillor_marshal ?= this
root.cp:councillor_spymaster ?= this
}
}
AND = {
root.culture = {
has_cultural_pillar = ethos_bureaucratic
}
OR = {
root.cp:councillor_steward ?= this
has_court_position = seneschal_court_position
root.cp:councillor_court_chaplain ?= this
}
}
AND = {
root.culture = {
has_cultural_pillar = ethos_communal
}
OR = {
root.cp:councillor_chancellor ?= this
root.cp:councillor_court_chaplain ?= this
has_court_position = court_poet_court_position
}
}
AND = {
root.culture = {
has_cultural_pillar = ethos_courtly
}
OR = {
root.cp:councillor_chancellor ?= this
has_court_position = seneschal_court_position
has_court_position = court_poet_court_position
root.cp:councillor_court_chaplain ?= this
}
}
AND = {
root.culture = {
has_cultural_pillar = ethos_egalitarian
}
OR = {
root.cp:councillor_chancellor ?= this
has_court_position = seneschal_court_position
root.cp:councillor_court_chaplain ?= this
}
}
AND = {
root.culture = {
has_cultural_pillar = ethos_spiritual
}
root.cp:councillor_court_chaplain ?= this
}
AND = {
root.culture = {
has_cultural_pillar = ethos_stoic
}
OR = {
is_knight_of = root
root.cp:councillor_marshal ?= this
root.cp:councillor_chancellor ?= this
has_court_position = court_poet_court_position
root.cp:councillor_court_chaplain ?= this
}
}
}
}
scripted_trigger bp2_yearly_6000_good_at_ethos = {
trigger_if = {
limit = {
root.culture = {
has_cultural_pillar = ethos_bellicose
}
}
OR = {
martial >= high_skill_rating
ai_boldness >= medium_positive_ai_value
ai_compassion <= high_negative_ai_value
has_trait = rowdy
has_trait = aggressive_attacker
has_trait = reaver
has_trait = adventurer
}
}
trigger_else_if = {
limit = {
root.culture = {
has_cultural_pillar = ethos_bureaucratic
}
}
OR = {
stewardship >= high_skill_rating
ai_greed >= high_positive_ai_value
ai_rationality >= medium_positive_ai_value
has_trait = pensive
has_trait = overseer
has_trait = administrator
has_trait = architect
}
}
trigger_else_if = {
limit = {
root.culture = {
has_cultural_pillar = ethos_communal
}
}
OR = {
ai_vengefulness >= medium_positive_ai_value
ai_honor >= high_positive_ai_value
has_trait = charming
has_trait = family_first
}
}
trigger_else_if = {
limit = {
root.culture = {
has_cultural_pillar = ethos_courtly
}
}
OR = {
diplomacy >= high_skill_rating
ai_sociability >= medium_positive_ai_value
ai_honor >= high_positive_ai_value
has_trait = charming
has_trait = august
has_trait = lifestyle_poet
}
}
trigger_else_if = {
limit = {
root.culture = {
has_cultural_pillar = ethos_egalitarian
}
}
OR = {
diplomacy >= high_skill_rating
ai_sociability >= high_positive_ai_value
ai_compassion >= medium_positive_ai_value
has_trait = curious
has_trait = diplomat
}
}
trigger_else_if = {
limit = {
root.culture = {
has_cultural_pillar = ethos_spiritual
}
}
OR = {
has_trait = zealous
piety_level >= 3
has_trait = pensive
has_trait = theologian
has_trait = scholar
has_trait = lifestyle_mystic
}
}
trigger_else = {
OR = {
ai_compassion >= high_positive_ai_value
ai_zeal >= medium_positive_ai_value
has_trait = unyielding_defender
has_trait = gallant
has_trait = loyal
}
}
}
bp2_yearly.6000 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6000.t
override_background = {
reference = relaxing_room
}
desc = {
#Standard intro
desc = bp2_yearly.6000.desc.intro
first_valid = {
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_bellicose
}
}
desc = bp2_yearly.6000.desc.fault.bellicose
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_bureaucratic
}
}
desc = bp2_yearly.6000.desc.fault.bureaucratic
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_communal
}
}
desc = bp2_yearly.6000.desc.fault.communal
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_courtly
}
}
desc = bp2_yearly.6000.desc.fault.courtly
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_egalitarian
}
exists = scope:realm_minority
}
desc = bp2_yearly.6000.desc.fault.egalitarian
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_egalitarian
}
}
desc = bp2_yearly.6000.desc.fault.egalitarian_no_culture
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_spiritual
}
}
desc = bp2_yearly.6000.desc.fault.spiritual
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_stoic
}
}
desc = bp2_yearly.6000.desc.fault.stoic
}
}
desc = bp2_yearly.6000.desc.mid
first_valid = {
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_bellicose
}
}
desc = bp2_yearly.6000.desc.value.bellicose
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_bureaucratic
}
}
desc = bp2_yearly.6000.desc.value.bureaucratic
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_communal
}
}
desc = bp2_yearly.6000.desc.value.communal
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_courtly
}
}
desc = bp2_yearly.6000.desc.value.courtly
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_egalitarian
}
}
desc = bp2_yearly.6000.desc.value.egalitarian
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_spiritual
}
}
desc = bp2_yearly.6000.desc.value.spiritual
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_stoic
}
}
desc = bp2_yearly.6000.desc.value.stoic
}
}
desc = bp2_yearly.6000.desc.outro
}
theme = hostage
left_portrait = {
character = scope:tutor
animation = stressed_teacher
}
right_portrait = {
character = scope:hosted_child
animation = boredom
}
lower_right_portrait = {
character = scope:childs_home_liege
}
cooldown = {
years = 5
}
trigger = {
has_bp2_dlc_trigger = yes
is_available_adult = yes
#Do you have a same-culture hostage or ward from another court?
OR = {
any_warden_hostage = {
is_imprisoned = no
culture = root.culture
age > 5
is_adult = no
bp2_yearly_6000_good_at_ethos = no
home_court ?= {
bp2_yearly_6000_good_at_ethos = no
culture = root.culture
NOT = {
has_character_flag = accused_of_bad_cultural_education
}
is_adult = yes
}
}
any_foreign_court_guest = {
is_imprisoned = no
culture = root.culture
age > 5
is_adult = no
bp2_yearly_6000_good_at_ethos = no
liege ?= {
bp2_yearly_6000_good_at_ethos = no
culture = root.culture
NOT = {
has_character_flag = accused_of_bad_cultural_education
}
is_adult = yes
}
}
}
#Is there a valid tutor, appropriate for the cultural issue?
any_courtier = {
is_available_adult = yes
culture = root.culture
NOR = {
has_trait = cynical
has_trait = eccentric
has_trait = calm
}
}
# add character flag on target so they don't get spammed
}
weight_multiplier = {
base = 1
modifier = {
culture = {
OR = {
has_cultural_parameter = harder_to_hybridize
has_cultural_parameter = dislikes_marrying_outside_of_culture
}
}
add = 2
}
modifier = {
culture = {
OR = {
has_cultural_parameter = life_is_a_joke_trait_same_culture_opinion
has_cultural_parameter = cheaper_to_hybridize
}
}
add = -2
}
modifier = {
# More likely if root is big on cultural tradition
bp2_yearly_6000_good_at_ethos = yes
add = 3
}
}
immediate = {
root = {
save_scope_as = childs_host
}
if = {
limit = {
any_warden_hostage = {
is_imprisoned = no
culture = root.culture
age > 5
is_adult = no
bp2_yearly_6000_good_at_ethos = no
home_court ?= {
bp2_yearly_6000_good_at_ethos = no
culture = root.culture
NOT = {
has_character_flag = accused_of_bad_cultural_education
}
is_adult = yes
}
}
}
random_warden_hostage = {
limit = {
is_imprisoned = no
culture = root.culture
age > 5
is_adult = no
bp2_yearly_6000_good_at_ethos = no
home_court ?= {
bp2_yearly_6000_good_at_ethos = no
culture = root.culture
NOT = {
has_character_flag = accused_of_bad_cultural_education
}
is_adult = yes
}
}
save_scope_as = hosted_child
home_court = {
save_scope_as = childs_home_liege
}
}
}
else = {
random_foreign_court_guest = {
limit = {
is_imprisoned = no
culture = root.culture
age > 5
is_adult = no
bp2_yearly_6000_good_at_ethos = no
liege ?= {
bp2_yearly_6000_good_at_ethos = no
culture = root.culture
NOT = {
has_character_flag = accused_of_bad_cultural_education
}
is_adult = yes
}
}
save_scope_as = hosted_child
liege = {
save_scope_as = childs_home_liege
}
}
}
#try to get someone who would be teaching child about ethos
if = {
limit = {
any_courtier = {
bp2_yearly_6000_valid_educator = yes
}
}
random_courtier = {
limit = {
bp2_yearly_6000_valid_educator = yes
}
save_scope_as = tutor
}
}
#try to get anyone who would freak out in an appropriate way
else = {
random_courtier = {
limit = {
is_available_adult = yes
culture = root.culture
NOR = {
has_trait = cynical
has_trait = calm
has_trait = eccentric
}
}
save_scope_as = tutor
}
}
# try to save a minority culture to refer to
if = {
limit = {
any_culture_global = {
this != root.culture
culture_number_of_counties > 0
trigger_if = {
limit = {
exists = root.capital_county
root = {
highest_held_title_tier > tier_duchy
}
}
any_culture_county = {
empire = root.capital_county.empire
}
}
trigger_else = {
exists = root.capital_county
any_culture_county = {
kingdom = root.capital_county.kingdom
}
}
}
}
random_culture_global = {
limit = {
this != root.culture
culture_number_of_counties > 0
trigger_if = {
limit = {
exists = root.capital_county
root = {
highest_held_title_tier > tier_duchy
}
}
any_culture_county = {
empire = root.capital_county.empire
}
}
trigger_else = {
exists = root.capital_county
any_culture_county = {
kingdom = root.capital_county.kingdom
}
}
}
weight = {
base = 1
modifier = {
add = 2
NOT = { has_same_culture_heritage = root.culture }
}
modifier = {
add = 2
NOT = { has_same_culture_language = root.culture }
}
}
save_scope_as = realm_minority
}
}
}
# Everybody needs to hear about this: the kid's liege will change their ways or face shaming
option = {
name = bp2_yearly.6000.a
flavor = bp2_yearly.6000.a.tt
scope:childs_home_liege = {
add_character_flag = {
flag = accused_of_bad_cultural_education
years = 20
}
}
progress_towards_rival_effect = {
CHARACTER = scope:childs_home_liege
OPINION = -30
REASON = rival_accused_of_cultural_impropriety
}
scope:childs_home_liege = {
trigger_event = {
id = bp2_yearly.6001
days = 1
}
}
custom_tooltip = bp2_yearly.6000.a.response
if = {
limit = {
culture = {
has_cultural_pillar = ethos_bellicose
}
}
add_character_modifier = {
modifier = defender_of_bellicose_ways_modifier
years = 10
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_bureaucratic
}
}
add_character_modifier = {
modifier = defender_of_bureaucratic_ways_modifier
years = 10
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_communal
}
}
add_character_modifier = {
modifier = defender_of_communal_ways_modifier
years = 10
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_courtly
}
}
add_character_modifier = {
modifier = defender_of_courtly_ways_modifier
years = 10
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_egalitarian
}
}
add_character_modifier = {
modifier = defender_of_egalitarian_ways_modifier
years = 10
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_spiritual
}
}
add_character_modifier = {
modifier = defender_of_spiritual_ways_modifier
years = 10
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_stoic
}
}
add_character_modifier = {
modifier = defender_of_stoic_ways_modifier
years = 10
}
}
stress_impact = {
forgiving = major_stress_impact_gain
eccentric = minor_stress_impact_gain
arbitrary = minor_stress_impact_gain
content = minor_stress_impact_gain
fickle = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = 1
ai_boldness = 1
}
modifier = {
factor = 0
OR = {
has_trait = forgiving
has_trait = eccentric
has_trait = arbitrary
}
}
}
}
# step in and address this poor cultural education head on - it's the only hope of raising a real Italian!
option = {
name = bp2_yearly.6000.b
#bellicose education
if = {
limit = {
culture = {
has_cultural_pillar = ethos_bellicose
}
}
duel = {
skills = { martial intrigue }
value = decent_skill_rating
50 = { #It works well
desc = bp2_yearly.6000.b.success
compare_modifier = {
value = scope:duel_value
multiplier = 2
}
modifier = {
culture = {
OR = {
has_cultural_parameter = harder_to_hybridize
has_cultural_parameter = dislikes_marrying_outside_of_culture
}
}
add = 20
}
modifier = {
culture = {
OR = {
has_cultural_parameter = life_is_a_joke_trait_same_culture_opinion
has_cultural_parameter = cheaper_to_hybridize
}
}
add = -20
}
send_interface_toast = {
title = bp2_yearly.6000.b.success
left_icon = root
right_icon = scope:hosted_child
if = {
limit = { has_lifestyle = martial_lifestyle }
add_martial_lifestyle_xp = medium_lifestyle_xp
}
else_if = {
limit = { has_lifestyle = intrigue_lifestyle }
add_intrigue_lifestyle_xp = medium_lifestyle_xp
}
else_if = {
limit = { has_royal_court = yes has_dlc_feature = royal_court }
change_current_court_grandeur = medium_court_grandeur_gain
}
else = {
add_prestige = medium_prestige_gain
}
scope:hosted_child = {
add_martial_skill = 1
add_intrigue_skill = 1
add_diplomacy_skill = -1
}
}
}
50 = { #It doesn't go well
desc = bp2_yearly.6000.b.failure
compare_modifier = {
value = scope:duel_value
multiplier = -2
}
send_interface_toast = {
title = bp2_yearly.6000.b.failure
left_icon = root
right_icon = scope:hosted_child
progress_towards_rival_effect = {
CHARACTER = scope:hosted_child
OPINION = -30
REASON = rival_enforced_cultural_norms
}
}
}
}
}
#bureaucratic education
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_bureaucratic
}
}
duel = {
skills = { martial stewardship }
value = decent_skill_rating
55 = { #It works well
desc = bp2_yearly.6000.b.success
compare_modifier = {
value = scope:duel_value
multiplier = 2
min = -54
}
modifier = {
culture = {
OR = {
has_cultural_parameter = harder_to_hybridize
has_cultural_parameter = dislikes_marrying_outside_of_culture
}
}
add = 20
}
modifier = {
culture = {
OR = {
has_cultural_parameter = life_is_a_joke_trait_same_culture_opinion
has_cultural_parameter = cheaper_to_hybridize
}
}
add = -20
}
send_interface_toast = {
title = bp2_yearly.6000.b.success
left_icon = root
right_icon = scope:hosted_child
scope:hosted_child = {
add_martial_skill = 1
add_stewardship_skill = 1
add_learning_skill = -1
}
if = {
limit = { has_lifestyle = martial_lifestyle }
add_martial_lifestyle_xp = medium_lifestyle_xp
}
else_if = {
limit = { has_lifestyle = stewardship_lifestyle }
add_stewardship_lifestyle_xp = medium_lifestyle_xp
}
else_if = {
limit = { has_royal_court = yes has_dlc_feature = royal_court }
change_current_court_grandeur = medium_court_grandeur_gain
}
else = {
add_prestige = medium_prestige_gain
}
}
}
45 = { #It doesn't go well
desc = bp2_yearly.6000.b.failure
compare_modifier = {
value = scope:duel_value
multiplier = -2
min = -44
}
send_interface_toast = {
title = bp2_yearly.6000.b.failure
left_icon = root
right_icon = scope:hosted_child
progress_towards_rival_effect = {
CHARACTER = scope:hosted_child
OPINION = -30
REASON = rival_enforced_cultural_norms
}
}
}
}
}
#communal education
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_communal
}
}
duel = {
skills = { stewardship intrigue }
value = decent_skill_rating
55 = { #It works well
desc = bp2_yearly.6000.b.success
compare_modifier = {
value = scope:duel_value
multiplier = 2
min = -54
}
modifier = {
culture = {
OR = {
has_cultural_parameter = harder_to_hybridize
has_cultural_parameter = dislikes_marrying_outside_of_culture
}
}
add = 20
}
modifier = {
culture = {
OR = {
has_cultural_parameter = life_is_a_joke_trait_same_culture_opinion
has_cultural_parameter = cheaper_to_hybridize
}
}
add = -20
}
send_interface_toast = {
title = bp2_yearly.6000.b.success
left_icon = root
right_icon = scope:hosted_child
scope:hosted_child = {
add_intrigue_skill = 1
add_stewardship_skill = 1
add_prowess_skill = -2
}
if = {
limit = { has_lifestyle = intrigue_lifestyle }
add_intrigue_lifestyle_xp = medium_lifestyle_xp
}
else_if = {
limit = { has_lifestyle = stewardship_lifestyle }
add_stewardship_lifestyle_xp = medium_lifestyle_xp
}
else_if = {
limit = { has_royal_court = yes has_dlc_feature = royal_court }
change_current_court_grandeur = medium_court_grandeur_gain
}
else = {
add_prestige = medium_prestige_gain
}
}
}
45 = { #It doesn't go well
desc = bp2_yearly.6000.b.failure
compare_modifier = {
value = scope:duel_value
multiplier = -2
min = -44
}
send_interface_toast = {
title = bp2_yearly.6000.b.failure
left_icon = root
right_icon = scope:hosted_child
progress_towards_rival_effect = {
CHARACTER = scope:hosted_child
OPINION = -30
REASON = rival_enforced_cultural_norms
}
}
}
}
}
#courtly education
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_courtly
}
}
duel = {
skills = { diplomacy learning }
value = decent_skill_rating
55 = { #It works well
desc = bp2_yearly.6000.b.success
compare_modifier = {
value = scope:duel_value
multiplier = 2
min = -54
}
modifier = {
culture = {
OR = {
has_cultural_parameter = harder_to_hybridize
has_cultural_parameter = dislikes_marrying_outside_of_culture
}
}
add = 20
}
modifier = {
culture = {
OR = {
has_cultural_parameter = life_is_a_joke_trait_same_culture_opinion
has_cultural_parameter = cheaper_to_hybridize
}
}
add = -20
}
send_interface_toast = {
title = bp2_yearly.6000.b.success
left_icon = root
right_icon = scope:hosted_child
scope:hosted_child = {
add_diplomacy_skill = 1
add_learning_skill = 1
add_stewardship_skill = -1
}
if = {
limit = { has_lifestyle = diplomacy_lifestyle }
add_diplomacy_lifestyle_xp = medium_lifestyle_xp
}
else_if = {
limit = { has_lifestyle = learning_lifestyle }
add_learning_lifestyle_xp = medium_lifestyle_xp
}
else_if = {
limit = { has_royal_court = yes has_dlc_feature = royal_court }
change_current_court_grandeur = medium_court_grandeur_gain
}
else = {
add_prestige = medium_prestige_gain
}
}
}
45 = { #It doesn't go well
desc = bp2_yearly.6000.b.failure
compare_modifier = {
value = scope:duel_value
multiplier = -2
min = -44
}
send_interface_toast = {
title = bp2_yearly.6000.b.failure
left_icon = root
right_icon = scope:hosted_child
progress_towards_rival_effect = {
CHARACTER = scope:hosted_child
OPINION = -30
REASON = rival_enforced_cultural_norms
}
}
}
}
}
#egalitarian education
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_egalitarian
}
}
duel = {
skills = { diplomacy stewardship }
value = decent_skill_rating
55 = { #It works well
desc = bp2_yearly.6000.b.success
compare_modifier = {
value = scope:duel_value
multiplier = 2
min = -54
}
modifier = {
culture = {
OR = {
has_cultural_parameter = harder_to_hybridize
has_cultural_parameter = dislikes_marrying_outside_of_culture
}
}
add = 20
}
modifier = {
culture = {
OR = {
has_cultural_parameter = life_is_a_joke_trait_same_culture_opinion
has_cultural_parameter = cheaper_to_hybridize
}
}
add = -20
}
send_interface_toast = {
title = bp2_yearly.6000.b.success
left_icon = root
right_icon = scope:hosted_child
scope:hosted_child = {
add_diplomacy_skill = 1
add_stewardship_skill = 1
add_martial_skill = -1
}
if = {
limit = { has_lifestyle = diplomacy_lifestyle }
add_diplomacy_lifestyle_xp = medium_lifestyle_xp
}
else_if = {
limit = { has_lifestyle = stewardship_lifestyle }
add_stewardship_lifestyle_xp = medium_lifestyle_xp
}
else_if = {
limit = { has_royal_court = yes has_dlc_feature = royal_court }
change_current_court_grandeur = medium_court_grandeur_gain
}
else = {
add_prestige = medium_prestige_gain
}
}
}
45 = { #It doesn't go well
desc = bp2_yearly.6000.b.failure
compare_modifier = {
value = scope:duel_value
multiplier = -2
min = -44
}
send_interface_toast = {
title = bp2_yearly.6000.b.failure
left_icon = root
right_icon = scope:hosted_child
progress_towards_rival_effect = {
CHARACTER = scope:hosted_child
OPINION = -30
REASON = rival_enforced_cultural_norms
}
}
}
}
}
#spiritual education
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_spiritual
}
}
duel = {
skills = { learning stewardship }
value = decent_skill_rating
55 = { #It works well
desc = bp2_yearly.6000.b.success
compare_modifier = {
value = scope:duel_value
multiplier = 2
min = -54
}
modifier = {
culture = {
OR = {
has_cultural_parameter = harder_to_hybridize
has_cultural_parameter = dislikes_marrying_outside_of_culture
}
}
add = 20
}
modifier = {
culture = {
OR = {
has_cultural_parameter = life_is_a_joke_trait_same_culture_opinion
has_cultural_parameter = cheaper_to_hybridize
}
}
add = -20
}
send_interface_toast = {
title = bp2_yearly.6000.b.success
left_icon = root
right_icon = scope:hosted_child
scope:hosted_child = {
add_learning_skill = 1
add_stewardship_skill = 1
add_stress = medium_stress_impact_gain
}
if = {
limit = { has_lifestyle = learning_lifestyle }
add_learning_lifestyle_xp = medium_lifestyle_xp
}
else_if = {
limit = { has_lifestyle = stewardship_lifestyle }
add_stewardship_lifestyle_xp = medium_lifestyle_xp
}
else_if = {
limit = { has_royal_court = yes has_dlc_feature = royal_court }
change_current_court_grandeur = medium_court_grandeur_gain
}
else = {
add_prestige = medium_prestige_gain
}
}
}
45 = { #It doesn't go well
desc = bp2_yearly.6000.b.failure
compare_modifier = {
value = scope:duel_value
multiplier = -2
min = -44
}
send_interface_toast = {
title = bp2_yearly.6000.b.failure
left_icon = root
right_icon = scope:hosted_child
progress_towards_rival_effect = {
CHARACTER = scope:hosted_child
OPINION = -30
REASON = rival_enforced_cultural_norms
}
}
}
}
}
#stoic education
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_stoic
}
}
duel = {
skills = { diplomacy martial }
value = decent_skill_rating
55 = { #It works well
desc = bp2_yearly.6000.b.success
compare_modifier = {
value = scope:duel_value
multiplier = 2
min = -54
}
modifier = {
culture = {
OR = {
has_cultural_parameter = harder_to_hybridize
has_cultural_parameter = dislikes_marrying_outside_of_culture
}
}
add = 20
}
modifier = {
culture = {
OR = {
has_cultural_parameter = life_is_a_joke_trait_same_culture_opinion
has_cultural_parameter = cheaper_to_hybridize
}
}
add = -20
}
send_interface_toast = {
title = bp2_yearly.6000.b.success
left_icon = root
right_icon = scope:hosted_child
scope:hosted_child = {
add_diplomacy_skill = 1
add_martial_skill = 1
add_intrigue_skill = -1
}
if = {
limit = { has_lifestyle = diplomacy_lifestyle }
add_diplomacy_lifestyle_xp = medium_lifestyle_xp
}
else_if = {
limit = { has_lifestyle = martial_lifestyle }
add_martial_lifestyle_xp = medium_lifestyle_xp
}
else_if = {
limit = { has_royal_court = yes has_dlc_feature = royal_court }
change_current_court_grandeur = medium_court_grandeur_gain
}
else = {
add_prestige = medium_prestige_gain
}
}
}
45 = { #It doesn't go well
desc = bp2_yearly.6000.b.failure
compare_modifier = {
value = scope:duel_value
multiplier = -2
min = -44
}
send_interface_toast = {
title = bp2_yearly.6000.b.failure
left_icon = root
right_icon = scope:hosted_child
progress_towards_rival_effect = {
CHARACTER = scope:hosted_child
OPINION = -30
REASON = rival_enforced_cultural_norms
}
}
}
}
}
if = {
limit = {
culture = {
has_cultural_pillar = ethos_bellicose
}
}
stress_impact = {
eccentric = medium_stress_impact_gain
craven = minor_stress_impact_gain
humble = minor_stress_impact_gain
content = minor_stress_impact_gain
forgiving = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_bureaucratic
}
}
stress_impact = {
eccentric = medium_stress_impact_gain
arbitrary = minor_stress_impact_gain
fickle = minor_stress_impact_gain
impatient = minor_stress_impact_gain
lazy = minor_stress_impact_gain
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_communal
}
}
stress_impact = {
eccentric = medium_stress_impact_gain
forgiving = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
fickle = minor_stress_impact_gain
ambitious = minor_stress_impact_gain
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_courtly
}
}
stress_impact = {
eccentric = medium_stress_impact_gain
shy = medium_stress_impact_gain
wrathful = minor_stress_impact_gain
stubborn = minor_stress_impact_gain
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_egalitarian
}
}
stress_impact = {
eccentric = medium_stress_impact_gain
sadistic = minor_stress_impact_gain
callous = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
zealous = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_spiritual
}
}
stress_impact = {
eccentric = medium_stress_impact_gain
cynical = medium_stress_impact_gain
impatient = minor_stress_impact_gain
fickle = minor_stress_impact_gain
arbitrary = minor_stress_impact_gain
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_stoic
}
}
stress_impact = {
eccentric = medium_stress_impact_gain
callous = minor_stress_impact_gain
fickle = minor_stress_impact_gain
craven = minor_stress_impact_gain
arbitrary = minor_stress_impact_gain
ambitious = minor_stress_impact_gain
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = 1
ai_zeal = 1
}
modifier = {
add = -50
OR = {
AND = {
culture = {
has_cultural_pillar = ethos_bellicose
}
OR = {
martial < 9
intrigue < 9
}
}
AND = {
culture = {
has_cultural_pillar = ethos_bureaucratic
}
OR = {
stewardship < 9
martial < 9
}
}
AND = {
culture = {
has_cultural_pillar = ethos_communal
}
OR = {
stewardship < 9
intrigue < 9
}
}
AND = {
culture = {
has_cultural_pillar = ethos_courtly
}
OR = {
diplomacy < 9
learning < 9
}
}
AND = {
culture = {
has_cultural_pillar = ethos_egalitarian
}
OR = {
diplomacy < 9
stewardship < 9
}
}
AND = {
culture = {
has_cultural_pillar = ethos_spiritual
}
OR = {
learning < 9
stewardship < 9
}
}
AND = {
culture = {
has_cultural_pillar = ethos_stoic
}
OR = {
martial < 9
diplomacy < 9
}
}
}
}
modifier = {
factor = 0
OR = {
has_trait = eccentric
AND = {
culture = {
has_cultural_pillar = ethos_bellicose
}
OR = {
has_trait = craven
has_trait = humble
has_trait = content
martial < 6
intrigue < 6
}
}
AND = {
culture = {
has_cultural_pillar = ethos_bureaucratic
}
OR = {
has_trait = arbitrary
has_trait = fickle
has_trait = impatient
stewardship < 6
martial < 6
}
}
AND = {
culture = {
has_cultural_pillar = ethos_communal
}
OR = {
has_trait = forgiving
has_trait = arrogant
has_trait = fickle
stewardship < 6
intrigue < 6
}
}
AND = {
culture = {
has_cultural_pillar = ethos_courtly
}
OR = {
has_trait = shy
has_trait = wrathful
diplomacy < 6
learning < 6
}
}
AND = {
culture = {
has_cultural_pillar = ethos_egalitarian
}
OR = {
has_trait = sadistic
has_trait = callous
has_trait = paranoid
diplomacy < 6
stewardship < 6
}
}
AND = {
culture = {
has_cultural_pillar = ethos_spiritual
}
OR = {
has_trait = cynical
has_trait = impatient
learning < 6
stewardship < 6
}
}
AND = {
culture = {
has_cultural_pillar = ethos_stoic
}
OR = {
has_trait = callous
has_trait = fickle
has_trait = craven
martial < 6
diplomacy < 6
}
}
}
}
}
}
# IDGAF about being Italian my man
option = {
name = bp2_yearly.6000.c
progress_towards_friend_effect = {
CHARACTER = scope:hosted_child
OPINION = 20
REASON = friend_mutual_disinterest_in_tradition
}
scope:tutor = {
add_opinion = {
target = root
modifier = angry_opinion
opinion = -20
}
}
if = {
limit = {
culture = {
has_cultural_pillar = ethos_bellicose
}
}
stress_impact = {
eccentric = miniscule_stress_impact_loss
loyal = medium_stress_impact_gain
arrogant = minor_stress_impact_gain
ambitious = medium_stress_impact_gain
vengeful = minor_stress_impact_gain
sadistic = minor_stress_impact_gain
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_bureaucratic
}
}
stress_impact = {
eccentric = miniscule_stress_impact_loss
loyal = medium_stress_impact_gain
just = medium_stress_impact_gain
patient = minor_stress_impact_gain
diligent = medium_stress_impact_gain
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_communal
}
}
stress_impact = {
eccentric = miniscule_stress_impact_loss
loyal = major_stress_impact_gain
vengeful = medium_stress_impact_gain
humble = minor_stress_impact_gain
just = minor_stress_impact_gain
trusting = minor_stress_impact_gain
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_courtly
}
}
stress_impact = {
eccentric = miniscule_stress_impact_loss
loyal = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
arrogant = minor_stress_impact_gain
patient = minor_stress_impact_gain
diligent = minor_stress_impact_gain
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_egalitarian
}
}
stress_impact = {
eccentric = miniscule_stress_impact_loss
loyal = medium_stress_impact_gain
compassionate = minor_stress_impact_gain
trusting = medium_stress_impact_gain
generous = minor_stress_impact_gain
humble = minor_stress_impact_gain
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_spiritual
}
}
stress_impact = {
eccentric = miniscule_stress_impact_loss
zealous = medium_stress_impact_gain
loyal = medium_stress_impact_gain
patient = minor_stress_impact_gain
just = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_stoic
}
}
stress_impact = {
eccentric = miniscule_stress_impact_loss
loyal = medium_stress_impact_gain
compassionate = minor_stress_impact_gain
brave = minor_stress_impact_gain
just = medium_stress_impact_gain
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_sociability = -1
ai_energy = -1
}
modifier = {
factor = 0
OR = {
has_trait = loyal
AND = {
culture = {
has_cultural_pillar = ethos_bellicose
}
OR = {
has_trait = arrogant
has_trait = ambitious
}
}
AND = {
culture = {
has_cultural_pillar = ethos_bureaucratic
}
OR = {
has_trait = just
has_trait = diligent
}
}
AND = {
culture = {
has_cultural_pillar = ethos_communal
}
OR = {
has_trait = vengeful
has_trait = humble
}
}
AND = {
culture = {
has_cultural_pillar = ethos_courtly
}
has_trait = gregarious
}
AND = {
culture = {
has_cultural_pillar = ethos_egalitarian
}
OR = {
has_trait = compassionate
has_trait = trusting
}
}
AND = {
culture = {
has_cultural_pillar = ethos_spiritual
}
OR = {
has_trait = zealous
has_trait = patient
}
}
AND = {
culture = {
has_cultural_pillar = ethos_stoic
}
OR = {
has_trait = brave
has_trait = just
}
}
}
}
}
}
}
bp2_yearly.6001 = {
type = letter_event
opening = bp2_yearly.6001.opening
desc = {
desc = bp2_yearly.6001.desc
first_valid = {
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_bellicose
}
}
desc = bp2_yearly.6001.desc.insult.bellicose
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_bureaucratic
}
}
desc = bp2_yearly.6001.desc.insult_bureaucratic
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_communal
}
}
desc = bp2_yearly.6001.desc.insult.communal
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_courtly
}
}
desc = bp2_yearly.6001.desc.insult.courtly
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_egalitarian
}
}
desc = bp2_yearly.6001.desc.insult.egalitarian
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_spiritual
}
}
desc = bp2_yearly.6001.desc.insult.spiritual
}
triggered_desc = {
trigger = {
culture = {
has_cultural_pillar = ethos_stoic
}
}
desc = bp2_yearly.6001.desc.insult.stoic
}
}
desc = bp2_yearly.6001.desc.outro
}
sender = scope:childs_host
option = {
name = bp2_yearly.6001.a
flavor = bp2_yearly.6001.a.tt
add_character_modifier = {
modifier = enforcing_cultural_values_modifier
years = 10
}
stress_impact = {
base = minor_stress_impact_gain
arrogant = major_stress_impact_gain
wrathful = medium_stress_impact_gain
vengeful = major_stress_impact_gain
stubborn = medium_stress_impact_gain
calm = minor_stress_impact_gain
content = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_vengefulness = -1
ai_rationality = 1
}
modifier = {
factor = 0
OR = {
has_trait = arrogant
has_trait = wrathful
has_trait = vengeful
has_trait = stubborn
}
}
}
}
option = {
name = bp2_yearly.6001.b
flavor = bp2_yearly.6001.b.tt
if = {
limit = {
culture = {
has_cultural_pillar = ethos_bellicose
}
}
add_character_modifier = {
modifier = rejecting_bellicose_ways_modifier
years = 10
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_bureaucratic
}
}
add_character_modifier = {
modifier = rejecting_bureaucratic_ways_modifier
years = 10
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_communal
}
}
add_character_modifier = {
modifier = rejecting_communal_ways_modifier
years = 10
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_courtly
}
}
add_character_modifier = {
modifier = rejecting_courtly_ways_modifier
years = 10
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_egalitarian
}
}
add_character_modifier = {
modifier = rejecting_egalitarian_ways_modifier
years = 10
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_spiritual
}
}
add_character_modifier = {
modifier = rejecting_spiritual_ways_modifier
years = 10
}
}
else_if = {
limit = {
culture = {
has_cultural_pillar = ethos_stoic
}
}
add_character_modifier = {
modifier = rejecting_stoic_ways_modifier
years = 10
}
}
stress_impact = {
paranoid = medium_stress_impact_gain
humble = medium_stress_impact_gain
trusting = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_vengefulness = 1
}
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = humble
}
}
}
}
}
#####################################
# No Man Imprisoned #
# by Jason Cantalini #
# 6010 #
#####################################
scripted_trigger 6010_eligible_hostage_trigger = {
home_court ?= {
is_ai = yes
}
is_hostage = yes
opinion = {
target = root
value <= 0
}
age > 9
NOR = {
is_in_prison_type = dungeon
has_trait = shy
has_trait = content
has_trait = humble
}
}
scripted_trigger 6010_eligible_foreign_ward_trigger = {
liege ?= {
is_ai = yes
NOT = { this = root }
}
has_relation_ward = root
opinion = {
target = root
value <= 0
}
age > 9
NOR = {
is_in_prison_type = dungeon
is_close_family_of = root
has_trait = shy
has_trait = humble
has_trait = content
}
}
bp2_yearly.6010 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6010.t
override_background = {
reference = garden
}
desc = {
desc = bp2_yearly.6010.desc
first_valid = {
triggered_desc = {
trigger = {
scope:sad_boi = {
is_adult = yes
}
}
desc = bp2_yearly.6010.adult
}
triggered_desc = {
trigger = {
scope:sad_boi = {
is_adult = no
}
}
desc = bp2_yearly.6010.child
}
}
desc = bp2_yearly.6010.outro
}
theme = hostage
left_portrait = {
character = root
triggered_animation = {
trigger = {
OR = {
has_trait = greedy
has_trait = avaricious
has_trait = deceitful
has_trait = callous
has_trait = sadistic
has_trait = schemer
has_trait = vengeful
}
NOR = {
has_trait = compassionate
has_trait = generous
has_trait = improvident
}
}
animation = stunned
}
triggered_animation = {
trigger = {
OR = {
has_trait = compassionate
has_trait = generous
has_trait = improvident
}
}
animation = personality_content
}
camera = camera_event_very_left
}
right_portrait = {
character = scope:sad_boi
override_imprisonment_visuals = yes
animation = crying
}
cooldown = { years = 10 }
trigger = {
has_bp2_dlc_trigger = yes
#Standard checks
is_available_adult = yes
#Do you have a hostage or ward from another court?
OR = {
any_warden_hostage = { 6010_eligible_hostage_trigger = yes }
any_foreign_court_guest = { 6010_eligible_foreign_ward_trigger = yes }
}
}
immediate = {
play_music_cue = mx_cue_seduction
if = {
limit = {
any_warden_hostage = { 6010_eligible_hostage_trigger = yes }
}
random_warden_hostage = {
limit = { 6010_eligible_hostage_trigger = yes }
save_scope_as = sad_boi
add_character_flag = sad_hostage
home_court = {
save_scope_as = home_court_liege
}
}
}
else = {
random_foreign_court_guest = {
limit = { 6010_eligible_foreign_ward_trigger = yes }
save_scope_as = sad_boi
add_character_flag = sad_ward
liege = {
save_scope_as = home_court_liege
}
}
}
}
# help him get money sent... and take it yourself
option = {
trigger = {
OR = {
has_trait = greedy
has_trait = avaricious
has_trait = deceitful
has_trait = callous
has_trait = sadistic
has_trait = schemer
has_trait = vengeful
}
NOR = {
has_trait = compassionate
has_trait = generous
has_trait = improvident
}
scope:home_court_liege = {
can_make_expensive_purchase_trigger = {
PRICE = scope:home_court_liege.medium_gold_value
}
is_ai = yes
}
}
name = bp2_yearly.6010.a
flavor = bp2_yearly.6010.a.tt
scope:home_court_liege = {
pay_short_term_gold = {
target = root
gold = medium_gold_value
}
add_opinion = {
target = root
opinion = -25
modifier = angry_opinion
}
}
progress_towards_rival_effect = {
REASON = rival_stole_gifts_from_hostage
CHARACTER = scope:sad_boi
OPINION = -40
}
random = {
chance = 50
scope:sad_boi = {
add_trait = depressed_1
}
}
if = {
limit = {
scope:sad_boi = {
is_adult = no
}
}
scope:sad_boi = {
create_character_memory = {
type = host_stole_aid
participants = {
court_owner = root
}
}
}
}
stress_impact = {
greedy = minor_stress_impact_loss
honest = major_stress_impact_gain
just = medium_stress_impact_gain
forgiving = minor_stress_impact_gain
loyal = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = 1
ai_honor = -1
ai_vengefulness = 1
}
modifier = {
factor = 0
OR = {
has_trait = greedy
has_trait = honest
has_trait = forgiving
has_trait = just
has_trait = loyal
}
}
}
}
# awww what can I do to make this life better for you???
option = {
trigger = {
OR = {
has_trait = compassionate
has_trait = generous
has_trait = improvident
}
}
name = bp2_yearly.6010.b
flavor = bp2_yearly.6010.b.tt
progress_towards_friend_effect = {
REASON = friend_provided_for_hostage
CHARACTER = scope:sad_boi
OPINION = 60
}
remove_short_term_gold = minor_gold_value
if = {
limit = {
has_royal_court = yes
has_dlc_feature = royal_court
}
change_current_court_grandeur = medium_court_grandeur_gain
}
else = {
every_courtier = {
custom = custom.every_courtier
add_opinion = {
target = root
modifier = admiration_opinion
opinion = 10
}
}
}
if = {
limit = {
scope:sad_boi = {
is_adult = no
}
}
scope:sad_boi = {
create_character_memory = {
type = cared_for_by_host
participants = {
court_owner = root
}
}
}
}
#miiight still become a poet
random = {
chance = {
value = 20
if = {
limit = {
scope:sad_boi = { is_adult = yes }
}
add = 20
}
if = {
limit = {
scope:sad_boi = { diplomacy > medium_skill_rating }
}
add = 40
}
if = {
limit = {
scope:sad_boi = { has_focus = education_diplomacy }
}
add = 30
}
}
scope:sad_boi = {
add_trait = lifestyle_poet
}
}
#fix depression if he has it
if = {
limit = {
scope:sad_boi = {
has_trait = depressed_1
}
}
random = {
chance = 20
scope:sad_boi = {
remove_trait = depressed_1
}
}
}
stress_impact = {
improvident = minor_stress_impact_loss
sadistic = medium_stress_impact_gain
callous = medium_stress_impact_gain
vengeful = medium_stress_impact_gain
greedy = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
just = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = 1
ai_greed = -1
}
modifier = {
factor = 0
OR = {
has_trait = sadistic
has_trait = callous
has_trait = vengeful
has_trait = greedy
has_trait = arrogant
has_trait = just
}
}
}
}
# the sad boi should face hardships with some dang dignity and strength
option = {
name = bp2_yearly.6010.c
flavor = bp2_yearly.6010.c.tt
duel = {
skills = { learning diplomacy }
value = mediocre_skill_rating
70 = { #It works well
desc = bp2_yearly.6010.c.success
compare_modifier = {
value = scope:duel_value
multiplier = 2
}
modifier = {
scope:sad_boi = {
OR = {
has_trait = just
has_trait = pensive
has_trait = forgiving
has_trait = trusting
has_trait = loyal
}
}
add = 30
}
send_interface_toast = {
title = bp2_yearly.6010.c.success
left_icon = root
right_icon = scope:sad_boi
scope:sad_boi = {
add_opinion = {
target = root
opinion = 25
modifier = impressed_opinion
}
}
if = {
limit = {
scope:sad_boi = {
is_adult = no
}
}
custom_tooltip = bp2_yearly.6010.c.tt_education
hidden_effect = {
education_point_acquisition_effect = yes
}
}
else = {
scope:sad_boi = {
add_trait = loyal
}
}
stress_impact = {
base = minor_stress_impact_loss
}
}
}
30 = { #It doesn't go well
desc = bp2_yearly.6010.c.failure
compare_modifier = {
value = scope:duel_value
multiplier = -2
}
modifier = {
scope:sad_boi = {
OR = {
has_trait = arbitrary
has_trait = bossy
has_trait = arrogant
has_trait = cynical
has_trait = stubborn
has_trait = disloyal
}
}
add = 30
}
send_interface_toast = {
title = bp2_yearly.6010.c.failure
left_icon = root
right_icon = scope:sad_boi
scope:sad_boi = {
add_opinion = {
target = root
opinion = -25
modifier = angry_opinion
}
}
scope:sad_boi = {
add_stress = minor_stress_impact_gain
}
scope:sad_boi = {
add_trait = depressed_1
}
}
}
}
stress_impact = {
lazy = medium_stress_impact_gain
humble = minor_stress_impact_gain
depressed_genetic = minor_stress_impact_gain
depressed_1 = minor_stress_impact_gain
arbitrary = miniscule_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 1
ai_honor = 1
ai_energy = 1
}
modifier = {
factor = 0
OR = {
has_trait = lazy
has_trait = humble
has_trait = depressed_genetic
has_trait = depressed_1
diplomacy < 4
learning < 4
AND = {
diplomacy < 8
learning < 8
}
AND = {
diplomacy < 4
learning < 14
}
AND = {
diplomacy < 4
learning < 14
}
}
}
}
}
# This is... surprisingly lovely
option = {
name = bp2_yearly.6010.d
flavor = bp2_yearly.6010.d.tt
scope:sad_boi = {
add_opinion = {
target = root
opinion = 40
modifier = grateful_opinion
}
}
scope:home_court_liege = {
add_opinion = {
target = root
opinion = -10
modifier = annoyed_opinion
}
}
if = {
limit = {
scope:home_court_liege = {
can_make_expensive_purchase_trigger = {
PRICE = scope:home_court_liege.minor_gold_value
}
is_ai = yes
}
}
scope:home_court_liege = {
pay_short_term_gold = {
target = scope:sad_boi
gold = minor_gold_value
}
}
}
if = {
limit = {
OR = {
scope:sad_boi = { diplomacy > medium_skill_rating }
scope:sad_boi = { has_focus = education_diplomacy }
}
}
scope:sad_boi = {
add_trait = lifestyle_poet
create_character_memory = {
type = became_homesick_poet
participants = {
court_owner = root
}
}
}
}
else = {
random = {
chance = {
value = 20
if = {
limit = {
scope:sad_boi = { is_adult = yes }
}
add = 30
}
}
scope:sad_boi = {
add_trait = lifestyle_poet
create_character_memory = {
type = became_homesick_poet
participants = {
court_owner = root
}
}
}
}
}
random = {
chance = 10
scope:sad_boi = {
add_trait = depressed_1
}
}
stress_impact = {
lifestyle_poet = minor_stress_impact_loss
depressed_1 = minor_stress_impact_loss
depressed_genetic = minor_stress_impact_loss
vengeful = medium_stress_impact_gain
callous = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
paranoid = minor_stress_impact_gain
just = miniscule_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_sociability = 1
ai_compassion = 1
}
modifier = {
factor = 0
OR = {
has_trait = vengeful
has_trait = callous
has_trait = arrogant
has_trait = paranoid
}
}
}
}
after = {
if = {
limit = {
scope:sad_boi = {
has_character_flag = sad_hostage
}
}
}
scope:sad_boi = {
remove_character_flag = sad_hostage
}
if = {
limit = {
scope:sad_boi = {
has_character_flag = sad_ward
}
}
}
scope:sad_boi = {
remove_character_flag = sad_ward
}
}
}
#####################################
# Children Say Such Funny Things #
# by Jason Cantalini #
# 60020 #
#####################################
scripted_trigger bp2_yearly_6020_snitch = {
age > 4
age < root.age
is_adult = no
NOR = {
has_trait = loyal
has_trait = paranoid
has_trait = shrewd
has_trait = shy
}
opinion = {
target = root
value > -50
}
home_court ?= {
OR = {
has_any_secrets = yes
any_courtier = {
is_close_family_of = liege
has_any_secrets = yes
}
any_spouse = {
has_any_secrets = yes
}
}
}
}
bp2_yearly.6020 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6020.t
override_background = {
reference = garden
}
desc = {
desc = bp2_yearly.6020.desc
first_valid = {
triggered_desc = {
trigger = {
scope:snitch = {
age <= 10
}
}
desc = bp2_yearly.6020.child
}
desc = bp2_yearly.6020.youth
}
first_valid = {
triggered_desc = {
trigger = {
scope:snitch.home_court = {
is_close_family_of = scope:snitch
}
}
desc = bp2_yearly.6020.family
}
desc = bp2_yearly.6020.liege
}
}
theme = hostage
left_portrait = {
character = root
triggered_animation = {
trigger = {
OR = {
has_trait = arbitrary
has_trait = callous
has_trait = deceitful
has_trait = sadistic
has_trait = torturer
has_trait = schemer
has_trait = vengeful
}
}
animation = scheme
}
triggered_animation = {
trigger = {
NOR = {
has_trait = arbitrary
has_trait = callous
has_trait = deceitful
has_trait = sadistic
has_trait = torturer
has_trait = schemer
has_trait = vengeful
}
}
animation = throne_room_conversation_4
}
}
right_portrait = {
character = scope:snitch
animation = happiness
}
lower_right_portrait = {
character = scope:snitch.home_court
}
cooldown = { years = 10 }
trigger = {
has_bp2_dlc_trigger = yes
#Standard checks
is_available = yes
age > 10
#Do you have a hostage from another court?
any_warden_hostage = {
bp2_yearly_6020_snitch = yes
}
}
immediate = {
random_warden_hostage = {
limit = {
bp2_yearly_6020_snitch = yes
}
save_scope_as = snitch
}
random_list = {
10 = {
trigger = {
scope:snitch.home_court = {
has_any_secrets = yes
}
}
scope:snitch.home_court = {
save_scope_as = no_no_doer
}
}
10 = {
trigger = {
scope:snitch.home_court = {
any_close_family_member = {
has_any_secrets = yes
is_courtier_of = scope:snitch.home_court
}
}
}
scope:snitch.home_court = {
random_close_family_member = {
limit = {
has_any_secrets = yes
is_courtier_of = scope:snitch.home_court
}
save_scope_as = no_no_doer
}
}
}
10 = {
trigger = {
scope:snitch.home_court = {
any_spouse = {
has_any_secrets = yes
}
}
}
scope:snitch.home_court = {
random_spouse = {
limit = {
has_any_secrets = yes
}
save_scope_as = no_no_doer
}
}
}
}
}
# I MUST KNOW
option = {
name = bp2_yearly.6020.a
if = {
limit = {
has_character_modifier = honorable_warden_modifier
}
add_tyranny = medium_tyranny_gain
}
if = {
limit = {
scope:snitch = {
opinion = {
target = root
value > 90
}
}
}
show_as_tooltip = {
if = {
limit = {
scope:no_no_doer = {
is_close_family_of = scope:snitch
}
}
custom_tooltip = bp2_yearly.6020.a.secret
}
else = {
custom_tooltip = bp2_yearly.6020.a.non_family_secret
}
scope:snitch = {
add_intrigue_skill = 1
}
}
hidden_effect = {
send_interface_toast = {
title = bp2_yearly.6020.a.success
left_icon = root
right_icon = scope:snitch
scope:no_no_doer = {
random_secret = {
reveal_to = root
}
}
scope:snitch = {
add_intrigue_skill = 1
}
}
}
}
else = {
duel = {
skill = intrigue
value = medium_skill_rating
55 = { #You learn a juicy secret
desc = bp2_yearly.6020.a.success
compare_modifier = {
value = scope:duel_value
multiplier = 2
}
modifier = {
scope:snitch = {
opinion = {
target = root
value >= 50
}
}
add = 35
}
modifier = {
scope:snitch = {
opinion = {
target = root
value >= 0
}
}
add = 35
}
show_as_tooltip = {
if = {
limit = {
scope:no_no_doer = {
is_close_family_of = scope:snitch
}
}
custom_tooltip = bp2_yearly.6020.a.secret
}
else = {
custom_tooltip = bp2_yearly.6020.a.non_family_secret
}
}
hidden_effect = {
send_interface_toast = {
title = bp2_yearly.6020.a.success
left_icon = root
right_icon = scope:snitch
hidden_effect = {
scope:no_no_doer = {
random_secret = {
reveal_to = root
}
}
}
scope:snitch = {
add_intrigue_skill = 1
}
}
}
}
45 = { #The "secret" is just foolish kid stuff
desc = bp2_yearly.6020.a.failure
compare_modifier = {
value = scope:duel_value
multiplier = -2
}
modifier = {
scope:snitch = {
opinion = {
target = root
value <= -30
}
}
add = 35
}
modifier = {
scope:snitch = {
opinion = {
target = root
value < 0
}
}
add = 35
}
send_interface_toast = {
title = bp2_yearly.6020.a.failure
left_icon = root
right_icon = scope:snitch
custom_tooltip = bp2_yearly.6020.a.no_secret
if = {
limit = {
scope:snitch = {
age > 6
NOR = {
has_trait = loyal
has_trait = honest
has_trait = just
has_trait = compassionate
has_trait = trusting
has_trait = generous
has_trait = forgiving
has_trait = content
has_trait = humble
}
}
}
scope:snitch = {
add_trait = disloyal
}
}
}
}
}
}
stress_impact = {
just = minor_stress_impact_gain
forgiving = miniscule_stress_impact_gain
honest = minor_stress_impact_gain
trusting = miniscule_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = -1
ai_vengefulness = 1
ai_sociability = 1
}
modifier = {
factor = 0
OR = {
has_trait = just
has_trait = honest
has_character_modifier = honorable_warden_modifier
}
}
}
}
# Teach the kid the value of discrection... might come in handy later
option = {
name = bp2_yearly.6020.b
flavor = bp2_yearly.6020.b.tt
custom_tooltip = bp2_yearly.6020.b.discretion
scope:snitch = {
create_character_memory = {
type = hostage_taught_discretion
participants = {
hostage_owner = root
}
}
}
if = {
limit = {
scope:snitch.faith = {
trait_is_virtue = honest
}
}
add_piety = miniscule_piety_gain
scope:snitch = {
add_piety = minor_piety_gain
}
}
if = {
limit = {
scope:snitch = {
NOR = {
has_trait = deceitful
has_trait = arbitrary
has_trait = sadistic
}
}
}
scope:snitch = {
add_opinion = {
target = root
modifier = respect_opinion
opinion = 10
}
}
}
if = {
limit = {
scope:snitch = {
age > 6
NOR = {
has_trait = disloyal
has_trait = deceitful
has_trait = arbitrary
has_trait = sadistic
has_trait = callous
has_trait = greedy
has_trait = vengeful
has_trait = ambitious
has_trait = arrogant
}
}
}
random = {
chance = 50
scope:snitch = {
add_trait = loyal
}
}
}
stress_impact = {
arbitrary = minor_stress_impact_gain
deceitful = minor_stress_impact_gain
ambitious = minor_stress_impact_gain
greedy = miniscule_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = 1
ai_vengefulness = -1
ai_sociability = -1
}
modifier = {
factor = 0
OR = {
has_trait = arbitrary
has_trait = deceitful
has_trait = ambitious
}
}
}
}
}
#####################################
# Eyes of the Family #
# by Jason Cantalini #
# 6030 #
#####################################
scripted_trigger bp2_yearly_6030_willing_snitch_trigger = {
opinion = {
target = scope:warden
value <= 50
}
OR = {
intrigue >= decent_skill_rating
has_trait = vengeful
has_trait = sadistic
has_trait = callous
has_trait = arbitrary
has_trait = disloyal
opinion = {
target = scope:warden
value <= -50
}
}
NOR = {
has_trait = loyal
any_memory = {
memory_type = hostage_taught_discretion
}
}
}
scripted_trigger bp2_yearly_6030_potential_snitch_trigger = {
is_available = yes
is_imprisoned = no
is_ai = yes
is_courtier_of = root
house = liege.house
age > 11
}
bp2_yearly.6030 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6030.t
override_background = {
reference = ep2_hunt_foggy_forest
}
desc = {
desc = bp2_yearly.6030.desc
first_valid = {
triggered_desc = {
trigger = {
scope:snitch = {
any_memory = {
memory_type = hostage_taught_discretion
}
}
}
desc = bp2_yearly.6030.hostage_reticent
}
triggered_desc = {
trigger = {
scope:snitch = {
NOT = {
any_memory = {
memory_type = hostage_taught_discretion
}
}
}
}
desc = bp2_yearly.6030.hostage_normal
}
}
}
theme = hostage
left_portrait = {
character = root
triggered_animation = {
trigger = {
ai_compassion <= low_negative_ai_value
}
animation = personality_cynical
}
triggered_animation = {
trigger = {
ai_compassion > low_negative_ai_value
}
animation = personality_rational
}
}
right_portrait = {
character = scope:snitch
triggered_animation = {
trigger = {
bp2_yearly_6030_willing_snitch_trigger = yes
}
animation = personality_callous
}
triggered_animation = {
trigger = {
bp2_yearly_6030_willing_snitch_trigger = no
}
animation = personality_coward
}
}
lower_right_portrait = {
character = scope:warden
}
cooldown = { years = 5 }
trigger = {
has_bp2_dlc_trigger = yes
exists = scope:warden
exists = scope:hostage
basic_is_valid_for_yearly_events_trigger = yes
NOR = {
has_trait = trusting
has_trait = honest
}
#Do you have a former hostage who just returned with a secret?
scope:hostage = {
bp2_yearly_6030_potential_snitch_trigger = yes
}
#Is their former warden still a living ruler?
scope:warden ?= {
is_alive = yes
is_landed_or_landless_administrative = yes
}
exists = scope:wardens_court_secret
}
immediate = {
scope:hostage = {
save_scope_as = snitch
}
}
# Use your cunning to draw a secret out
option = {
name = bp2_yearly.6030.a
if = {
limit = {
has_character_modifier = honorable_warden_modifier
}
add_tyranny = medium_tyranny_gain
}
duel = {
skill = intrigue
target = scope:snitch
55 = { #You MIGHT learn a juicy secret
desc = bp2_yearly.6030.a.success
compare_modifier = {
value = scope:duel_value
multiplier = 3
}
modifier = {
add = 20
scope:snitch = {
bp2_yearly_6030_willing_snitch_trigger = yes
}
}
show_as_tooltip = {
custom_tooltip = bp2_yearly.6030.maybe_secret
}
hidden_effect = {
send_interface_toast = {
title = bp2_yearly.6030.a.success
left_icon = root
right_icon = scope:snitch
if = {
limit = {
exists = scope:wardens_court_secret
}
scope:wardens_court_secret = {
reveal_to = root
}
}
else = {
custom_tooltip = bp2_yearly.6030.a.no_secret
}
}
}
}
45 = { #The hostage is cagy
desc = bp2_yearly.6030.a.failure
compare_modifier = {
value = scope:duel_value
multiplier = -3
}
modifier = {
add = 20
scope:snitch = {
bp2_yearly_6030_willing_snitch_trigger = no
}
}
modifier = {
factor = 4
scope:snitch = {
any_memory = {
memory_type = hostage_taught_discretion
}
}
}
send_interface_toast = {
title = bp2_yearly.6030.a.failure
left_icon = root
right_icon = scope:snitch
custom_tooltip = bp2_yearly.6030.a.evade
}
}
}
stress_impact = {
honest = medium_stress_impact_gain
just = medium_stress_impact_gain
generous = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = -1
ai_greed = 1
}
modifier = {
factor = 0
OR = {
has_trait = honest
has_trait = just
has_trait = generous
has_character_modifier = honorable_warden_modifier
}
}
}
}
# Offer generous reward in exchange for information
option = {
name = bp2_yearly.6030.b
flavor = bp2_yearly.6030.b.tt
if = {
limit = {
has_character_modifier = honorable_warden_modifier
}
add_tyranny = medium_tyranny_gain
}
pay_short_term_gold = {
target = scope:snitch
gold = tiny_gold_value
}
random_list = {
60 = {
show_as_tooltip = {
custom_tooltip = bp2_yearly.6030.maybe_secret
custom_tooltip = bp2_yearly.6030.b.rewarded
scope:snitch = {
add_intrigue_skill = 1
}
}
hidden_effect = {
send_interface_toast = {
title = bp2_yearly.6030.a.success
left_icon = root
right_icon = scope:snitch
if = {
limit = {
exists = scope:wardens_court_secret
}
scope:wardens_court_secret = {
reveal_to = root
}
}
else = {
custom_tooltip = bp2_yearly.6030.a.no_secret
}
}
scope:snitch = {
set_variable = {
name = family_schemer
value = root
years = 20
}
}
scope:snitch = {
add_intrigue_skill = 1
}
}
modifier = {
add = -30
scope:snitch = {
bp2_yearly_6030_willing_snitch_trigger = no
}
}
modifier = {
add = 25
scope:snitch = {
OR = {
has_trait = greedy
has_trait = arbitrary
}
}
}
modifier = {
factor = 0.1
scope:snitch = {
any_memory = {
memory_type = hostage_taught_discretion
}
}
}
}
40 = {
send_interface_toast = {
title = bp2_yearly.6030.b.failure
left_icon = root
right_icon = scope:snitch
custom_tooltip = bp2_yearly.6030.refuse_reward
}
modifier = {
add = -25
scope:snitch = {
opinion = {
target = root
value > 40
}
}
}
modifier = {
add = 25
scope:snitch = {
OR = {
has_trait = just
has_trait = content
}
}
}
}
}
stress_impact = {
greedy = medium_stress_impact_gain
fickle = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = -1
}
modifier = {
factor = 0
OR = {
has_trait = greedy
has_trait = fickle
has_character_modifier = honorable_warden_modifier
}
}
}
}
# Treat the hostage agreement with respect and don't pry
option = {
name = bp2_yearly.6030.c
flavor = bp2_yearly.6030.c.tt
add_character_modifier = {
modifier = honorable_warden_modifier
years = 20
}
#above modifier makes it more likely ai will offer and demand hostages from root, but root gets tyranny if they choose option a in future
custom_tooltip = bp2_yearly.6030.c.honor
custom_tooltip = bp2_yearly.6030.c.hostage_secrets
stress_impact = {
arbitrary = medium_stress_impact_gain
deceitful = medium_stress_impact_gain
greedy = minor_stress_impact_gain
ambitious = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = 1
}
modifier = {
factor = 0
OR = {
has_trait = arbitrary
has_trait = deceitful
has_trait = greedy
has_trait = ambitious
}
}
}
}
}
scripted_trigger bp2_yearly_6031_potential_snitch_trigger = {
is_ai = yes
is_courtier_of = scope:home_court
house = liege.house
age > 11
OR = {
intrigue >= mediocre_skill_rating
has_focus = education_intrigue
has_trait = disloyal
}
}
#Saves secrets for bp2_yearly.6030 (yes, they're out of order)
# by Jason Cantalini
bp2_yearly.6031 = {
hidden = yes
trigger = {
has_bp2_dlc_trigger = yes
exists = scope:home_court
OR = {
scope:warden ?= {
has_any_secrets = yes
}
scope:warden ?= {
any_close_family_member = {
has_any_secrets = yes
}
}
scope:warden ?= {
any_spouse = {
has_any_secrets = yes
}
}
}
scope:hostage = {
bp2_yearly_6031_potential_snitch_trigger = yes
}
}
immediate = {
random_list = {
10 = {
trigger = {
scope:warden ?= {
has_any_secrets = yes
}
}
scope:warden ?= {
random_secret = {
save_scope_as = wardens_court_secret
}
}
}
10 = {
trigger = {
scope:warden ?= {
any_close_family_member = {
has_any_secrets = yes
}
}
}
scope:warden ?= {
random_close_family_member = {
random_secret = {
save_scope_as = wardens_court_secret
}
}
}
}
10 = {
trigger = {
scope:warden ?= {
any_spouse = {
has_any_secrets = yes
}
}
}
scope:warden ?= {
random_spouse = {
random_secret = {
save_scope_as = wardens_court_secret
}
}
}
}
}
scope:home_court = {
trigger_event = {
id = bp2_yearly.6030
days = { 300 400 }
}
}
}
}
#####################################
# All We Are Not #
# by Jason Cantalini #
# 6040 #
#####################################
scripted_trigger bp2_yearly_6040_higher_cultural_era_trigger = {
OR = {
AND = {
NOT = {
root.culture = { has_cultural_era_or_later = culture_era_early_medieval }
}
has_cultural_era_or_later = culture_era_early_medieval
}
AND = {
NOT = {
root.culture = { has_cultural_era_or_later = culture_era_high_medieval }
}
has_cultural_era_or_later = culture_era_high_medieval
}
AND = {
NOT = {
root.culture = { has_cultural_era_or_later = culture_era_late_medieval }
}
has_cultural_era_or_later = culture_era_late_medieval
}
}
}
scripted_trigger bp2_yearly_6040_equal_or_higher_cultural_era_trigger = {
OR = {
AND = {
root.culture = { has_cultural_era_or_later = culture_era_tribal }
has_cultural_era_or_later = culture_era_tribal
}
AND = {
root.culture = { has_cultural_era_or_later = culture_era_early_medieval }
has_cultural_era_or_later = culture_era_early_medieval
}
AND = {
root.culture = { has_cultural_era_or_later = culture_era_high_medieval }
has_cultural_era_or_later = culture_era_high_medieval
}
AND = {
root.culture = { has_cultural_era_or_later = culture_era_late_medieval }
has_cultural_era_or_later = culture_era_late_medieval
}
}
}
scripted_trigger bp2_yearly_6040_better_capital_trigger = {
#the culture head of the other culture is more magnificent than root's culture head
OR = {
AND = {
culture_head = {
has_royal_court = yes
}
root.culture.culture_head ?= {
has_royal_court = no
}
}
AND = {
root.culture.culture_head ?= {
has_royal_court = yes
}
culture_head = {
has_royal_court = yes
court_grandeur_current > root.court_grandeur_current
}
}
AND = {
culture_head.capital_province.county = {
county.development_level >= root.capital_province.county.development_level
}
culture_head.capital_province.county = {
county.development_level >= root.culture.culture_head.capital_province.county.development_level
}
}
}
}
# You consider integrating the ways and advancements of the culture that raised you into your realm
bp2_yearly.6040 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6040.t
desc = {
desc = bp2_yearly.6040.desc
first_valid = {
triggered_desc = {
trigger = {
has_character_flag = hostage_childhood
}
desc = bp2_yearly.6040.hostage
}
desc = bp2_yearly.6040.education
}
desc = bp2_yearly.6040.outro
}
theme = culture_change
override_background = bp2_nursery
left_portrait = {
character = root
animation = chancellor
}
trigger = {
NOT = { has_government = landless_adventurer_government }
has_bp2_dlc_trigger = yes
is_valid_for_narrow_yearly_events_adult = yes
#you need to be in a position where you can reform your culture and realm at once
culture = capital_province.culture
highest_held_title_tier >= tier_duchy
is_landed = yes
#Learned enough to get the idea
learning >= low_skill_rating
#Didn't say no to this event before
NOT = { has_character_flag = had_event_bp2_yearly_6040 }
#you were raised in a foreign court, as a hostage or ward
OR = {
any_memory = {
OR = {
has_memory_type = childhood_education_guardian
has_memory_type = childhood_education_no_guardian
}
has_variable = education_location
has_variable = education_location_culture
has_variable = education_host_culture
save_temporary_scope_as = ward_memory_temp
#Check you were educated in a foreign place by foreigners
scope:ward_memory_temp.var:education_location_culture = {
save_temporary_scope_as = education_location_culture
}
scope:ward_memory_temp.var:education_host_culture = {
has_same_culture_heritage = scope:education_location_culture
}
scope:education_location_culture = {
save_temporary_scope_as = foreign_culture
this != root.culture
#culture has a ruler
exists = culture_head
#figure out if they're more advanced
OR = {
bp2_yearly_6040_higher_cultural_era_trigger = yes
AND = {
root = {
government_has_flag = government_is_tribal
}
culture_head = {
NOT = {
government_has_flag = government_is_tribal
}
}
}
bp2_yearly_6040_better_capital_trigger = yes
}
NOT = {
culture_head = {
government_has_flag = government_is_tribal
}
}
bp2_yearly_6040_equal_or_higher_cultural_era_trigger = yes
root.culture = {
can_get_innovation_from = scope:foreign_culture
}
}
scope:ward_memory_temp.var:education_location = {
county.development_level >= root.capital_province.county.development_level
}
}
any_memory = {
memory_type = hostage_returned_hostage
has_variable = hostage_location
has_variable = hostage_location_culture
has_variable = hostage_warden_culture
save_temporary_scope_as = hostage_memory_temp
#Check you were educated in a foreign place by foreigners
scope:hostage_memory_temp.var:hostage_warden_culture = {
has_same_culture_heritage = scope:hostage_memory_temp.var:hostage_location_culture
}
scope:hostage_memory_temp.var:hostage_location_culture = {
save_temporary_scope_as = foreign_culture
this != root.culture
#culture has a ruler
exists = culture_head
#figure out if they're more advanced
OR = {
bp2_yearly_6040_higher_cultural_era_trigger = yes
AND = {
root = {
government_has_flag = government_is_tribal
}
culture_head = {
NOT = {
government_has_flag = government_is_tribal
}
}
}
bp2_yearly_6040_better_capital_trigger = yes
}
NOT = {
culture_head = {
government_has_flag = government_is_tribal
}
}
bp2_yearly_6040_equal_or_higher_cultural_era_trigger = yes
root.culture = {
can_get_innovation_from = scope:foreign_culture
}
}
scope:hostage_memory_temp.var:hostage_location = {
county.development_level >= root.capital_province.county.development_level
}
}
}
}
weight_multiplier = {
base = 1
#If you got this event before and chose to delay it for later, this should pretty much ensure you will get the event again
modifier = {
factor = 5
has_character_flag = delayed_event_bp2_yearly_6040
}
modifier = {
factor = 2
culture = {
has_cultural_pillar = ethos_egalitarian
}
}
modifier = {
factor = 0.5
culture = {
has_cultural_parameter = ai_doesnt_marry_outside_culture
}
}
modifier = {
factor = 0.5
culture = {
has_cultural_parameter = harder_to_hybridize
}
}
modifier = {
factor = 0.5
learning < medium_skill_rating
}
modifier = {
factor = 2
learning > very_high_skill_rating
}
}
immediate = {
#Either triggered from hostage memory type or ward one; need to save their variables as scopes
if = {
limit = {
any_memory = {
memory_type = hostage_returned_hostage
has_variable = hostage_location
has_variable = hostage_location_culture
}
}
random_memory = {
memory_type = hostage_returned_hostage
limit = {
has_variable = hostage_location
has_variable = hostage_location_culture
}
save_scope_as = foreign_court_memory
var:hostage_location = {
save_scope_as = childhood_location
}
var:hostage_location_culture = {
save_scope_as = advanced_culture
}
var:hostage_realm ?= {
save_scope_as = advanced_realm
}
var:hostage_warden_faith ?= {
save_scope_as = advanced_culture_faith
}
memory_participant:warden ?= {
save_scope_as = foreign_warden
}
}
}
else = {
random_memory = {
limit = {
OR = {
has_memory_type = childhood_education_guardian
has_memory_type = childhood_education_no_guardian
}
has_variable = education_location
has_variable = education_location_culture
}
save_scope_as = foreign_court_memory
var:education_location = {
save_scope_as = childhood_location
}
var:education_location_culture = {
save_scope_as = advanced_culture
}
var:education_realm ?= {
save_scope_as = advanced_realm
}
var:education_host_faith ?= {
save_scope_as = advanced_culture_faith
}
memory_participant:guardian ?= {
save_scope_as = foreign_educator
}
}
}
if = {
limit = {
scope:foreign_court_memory = {
has_memory_type = hostage_returned_hostage
has_variable = hostage_location
has_variable = hostage_location_culture
}
}
add_character_flag = hostage_childhood
}
else = {
add_character_flag = education_childhood
}
}
#There is much we could learn from them
option = {
name = bp2_yearly.6040.a
flavor = bp2_yearly.6040.a.tt
custom_tooltip = bp2_yearly.6040.a.reforms
if = {
limit = {
root = root.culture.culture_head
}
culture = {
change_cultural_acceptance = {
target = scope:advanced_culture
value = miniscule_positive_culture_acceptance
desc = cultural_acceptance_gain_beginning_reforms
}
}
}
custom_tooltip = bp2_yearly.6040.a.warning
add_prestige = major_prestige_loss
create_story = story_foreign_raised_reformer
#So there isn't a second reform in one lifetime
add_character_flag = had_event_bp2_yearly_6040
#save variables for the story
set_variable = {
name = childhood_location
value = scope:childhood_location
}
set_variable = {
name = advanced_culture
value = scope:advanced_culture
}
if = {
limit = {
exists = scope:advanced_realm
}
set_variable = {
name = advanced_realm
value = scope:advanced_realm
}
}
if = {
limit = {
exists = scope:foreign_educator
}
set_variable = {
name = foreign_educator
value = scope:foreign_educator
}
}
if = {
limit = {
exists = scope:advanced_culture_faith
}
set_variable = {
name = advanced_culture_faith
value = scope:advanced_culture_faith
}
}
hidden_effect_new_object = {
random_owned_story = {
type = story_foreign_raised_reformer
set_variable = {
name = childhood_location
value = scope:childhood_location
}
set_variable = {
name = advanced_culture
value = scope:advanced_culture
}
if = {
limit = {
exists = scope:advanced_realm
}
set_variable = {
name = advanced_realm
value = scope:advanced_realm
}
}
if = {
limit = {
exists = scope:foreign_educator
}
set_variable = {
name = foreign_educator
value = scope:foreign_educator
}
}
if = {
limit = {
exists = scope:advanced_culture_faith
}
set_variable = {
name = advanced_culture_faith
value = scope:advanced_culture_faith
}
}
}
}
stress_impact = {
profligate = minor_stress_impact_loss
scholar = miniscule_stress_impact_loss
content = medium_stress_impact_gain
lazy = medium_stress_impact_gain
humble = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
}
ai_chance = {
base = 20
ai_value_modifier = {
ai_energy = 1
ai_boldness = 1
}
modifier = {
factor = 0
OR = {
has_trait = content
has_trait = lazy
has_trait = humble
has_trait = paranoid
}
}
}
}
#NEVER! My people are proud and unique
option = {
name = bp2_yearly.6040.b
flavor = bp2_yearly.6040.b.tt
add_character_flag = had_event_bp2_yearly_6040
add_character_modifier = {
modifier = devoted_to_tradition_modifier
years = 25
}
custom_tooltip = bp2_yearly.6040.b.promote_culture
custom_tooltip = bp2_yearly.6040.b.no_reforms
if = {
limit = {
has_character_flag = hostage_childhood
}
remove_character_flag = hostage_childhood
}
if = {
limit = {
has_character_flag = education_childhood
}
remove_character_flag = education_childhood
}
stress_impact = {
arrogant = miniscule_stress_impact_loss
zealous = miniscule_stress_impact_loss
eccentric = major_stress_impact_gain
diligent = minor_stress_impact_gain
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_zeal = 1
ai_sociability = -1
}
modifier = {
factor = 0
OR = {
has_trait = eccentric
has_trait = diligent
has_trait = cynical
}
}
}
}
#Perhaps... but now is not the right time
option = {
name = bp2_yearly.6040.c
custom_tooltip = bp2_yearly.6040.c.recurring
add_character_flag = delayed_event_bp2_yearly_6040
if = {
limit = {
has_character_flag = hostage_childhood
}
remove_character_flag = hostage_childhood
}
if = {
limit = {
has_character_flag = education_childhood
}
remove_character_flag = education_childhood
}
stress_impact = {
impatient = medium_stress_impact_gain
ambitious = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_energy = -1
ai_zeal = -1
}
modifier = {
factor = 0
OR = {
has_trait = impatient
has_trait = ambitious
has_trait = fickle
}
}
}
}
}
#####################################
# Stone, Iron, Clay and Wattle #
# by Jason Cantalini #
# 6050 #
#####################################
scripted_trigger bp2_yearly_6050_noble_representative = {
is_imprisoned = no
is_available = yes
is_incapable = no
culture = root.culture
age > 14
NOT = {
government_has_flag = government_is_republic
}
}
scripted_effect bp2_yearly_6020_pay_powerful_vassals_effect = {
custom_tooltip = bp2_yearly.6020.pay_vassals
hidden_effect = {
remove_treasury_or_gold = minor_treasury_or_gold_value
if = {
limit = {
exists = scope:recipient_1
}
pay_treasury_or_gold = {
target = scope:recipient_1
value = minor_treasury_or_gold_value
}
}
if = {
limit = {
exists = scope:recipient_2
}
pay_treasury_or_gold = {
target = scope:recipient_2
value = minor_treasury_or_gold_value
}
}
if = {
limit = {
exists = scope:recipient_3
}
pay_treasury_or_gold = {
target = scope:recipient_3
value = minor_treasury_or_gold_value
}
}
if = {
limit = {
exists = scope:recipient_4
}
pay_treasury_or_gold = {
target = scope:recipient_4
value = minor_treasury_or_gold_value
}
}
if = {
limit = {
exists = scope:recipient_5
}
pay_treasury_or_gold = {
target = scope:recipient_5
value = minor_treasury_or_gold_value
}
}
}
}
# You plan out an ambitious investment in the realm... or its lords
bp2_yearly.6050 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6050.t
desc = bp2_yearly.6050.desc
theme = culture_change
override_background = {
reference = terrain_travel
}
left_portrait = {
character = root
animation = steward
}
right_portrait = {
character = scope:noble_representative
animation = war_defender
}
lower_right_portrait = {
character = scope:foreign_architect
}
lower_left_portrait = {
character = scope:loyal_knight
}
trigger = {
has_bp2_dlc_trigger = yes
basic_is_valid_for_yearly_events_trigger = yes
NOT = { capital_province.culture = var:advanced_culture }
#Learned enough to get the idea
NOT = { has_character_flag = had_event_bp2_yearly_6050 }
OR = {
any_vassal = {
bp2_yearly_6050_noble_representative = yes
OR = {
has_vassal_stance = glory_hound
has_vassal_stance = parochial
has_vassal_stance = courtly
has_vassal_stance = barons_and_minor_landholders
}
}
any_courtier = {
bp2_yearly_6050_noble_representative = yes
is_lowborn = no
}
}
}
weight_multiplier = {
base = 1
#If you got this event before and chose to delay it for later, this should pretty much ensure you will get the event again
modifier = {
factor = 2
var:advanced_culture = {
culture_head.capital_province.county = {
development_level > root.culture.culture_head.capital_province.county.development_level
}
}
}
modifier = {
factor = 2
var:advanced_culture = {
culture_head.capital_province.county = {
development_level > root.capital_province.county.development_level
}
}
}
modifier = {
factor = 0.5
var:advanced_culture = {
culture_head.capital_province.county = {
development_level <= root.capital_province.county.development_level
}
}
}
modifier = {
factor = 0.5
var:advanced_culture = {
culture_head.capital_province.county = {
development_level <= root.culture.culture_head.capital_province.county.development_level
}
}
}
modifier = {
factor = 2
var:advanced_culture = {
culture_head.capital_province.county = {
development_level > root.capital_province.county.development_level
}
}
}
modifier = {
factor = 1.5
var:advanced_culture = {
OR = {
has_cultural_pillar = ethos_bureaucratic
has_cultural_pillar = ethos_communal
has_cultural_pillar = ethos_egalitarian
has_cultural_pillar = ethos_spiritual
}
}
}
modifier = {
factor = 0.75
culture = {
OR = {
has_cultural_pillar = ethos_bureaucratic
has_cultural_pillar = ethos_communal
has_cultural_pillar = ethos_egalitarian
has_cultural_pillar = ethos_spiritual
}
}
}
}
immediate = {
add_character_flag = had_event_bp2_yearly_6050
save_scope_as = root_scope
if = {
limit = {
any_vassal = {
bp2_yearly_6050_noble_representative = yes
OR = {
has_vassal_stance = glory_hound
has_vassal_stance = parochial
has_vassal_stance = courtly
has_vassal_stance = barons_and_minor_landholders
}
}
}
random_vassal = {
limit = {
bp2_yearly_6050_noble_representative = yes
OR = {
has_vassal_stance = glory_hound
has_vassal_stance = parochial
has_vassal_stance = courtly
has_vassal_stance = barons_and_minor_landholders
}
is_powerful_vassal = yes
}
alternative_limit = {
bp2_yearly_6050_noble_representative = yes
OR = {
has_vassal_stance = glory_hound
has_vassal_stance = parochial
has_vassal_stance = courtly
has_vassal_stance = barons_and_minor_landholders
}
}
save_scope_as = noble_representative
}
}
else = {
random_courtier = {
limit = {
bp2_yearly_6050_noble_representative = yes
is_lowborn = no
}
save_scope_as = noble_representative
}
}
var:advanced_culture = {
save_scope_as = advanced_culture
}
var:childhood_location = {
save_scope_as = childhood_location
}
#A little beginning on development work
capital_county = {
change_development_progress_with_overflow = medium_development_progress_gain
}
#Save powerful vassals so you can pay them gold
if = {
limit = {
any_powerful_vassal = {
is_ai = yes
NOR = {
is_at_war_with = root
is_imprisoned_by = root
}
}
}
random_powerful_vassal = {
limit = {
is_ai = yes
NOR = {
is_at_war_with = root
is_imprisoned_by = root
}
}
save_scope_as = recipient_1
}
}
if = {
limit = {
any_powerful_vassal = {
is_ai = yes
NOR = {
is_at_war_with = root
is_imprisoned_by = root
this = scope:recipient_1
}
}
}
random_powerful_vassal = {
limit = {
is_ai = yes
NOR = {
is_at_war_with = root
is_imprisoned_by = root
this = scope:recipient_1
}
}
save_scope_as = recipient_2
}
}
if = {
limit = {
any_powerful_vassal = {
is_ai = yes
NOR = {
is_at_war_with = root
is_imprisoned_by = root
this = scope:recipient_1
this = scope:recipient_2
}
}
}
random_powerful_vassal = {
limit = {
is_ai = yes
NOR = {
is_at_war_with = root
is_imprisoned_by = root
this = scope:recipient_1
this = scope:recipient_2
}
}
save_scope_as = recipient_3
}
}
if = {
limit = {
any_powerful_vassal = {
is_ai = yes
NOR = {
is_at_war_with = root
is_imprisoned_by = root
this = scope:recipient_1
this = scope:recipient_2
this = scope:recipient_3
}
}
}
random_powerful_vassal = {
limit = {
is_ai = yes
NOR = {
is_at_war_with = root
is_imprisoned_by = root
this = scope:recipient_1
this = scope:recipient_2
this = scope:recipient_3
}
}
save_scope_as = recipient_4
}
}
if = {
limit = {
any_powerful_vassal = {
is_ai = yes
NOR = {
is_at_war_with = root
is_imprisoned_by = root
this = scope:recipient_1
this = scope:recipient_2
this = scope:recipient_3
this = scope:recipient_4
}
}
}
random_powerful_vassal = {
limit = {
is_ai = yes
NOR = {
is_at_war_with = root
is_imprisoned_by = root
this = scope:recipient_1
this = scope:recipient_2
this = scope:recipient_3
this = scope:recipient_4
}
}
save_scope_as = recipient_5
}
}
#save gold value for use in loc
save_scope_value_as = {
name = gold_gift_amount
value = root.minor_gold_value
}
#Create a foreign architect
create_character = {
template = foreign_architect_template
culture = scope:advanced_culture
faith = scope:advanced_culture.culture_head.faith
location = root.location
gender_female_chance = root_faith_dominant_gender_adjusted_female_chance
save_scope_as = foreign_architect
}
#Create a noble knight, a fine example of your culture
create_character = {
template = culture_defender_knight_template
culture = root.culture
faith = root.faith
location = root.location
gender_female_chance = root_soldier_female_chance
save_scope_as = loyal_knight
}
}
#My capital is all that matters!
option = {
name = bp2_yearly.6050.a
flavor = bp2_yearly.6050.a.tt
capital_county = {
change_development_level = 4
add_county_modifier = {
modifier = massive_construction_efforts_modifier
years = 20
}
}
#modifier to make it easier to build in the capital
if = {
limit = {
root = root.culture.culture_head
}
culture = {
change_cultural_acceptance = {
target = scope:advanced_culture
value = miniscule_positive_culture_acceptance
desc = cultural_acceptance_gain_building_familiar_settlements
}
}
}
add_courtier = scope:foreign_architect
#pisses off nobles majorly
if = {
limit = {
any_targeting_faction = {
exists = yes
NOT = { exists = faction_war }
NOT = { faction_is_type = peasant_faction }
}
}
add_targeting_factions_discontent = 30
}
every_vassal = {
vassal_stance = courtly
custom = custom.every_courtly_vassal
add_opinion = {
target = root
modifier = hate_opinion
opinion = -50
}
}
remove_treasury_or_gold = monumental_treasury_or_gold_value
custom_tooltip = bp2_yearly.6050.reform_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reform_counter
add = 1
}
}
# make it possible to get new realm traditions in the tradition event
add_character_flag = foreign_realm_reforms
stress_impact = {
arrogant = miniscule_stress_impact_loss
profligate = minor_stress_impact_loss
humble = massive_stress_impact_gain
content = major_stress_impact_gain
}
ai_chance = {
base = 10
min = 0
ai_value_modifier = {
ai_energy = 1
ai_boldness = 1
}
modifier = {
factor = 0
OR = {
has_trait = content
has_trait = humble
}
}
}
}
#I'm not spending money on the realm - I'm spending tax money on the realm
option = {
name = bp2_yearly.6050.b
flavor = bp2_yearly.6050.b.tt
custom_tooltip = bp2_yearly.6050.every_county_development
hidden_effect = {
every_realm_county = {
limit = {
holder = root
}
change_development_level = 1
change_county_control = major_county_control_loss
}
}
#modifier to make it easier to build anywhere
add_character_modifier = {
modifier = great_builder_modifier
}
if = {
limit = {
root = root.culture.culture_head
}
culture = {
change_cultural_acceptance = {
target = scope:advanced_culture
value = miniscule_positive_culture_acceptance
desc = cultural_acceptance_gain_building_familiar_settlements
}
}
}
add_courtier = scope:foreign_architect
custom_tooltip = bp2_yearly.6050.county_control_loss
custom_tooltip = bp2_yearly.6050.county_opinion_modifier
hidden_effect = {
#big county opinion and control loss
every_realm_county = {
limit = {
holder = root
culture != scope:advanced_culture
}
add_county_modifier = {
modifier = unprecedented_taxation_modifier
years = 15
}
}
}
#pisses off nobles a bit less than first option
if = {
limit = {
any_targeting_faction = {
exists = yes
NOT = { exists = faction_war }
}
}
add_targeting_factions_discontent = 30
}
every_vassal = {
vassal_stance = courtly
custom = custom.every_courtly_vassal
add_opinion = {
target = root
modifier = hate_opinion
opinion = -25
}
}
custom_tooltip = bp2_yearly.6050.reform_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reform_counter
add = 1
}
}
#make it possible to get new realm traditions in the tradition event
add_character_flag = foreign_realm_reforms
stress_impact = {
greedy = miniscule_stress_impact_loss
generous = major_stress_impact_gain
compassionate = medium_stress_impact_gain
just = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
}
ai_chance = {
base = 10
min = 0
ai_value_modifier = {
ai_greed = 1
ai_compassion = -1
}
modifier = {
factor = 0
OR = {
has_trait = generous
has_trait = compassionate
has_trait = just
has_trait = paranoid
}
}
}
}
#My peoples' leaders matter more than the realm
option = {
name = bp2_yearly.6050.c
flavor = bp2_yearly.6050.c.tt
add_character_modifier = {
modifier = loyal_realm_nobility_modifier
}
add_legitimacy = minor_legitimacy_gain
add_courtier = scope:loyal_knight
bp2_yearly_6020_pay_powerful_vassals_effect = yes
culture = {
change_cultural_acceptance = {
target = scope:advanced_culture
value = miniscule_negative_culture_acceptance
desc = cultural_acceptance_turned_away_trade
}
}
custom_tooltip = bp2_yearly.6050.reaffirmation_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reaffirmation_counter
add = 1
}
}
add_character_flag = rejecting_foreign_realm_reforms
stress_impact = {
loyal = medium_stress_impact_loss
trusting = minor_stress_impact_loss
generous = minor_stress_impact_loss
greedy = major_stress_impact_gain
disloyal = medium_stress_impact_gain
diligent = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
stubborn = medium_stress_impact_gain
}
ai_chance = {
base = 10
min = 0
ai_value_modifier = {
ai_greed = -1
ai_sociability = 1
}
modifier = {
factor = 0
OR = {
has_trait = greedy
has_trait = disloyal
has_trait = diligent
has_trait = arrogant
has_trait = stubborn
}
}
}
}
after = {
if = {
limit = {
scope:foreign_architect = {
NOT = {
is_courtier_of = root
}
}
}
scope:foreign_architect = {
silent_disappearance_effect = yes
}
}
if = {
limit = {
scope:loyal_knight = {
NOT = {
is_courtier_of = root
}
}
}
scope:loyal_knight = {
silent_disappearance_effect = yes
}
}
}
}
#####################################
# Studies in Eternity #
# by Jason Cantalini #
# 6060 #
#####################################
scripted_trigger bp2_yearly_6060_clergy_representative = {
is_imprisoned = no
is_adult = yes
faith = root.faith
}
# You question how your people could approach their faith in a new, more learned and organized way
bp2_yearly.6060 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6060.t
desc = {
desc = bp2_yearly.6060.desc
first_valid = {
triggered_desc = {
trigger = {
scope:advanced_culture_faith = root.faith
}
desc = bp2_yearly.6060.same_faith
}
desc = bp2_yearly.6060.different_faith
}
}
theme = learning_theology_focus
override_background = {
reference = holy_site_generic_scope
}
left_portrait = {
character = root
animation = boredom
}
right_portrait = {
character = scope:clergy_representative
animation = wedding_priest
}
lower_right_portrait = {
character = scope:foreign_cleric
}
lower_left_portrait = {
character = scope:foreign_scholar
}
trigger = {
has_bp2_dlc_trigger = yes
basic_is_valid_for_yearly_events_trigger = yes
exists = var:advanced_culture_faith
exists = var:advanced_culture
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
NOT = { has_character_flag = had_event_bp2_yearly_6060 }
OR = {
any_vassal = {
bp2_yearly_6060_clergy_representative = yes
government_has_flag = government_is_theocracy
culture != scope:temp_advanced_culture
}
any_courtier = {
bp2_yearly_6060_clergy_representative = yes
is_clergy = yes
culture != scope:temp_advanced_culture
}
any_pool_character = {
province = root.location
bp2_yearly_6060_clergy_representative = yes
is_clergy = yes
culture != scope:temp_advanced_culture
}
}
#if your faith is organized, the advanced faith must be organized too
OR = {
faith = {
has_doctrine_parameter = unreformed
}
AND = {
faith = {
NOT = { has_doctrine_parameter = unreformed }
}
var:advanced_culture_faith = {
NOT = { has_doctrine_parameter = unreformed }
}
}
}
}
weight_multiplier = {
base = 1
#If you got this event before and chose to delay it for later, this should pretty much ensure you will get the event again
modifier = {
factor = 1.5
var:advanced_culture = {
OR = {
has_cultural_pillar = ethos_courtly
has_cultural_pillar = ethos_spiritual
}
}
}
modifier = {
factor = 0.75
culture = {
OR = {
has_cultural_pillar = ethos_courtly
has_cultural_pillar = ethos_spiritual
}
}
}
}
immediate = {
capital_province = {
save_scope_as = holy_site_scope
}
var:advanced_culture = {
save_scope_as = advanced_culture
}
var:childhood_location = {
save_scope_as = childhood_location
}
var:advanced_culture_faith = {
save_scope_as = advanced_culture_faith
}
add_character_flag = had_event_bp2_yearly_6060
save_scope_as = root_scope
if = {
limit = {
any_powerful_vassal = {
bp2_yearly_6060_clergy_representative = yes
government_has_flag = government_is_theocracy
culture != scope:advanced_culture
}
}
random_powerful_vassal = {
limit = {
bp2_yearly_6060_clergy_representative = yes
government_has_flag = government_is_theocracy
culture != scope:advanced_culture
}
save_scope_as = clergy_representative
}
}
else_if = {
limit = {
any_vassal = {
bp2_yearly_6060_clergy_representative = yes
government_has_flag = government_is_theocracy
culture != scope:advanced_culture
}
}
random_vassal = {
limit = {
bp2_yearly_6060_clergy_representative = yes
government_has_flag = government_is_theocracy
culture != scope:advanced_culture
}
save_scope_as = clergy_representative
}
}
else_if = {
limit = {
any_courtier = {
bp2_yearly_6060_clergy_representative = yes
is_clergy = yes
culture != scope:advanced_culture
}
}
random_courtier = {
limit = {
bp2_yearly_6060_clergy_representative = yes
is_clergy = yes
culture != scope:advanced_culture
}
save_scope_as = clergy_representative
}
}
else = {
random_pool_character = {
province = root.location
limit = {
bp2_yearly_6060_clergy_representative = yes
is_clergy = yes
culture != scope:advanced_culture
}
save_scope_as = clergy_representative
}
}
#Create a foreign cleric
create_character = {
template = foreign_cleric_template
culture = scope:advanced_culture
faith = scope:advanced_culture_faith
location = root.location
gender_female_chance = root_faith_clergy_gender_female_chance
save_scope_as = foreign_cleric
}
if = {
limit = {
scope:advanced_culture_faith = {
has_doctrine_parameter = take_vows_active
}
}
scope:foreign_cleric = { add_trait = devoted }
}
if = {
limit = {
scope:advanced_culture_faith = {
NOT = { has_doctrine_parameter = forbidden_from_pilgrimage }
}
}
scope:foreign_cleric = { add_trait = pilgrim }
}
#Create a foreign scholar
create_character = {
template = foreign_scholar_template
culture = scope:advanced_culture
faith = scope:advanced_culture.culture_head.faith
location = root.location
gender_female_chance = root_faith_clergy_gender_female_chance
save_scope_as = foreign_scholar
}
}
#I SHALL LEAD THE WAY WITH A GLORIOUS CONVERSION
option = {
trigger = {
faith != scope:advanced_culture_faith
is_ai = no
}
name = bp2_yearly.6060.a
flavor = bp2_yearly.6060.a.tt
add_courtier = scope:foreign_cleric
scope:advanced_culture_faith = {
change_fervor = {
value = 20
desc = fervor_gain_reformer_converts
}
}
add_piety = major_piety_gain
#replace piety with same culture opinion modifier...?
set_character_faith_with_conversion = scope:advanced_culture_faith
if = {
limit = {
scope:advanced_culture_faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
custom_tooltip = bp2_yearly.6050.reform_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reform_counter
add = 1
}
}
# make it possible to get new ritual traditions in the tradition event
add_character_flag = foreign_ritual_reforms
stress_impact = {
loyal = medium_stress_impact_gain
content = minor_stress_impact_gain
craven = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
}
ai_chance = {
base = 1
ai_value_modifier = {
ai_boldness = 1
}
modifier = {
factor = 0
OR = {
has_trait = loyal
has_trait = content
has_trait = craven
has_trait = paranoid
scope:advanced_culture_faith = {
has_doctrine_parameter = unreformed
}
}
}
}
}
#We should be conducting religion is such a grand and organized manner
option = {
name = bp2_yearly.6060.b
flavor = bp2_yearly.6060.b.tt
custom_tooltip = bp2_yearly.6060.b.conversion_bonus
add_character_flag = reformer_conversion
if = {
limit = {
scope:advanced_culture_faith = root.faith
}
add_courtier = scope:foreign_cleric
}
add_character_modifier = {
modifier = adapted_rituals_modifier
}
if = {
limit = {
capital_county = {
any_county_province = {
has_holding = no
NOR = {
has_construction_with_flag = temple
has_construction_with_flag = castle
has_construction_with_flag = city
has_construction_with_flag = tribe
}
}
}
}
capital_county = {
random_county_province = {
limit = {
has_holding = no
NOR = {
has_construction_with_flag = temple
has_construction_with_flag = castle
has_construction_with_flag = city
has_construction_with_flag = tribe
}
}
begin_create_holding = {
type = church_holding
refund_cost = { gold = hold_court_holding_cost_half_value }
}
}
}
add_piety = massive_piety_loss
}
else_if = {
limit = {
any_held_title = {
title_tier = county
any_county_province = {
has_holding = no
NOR = {
has_construction_with_flag = temple
has_construction_with_flag = castle
has_construction_with_flag = city
has_construction_with_flag = tribe
}
}
}
}
random_held_title = {
title_tier = county
limit = {
any_county_province = {
has_holding = no
NOR = {
has_construction_with_flag = temple
has_construction_with_flag = castle
has_construction_with_flag = city
has_construction_with_flag = tribe
}
}
}
random_county_province = {
limit = {
has_holding = no
NOR = {
has_construction_with_flag = temple
has_construction_with_flag = castle
has_construction_with_flag = city
has_construction_with_flag = tribe
}
}
begin_create_holding = {
type = church_holding
refund_cost = { gold = hold_court_holding_cost_half_value }
}
}
}
add_piety = massive_piety_loss
}
custom_tooltip = bp2_yearly.6050.reform_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reform_counter
add = 1
}
}
# make it possible to get new ritual traditions in the tradition event
add_character_flag = foreign_ritual_reforms
stress_impact = {
theologian = minor_stress_impact_loss
humble = medium_stress_impact_gain
cynical = medium_stress_impact_gain
arbitrary = minor_stress_impact_gain
eccentric = minor_stress_impact_gain
}
ai_chance = {
base = 20
ai_value_modifier = {
ai_greed = 1
ai_zeal = 1
}
modifier = {
factor = 0
OR = {
has_trait = humble
has_trait = zealous
has_trait = arbitrary
has_trait = eccentric
}
}
}
}
#It is their studiousness that gives them such access to the mysteries of faith
option = {
name = bp2_yearly.6060.c
flavor = bp2_yearly.6060.c.tt
if = {
limit = {
capital_province = {
has_special_building_slot = no
}
}
capital_province = {
add_special_building_slot = generic_university
}
if = {
limit = {
government_has_flag = government_is_tribal
}
custom_tooltip = bp2_yearly.6060.c.tribal_warning
}
}
else_if = {
limit = {
any_held_county = {
any_county_province = { has_special_building_slot = no }
}
}
ordered_held_county = {
limit = {
any_county_province = { has_special_building_slot = no }
}
order_by = {
value = development_level
multiply = 1
}
save_scope_as = most_developed_county
}
scope:most_developed_county.title_province = {
add_special_building_slot = generic_university
}
if = {
limit = {
government_has_flag = government_is_tribal
}
custom_tooltip = bp2_yearly.6060.c.tribal_warning
}
}
else = {
add_character_modifier = {
modifier = court_of_scholars_modifier
}
primary_heir ?= {
add_character_modifier = {
modifier = court_of_scholars_modifier
}
}
}
add_learning_skill = 4
custom_tooltip = bp2_yearly.6060.c.nerd
hidden_effect = {
add_intrigue_skill = -2
add_diplomacy_skill = -2
add_martial_skill = -2
add_stewardship_skill = -2
add_prowess_skill = -2
}
add_courtier = scope:foreign_scholar
add_legitimacy = minor_legitimacy_loss
custom_tooltip = bp2_yearly.6050.reform_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reform_counter
add = 1
}
}
# make it possible to get new ritual traditions in the tradition event
add_character_flag = foreign_ritual_reforms
stress_impact = {
scholar = minor_stress_impact_loss
lazy = major_stress_impact_gain
impatient = medium_stress_impact_gain
content = minor_stress_impact_gain
sadistic = minor_stress_impact_gain
}
ai_chance = {
base = 20
ai_value_modifier = {
ai_rationality = 1
ai_energy = 1
}
modifier = {
factor = 0
OR = {
has_trait = lazy
has_trait = impatient
has_trait = content
has_trait = sadistic
}
}
}
}
#We are the true believers, now that I think about it
option = {
name = bp2_yearly.6060.d
flavor = bp2_yearly.6060.d.tt
#same faith bonus modifier
add_piety = major_piety_gain
every_vassal = {
limit = {
OR = {
has_vassal_stance = zealot
has_vassal_stance = parochial
}
}
custom = custom.every_zealot_or_parochial_vassal
add_opinion = {
target = root
modifier = admiration_opinion
opinion = 25
}
}
faith = {
change_fervor = {
value = 10
desc = fervor_gain_reformer_champions_faith
}
}
scope:advanced_culture_faith = {
change_fervor = {
value = -10
desc = fervor_loss_reformer_rejects_faith
}
}
custom_tooltip = bp2_yearly.6050.reaffirmation_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reaffirmation_counter
add = 1
}
}
add_character_flag = rejecting_foreign_ritual_reforms
stress_impact = {
zealous = minor_stress_impact_loss
fickle = medium_stress_impact_gain
ambitious = medium_stress_impact_gain
diligent = minor_stress_impact_gain
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 20
ai_value_modifier = {
ai_zeal = 1
ai_energy = -1
}
modifier = {
factor = 0
OR = {
has_trait = fickle
has_trait = ambitious
has_trait = diligent
has_trait = cynical
}
}
}
}
after = {
if = {
limit = {
scope:foreign_cleric ?= {
NOT = {
is_courtier_of = root
}
}
}
scope:foreign_cleric = {
silent_disappearance_effect = yes
}
}
if = {
limit = {
scope:foreign_scholar ?= {
NOT = {
is_courtier_of = root
}
}
}
scope:foreign_scholar = {
silent_disappearance_effect = yes
}
}
}
}
#####################################
# Where All the World Gazes #
# by Jason Cantalini #
# 6070 #
#####################################
# You consider pursuing fancy foreign court manners
bp2_yearly.6070 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6070.t
desc = bp2_yearly.6070.desc
theme = diplomacy_majesty_focus
override_background = {
reference = throne_room
}
left_portrait = {
character = root
animation = shame
}
right_portrait = {
character = scope:foreign_official
animation = throne_room_bow_1
}
lower_right_portrait = {
character = scope:advanced_court_owner
}
trigger = {
has_bp2_dlc_trigger = yes
basic_is_valid_for_yearly_events_trigger = yes
exists = var:advanced_culture.culture_head
NOT = { capital_province.culture = var:advanced_culture }
NOT = { has_character_flag = had_event_bp2_yearly_6070 }
}
weight_multiplier = {
base = 1
#If you got this event before and chose to delay it for later, this should pretty much ensure you will get the event again
modifier = {
factor = 2
var:advanced_culture.culture_head = {
has_royal_court = yes
}
OR = {
has_royal_court = no
var:advanced_culture.culture_head = {
court_grandeur_current > root.court_grandeur_current
}
}
}
modifier = {
factor = 0.5
OR = {
var:advanced_culture.culture_head = {
has_royal_court = no
}
var:advanced_culture.culture_head = {
AND = {
has_royal_court = yes
court_grandeur_current <= root.court_grandeur_current
}
}
}
}
modifier = {
factor = 1.5
var:advanced_culture = {
OR = {
has_cultural_pillar = ethos_courtly
has_cultural_pillar = ethos_egalitarian
has_cultural_pillar = ethos_stoic
}
}
}
modifier = {
factor = 0.75
culture = {
OR = {
has_cultural_pillar = ethos_courtly
has_cultural_pillar = ethos_egalitarian
has_cultural_pillar = ethos_stoic
}
}
}
}
immediate = {
add_character_flag = had_event_bp2_yearly_6070
save_scope_as = root_scope
var:advanced_culture = {
save_scope_as = advanced_culture
}
var:childhood_location = {
save_scope_as = childhood_location
}
scope:advanced_culture.culture_head = {
save_scope_as = advanced_court_owner
}
#Create a foreign visitor
create_character = {
template = foreign_official_template
culture = scope:advanced_culture
faith = scope:advanced_court_owner.faith
location = root.location
gender_female_chance = root_faith_dominant_gender_adjusted_female_chance
save_scope_as = foreign_official
}
#He needs gold to confiscate
hidden_effect = {
scope:foreign_official = {
add_gold = root.medium_gold_value
}
}
hidden_effect_new_object = {
scope:foreign_official = {
save_scope_as = owner
#Create fancy regalia
set_artifact_rarity_illustrious = yes
create_artifact = {
name = artifact_admired_culture_regalia
description = placeholder # Will be updated in the post-creation effects
creator = scope:foreign_official
visuals = regalia
type = regalia
template = regalia_template
modifier = artifact_placeholder_modifier
wealth = scope:wealth
quality = scope:quality
save_scope_as = newly_created_artifact_1
history = {
type = created_before_history
}
}
scope:newly_created_artifact_1 = {
set_artifact_description = artifact_famed_culture_regalia_desc
add_scaled_artifact_modifier_grandeur_small_effect = yes
add_scaled_artifact_modifier_minor_prestige_effect = yes
add_scaled_artifact_modifier_rulership_effect = yes
}
#Create fancy crown
set_artifact_rarity_illustrious = yes
create_artifact = {
name = artifact_admired_culture_crown
description = placeholder # Will be updated in the post-creation effects
creator = scope:foreign_official
visuals = crown
template = crown_wearable_template
type = helmet
modifier = artifact_placeholder_modifier
wealth = scope:wealth
quality = scope:quality
save_scope_as = newly_created_artifact_2
history = {
type = created_before_history
}
}
scope:newly_created_artifact_2 = {
set_artifact_description = artifact_famed_culture_crown_desc
add_scaled_artifact_modifier_intrigue_effect = yes
add_scaled_artifact_modifier_majesty_effect = yes
}
}
if = {
limit = {
scope:advanced_culture = {
has_cultural_pillar = ethos_bellicose
}
}
set_artifact_rarity_famed = yes
create_artifact_book_effect = {
OWNER = scope:foreign_official
CREATOR = scope:foreign_official
SET_SUBJECT = flag:martial
SET_TOPIC = flag:no
}
}
else_if = {
limit = {
scope:advanced_culture = {
OR = {
has_cultural_pillar = ethos_bureaucratic
has_cultural_pillar = ethos_egalitarian
}
}
}
set_artifact_rarity_famed = yes
create_artifact_book_effect = {
OWNER = scope:foreign_official
CREATOR = scope:foreign_official
SET_SUBJECT = flag:stewardship
SET_TOPIC = flag:no
}
}
else_if = {
limit = {
scope:advanced_culture = {
has_cultural_pillar = ethos_stoic
}
}
set_artifact_rarity_famed = yes
create_artifact_book_effect = {
OWNER = scope:foreign_official
CREATOR = scope:foreign_official
SET_SUBJECT = flag:diplomacy
SET_TOPIC = flag:no
}
}
else_if = {
limit = {
scope:advanced_culture = {
OR = {
has_cultural_pillar = ethos_courtly
has_cultural_pillar = ethos_spiritual
}
}
}
set_artifact_rarity_famed = yes
create_artifact_book_effect = {
OWNER = scope:foreign_official
CREATOR = scope:foreign_official
SET_SUBJECT = flag:learning
SET_TOPIC = flag:no
}
}
else_if = {
limit = {
scope:advanced_culture = {
has_cultural_pillar = ethos_communal
}
}
set_artifact_rarity_famed = yes
create_artifact_book_effect = {
OWNER = scope:foreign_official
CREATOR = scope:foreign_official
SET_SUBJECT = flag:intrigue
SET_TOPIC = flag:no
}
}
scope:newly_created_artifact = {
set_artifact_name = artifact_advanced_culture_treatise
}
}
}
#Try to actually learn from them instead of just copying them
option = {
trigger = {
OR = {
learning >= high_skill_rating
stewardship >= high_skill_rating
}
culture.culture_head = root
}
name = bp2_yearly.6070.a
flavor = bp2_yearly.6070.a.tt
culture = {
get_random_innovation_from = scope:advanced_culture
}
add_courtier = scope:foreign_official
scope:advanced_culture = {
change_cultural_acceptance = {
target = root.culture
value = miniscule_positive_culture_acceptance
desc = cultural_acceptance_learning_from_culture
}
}
add_prestige_level = -1
add_prestige = medium_prestige_loss
# make it possible to get new maa traditions in the tradition event
add_character_flag = foreign_social_reforms
custom_tooltip = bp2_yearly.6050.reform_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reform_counter
add = 1
}
}
stress_impact = {
humble = miniscule_stress_impact_loss
arrogant = medium_stress_impact_gain
impatient = medium_stress_impact_gain
greedy = minor_stress_impact_gain
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_rationality = 1
ai_greed = -1
}
modifier = {
factor = 0
OR = {
has_trait = greedy
has_trait = arrogant
has_trait = impatient
has_trait = lazy
}
}
}
}
#The finest foreign fashion! Teach us the fanciest foreign manners
option = {
name = bp2_yearly.6070.b
flavor = bp2_yearly.6070.b.tt
scope:newly_created_artifact_1 = {
set_owner = {
target = root
history = {
location = root.capital_province
actor = scope:foreign_official
recipient = root
type = purchased
}
}
}
scope:newly_created_artifact_2 = {
set_owner = {
target = root
history = {
location = root.capital_province
actor = scope:foreign_official
recipient = root
type = purchased
}
}
}
# somebody might want them back
custom_tooltip = bp2_yearly.6070.artifact_warning
hidden_effect = {
random = {
chance = 75
scope:advanced_court_owner = {
add_personal_artifact_claim = scope:newly_created_artifact_1
add_personal_artifact_claim = scope:newly_created_artifact_2
}
}
}
#so they don't get destroyed
add_character_flag = chose_artifacts
add_courtier = scope:foreign_official
every_vassal = {
limit = {
OR = {
has_vassal_stance = courtly
has_vassal_stance = parochial
}
}
custom = custom.every_parochial_or_courtly_vassal
add_opinion = {
target = root
modifier = hate_opinion
opinion = -25
}
}
pay_short_term_gold = {
target = scope:foreign_official
gold = monumental_gold_value
}
if = {
limit = {
culture.culture_head = root
}
adopt_cultural_fashion_effect = yes
}
else_if = { # Error suppression
limit = { always = no }
set_variable = {
name = adopted_cultural_style
value = flag:western
}
}
custom_tooltip = bp2_yearly.6050.reform_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reform_counter
add = 1
}
}
# make it possible to get new social traditions in the tradition event
add_character_flag = foreign_social_reforms
stress_impact = {
arrogant = minor_stress_impact_loss
just = medium_stress_impact_gain
humble = medium_stress_impact_gain
honest = minor_stress_impact_gain
content = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = -1
ai_boldness = 1
}
modifier = {
factor = 0
OR = {
has_trait = just
has_trait = humble
has_trait = honest
has_trait = content
}
}
}
}
#It's language that will change our fortunes
option = {
name = bp2_yearly.6070.c
flavor = bp2_yearly.6070.c.tt
scope:newly_created_artifact = {
add_artifact_history = {
type = given
actor = scope:foreign_official
recipient = root
}
}
scope:newly_created_artifact = {
set_owner = root
}
#so it doesn't get destroyed
add_character_flag = chose_book
scope:advanced_court_owner = {
add_opinion = {
target = root
opinion = 20
modifier = friendliness_opinion
}
}
if = {
limit = {
NOT = {
knows_language_of_culture = scope:advanced_culture
}
}
learn_language_of_culture = scope:advanced_culture
}
if = {
limit = {
primary_heir ?= {
age > 5
opinion = {
target = root
value >= 50
}
NOT = {
knows_language_of_culture = scope:advanced_culture
}
}
}
primary_heir = {
learn_language_of_culture = scope:advanced_culture
}
}
#make it super cheap to change court language
custom_tooltip = bp2_yearly.6070.court_language_discount
add_character_flag = foreign_language_reformer
add_courtier = scope:foreign_official
pay_short_term_gold = {
target = scope:foreign_official
gold = medium_gold_value
}
custom_tooltip = bp2_yearly.6050.reform_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reform_counter
add = 1
}
}
# make it possible to get new social traditions in the tradition event
add_character_flag = foreign_social_reforms
if = {
limit = {
NOT = {
scope:advanced_culture = {
has_same_culture_language = root.culture
}
}
}
stress_impact = {
scholar = medium_stress_impact_loss
lifestyle_traveler = medium_stress_impact_loss
intellect_good_3 = medium_stress_impact_loss
diplomat = medium_stress_impact_loss
diligent = minor_stress_impact_loss
base = major_stress_impact_gain
lazy = medium_stress_impact_gain
impatient = medium_stress_impact_gain
arrogant = minor_stress_impact_gain
}
}
else = {
stress_impact = {
scholar = miniscule_stress_impact_loss
intellect_good_3 = miniscule_stress_impact_loss
diplomat = miniscule_stress_impact_loss
base = minor_stress_impact_gain
lazy = medium_stress_impact_gain
impatient = medium_stress_impact_gain
arrogant = minor_stress_impact_gain
}
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_energy = 1
ai_rationality = 1
}
modifier = {
factor = 0
OR = {
has_trait = lazy
has_trait = impatient
has_trait = arrogant
}
}
}
}
#This desperate imitation is kinda turning my stomach
option = {
name = bp2_yearly.6070.d
flavor = bp2_yearly.6070.d.tt
scope:foreign_official = {
pay_short_term_gold = {
target = root
gold = root.medium_gold_value
}
}
rightfully_imprison_character_effect = {
TARGET = scope:foreign_official
IMPRISONER = root
}
every_vassal = {
vassal_stance = courtly
custom = custom.every_courtly_vassal
add_opinion = {
target = root
modifier = respect_opinion
opinion = 25
}
}
custom_tooltip = bp2_yearly.6050.reaffirmation_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reaffirmation_counter
add = 1
}
}
add_character_flag = rejecting_foreign_social_reforms
stress_impact = {
fickle = miniscule_stress_impact_loss
trusting = medium_stress_impact_gain
forgiving = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = 1
ai_vengefulness = 1
}
modifier = {
factor = 0
OR = {
has_trait = trusting
has_trait = forgiving
has_trait = compassionate
}
}
}
}
after = {
if = {
limit = {
scope:foreign_official ?= {
NOR = {
is_courtier_of = root
is_imprisoned_by = root
}
}
}
scope:foreign_official = {
silent_disappearance_effect = yes
}
}
hidden_effect = {
if = {
limit = {
exists = scope:newly_created_artifact_1
NOT = { has_character_flag = chose_artifacts }
}
destroy_artifact = scope:newly_created_artifact_1
}
if = {
limit = {
exists = scope:newly_created_artifact_2
NOT = { has_character_flag = chose_artifacts }
}
destroy_artifact = scope:newly_created_artifact_2
}
if = {
limit = {
exists = scope:newly_created_artifact
NOT = { has_character_flag = chose_book }
}
destroy_artifact = scope:newly_created_artifact
}
remove_character_flag ?= chose_artifacts
remove_character_flag ?= chose_book
}
scope:foreign_official = {
silent_disappearance_ai_effect = yes
}
}
}
#####################################
# Where the Knights Know Peace #
# by Chad Uhl & Jason Cantalini #
# 6200 #
#####################################
scripted_trigger bp2_yearly_6200_basic_knight = {
is_imprisoned = no
is_incapable = no
NOT = { exists = involved_activity }
opinion = {
target = root
value > -80
}
highest_held_title_tier < tier_county
is_ai = yes
NOR = {
this = scope:hostage
this = scope:home_court
}
}
# Fired from the on_war_started_on_action
bp2_yearly.6200 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6200.t
desc = bp2_yearly.6200.desc
theme = hostage
override_background = {
reference = army_camp
}
left_portrait = {
character = root
animation = marshal
}
right_portrait = {
character = scope:hostage
animation = throne_room_bow_2
}
lower_left_portrait = scope:target_knight
lower_right_portrait = scope:hostage.home_court
trigger = {
scope:hostage = {
is_alive = yes
}
is_alive = yes
}
immediate = {
if = {
limit = {
any_knight = {
bp2_yearly_6200_basic_knight = yes
is_commanding_army = no
opinion = {
target = root
value >= 0
}
}
}
random_knight = {
limit = {
bp2_yearly_6200_basic_knight = yes
is_commanding_army = no
opinion = {
target = root
value >= 0
}
}
save_scope_as = target_knight
}
}
else_if = {
limit = {
any_knight = {
bp2_yearly_6200_basic_knight = yes
}
}
random_knight = {
limit = {
bp2_yearly_6200_basic_knight = yes
}
save_scope_as = target_knight
}
}
}
option = { # Send normal
name = bp2_yearly.6200.a
flavor = bp2_yearly.6200.a.tt
scope:hostage = {
start_travel_plan = {
destination = home_court.capital_province
on_arrival_event = bp2_yearly.6201
}
}
custom_tooltip = bp2_yearly.6200.hostage_travel
custom_tooltip = bp2_yearly.6200.war_positive
custom_tooltip = bp2_yearly.6200.hostage_warning
stress_impact = {
arrogant = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
stubborn = minor_stress_impact_gain
}
ai_chance = {
base = 20
modifier = {
factor = 0
OR = {
has_trait = arrogant
has_trait = stubborn
has_trait = paranoid
}
}
}
}
option = { # Send with gift
name = bp2_yearly.6200.b
flavor = bp2_yearly.6200.b.tt
scope:hostage = {
start_travel_plan = {
destination = home_court.capital_province
on_arrival_event = bp2_yearly.6201
}
set_variable = {
name = hostage_aid_request_gold
value = root.major_gold_value
}
}
remove_short_term_gold = major_gold_value
custom_tooltip = bp2_yearly.6200.hostage_travel
custom_tooltip = bp2_yearly.6200.war_very_positive
custom_tooltip = bp2_yearly.6200.hostage_warning
stress_impact = {
arrogant = medium_stress_impact_gain
greedy = medium_stress_impact_gain
paranoid = minor_stress_impact_gain
stubborn = minor_stress_impact_gain
}
ai_chance = {
base = 20
modifier = {
factor = 0
OR = {
has_trait = arrogant
has_trait = greedy
has_trait = stubborn
has_trait = paranoid
}
}
}
}
option = { # Send with knight
name = bp2_yearly.6200.c
flavor = bp2_yearly.6200.c.tt
show_as_unavailable = {
NOT = {
any_knight = {
bp2_yearly_6200_basic_knight = yes
is_commanding_army = no
opinion = {
target = root
value >= 0
}
}
}
}
custom_tooltip = bp2_yearly.6200.hostage_travel_knight
custom_tooltip = bp2_yearly.6200.hostage_positive
custom_tooltip = bp2_yearly.6200.hostage_warning
custom_tooltip = bp2_yearly.6200.imprison_warning
scope:hostage = {
start_travel_plan = {
destination = home_court.capital_province
on_arrival_event = bp2_yearly.6201
}
set_variable = {
name = hostage_aid_request_chaperone
value = scope:target_knight
}
}
scope:target_knight = {
start_travel_plan = {
destination = scope:hostage.home_court.capital_province
}
}
stress_impact = {
arrogant = minor_stress_impact_gain
trusting = medium_stress_impact_gain
stubborn = minor_stress_impact_gain
}
ai_chance = {
base = 20
modifier = {
factor = 0
OR = {
has_trait = arrogant
has_trait = trusting
has_trait = stubborn
}
}
}
}
option = { # Don't send
name = bp2_yearly.6200.d
flavor = bp2_yearly.6200.d.tt
scope:hostage = {
add_opinion = {
target = root
modifier = hurt_opinion
opinion = -15
}
}
stress_impact = {
craven = medium_stress_impact_gain
trusting = minor_stress_impact_gain
}
ai_chance = {
base = 20
modifier = {
factor = 0
OR = {
has_trait = craven
has_trait = trusting
}
}
}
}
}
# Arrival event where we delay the travel plan and decide what happens
bp2_yearly.6201 = {
hidden = yes
immediate = {
if = { # Ensure the warden hasn't died in the war
limit = {
warden ?= {
is_alive = yes
is_participant_in_war = scope:war
is_imprisoned = no
}
is_alive = yes
}
if = {
limit = {
home_court = { is_ai = yes }
}
# Decide how the home court owner will respond
random_list = {
10 = { # Home Court Joins War
trigger = {
home_court = {
NOR = {
liege = scope:attacker
top_liege = scope:attacker
any_vassal = {
this = scope:attacker
this = scope:hostage.warden
}
}
}
}
set_variable = {
name = home_court_response
value = flag:join_war
}
# Modifiers
modifier = {
add = 10
home_court = {
OR = {
opinion = {
target = scope:attacker
value < -20
}
has_relation_rival = scope:attacker
}
}
}
modifier = {
add = 10
home_court = {
opinion = {
target = scope:defender
value > 20
}
}
}
modifier = {
add = 20
home_court = {
OR = {
has_relation_friend = scope:defender
has_relation_best_friend = scope:defender
}
}
}
modifier = {
add = 30
home_court = {
OR = {
has_relation_nemesis = scope:attacker
has_relation_rival = scope:attacker
}
}
}
modifier = {
factor = 0
home_court = { is_at_war = yes }
}
modifier = {
add = 30
has_variable = hostage_aid_request_gold
}
modifier = {
add = 10
scope:hostage = {
diplomacy > 10
}
}
}
40 = { # Home Court Provides Assistance
set_variable = {
name = home_court_response
value = flag:assist
}
modifier = {
add = 10
scope:hostage = {
diplomacy > 10
}
}
modifier = {
add = 10
has_variable = hostage_aid_request_gold
}
}
50 = { # Home Court Declines
set_variable = {
name = home_court_response
value = flag:decline
}
modifier = {
add = 30
home_court = { has_relation_friend = scope:attacker }
}
modifier = {
add = 30
home_court = {
OR = {
liege = scope:attacker
top_liege = scope:attacker
}
}
}
}
}
random_list = {
40 = { # Home Court keeps Hostage
trigger = { scope:hostage.var:home_court_response = flag:decline }
set_variable = {
name = home_court_hostage_action
value = flag:keep
}
modifier = {
add = -30
has_variable = hostage_aid_request_chaperone
}
modifier = {
add = 20
home_court = {
OR = {
has_relation_rival = scope:defender
has_relation_nemesis = scope:defender
}
}
}
}
60 = { # Home Court does not keep Hostage
set_variable = {
name = home_court_hostage_action
value = flag:dont_keep
}
modifier = {
add = 10
home_court = {
opinion = {
target = scope:defender
value > 20
}
}
}
modifier = {
add = 10
home_court = {
OR = {
has_relation_friend = scope:defender
has_relation_best_friend = scope:defender
}
}
}
}
}
# Fire letter event to warden that the hostage has arrived
warden = {
trigger_event = bp2_yearly.6202
}
# Delay travel plan
current_travel_plan = {
delay_travel_plan = { days = 20 }
}
#delay knight's travel plan
scope:target_knight ?= {
current_travel_plan = {
delay_travel_plan = { days = 20 }
}
}
# Set up the event telling the warden of the home court decision
warden = {
trigger_event = { id = bp2_yearly.6203 days = 19 }
}
}
else = { # If the home court character is a player, we let them decide how to respond
save_scope_as = target_hostage
# Fire letter event to warden that the hostage has arrived
warden = {
trigger_event = bp2_yearly.6202
}
# Delay travel plan
current_travel_plan = {
delay_travel_plan = { days = 20 }
}
#delay knight's travel plan
scope:target_knight ?= {
current_travel_plan = {
delay_travel_plan = { days = 20 }
}
}
home_court = {
trigger_event = { id = bp2_yearly.6204 days = 18 }
}
}
}
}
}
# Letter Event informing the warden that the hostage has arrived
bp2_yearly.6202 = {
type = letter_event
opening = bp2_yearly.6202.t
desc = {
desc = bp2_yearly.6202.opening
random_valid = {
triggered_desc = {
trigger = {
OR = {
scope:hostage.var:home_court_hostage_action = flag:dont_keep
scope:hostage.var:home_court_response = flag:assist
scope:hostage.var:home_court_response = flag:join_war
}
}
desc = bp2_yearly.6202.assembled_nobles
}
triggered_desc = {
trigger = {
OR = {
scope:hostage.var:home_court_hostage_action = flag:dont_keep
scope:hostage.var:home_court_response = flag:decline
scope:hostage.var:home_court_response = flag:assist
#this is the only one that triggers between players
scope:warden = { is_ai = no }
}
}
desc = bp2_yearly.6202.impatient
}
triggered_desc = {
trigger = {
OR = {
scope:hostage.var:home_court_hostage_action = flag:keep
scope:hostage.var:home_court_response = flag:decline
scope:hostage.var:home_court_response = flag:assist
}
}
desc = bp2_yearly.6202.nostalgia
}
}
random_valid = {
triggered_desc = {
trigger = {
OR = {
scope:hostage.var:home_court_response = flag:assist
scope:hostage.var:home_court_response = flag:join_war
}
}
desc = bp2_yearly.6202.received_empathy
}
triggered_desc = {
trigger = {
OR = {
scope:hostage.var:home_court_hostage_action = flag:dont_keep
scope:hostage.var:home_court_response = flag:assist
scope:hostage.var:home_court_response = flag:join_war
scope:hostage.var:home_court_response = flag:decline
}
}
desc = bp2_yearly.6202.received_debate
}
triggered_desc = {
trigger = {
OR = {
scope:hostage.var:home_court_hostage_action = flag:keep
scope:hostage.var:home_court_response = flag:decline
scope:hostage.var:home_court_response = flag:dont_keep
scope:hostage.var:home_court_response = flag:assist
#this is the only one that triggers between players
scope:warden = { is_ai = no }
}
}
desc = bp2_yearly.6202.received_apathy
}
triggered_desc = {
trigger = {
OR = {
scope:hostage.var:home_court_hostage_action = flag:keep
scope:hostage.var:home_court_response = flag:decline
}
}
desc = bp2_yearly.6202.received_scorn
}
}
random_valid = {
triggered_desc = {
trigger = {
scope:hostage.var:home_court_hostage_action = flag:keep
scope:hostage.var:home_court_response = flag:assist
}
desc = bp2_yearly.6202.want_to_return
}
triggered_desc = {
trigger = {
OR = {
scope:hostage.var:home_court_hostage_action = flag:dont_keep
scope:hostage.var:home_court_response = flag:assist
scope:hostage.var:home_court_response = flag:join_war
scope:hostage.var:home_court_response = flag:decline
scope:hostage.var:home_court_hostage_action = flag:keep
#this is the only one that triggers between players
scope:warden = { is_ai = no }
}
}
desc = bp2_yearly.6202.awaiting
}
triggered_desc = {
trigger = {
OR = {
scope:hostage.var:home_court_hostage_action = flag:keep
scope:hostage.var:home_court_response = flag:decline
scope:hostage.var:home_court_response = flag:dont_keep
scope:hostage.var:home_court_response = flag:assist
scope:hostage.var:home_court_response = flag:join_war
}
}
desc = bp2_yearly.6202.want_to_stay
}
triggered_desc = {
trigger = {
OR = {
scope:hostage.var:home_court_hostage_action = flag:keep
scope:hostage.var:home_court_response = flag:decline
scope:hostage.var:home_court_response = flag:assist
}
}
desc = bp2_yearly.6202.fears_returning
}
}
}
sender = scope:hostage
trigger = {
is_participant_in_war = scope:war
}
immediate = {
}
option = {
name = bp2_yearly.6202.a
ai_chance = {
base = 10
}
}
}
# Letter Event giving the Warden the Home Court's answer
bp2_yearly.6203 = {
type = letter_event
opening = bp2_yearly.6203.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
scope:hostage.var:home_court_response = flag:join_war
}
desc = bp2_yearly.6203.join_war
}
triggered_desc = {
trigger = {
scope:hostage.var:home_court_response = flag:assist
}
desc = bp2_yearly.6203.assist
}
triggered_desc = {
trigger = {
scope:hostage.var:home_court_response = flag:decline
exists = scope:home_court_joins_as_attacker
}
desc = bp2_yearly.6203.betray
}
triggered_desc = {
trigger = {
scope:hostage.var:home_court_response = flag:decline
}
desc = bp2_yearly.6203.decline
}
}
first_valid = {
triggered_desc = {
trigger = {
scope:hostage.var:home_court_hostage_action = flag:dont_keep
exists = scope:target_knight
scope:target_knight = {
is_alive = yes
is_imprisoned = no
liege = root
}
}
desc = bp2_yearly.6203.dont_keep_knight
}
triggered_desc = {
trigger = {
scope:hostage.var:home_court_hostage_action = flag:dont_keep
}
desc = bp2_yearly.6203.dont_keep
}
triggered_desc = {
trigger = {
scope:hostage.var:home_court_hostage_action = flag:keep
}
desc = bp2_yearly.6203.keep
}
}
}
sender = scope:hostage
trigger = {
is_participant_in_war = scope:war
}
immediate = {
if = {
limit = {
scope:hostage.home_court = { is_ai = yes }
}
switch = {
trigger = scope:hostage.var:home_court_response
flag:join_war = {
play_music_cue = mx_cue_positive_effect
scope:war = {
add_defender = scope:hostage.home_court
}
# Keep money if you sent a gift
if = {
limit = { scope:hostage = { has_variable = hostage_aid_request_gold } }
scope:hostage.home_court = {
add_gold = scope:hostage.var:hostage_aid_request_gold
}
}
}
flag:assist = {
play_music_cue = mx_cue_positive_effect
set_variable = {
name = bp2_yearly_6203_army_name_origin
value = scope:hostage
}
# Your armies await
spawn_army = {
name = bp2_yearly_6203_army_name
uses_supply = yes
levies = bp2_yearly_6203_levy_size
men_at_arms = {
type = light_footmen
stacks = bp2_yearly_6203_skirmishers_size
}
# can't spawn units over water. Will be possible on FP3
location = scope:hostage.home_court.capital_province
war = scope:war
}
}
flag:decline = {}
}
switch = {
trigger = scope:hostage.var:home_court_hostage_action
flag:keep = {
# Righteously imprison the knight with them if they are
save_scope_as = actor
scope:hostage.home_court = { save_scope_as = recipient }
if = {
limit = { scope:hostage = { has_variable = hostage_aid_request_chaperone } }
hidden_effect = {
scope:hostage.var:hostage_aid_request_chaperone = {
current_travel_plan = {
if = {
limit = { can_cancel = yes }
cancel_travel_plan = yes
}
}
}
}
imprison_character_effect = {
TARGET = scope:hostage.var:hostage_aid_request_chaperone
IMPRISONER = scope:hostage.home_court
}
}
# End hostageship
bp2_return_hostage_no_travel_effect = { HOSTAGE = scope:hostage }
# Keep money if you sent a gift
if = {
limit = { scope:hostage = { has_variable = hostage_aid_request_gold } }
scope:hostage.home_court = {
add_gold = scope:hostage.var:hostage_aid_request_gold
}
}
if = {
limit = {
scope:war = {
defender_war_score <= 60
}
}
random_list = {
75 = {}
25 = { # Home Court joins enemy
scope:war = { add_attacker = scope:hostage.home_court }
play_music_cue = mx_cue_war_declared
root = { save_scope_as = home_court_joins_as_attacker }
}
}
}
}
flag:dont_keep = {}
}
}
else = { # If the home court is a player, we still show the effects of their decision as a tooltip, but we don't run them again
show_as_tooltip = {
switch = {
trigger = scope:hostage.var:home_court_response
flag:join_war = {
play_music_cue = mx_cue_positive_effect
scope:war = {
add_defender = scope:hostage.home_court
}
# Keep money if you sent a gift
if = {
limit = { scope:hostage = { has_variable = hostage_aid_request_gold } }
scope:hostage.home_court = {
add_gold = scope:hostage.var:hostage_aid_request_gold
}
}
}
flag:assist = {
play_music_cue = mx_cue_positive_effect
set_variable = {
name = bp2_yearly_6203_army_name_origin
value = scope:hostage
}
# Your armies await
spawn_army = {
name = bp2_yearly_6203_army_name
uses_supply = yes
levies = bp2_yearly_6203_levy_size
men_at_arms = {
type = light_footmen
stacks = bp2_yearly_6203_skirmishers_size
}
# can't spawn units over water. Will be possible on FP3
location = scope:hostage.home_court.capital_province
war = scope:war
}
}
flag:decline = {}
}
switch = {
trigger = scope:hostage.var:home_court_hostage_action
flag:keep = {
# Righteously imprison the knight with them if they are
save_scope_as = actor
scope:hostage.home_court = { save_scope_as = recipient }
if = {
limit = { scope:hostage = { has_variable = hostage_aid_request_chaperone } }
hidden_effect = {
scope:hostage.var:hostage_aid_request_chaperone = {
current_travel_plan = {
if = {
limit = { can_cancel = yes }
cancel_travel_plan = yes
}
}
}
}
imprison_character_effect = {
TARGET = scope:hostage.var:hostage_aid_request_chaperone
IMPRISONER = scope:hostage.home_court
}
}
# End hostageship
bp2_return_hostage_no_travel_effect = { HOSTAGE = scope:hostage }
# Keep money if you sent a gift
if = {
limit = { scope:hostage = { has_variable = hostage_aid_request_gold } }
scope:hostage.home_court = {
add_gold = scope:hostage.var:hostage_aid_request_gold
}
}
if = {
limit = {
exists = scope:home_court_joins_as_attacker
}
scope:war = { add_attacker = scope:hostage.home_court }
play_music_cue = mx_cue_war_declared
}
}
flag:dont_keep = {}
}
}
}
}
option = { # Grateful response
name = bp2_yearly.6203.a
flavor = bp2_yearly.6203.a.tt
trigger = {
scope:hostage.var:home_court_response = flag:join_war
}
# progress towards friend
progress_towards_friend_effect = {
REASON = friend_hostage_sent_for_aid
CHARACTER = scope:hostage
OPINION = default_friend_opinion
}
stress_impact = {
callous = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
shy = minor_stress_impact_gain
arrogant = miniscule_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = 1
}
modifier = {
factor = 0
OR = {
has_trait = callous
has_trait = paranoid
has_trait = shy
has_trait = arrogant
}
}
}
}
option = { # Vengeful response
name = bp2_yearly.6203.b
flavor = bp2_yearly.6203.b.tt
trigger = {
scope:hostage.var:home_court_hostage_action = flag:keep
}
# rivalry
progress_towards_rival_effect = {
REASON = rival_disregarded_plea_for_help
CHARACTER = scope:home_court
OPINION = -30
}
# positive war modifier for vengeance
add_character_modifier = {
modifier = from_victory_vengeance_modifier
years = 10
}
stress_impact = {
forgiving = major_stress_impact_gain
compassionate = medium_stress_impact_gain
calm = minor_stress_impact_gain
craven = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_vengefulness = 1
}
modifier = {
factor = 0
OR = {
has_trait = forgiving
has_trait = compassionate
has_trait = calm
has_trait = craven
}
}
}
}
option = { # Acknowledge
name = {
text = {
first_valid = {
triggered_desc = {
trigger = {
OR = {
scope:hostage.var:home_court_response = flag:join_war
scope:hostage.var:home_court_response = flag:assist
}
}
desc = bp2_yearly.6203.c.positive
}
triggered_desc = {
trigger = {
scope:hostage.var:home_court_response = flag:decline
}
desc = bp2_yearly.6203.c.negative
}
}
}
}
if = {
limit = {
scope:hostage.var:home_court_response = flag:join_war
}
add_prestige = medium_prestige_gain
stress_impact = {
trusting = minor_stress_impact_gain
gregarious = minor_stress_impact_gain
}
}
else_if = {
limit = {
scope:hostage.var:home_court_hostage_action = flag:keep
}
stress_impact = {
vengeful = medium_stress_impact_gain
sadistic = minor_stress_impact_gain
wrathful = minor_stress_impact_gain
just = minor_stress_impact_gain
}
}
ai_chance = {
base = 10
modifier = {
factor = 0
OR = {
scope:hostage.var:home_court_hostage_action = flag:keep
has_trait = vengeful
has_trait = sadistic
has_trait = wrathful
has_trait = just
}
}
modifier = {
factor = 0
OR = {
scope:hostage.var:home_court_response = flag:join_war
has_trait = trusting
has_trait = gregarious
}
}
}
}
after = {
# Clean up the variables
if = {
limit = { has_variable = bp2_yearly_6203_army_name_origin }
remove_variable = bp2_yearly_6203_army_name_origin
}
scope:hostage = {
if = {
limit = { has_variable = hostage_aid_request_gold }
remove_variable = hostage_aid_request_gold
}
if = {
limit = { has_variable = hostage_aid_request_chaperone }
remove_variable = hostage_aid_request_chaperone
}
if = {
limit = { has_variable = home_court_response }
remove_variable = home_court_response
}
if = {
limit = { has_variable = home_court_hostage_action }
remove_variable = home_court_hostage_action
}
}
}
}
# Bilateral event for a player character home court where the player gets to decide if they will help out their hostage's warden in the war
bp2_yearly.6204 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6204.t
desc = {
desc = bp2_yearly.6204.desc
first_valid = {
triggered_desc = {
trigger = {
scope:hostage = {
has_variable = hostage_aid_request_gold
}
}
desc = bp2_yearly.6204.desc_gift
}
triggered_desc = {
trigger = {
scope:hostage = {
has_variable = hostage_aid_request_chaperone
}
scope:target_knight ?= {
is_alive = yes
is_imprisoned = no
}
}
desc = bp2_yearly.6204.desc_chaperone
}
desc = bp2_yearly.6204.desc_none
}
desc = bp2_yearly.6204.desc_outro
}
theme = hostage
override_background = { reference = courtyard }
left_portrait = {
character = root
animation = personality_honorable
}
right_portrait = {
character = scope:hostage
triggered_animation = {
trigger = {
NOT = {
scope:hostage = {
has_variable = hostage_aid_request_chaperone
}
}
}
animation = throne_room_messenger_3
}
animation = beg
}
lower_center_portrait = {
trigger = {
scope:hostage = {
has_variable = hostage_aid_request_chaperone
}
}
character = scope:target_knight
}
lower_right_portrait = {
character = scope:warden
}
lower_left_portrait = {
character = scope:attacker
}
immediate = {
scope:hostage.warden = {
save_scope_as = warden
}
if = {
limit = {
scope:hostage = {
has_variable = hostage_aid_request_gold
}
}
root = {
add_gold = scope:hostage.var:hostage_aid_request_gold
}
}
}
option = { # Join the War
name = bp2_yearly.6204.a
flavor = bp2_yearly.6204.a.tt
trigger = {
NOR = {
liege = scope:attacker
top_liege = scope:attacker
any_vassal = {
this = scope:attacker
this = scope:warden
}
}
}
scope:hostage = {
set_variable = {
name = home_court_response
value = flag:join_war
}
set_variable = {
name = home_court_hostage_action
value = flag:dont_keep
}
}
scope:war = {
add_defender = root
}
add_character_modifier = {
modifier = a_noble_fight_modifier
years = 5
}
reverse_add_opinion = {
target = scope:hostage.warden
opinion = 30
modifier = grateful_opinion
}
reverse_add_opinion = {
target = scope:hostage
opinion = 30
modifier = grateful_opinion
}
# Fire the event letting the warden know of the decision
# This is also where the actual effects are run
scope:hostage.warden = {
trigger_event = {
id = bp2_yearly.6203
days = 1
}
}
stress_impact = {
craven = medium_stress_impact_gain
content = medium_stress_impact_gain
callous = minor_stress_impact_gain
calm = miniscule_stress_impact_gain
paranoid = minor_stress_impact_gain
}
}
option = { # Just provide assistance
name = bp2_yearly.6204.b
flavor = bp2_yearly.6204.b.tt
capital_county = {
change_county_control = 15
}
reverse_add_opinion = {
target = scope:hostage.warden
opinion = 20
modifier = grateful_opinion
}
reverse_add_opinion = {
target = scope:hostage
opinion = 20
modifier = grateful_opinion
}
scope:hostage = {
set_variable = {
name = home_court_response
value = flag:assist
}
set_variable = {
name = home_court_hostage_action
value = flag:dont_keep
}
warden = {
set_variable = {
name = bp2_yearly_6203_army_name_origin
value = scope:hostage
}
# spawn some armies
spawn_army = {
name = bp2_yearly_6203_army_name
uses_supply = yes
levies = bp2_yearly_6203_levy_size
men_at_arms = {
type = light_footmen
stacks = bp2_yearly_6203_skirmishers_size
}
location = scope:hostage.location
war = scope:war
}
}
}
remove_short_term_gold = medium_gold_value
# Fire the event letting the warden know of the decision
# This is also where the actual effects are run
scope:hostage.warden = {
trigger_event = bp2_yearly.6203
}
stress_impact = {
brave = miniscule_stress_impact_gain
just = minor_stress_impact_gain
greedy = medium_stress_impact_gain
}
}
option = { # Decline
name = bp2_yearly.6204.c
flavor = bp2_yearly.6204.c.tt
scope:hostage = {
set_variable = {
name = home_court_response
value = flag:decline
}
}
add_character_modifier = {
modifier = peace_over_honor_modifier
years = 10
}
reverse_add_opinion = {
target = scope:hostage
opinion = -30
modifier = disappointed_opinion
}
if = {
limit = {
scope:hostage = {
has_variable = hostage_aid_request_gold
NOR = {
has_relation_friend = scope:hostage.warden
has_relation_best_friend = scope:hostage.warden
}
}
}
reverse_add_opinion = {
target = scope:hostage.warden
opinion = -20
modifier = disappointed_opinion
}
}
#decide whether to return hostage event
trigger_event = bp2_yearly.6205
if = {
limit = {
OR = {
has_relation_friend = scope:hostage.warden
has_relation_best_friend = scope:hostage.warden
}
}
reverse_add_opinion = {
target = scope:hostage.warden
opinion = -40
modifier = disappointed_opinion
}
stress_impact = {
base = minor_stress_impact_gain
compassionate = medium_stress_impact_gain
generous = medium_stress_impact_gain
loyal = minor_stress_impact_gain
diligent = miniscule_stress_impact_gain
brave = minor_stress_impact_gain
}
}
else = {
stress_impact = {
content = miniscule_stress_impact_loss
compassionate = medium_stress_impact_gain
generous = medium_stress_impact_gain
diligent = miniscule_stress_impact_gain
brave = minor_stress_impact_gain
}
}
}
}
# Oh? I could just take my hostage back
bp2_yearly.6205 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6205.t
desc = {
desc = bp2_yearly.6205.desc
first_valid = {
triggered_desc = {
trigger = {
scope:hostage = {
has_variable = hostage_aid_request_gold
}
}
desc = bp2_yearly.6205.desc_none
}
triggered_desc = {
trigger = {
scope:hostage = {
has_variable = hostage_aid_request_chaperone
}
scope:target_knight ?= {
is_alive = yes
is_imprisoned = no
}
}
desc = bp2_yearly.6205.desc_chaperone
}
desc = bp2_yearly.6205.desc_none
}
desc = bp2_yearly.6205.desc_outro
}
theme = hostage
override_background = {
trigger = {
root.location = { graphical_wilderness_desert_trigger = yes }
}
reference = wilderness_desert
}
override_background = {
trigger = {
root.location = {
OR = {
terrain = forest
terrain = taiga
}
NOR = {
geographical_region = world_africa
geographical_region = world_india
geographical_region = world_europe_west_iberia
geographical_region = world_middle_east
}
}
}
reference = ep2_hunt_forest_hut
}
override_background = {
trigger = {
root.location = {
OR = {
terrain = forest
terrain = taiga
}
OR = {
geographical_region = world_africa
geographical_region = world_india
geographical_region = world_europe_west_iberia
geographical_region = world_middle_east
}
}
}
reference = wilderness_forest
}
override_background = {
trigger = {
root.location = { graphical_wilderness_jungle_trigger = yes }
}
reference = wilderness_jungle
}
override_background = {
trigger = {
root.location = { graphical_wilderness_steppe_trigger = yes }
}
reference = ep2_travel_settlement_steppe
}
override_background = {
trigger = {
root.location = { graphical_wilderness_desert_trigger = yes }
}
reference = ep2_travel_settlement_desert
}
override_background = {
trigger = {
root.location = { graphical_hills_trigger = yes }
}
reference = ep2_travel_settlement_hills
}
override_background = {
trigger = {
root.location = { graphical_wilderness_mountains_trigger = yes }
}
reference = ep2_travel_settlement_mountains
}
override_background = {
trigger = {
root.location = {
OR = {
terrain = farmlands
terrain = plains
terrain = floodplains
}
}
}
reference = ep2_travel_settlement_farm
}
override_background = {
reference = terrain
}
left_portrait = {
character = root
triggered_animation = {
trigger = {
OR = {
has_trait = craven
has_trait = compassionate
has_trait = forgiving
}
}
animation = personality_coward
}
animation = personality_vengeful
}
right_portrait = {
character = scope:hostage
animation = jockey_idle
camera = camera_event_horse_right
}
lower_left_portrait = {
character = scope:attacker
}
lower_right_portrait = {
character = scope:warden
}
lower_center_portrait = {
trigger = {
scope:hostage = {
has_variable = hostage_aid_request_chaperone
}
}
character = scope:target_knight
}
immediate = {
#saving scopes for return effect
scope:hostage.warden = { save_scope_as = actor }
save_scope_as = recipient
}
option = { # Keep hostage
name = bp2_yearly.6205.a
scope:hostage = {
set_variable = {
name = home_court_hostage_action
value = flag:keep
}
}
# End hostageship
bp2_return_hostage_no_travel_effect = { HOSTAGE = scope:hostage }
every_close_family_member = {
custom = all_close_family_members
add_opinion = {
target = root
modifier = loyalty_opinion
opinion = 15
}
}
#Imprison the knight with them if they are
if = {
limit = { scope:hostage = { has_variable = hostage_aid_request_chaperone } }
imprison_character_effect = {
TARGET = scope:hostage.var:hostage_aid_request_chaperone
IMPRISONER = root
}
}
reverse_add_opinion = {
target = scope:hostage.warden
opinion = -30
modifier = stole_hostage_opinion
}
scope:hostage.warden = {
trigger_event = bp2_yearly.6203
}
stress_impact = {
paranoid = minor_stress_impact_loss
compassionate = minor_stress_impact_loss
trusting = minor_stress_impact_gain
just = medium_stress_impact_gain
humble = miniscule_stress_impact_gain
honest = miniscule_stress_impact_gain
}
}
option = { # Keep hostage and join war as attacker
trigger = {
NOR = {
liege = scope:hostage.warden
top_liege = scope:hostage.warden
any_vassal = {
this = scope:hostage.warden
this = scope:attacker
}
}
}
name = bp2_yearly.6205.b
scope:war = { add_attacker = root }
add_character_modifier = {
modifier = aggressive_unpredictable_modifier
years = 10
}
scope:hostage = {
set_variable = {
name = home_court_hostage_action
value = flag:keep
}
}
# End hostageship
bp2_return_hostage_no_travel_effect = { HOSTAGE = scope:hostage }
#Imprison the knight with them if they are
if = {
limit = { scope:hostage = { has_variable = hostage_aid_request_chaperone } }
imprison_character_effect = {
TARGET = scope:hostage.var:hostage_aid_request_chaperone
IMPRISONER = root
}
}
if = {
limit = {
has_character_modifier = peace_over_honor_modifier
}
remove_character_modifier = peace_over_honor_modifier
}
reverse_add_opinion = {
target = scope:hostage.warden
opinion = -50
modifier = stole_hostage_opinion
}
root = { save_scope_as = home_court_joins_as_attacker }
scope:warden = {
trigger_event = bp2_yearly.6203
}
stress_impact = {
vengeful = medium_stress_impact_loss
wrathful = minor_stress_impact_loss
sadistic = minor_stress_impact_loss
fickle = minor_stress_impact_loss
disloyal = minor_stress_impact_loss
compassionate = medium_stress_impact_gain
forgiving = major_stress_impact_gain
just = medium_stress_impact_gain
trusting = minor_stress_impact_gain
content = miniscule_stress_impact_gain
humble = minor_stress_impact_gain
calm = minor_stress_impact_gain
loyal = minor_stress_impact_gain
}
}
option = { # Don't keep hostage
name = bp2_yearly.6205.c
scope:hostage = {
set_variable = {
name = home_court_hostage_action
value = flag:dont_keep
}
}
every_close_family_member = {
custom = all_close_family_members
add_opinion = {
target = root
modifier = estranged_opinion
opinion = -10
}
}
scope:hostage.warden = {
trigger_event = bp2_yearly.6203
}
if = {
limit = {
OR = {
has_trait = callous
has_trait = sadistic
}
}
stress_impact = {
vengeful = minor_stress_impact_gain
wrathful = minor_stress_impact_gain
paranoid = miniscule_stress_impact_gain
}
}
else = {
stress_impact = {
base = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
vengeful = minor_stress_impact_gain
wrathful = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
}
}
}
}
#####################################
# Bulgarian Blood #
# by Jason Cantalini #
# 6080 #
#####################################
scripted_trigger bp2_yearly_6080_vassal = {
is_imprisoned = no
age > 13
is_at_war = no
opinion = {
target = root
value < 0
}
is_ai = yes
}
# You are about to get some sweet foreign mercenary bodyguards... and it's a breaking point for your resentful nobility
bp2_yearly.6080 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6080.t
desc = bp2_yearly.6080.desc
theme = war
override_background = {
reference = courtyard
}
left_portrait = {
character = root
animation = disbelief
}
right_portrait = {
character = scope:angry_vassal
animation = anger
}
lower_right_portrait = {
character = scope:foreign_mercenary_1
}
lower_left_portrait = {
character = scope:foreign_mercenary_2
}
trigger = {
has_bp2_dlc_trigger = yes
basic_is_valid_for_yearly_events_trigger = yes
NOT = { has_character_flag = had_event_bp2_yearly_6080 }
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
any_vassal = {
bp2_yearly_6080_vassal = yes
culture != scope:temp_advanced_culture
}
}
weight_multiplier = {
base = 1
#If you got this event before and chose to delay it for later, this should pretty much ensure you will get the event again
modifier = {
factor = 2
culture = {
OR = {
has_cultural_pillar = ethos_communal
has_cultural_pillar = ethos_stoic
}
}
}
modifier = {
factor = 0.5
NOT = {
any_targeting_faction = {
faction_power = halved_faction_power_threshold
}
}
}
modifier = {
factor = 1.5
var:advanced_culture = {
OR = {
has_cultural_pillar = ethos_bellicose
has_cultural_pillar = ethos_stoic
has_cultural_pillar = ethos_bureaucratic
}
}
}
modifier = {
factor = 0.75
culture = {
OR = {
has_cultural_pillar = ethos_bellicose
has_cultural_pillar = ethos_bureaucratic
}
}
}
}
immediate = {
add_character_flag = had_event_bp2_yearly_6080
save_scope_as = root_scope
var:advanced_culture = {
save_scope_as = advanced_culture
}
if = {
limit = {
any_powerful_vassal = {
bp2_yearly_6080_vassal = yes
opinion = {
target = root
value <= -40
}
culture != scope:advanced_culture
}
}
random_powerful_vassal = {
limit = {
bp2_yearly_6080_vassal = yes
opinion = {
target = root
value <= -40
}
culture != scope:advanced_culture
}
save_scope_as = angry_vassal
}
}
else_if = {
limit = {
any_powerful_vassal = {
bp2_yearly_6080_vassal = yes
culture != scope:advanced_culture
}
}
random_powerful_vassal = {
limit = {
bp2_yearly_6080_vassal = yes
culture != scope:advanced_culture
}
save_scope_as = angry_vassal
}
}
else_if = {
limit = {
any_vassal = {
bp2_yearly_6080_vassal = yes
opinion = {
target = root
value <= -40
}
culture != scope:advanced_culture
}
}
random_vassal = {
limit = {
bp2_yearly_6080_vassal = yes
opinion = {
target = root
value <= -40
}
culture != scope:advanced_culture
}
save_scope_as = angry_vassal
}
}
else = {
random_vassal = {
limit = {
bp2_yearly_6080_vassal = yes
culture != scope:advanced_culture
}
save_scope_as = angry_vassal
}
}
#Create two foreign fighting dudes
create_character = {
template = foreign_mercenary_template
culture = scope:advanced_culture
faith = scope:advanced_culture.culture_head.faith
location = root.location
gender_female_chance = root_soldier_female_chance
save_scope_as = foreign_mercenary_1
}
scope:foreign_mercenary_1 = {
add_character_flag = wear_armor
}
create_character = {
template = foreign_mercenary_template
culture = scope:advanced_culture
faith = scope:advanced_culture.culture_head.faith
location = root.location
gender_female_chance = root_soldier_female_chance
save_scope_as = foreign_mercenary_2
}
scope:foreign_mercenary_2 = {
add_character_flag = wear_armor
}
#save a province to resettle them, if any available
#One to build things in
if = {
limit = {
any_held_title = {
title_tier = county
this != root.capital_county
any_county_province = {
has_holding = no
NOR = {
has_construction_with_flag = temple
has_construction_with_flag = castle
has_construction_with_flag = city
has_construction_with_flag = tribe
}
}
}
}
random_held_title = {
title_tier = county
limit = {
this != root.capital_county
any_county_province = {
has_holding = no
NOR = {
has_construction_with_flag = temple
has_construction_with_flag = castle
has_construction_with_flag = city
has_construction_with_flag = tribe
}
}
}
save_scope_as = resettlement_county
}
}
#One that things can't be built in
else_if = {
limit = {
any_held_title = {
title_tier = county
this != root.capital_county
}
}
random_held_title = {
title_tier = county
limit = {
this != root.capital_county
}
save_scope_as = resettlement_county
}
}
}
#Try to find a compromise that still lets you keep these skilled Greeks
option = {
trigger = {
OR = {
diplomacy >= high_skill_rating
intrigue >= high_skill_rating
}
}
name = bp2_yearly.6080.a
flavor = bp2_yearly.6080.a.tt
if = {
limit = {
exists = scope:resettlement_county
scope:resettlement_county = {
any_county_province = {
has_holding = no
NOR = {
has_construction_with_flag = temple
has_construction_with_flag = castle
has_construction_with_flag = city
has_construction_with_flag = tribe
}
}
}
}
scope:resettlement_county = {
random_county_province = {
limit = {
has_holding = no
NOR = {
has_construction_with_flag = temple
has_construction_with_flag = castle
has_construction_with_flag = city
has_construction_with_flag = tribe
}
}
if = {
limit = {
scope:advanced_culture.culture_head ?= {
government_has_flag = government_is_tribal
}
}
begin_create_holding = {
type = tribal_holding
refund_cost = { gold = hold_court_holding_cost_half_value }
}
}
else_if = {
limit = {
scope:advanced_culture = {
has_cultural_pillar = ethos_spiritual
}
}
begin_create_holding = {
type = church_holding
refund_cost = { gold = hold_court_holding_cost_half_value }
}
}
else_if = {
limit = {
scope:advanced_culture = {
OR = {
has_cultural_pillar = ethos_bellicose
has_cultural_pillar = ethos_courtly
has_cultural_pillar = ethos_stoic
}
}
}
begin_create_holding = {
type = castle_holding
refund_cost = { gold = hold_court_holding_cost_half_value }
}
}
else = {
begin_create_holding = {
type = city_holding
}
}
}
change_development_level = 1
set_county_culture = scope:advanced_culture
}
}
else_if = {
limit = {
exists = scope:resettlement_county
}
scope:resettlement_county = {
change_development_level = 2
change_county_control = major_county_control_gain
set_county_culture = scope:advanced_culture
}
}
else = {
capital_county = {
change_development_level = 1
}
capital_county = {
change_county_control = major_county_control_gain
}
}
custom_tooltip = bp2_yearly.6080.pop_opinion_modifier
hidden_effect = {
if = {
limit = {
exists = scope:resettlement_county
}
scope:resettlement_county.duchy = {
every_de_jure_county = {
limit = {
NOR = {
culture = scope:advanced_culture
this = scope:resettlement_county
}
holder.top_liege = root
}
add_county_modifier = {
modifier = forcible_resettlement_modifier
years = 10
}
}
}
}
else = {
capital_county.duchy = {
every_de_jure_county = {
limit = {
NOR = {
culture = scope:advanced_culture
this = root.capital_county
}
holder.top_liege = root
}
add_county_modifier = {
modifier = forcible_resettlement_modifier
years = 10
}
}
}
}
}
add_tyranny = medium_tyranny_gain
# make it possible to get new maa traditions in the tradition event
add_character_flag = foreign_maa_reforms
custom_tooltip = bp2_yearly.6050.reform_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reform_counter
add = 1
}
}
stress_impact = {
stubborn = medium_stress_impact_gain
wrathful = medium_stress_impact_gain
vengeful = medium_stress_impact_gain
}
ai_chance = {
base = 0
}
}
#Try to capture the noble and disrupt the nascent rebellion
option = {
name = bp2_yearly.6080.b
flavor = bp2_yearly.6080.b.tt
if = {
limit = {
government_has_flag = government_is_tribal
NOT = { has_realm_law = tribal_authority_3 }
}
increase_tribal_authority_effect = yes
}
# Everyone else increases CA.
else_if = {
limit = {
NOT = { government_has_flag = government_is_tribal }
NOT = { has_realm_law = crown_authority_3 }
}
increase_crown_authority_effect = yes
}
else = {
add_dread = major_dread_gain
}
capital_province = {
add_province_modifier = {
modifier = elite_foreign_guard_modifier
}
}
custom_tooltip = bp2_yearly.6080.add_both_courtiers
hidden_effect = {
add_courtier = scope:foreign_mercenary_1
add_courtier = scope:foreign_mercenary_2
}
if = {
limit = {
can_set_relation_rival_trigger = { CHARACTER = scope:angry_vassal }
}
scope:angry_vassal = {
set_relation_rival = {
target = root
reason = rival_attacked_dissent
}
}
}
else = {
scope:angry_vassal = {
add_opinion = {
target = root
opinion = -40
modifier = hate_opinion
}
}
}
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reform_counter
add = 1
}
}
duel = {
skills = { martial prowess }
target = scope:angry_vassal
55 = { #It works well
desc = bp2_yearly.6080.b.success
compare_modifier = {
value = scope:duel_value
multiplier = 3
}
send_interface_toast = {
title = bp2_yearly.6080.b.success
left_icon = root
right_icon = scope:angry_vassal
rightfully_imprison_character_less_verbose_effect = {
TARGET = scope:angry_vassal
IMPRISONER = root
}
every_vassal = {
limit = {
culture != scope:advanced_culture
}
custom = custom.every_non_advanced_culture_vassal
add_opinion = {
target = root
modifier = angry_opinion
opinion = -10
}
}
}
}
45 = { #It doesn't go well
desc = bp2_yearly.6080.b.failure
compare_modifier = {
value = scope:duel_value
multiplier = -3
min = -40
}
send_interface_toast = {
title = bp2_yearly.6080.b.failure
left_icon = root
right_icon = scope:angry_vassal
scope:angry_vassal = {
start_war = {
casus_belli = refused_liege_demand_war
target = root
}
}
if = {
limit = {
any_targeting_faction = {
exists = yes
NOT = { exists = faction_war }
}
}
add_targeting_factions_discontent = major_discontent_gain
}
add_tyranny = massive_tyranny_gain
add_legitimacy = minor_legitimacy_loss
}
}
}
custom_tooltip = bp2_yearly.6050.reform_path
# make it possible to get new maa traditions in the tradition event
add_character_flag = foreign_maa_reforms
stress_impact = {
forgiving = major_stress_impact_gain
calm = medium_stress_impact_gain
patient = medium_stress_impact_gain
trusting = medium_stress_impact_gain
compassionate = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_vengefulness = 1
ai_energy = 1
}
modifier = {
factor = 0
OR = {
has_trait = forgiving
has_trait = calm
has_trait = patient
has_trait = trusting
has_trait = compassionate
}
}
}
}
#I am unstoppable. I am changing things.
option = {
name = bp2_yearly.6080.c
flavor = bp2_yearly.6080.c.tt
if = {
limit = {
government_has_flag = government_is_tribal
NOT = { has_realm_law = tribal_authority_3 }
}
increase_tribal_authority_effect = yes
}
# Everyone else increases CA.
else_if = {
limit = {
NOT = { government_has_flag = government_is_tribal }
NOT = { has_realm_law = crown_authority_3 }
}
increase_crown_authority_effect = yes
}
else = {
add_dread = major_dread_gain
}
capital_province = {
add_province_modifier = {
modifier = elite_foreign_guard_modifier
}
}
custom_tooltip = bp2_yearly.6080.add_both_courtiers
hidden_effect = {
add_courtier = scope:foreign_mercenary_1
add_courtier = scope:foreign_mercenary_2
}
custom_tooltip = bp2_yearly.6080.hook_removal_vassals
custom_tooltip = bp2_yearly.6080.hook_removal
custom_tooltip = bp2_yearly.6080.truce_removal
hidden_effect = {
every_vassal = {
limit = {
has_hook = root
is_ai = yes
culture != scope:advanced_culture
}
remove_hook = { target = root }
}
every_vassal = {
limit = {
root = {
has_hook = prev
}
culture != scope:advanced_culture
is_ai = yes
}
root = {
remove_hook = { target = prev}
}
}
every_vassal = {
limit = {
has_truce = root
culture != scope:advanced_culture
is_ai = yes
}
cancel_truce_both_ways = root
}
every_vassal = {
limit = {
root = {
has_truce = prev
}
culture != scope:advanced_culture
is_ai = yes
}
root = {
cancel_truce_both_ways = prev
}
}
}
add_legitimacy = major_legitimacy_loss
custom_tooltip = bp2_yearly.6050.reform_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reform_counter
add = 1
}
}
# make it possible to get new maa traditions in the tradition event
add_character_flag = foreign_maa_reforms
stress_impact = {
just = major_stress_impact_gain
fickle = medium_stress_impact_gain
content = medium_stress_impact_gain
craven = medium_stress_impact_gain
humble = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_boldness = 1
ai_honor = -1
}
modifier = {
factor = 0
OR = {
has_trait = just
has_trait = fickle
has_trait = content
has_trait = craven
has_trait = humble
}
}
}
}
#I don't want to see violence break out between my people
option = {
name = bp2_yearly.6080.d
flavor = bp2_yearly.6080.d.tt
add_character_modifier = {
modifier = common_noble_cause_modifier
years = 30
}
add_prestige = medium_prestige_gain
custom_tooltip = bp2_yearly.6050.reaffirmation_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reaffirmation_counter
add = 1
}
}
add_character_flag = rejecting_foreign_maa_reforms
stress_impact = {
vengeful = major_stress_impact_gain
sadistic = medium_stress_impact_gain
arbitrary = medium_stress_impact_gain
ambitious = medium_stress_impact_gain
wrathful = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = 1
ai_honor = 1
}
modifier = {
factor = 0
OR = {
has_trait = vengeful
has_trait = sadistic
has_trait = arbitrary
has_trait = ambitious
has_trait = wrathful
}
}
}
}
after = {
if = {
limit = {
NOR = {
scope:foreign_mercenary_1 ?= {
is_courtier_of = root
}
scope:foreign_mercenary_2 ?= {
is_courtier_of = root
}
}
}
scope:foreign_mercenary_1 = {
silent_disappearance_effect = yes
}
scope:foreign_mercenary_2 = {
silent_disappearance_effect = yes
}
}
else = {
scope:foreign_mercenary_1 = {
remove_character_flag = wear_armor
}
scope:foreign_mercenary_2 = {
remove_character_flag = wear_armor
}
}
}
}
#####################################
# A Birthright, Renewed #
# by Jason Cantalini #
# 6090 #
#####################################
scripted_trigger bp2_yearly_6090_vassal = {
is_imprisoned = no
age > 13
is_at_war = no
culture = root.culture
}
# You've chosen enough reaffirmation options to engender disinterest from the admired culture and the devotion of your people
bp2_yearly.6090 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6090.t
desc = {
desc = bp2_yearly.6090.desc
first_valid = {
triggered_desc = {
trigger = {
exists = scope:advanced_court_owner
}
desc = bp2_yearly.6090.burn_letters
}
desc = bp2_yearly.6090.burn_else
}
triggered_desc = {
trigger = {
has_character_flag = had_event_bp2_yearly_6070
}
desc = bp2_yearly.6090.reaffirm_social
}
triggered_desc = {
trigger = {
has_character_flag = had_event_bp2_yearly_6050
}
desc = bp2_yearly.6090.reaffirm_realm
}
triggered_desc = {
trigger = {
has_character_flag = had_event_bp2_yearly_6060
}
desc = bp2_yearly.6090.reaffirm_ritual
}
triggered_desc = {
trigger = {
has_character_flag = had_event_bp2_yearly_6080
}
desc = bp2_yearly.6090.reaffirm_maa
}
desc = bp2_yearly.6090.outro
}
theme = vassal
override_background = {
reference = bp1_bonfire
}
left_portrait = {
character = root
animation = sword_coup_degrace
}
right_portrait = {
character = scope:celebrating_noble
animation = throne_room_cheer_2
}
lower_right_portrait = {
character = scope:advanced_court_owner
}
immediate = {
play_music_cue = "mx_cue_epic_sacral_moment"
add_character_flag = had_event_bp2_yearly_6090
remove_variable = adopted_cultural_fashion
save_scope_as = root_scope
if = {
limit = {
any_powerful_vassal = {
bp2_yearly_6090_vassal = yes
opinion = {
target = root
value >= 0
}
}
}
random_powerful_vassal = {
limit = {
bp2_yearly_6090_vassal = yes
opinion = {
target = root
value >= 0
}
}
save_scope_as = celebrating_noble
}
}
else_if = {
limit = {
any_vassal = {
bp2_yearly_6090_vassal = yes
opinion = {
target = root
value >= 0
}
}
}
random_vassal = {
limit = {
bp2_yearly_6090_vassal = yes
opinion = {
target = root
value >= 0
}
}
save_scope_as = celebrating_noble
}
}
else_if = {
limit = {
any_powerful_vassal = {
bp2_yearly_6090_vassal = yes
}
}
random_powerful_vassal = {
limit = {
bp2_yearly_6090_vassal = yes
}
save_scope_as = celebrating_noble
}
}
else_if = {
limit = {
any_vassal = {
bp2_yearly_6090_vassal = yes
}
}
random_vassal = {
limit = {
bp2_yearly_6090_vassal = yes
}
save_scope_as = celebrating_noble
}
}
else_if = {
limit = {
any_courtier = {
bp2_yearly_6090_vassal = yes
opinion = {
target = root
value >= 0
}
}
}
random_courtier = {
limit = {
bp2_yearly_6090_vassal = yes
opinion = {
target = root
value >= 0
}
}
save_scope_as = celebrating_noble
}
}
else_if = {
limit = {
any_courtier = {
bp2_yearly_6090_vassal = yes
}
}
random_courtier = {
limit = {
bp2_yearly_6090_vassal = yes
}
save_scope_as = celebrating_noble
}
}
var:advanced_culture = {
save_scope_as = advanced_culture
}
var:childhood_location = {
save_scope_as = childhood_location
}
scope:advanced_culture.culture_head = {
save_scope_as = advanced_court_owner
}
if = {
limit = {
culture.culture_head = root
}
culture = {
change_cultural_acceptance = {
target = scope:advanced_culture
value = low_negative_culture_acceptance
desc = cultural_acceptance_loss_rejected_influence
}
}
}
give_nickname = nick_the_true_culture
create_character_memory = {
type = reaffirmed_cultural_identity
participants = { other_culture_head = scope:advanced_court_owner }
}
}
#Your culture is still born anew - as united conquerors!
option = {
name = {
trigger = {
culture = {
has_cultural_pillar = ethos_courtly
}
}
text = bp2_yearly.6090.a.virtue
}
name = {
trigger = {
culture = {
OR = {
has_cultural_pillar = ethos_bureaucratic
has_cultural_pillar = ethos_egalitarian
}
}
}
text = bp2_yearly.6090.a.governed
}
name = {
trigger = {
culture = {
has_cultural_pillar = ethos_communal
}
}
text = bp2_yearly.6090.a.kin
}
name = {
trigger = {
culture = {
has_cultural_pillar = ethos_bellicose
}
}
text = bp2_yearly.6090.a.bow
}
name = {
trigger = {
culture = {
has_cultural_pillar = ethos_spiritual
}
}
text = bp2_yearly.6090.a.zeal
}
name = {
trigger = {
culture = {
NOR = {
has_cultural_pillar = ethos_courtly
has_cultural_pillar = ethos_egalitarian
has_cultural_pillar = ethos_communal
has_cultural_pillar = ethos_bureaucratic
has_cultural_pillar = ethos_bellicose
has_cultural_pillar = ethos_spiritual
}
}
}
text = bp2_yearly.6090.a.strength
}
flavor = bp2_yearly.6090.a.tt
add_character_modifier = {
modifier = uniter_and_conqueror_modifier
}
if = {
limit = {
has_character_flag = used_lifetime_invasion
}
custom_tooltip = bp2_yearly.6090.tribal_invasion
}
else_if = {
limit = {
NOR = {
government_has_flag = government_is_tribal
faith = {
has_doctrine_parameter = invasion_cb_enabled
}
}
}
custom_tooltip = bp2_yearly.6090.non_tribal_invasion
}
else_if = {
limit = {
NOT = {
has_trait = flexible_leader
}
}
add_trait = flexible_leader
}
else_if = {
limit = {
NOT = {
has_trait = holy_warrior
}
}
add_trait = holy_warrior
}
else_if = {
limit = {
NOT = {
has_trait = aggressive_attacker
}
}
add_trait = aggressive_attacker
}
else_if = {
limit = {
NOT = {
has_trait = organizer
}
}
add_trait = organizer
}
custom_tooltip = bp2_yearly.6090.no_invasion_req
#unlock invasion cb
if = {
limit = {
has_character_flag = used_lifetime_invasion
}
remove_character_flag = used_lifetime_invasion
}
add_character_flag = bp2_inspired_culture_for_conquest
if = {
limit = {
highest_held_title_tier >= tier_empire
}
spawn_army = {
name = event_troop_default_name
levies = 4264
location = root.capital_province
origin = root.capital_province
}
}
else_if = {
limit = {
highest_held_title_tier = tier_kingdom
}
spawn_army = {
name = event_troop_default_name
levies = 3126
location = root.capital_province
origin = root.capital_province
}
}
else_if = {
limit = {
highest_held_title_tier = tier_duchy
}
spawn_army = {
name = event_troop_default_name
levies = 2123
location = root.capital_province
origin = root.capital_province
}
}
else = {
spawn_army = {
name = event_troop_default_name
levies = 1067
location = root.capital_province
origin = root.capital_province
}
}
add_prestige = medium_prestige_gain
if = {
limit = {
exists = scope:advanced_court_owner
can_set_relation_rival_trigger = { CHARACTER = scope:advanced_court_owner }
scope:advanced_court_owner = {
is_ai = yes
}
}
set_relation_rival = {
target = scope:advanced_court_owner
reason = rival_rejected_culture_influence
}
}
if = {
limit = {
culture.culture_head = root
}
trigger_event = {
id = bp2_yearly.6091
days = { 10 20 }
}
}
stress_impact = {
ambitious = minor_stress_impact_loss
greedy = miniscule_stress_impact_loss
arrogant = miniscule_stress_impact_loss
content = major_stress_impact_gain
craven = major_stress_impact_gain
humble = major_stress_impact_gain
compassionate = minor_stress_impact_gain
forgiving = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_vengefulness = 1
ai_boldness = 1
}
modifier = {
factor = 0
OR = {
has_trait = content
has_trait = craven
has_trait = humble
has_trait = forgiving
has_trait = compassionate
}
}
}
}
#Focus on preserving your family and your culture
option = {
name = bp2_yearly.6090.b
flavor = bp2_yearly.6090.b.tt
add_character_modifier = {
modifier = a_cultures_great_defender_modifier
}
every_held_title = {
title_tier = county
limit = {
culture = root.culture
}
custom = custom.every_same_culture_held_county
add_county_modifier = {
modifier = inspired_defenders_modifier
years = 30
}
}
dynasty = {
add_dynasty_prestige = massive_dynasty_prestige_gain
}
if = {
limit = {
culture.culture_head = root
}
trigger_event = {
id = bp2_yearly.6091
days = { 10 20 }
}
}
stress_impact = {
compassionate = minor_stress_impact_loss
content = minor_stress_impact_loss
paranoid = minor_stress_impact_loss
ambitious = major_stress_impact_gain
greedy = medium_stress_impact_gain
vengeful = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = 1
ai_energy = -1
}
modifier = {
factor = 0
OR = {
has_trait = ambitious
has_trait = arrogant
has_trait = greedy
has_trait = vengeful
}
}
}
}
after = {
random_owned_story = {
type = story_foreign_raised_reformer
end_story = yes
}
}
}
#####################################
# A People Immutable #
# by Jason Cantalini #
# 6091 #
#####################################
# Informing you which traditions are now cheaper
bp2_yearly.6091 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6091.t
desc = {
desc = bp2_yearly.6091
first_valid = {
triggered_desc = {
trigger = {
has_character_modifier = uniter_and_conqueror_modifier
}
desc = bp2_yearly.6091.dominance
}
desc = bp2_yearly.6091.defense
}
}
theme = vassal
override_background = {
reference = throne_room
}
left_portrait = {
character = root
animation = chaplain
}
trigger = {
culture.culture_head = root
is_imprisoned = no
is_incapable = no
OR = {
has_character_modifier = uniter_and_conqueror_modifier
has_character_modifier = a_cultures_great_defender_modifier
}
NOT = { has_character_flag = had_event_bp2_yearly_6091 }
}
immediate = {
add_character_flag = had_event_bp2_yearly_6091
save_scope_as = root_scope
}
#Your culture is still born anew - as united conquerors!
option = {
name = bp2_yearly.6091.a
flavor = bp2_yearly.6091.a.tt
if = {
limit = {
has_character_modifier = uniter_and_conqueror_modifier
}
custom_tooltip = bp2_yearly.6091.aggressive
culture = {
set_variable = aggressive_traditionalist_discount
}
}
if = {
limit = {
has_character_modifier = a_cultures_great_defender_modifier
}
custom_tooltip = bp2_yearly.6091.defensive
culture = {
set_variable = defensive_traditionalist_discount
}
}
stress_impact = {
}
ai_chance = {
base = 10
}
}
}
#####################################
# My Bulgarians, Reborn! #
# by Jason Cantalini #
# 6100 #
#####################################
# You've chosen enough reform options to complete your series of reforms!
bp2_yearly.6100 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6100.t
desc = {
desc = bp2_yearly.6100.desc
triggered_desc = {
trigger = {
has_character_flag = foreign_social_reforms
}
desc = bp2_yearly.6100.reform_court
}
triggered_desc = {
trigger = {
has_character_flag = foreign_maa_reforms
}
desc = bp2_yearly.6100.reform_maa
}
triggered_desc = {
trigger = {
has_character_flag = foreign_ritual_reforms
}
desc = bp2_yearly.6100.reform_faith
}
triggered_desc = {
trigger = {
has_character_flag = foreign_realm_reforms
}
desc = bp2_yearly.6100.reform_realm
}
desc = bp2_yearly.6100.outro
}
theme = realm
override_background = {
reference = throne_room
}
left_portrait = {
character = root
animation = wedding_happy_cry
}
lower_right_portrait = {
character = scope:advanced_court_owner
}
trigger = {
NOT = { has_character_flag = had_event_bp2_yearly_6100 }
}
immediate = {
play_music_cue = "mx_cue_epic_sacral_moment"
add_character_flag = had_event_bp2_yearly_6100
save_scope_as = root_scope
var:advanced_culture = {
save_scope_as = advanced_culture
}
var:childhood_location = {
save_scope_as = childhood_location
}
scope:advanced_culture.culture_head = {
save_scope_as = advanced_court_owner
}
if = {
limit = {
culture.culture_head = root
}
culture = {
change_cultural_acceptance = {
target = scope:advanced_culture
value = medium_positive_culture_acceptance
desc = cultural_acceptance_gain_completed_reform
}
}
if = {
limit = {
culture = {
can_get_innovation_from = scope:advanced_culture
}
}
hidden_effect = {
culture = {
get_random_innovation_from = scope:advanced_culture
}
}
}
if = {
limit = {
culture = {
can_get_innovation_from = scope:advanced_culture
}
}
custom_tooltip = bp2_yearly.6100.gained_2_innovations
hidden_effect = {
culture = {
get_random_innovation_from = scope:advanced_culture
}
}
}
else = {
custom_tooltip = bp2_yearly.6100.gained_1_innovation
}
}
give_nickname = nick_the_reformer
create_character_memory = {
type = reformed_culture_and_realm
participants = { other_culture_head = scope:advanced_court_owner }
}
}
#Spend a final investment to make sure your reforms reach your whole culture
option = {
name = bp2_yearly.6100.a
flavor = bp2_yearly.6100.a.tt
if = {
limit = {
culture.culture_head = root
culture = {
can_get_innovation_from = scope:advanced_culture
}
}
hidden_effect = {
culture = {
get_random_innovation_from = scope:advanced_culture
}
}
if = {
limit = {
culture = {
can_get_innovation_from = scope:advanced_culture
}
}
custom_tooltip = bp2_yearly.6100.2_more_innovations
hidden_effect = {
culture = {
get_random_innovation_from = scope:advanced_culture
}
}
}
else = {
custom_tooltip = bp2_yearly.6100.1_more_innovation
}
remove_treasury_or_gold = massive_treasury_or_gold_value
add_legitimacy = major_legitimacy_loss
}
every_held_title = {
title_tier = county
limit = {
culture = root.culture
}
custom = custom.every_same_culture_held_county
add_county_modifier = {
modifier = flourishing_settlements_modifier
years = 50
}
}
dynasty = {
add_dynasty_prestige = major_dynasty_prestige_gain
}
add_prestige = monumental_prestige_loss
stress_impact = {
content = major_stress_impact_gain
fickle = minor_stress_impact_gain
greedy = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_boldness = 1
ai_energy = 1
}
modifier = {
factor = 0
OR = {
has_trait = content
has_trait = fickle
has_trait = greedy
}
}
}
}
#You've already done enough
option = {
name = bp2_yearly.6100.b
flavor = bp2_yearly.6100.b.tt
capital_county = {
add_county_modifier = {
modifier = flourishing_settlements_modifier
years = 50
}
}
dynasty = {
add_dynasty_prestige = medium_dynasty_prestige_gain
}
stress_impact = {
ambitious = medium_stress_impact_gain
stubborn = medium_stress_impact_gain
diligent = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_energy = -1
ai_zeal = -1
}
modifier = {
factor = 0
OR = {
has_trait = ambitious
has_trait = stubborn
has_trait = diligent
}
}
}
}
after = {
random_owned_story = {
type = story_foreign_raised_reformer
end_story = yes
}
}
}
#####################################
# Foreign Reform #
# by Jason Cantalini #
# 6110 #
#####################################
# Recurring tradition gain event, changing culture to be like foreign one
bp2_yearly.6110 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6110.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
has_character_flag = considering_reform_realm
}
desc = bp2_yearly.6110.realm
}
triggered_desc = {
trigger = {
has_character_flag = considering_reform_maa
}
desc = bp2_yearly.6110.combat
}
triggered_desc = {
trigger = {
has_character_flag = considering_reform_social
}
desc = bp2_yearly.6110.social
}
triggered_desc = {
trigger = {
has_character_flag = considering_reform_ritual
}
desc = bp2_yearly.6110.ritual
}
desc = bp2_yearly.6110.regional
}
}
theme = diplomacy
override_background = {
trigger = {
has_character_flag = considering_reform_realm
}
reference = relaxing_room
}
override_background = {
trigger = {
has_character_flag = considering_reform_maa
}
reference = courtyard
}
override_background = {
trigger = {
has_character_flag = considering_reform_ritual
}
reference = temple
}
override_background = {
trigger = {
has_character_flag = considering_reform_social
}
reference = market
}
override_background = {
trigger = {
has_character_flag = considering_reform_regional
}
reference = throne_room
}
left_portrait = {
character = root
triggered_animation = {
trigger = {
has_character_flag = considering_reform_realm
}
animation = worry
}
triggered_animation = {
trigger = {
has_character_flag = considering_reform_maa
}
animation = throne_room_two_handed_passive_1
}
triggered_animation = {
trigger = {
has_character_flag = considering_reform_ritual
}
animation = personality_cynical
}
triggered_animation = {
trigger = {
has_character_flag = considering_reform_social
}
animation = stress
}
triggered_animation = {
trigger = {
has_character_flag = considering_reform_regional
}
animation = thinking
}
}
trigger = {
has_bp2_dlc_trigger = yes
is_landed = yes
is_imprisoned = no
is_incapable = no
is_at_war = no
culture.culture_head = {
this = root
}
OR = {
NOT = { exists = var:new_traditions }
#Have you gained the max # of traditions (3) from this cycle already?
var:new_traditions < 3
}
exists = var:advanced_culture
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
culture = {
free_tradition_slot > 0
}
OR = {
AND = {
has_character_flag = foreign_realm_reforms
scope:temp_advanced_culture = {
any_tradition = {
root = {
can_embrace_tradition = {
tradition = prev
}
}
has_tradition_category = realm
NOR = {
root = {
is_target_in_variable_list = {
name = rejected_traditions
target = prev
}
}
root.culture = {
has_cultural_tradition = prev
}
}
}
}
}
AND = {
has_character_flag = foreign_maa_reforms
scope:temp_advanced_culture = {
any_tradition = {
root = {
can_embrace_tradition = prev
}
has_tradition_category = combat
NOR = {
root = {
is_target_in_variable_list = {
name = rejected_traditions
target = prev
}
}
root.culture = {
has_cultural_tradition = prev
}
}
}
}
}
AND = {
has_character_flag = foreign_social_reforms
scope:temp_advanced_culture = {
any_tradition = {
root = {
can_embrace_tradition = {
tradition = prev
}
}
has_tradition_category = societal
NOR = {
root = {
is_target_in_variable_list = {
name = rejected_traditions
target = prev
}
}
root.culture = {
has_cultural_tradition = prev
}
}
}
}
}
AND = {
has_character_flag = foreign_ritual_reforms
scope:temp_advanced_culture = {
any_tradition = {
root = {
can_embrace_tradition = {
tradition = prev
}
}
has_tradition_category = ritual
NOR = {
root = {
is_target_in_variable_list = {
name = rejected_traditions
target = prev
}
}
root.culture = {
has_cultural_tradition = prev
}
}
}
}
}
#Regional traditions aren't triggered by another event, no character flag needed - THEY ARE TOO ICONIC
AND = {
scope:temp_advanced_culture = {
any_tradition = {
root = {
can_embrace_tradition = {
tradition = prev
}
}
has_tradition_category = regional
NOR = {
root = {
is_target_in_variable_list = {
name = rejected_traditions
target = prev
}
}
root.culture = {
has_cultural_tradition = prev
}
}
}
}
}
}
}
immediate = {
if = {
limit = {
NOT = { exists = var:new_traditions }
}
set_variable = {
name = new_traditions
value = 0
}
}
save_scope_as = root_scope
var:advanced_culture = {
save_scope_as = advanced_culture
}
var:childhood_location = {
save_scope_as = childhood_location
}
#Save the shiny new traditions
bp2_save_traditions_to_consider_effect = yes
}
#We do this thing now too
option = {
name = bp2_yearly.6110.a
culture = {
add_culture_tradition = scope:considered_tradition_1
}
add_to_variable_list = {
name = new_traditions
target = scope:considered_tradition_1
}
scope:advanced_culture = {
change_cultural_acceptance = {
target = root.culture
value = miniscule_positive_culture_acceptance
desc = cultural_acceptance_gain_adapted_tradition
}
}
if = {
limit = {
NOR = {
has_character_modifier = introduced_foreign_custom_modifier
has_character_modifier = repeated_foreign_reforms_modifier
has_character_modifier = assault_on_tradition_modifier
}
}
add_character_modifier = {
modifier = introduced_foreign_custom_modifier
years = 10
}
}
else_if = {
limit = {
has_character_modifier = introduced_foreign_custom_modifier
}
remove_character_modifier = introduced_foreign_custom_modifier
add_character_modifier = {
modifier = repeated_foreign_reforms_modifier
years = 10
}
}
else_if = {
limit = {
has_character_modifier = repeated_foreign_reforms_modifier
}
add_character_modifier = {
modifier = assault_on_tradition_modifier
years = 10
}
}
custom_tooltip = bp2_yearly.6050.reform_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reform_counter
add = 1
}
}
stress_impact = {
base = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_energy = 1
ai_boldness = 1
}
}
}
#We do this thing... instead of something we used to do
option = {
trigger = {
exists = scope:considered_tradition_2
}
name = bp2_yearly.6110.b
culture = {
add_culture_tradition = scope:considered_tradition_2
}
add_to_variable_list = {
name = new_traditions
target = scope:considered_tradition_2
}
scope:advanced_culture = {
change_cultural_acceptance = {
target = root.culture
value = miniscule_positive_culture_acceptance
desc = cultural_acceptance_gain_adapted_tradition
}
}
if = {
limit = {
NOR = {
has_character_modifier = introduced_foreign_custom_modifier
has_character_modifier = repeated_foreign_reforms_modifier
has_character_modifier = assault_on_tradition_modifier
}
}
add_character_modifier = {
modifier = introduced_foreign_custom_modifier
years = 10
}
}
else_if = {
limit = {
has_character_modifier = introduced_foreign_custom_modifier
}
remove_character_modifier = introduced_foreign_custom_modifier
add_character_modifier = {
modifier = repeated_foreign_reforms_modifier
years = 10
}
}
else_if = {
limit = {
has_character_modifier = repeated_foreign_reforms_modifier
}
add_character_modifier = {
modifier = assault_on_tradition_modifier
years = 10
}
}
custom_tooltip = bp2_yearly.6050.reform_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reform_counter
add = 1
}
}
stress_impact = {
base = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_energy = 1
ai_boldness = 1
}
}
}
#We do this thing... instead of some other thing we used to do
option = {
trigger = {
exists = scope:considered_tradition_3
}
name = bp2_yearly.6110.c
culture = {
add_culture_tradition = scope:considered_tradition_3
}
add_to_variable_list = {
name = new_traditions
target = scope:considered_tradition_3
}
scope:advanced_culture = {
change_cultural_acceptance = {
target = root.culture
value = miniscule_positive_culture_acceptance
desc = cultural_acceptance_gain_adapted_tradition
}
}
if = {
limit = {
NOR = {
has_character_modifier = introduced_foreign_custom_modifier
has_character_modifier = repeated_foreign_reforms_modifier
has_character_modifier = assault_on_tradition_modifier
}
}
add_character_modifier = {
modifier = introduced_foreign_custom_modifier
years = 10
}
}
else_if = {
limit = {
has_character_modifier = introduced_foreign_custom_modifier
}
remove_character_modifier = introduced_foreign_custom_modifier
add_character_modifier = {
modifier = repeated_foreign_reforms_modifier
years = 10
}
}
else_if = {
limit = {
has_character_modifier = repeated_foreign_reforms_modifier
}
add_character_modifier = {
modifier = assault_on_tradition_modifier
years = 10
}
}
custom_tooltip = bp2_yearly.6050.reform_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reform_counter
add = 1
}
}
stress_impact = {
base = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_energy = 1
ai_boldness = 1
}
}
}
#We do this thing... instead of some other thing we used to do
option = {
trigger = {
exists = scope:considered_tradition_4
}
name = bp2_yearly.6110.d
culture = {
add_culture_tradition = scope:considered_tradition_4
}
add_to_variable_list = {
name = new_traditions
target = scope:considered_tradition_4
}
scope:advanced_culture = {
change_cultural_acceptance = {
target = root.culture
value = miniscule_positive_culture_acceptance
desc = cultural_acceptance_gain_adapted_tradition
}
}
if = {
limit = {
NOR = {
has_character_modifier = introduced_foreign_custom_modifier
has_character_modifier = repeated_foreign_reforms_modifier
has_character_modifier = assault_on_tradition_modifier
}
}
add_character_modifier = {
modifier = introduced_foreign_custom_modifier
years = 10
}
}
else_if = {
limit = {
has_character_modifier = introduced_foreign_custom_modifier
}
remove_character_modifier = introduced_foreign_custom_modifier
add_character_modifier = {
modifier = repeated_foreign_reforms_modifier
years = 10
}
}
else_if = {
limit = {
has_character_modifier = repeated_foreign_reforms_modifier
}
add_character_modifier = {
modifier = assault_on_tradition_modifier
years = 10
}
}
custom_tooltip = bp2_yearly.6050.reform_path
random_owned_story = {
type = story_foreign_raised_reformer
change_variable = {
name = reform_counter
add = 1
}
}
stress_impact = {
base = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_energy = 1
ai_boldness = 1
}
}
}
#This is not something we want to start doing
option = {
name = bp2_yearly.6110.e
flavor = bp2_yearly.6110.e.tt
add_to_variable_list = {
name = rejected_traditions
target = scope:considered_tradition_1
}
add_to_variable_list = {
name = rejected_traditions
target = scope:considered_tradition_2
}
add_to_variable_list = {
name = rejected_traditions
target = scope:considered_tradition_3
}
add_to_variable_list = {
name = rejected_traditions
target = scope:considered_tradition_4
}
stress_impact = {
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = -1
ai_boldness = -1
}
}
}
after = {
if = {
limit = {
has_character_flag = considering_reform_realm
}
remove_character_flag = considering_reform_realm
}
if = {
limit = {
has_character_flag = considering_reform_maa
}
remove_character_flag = considering_reform_maa
}
if = {
limit = {
has_character_flag = considering_reform_social
}
remove_character_flag = considering_reform_social
}
if = {
limit = {
has_character_flag = considering_reform_ritual
}
remove_character_flag = considering_reform_ritual
}
if = {
limit = {
has_character_flag = considering_reform_regional
}
remove_character_flag = considering_reform_regional
}
}
}
#####################################
# Where Bonds Are Tested #
# by Jason Cantalini #
# 6120 #
#####################################
# Your hostage and his hostage-giver could be reunited... if you allow it
bp2_yearly.6120 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6120.t
desc = bp2_yearly.6120.desc
theme = hostage
override_background = {
trigger = {
OR = {
location = root.capital_province
location = scope:hostage_giver.capital_province
}
}
reference = corridor_day
}
override_background = {
trigger = {
NOR = {
location = root.capital_province
location = scope:hostage_giver.capital_province
}
}
reference = terrain_travel
}
left_portrait = {
character = root
animation = personality_dishonorable
}
right_portrait = {
character = scope:hostage
triggered_animation = {
trigger = {
scope:hostage = { age < 10 }
}
animation = clutching_toy
}
animation = personality_compassionate
}
lower_right_portrait = {
character = scope:hostage_giver
}
cooldown = {
years = 5
}
trigger = {
has_bp2_dlc_trigger = yes
is_adult = yes
is_landed_or_landless_administrative = yes
is_imprisoned = no
is_incapable = no
any_warden_hostage = {
age > 3
age <= 20
age < root.age
is_incapable = no
is_imprisoned = no
exists = home_court
is_close_or_extended_family_of = home_court
opinion = {
target = home_court
value > -30
}
home_court = {
age > 12
is_incapable = no
is_imprisoned = no
NOT = { is_at_war_with = root }
}
location = home_court.location
location = root.location
NOT = { has_character_flag = had_event_bp2_yearly_6120 }
}
NOT = {
location = {
NOT = { is_raided = no }
}
}
}
immediate = {
save_scope_as = warden
random_warden_hostage = {
limit = {
age > 3
age <= 20
is_incapable = no
is_imprisoned = no
exists = home_court
is_close_or_extended_family_of = home_court
opinion = {
target = home_court
value > -30
}
home_court = {
age > 12
is_incapable = no
is_imprisoned = no
}
location = home_court.location
location = root.location
NOT = { has_character_flag = had_event_bp2_yearly_6120 }
}
save_scope_as = hostage
home_court ?= {
save_scope_as = hostage_giver
}
}
scope:hostage = { add_character_flag = had_event_bp2_yearly_6120 }
}
#You are a sweetheart and are totally cool with this
option = {
trigger = {
OR = {
OR = {
has_trait = generous
has_trait = compassionate
has_trait = trusting
has_trait = content
has_trait = humble
has_trait = just
}
NOT = {
can_add_hook = {
type = favor_hook
target = scope:hostage_giver
}
}
}
}
name = bp2_yearly.6120.a
flavor = bp2_yearly.6120.a.tt
add_character_flag = allowing_hostage_reunion
scope:hostage = {
save_scope_as = right_portrait_character
}
save_scope_as = lower_portrait_character
scope:hostage = {
add_opinion = {
target = root
opinion = 20
modifier = grateful_opinion
}
}
scope:hostage_giver = {
add_opinion = {
target = root
opinion = 20
modifier = grateful_opinion
}
}
stress_impact = {
sadistic = medium_stress_impact_gain
callous = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = 1
ai_vengefulness = -1
}
modifier = {
factor = 0
OR = {
has_trait = sadistic
has_trait = callous
has_trait = paranoid
}
}
}
}
#You're a jerk and consider letting the relatives meet a favor on your part
option = {
trigger = {
can_add_hook = {
type = favor_hook
target = scope:hostage_giver
}
NOR = {
has_trait = generous
has_trait = compassionate
has_trait = trusting
has_trait = content
has_trait = humble
has_trait = just
}
}
name = bp2_yearly.6120.b
flavor = bp2_yearly.6120.b.tt
save_scope_as = right_portrait_character
scope:hostage = {
save_scope_as = lower_portrait_character
}
add_character_flag = hook_for_reunion
custom_tooltip = bp2_yearly.6120.hook
custom_tooltip = bp2_yearly.6120.hook_acceptance
scope:hostage_giver = {
add_opinion = {
target = root
opinion = -20
modifier = angry_opinion
}
}
stress_impact = {
generous = major_stress_impact_gain
compassionate = medium_stress_impact_gain
content = minor_stress_impact_gain
just = minor_stress_impact_gain
forgiving = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_greed = 1
ai_boldness = 1
}
modifier = {
factor = 2
scope:hostage_giver = {
ai_compassion >= low_positive_ai_value
}
}
modifier = {
factor = 0
OR = {
has_trait = forgiving
has_trait = compassionate
has_trait = content
has_trait = just
has_trait = forgiving
scope:hostage_giver = {
ai_compassion <= low_negative_ai_value
}
}
}
}
}
#You will try to outshine the hostage's relative in the encounter, affirming you've replaced them
option = {
name = bp2_yearly.6120.c
flavor = bp2_yearly.61020.c.tt
scope:hostage = {
save_scope_as = right_portrait_character
}
save_scope_as = lower_portrait_character
add_character_flag = intruding_on_reunion
duel = {
skill = diplomacy
target = scope:hostage_giver
45 = { #It works well
desc = bp2_yearly.6120.c.success
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
}
send_interface_toast = {
title = bp2_yearly.6120.c.success
left_icon = root
right_icon = scope:hostage_giver
scope:hostage_giver = {
add_opinion = {
target = root
opinion = 20
modifier = grateful_opinion
}
}
progress_towards_friend_effect = {
CHARACTER = scope:hostage
OPINION = 30
REASON = friend_love_more_than_home_court
}
}
}
55 = { #It doesn't go well
desc = bp2_yearly.6120.c.failure
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
}
send_interface_toast = {
title = bp2_yearly.6120.c.failure
left_icon = root
right_icon = scope:hostage_giver
scope:hostage = {
add_opinion = {
target = root
opinion = -20
modifier = annoyed_opinion
}
}
scope:hostage_giver = {
add_opinion = {
target = root
opinion = -20
modifier = annoyed_opinion
}
}
}
}
}
stress_impact = {
shy = major_stress_impact_gain
content = minor_stress_impact_gain
honest = minor_stress_impact_gain
humble = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_sociability = 1
ai_energy = 1
}
modifier = {
factor = 2
diplomacy >= 15
}
modifier = {
factor = 0
OR = {
has_trait = shy
has_trait = content
has_trait = honest
has_trait = humble
diplomacy < 5
}
}
modifier = {
factor = 0.5
diplomacy <= 10
}
}
}
#Contact with someone who's given you to me is forbidden
option = {
name = bp2_yearly.6120.d
flavor = bp2_yearly.6120.d.tt
save_scope_as = right_portrait_character
scope:hostage = {
save_scope_as = lower_portrait_character
}
add_character_flag = forbidding_reunion
add_dread = minor_dread_gain
scope:hostage = {
add_opinion = {
target = root
opinion = -30
modifier = angry_opinion
}
add_stress = medium_stress_impact_gain
random = {
chance = 10
increase_wounds_effect = { REASON = beaten }
}
}
scope:hostage_giver = {
add_opinion = {
target = root
opinion = -30
modifier = angry_opinion
}
}
stress_impact = {
trusting = major_stress_impact_gain
compassionate = medium_stress_impact_gain
generous = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_boldness = -1
ai_compassion = -1
}
modifier = {
factor = 0
OR = {
has_trait = trusting
has_trait = compassionate
has_trait = generous
}
}
}
}
after = {
scope:hostage_giver = {
trigger_event = bp2_yearly.6121
}
}
}
#####################################
# The Forgone Son #
# by Jason Cantalini #
# 6121 #
#####################################
#You might be reunited with a hostage you gave away
bp2_yearly.6121 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6121.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
scope:warden = {
has_character_flag = allowing_hostage_reunion
}
}
desc = bp2_yearly.6121.reunion
}
triggered_desc = {
trigger = {
scope:warden = {
has_character_flag = intruding_on_reunion
}
}
desc = bp2_yearly.6121.intrusion
}
triggered_desc = {
trigger = {
scope:warden = {
has_character_flag = hook_for_reunion
}
}
desc = bp2_yearly.6121.hook
}
triggered_desc = {
trigger = {
scope:warden = {
has_character_flag = forbidding_reunion
}
}
desc = bp2_yearly.6121.forbidden
}
}
}
theme = hostage
override_background = {
trigger = {
OR = {
location = root.capital_province
location = scope:hostage_giver.capital_province
}
}
reference = throne_room
}
override_background = {
trigger = {
NOR = {
location = root.capital_province
location = scope:hostage_giver.capital_province
}
}
reference = terrain_travel
}
left_portrait = {
character = root
triggered_animation = {
trigger = {
scope:warden = {
OR = {
has_character_flag = allowing_hostage_reunion
has_character_flag = intruding_on_reunion
}
}
has_trait = compassionate
}
animation = admiration
}
triggered_animation = {
trigger = {
scope:warden = {
OR = {
has_character_flag = allowing_hostage_reunion
has_character_flag = intruding_on_reunion
}
NOT = { has_trait = compassionate }
}
}
animation = personality_content
}
triggered_animation = {
trigger = {
scope:warden = {
OR = {
has_character_flag = hook_for_reunion
has_character_flag = forbidding_reunion
}
}
}
animation = war_attacker
}
}
right_portrait = {
character = scope:right_portrait_character
triggered_animation = {
trigger = {
scope:warden = {
OR = {
has_character_flag = allowing_hostage_reunion
has_character_flag = intruding_on_reunion
}
}
}
animation = wedding_happy_cry
}
triggered_animation = {
trigger = {
scope:warden = {
has_character_flag = hook_for_reunion
}
}
animation = scheme
}
triggered_animation = {
trigger = {
scope:warden = {
has_character_flag = forbidding_reunion
}
}
animation = dismissal
}
}
lower_right_portrait = {
character = scope:lower_portrait_character
}
trigger = {
has_bp2_dlc_trigger = yes
scope:hostage = {
is_alive = yes
is_hostage_of = scope:warden
}
scope:warden = {
is_alive = yes
}
}
immediate = {
}
#You're coming with me, kid
option = {
trigger = {
scope:warden = {
has_character_flag = allowing_hostage_reunion
}
OR = {
has_trait = compassionate
has_trait = arbitrary
has_trait = eccentric
has_relation_friend = scope:hostage
}
NOR = {
has_trait = just
has_relation_friend = scope:warden
location.county.holder = scope:warden
location.county.holder.liege = scope:warden
location.county.holder.top_liege = scope:warden
}
}
name = bp2_yearly.6121.a
flavor = bp2_yearly.6121.a.tt
add_character_flag = rescuing_hostage
trigger_event = bp2_yearly.6122
bp2_return_hostage_effect = { HOSTAGE = scope:hostage }
add_prestige = major_prestige_loss
if = {
limit = {
can_set_relation_rival_trigger = { CHARACTER = scope:warden }
}
set_relation_rival = {
reason = rival_stole_hostage
target = scope:warden
}
}
if = {
limit = {
can_set_relation_friend_trigger = { CHARACTER = scope:hostage }
}
set_relation_friend = {
reason = friend_defied_warden_for_love
target = scope:hostage
}
}
else = {
scope:hostage = {
add_opinion = {
target = root
opinion = 40
modifier = love_opinion
}
}
}
stress_impact = {
callous = medium_stress_impact_gain
content = minor_stress_impact_gain
craven = medium_stress_impact_gain
calm = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_boldness = 1
ai_compassion = 1
}
modifier = {
factor = 0
OR = {
has_trait = callous
has_trait = content
has_trait = craven
has_trait = calm
}
}
}
}
#A big gift to make hostage happy and flex on their warden
option = {
trigger = {
scope:warden = {
OR = {
has_character_flag = allowing_hostage_reunion
has_character_flag = intruding_on_reunion
}
}
}
name = bp2_yearly.6121.b
flavor = bp2_yearly.6121.b.tt
scope:warden = {
trigger_event = bp2_yearly.6123
}
dynasty = {
add_dynasty_prestige = miniscule_dynasty_prestige_gain
}
scope:hostage = {
add_opinion = {
target = root
opinion = 30
modifier = love_opinion
}
}
pay_short_term_gold = {
target = scope:hostage
gold = medium_gold_value
}
scope:warden = {
add_opinion = {
target = root
opinion = -20
modifier = annoyed_opinion
}
}
stress_impact = {
greedy = major_stress_impact_gain
temperate = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_greed = -1
}
modifier = {
factor = 0
OR = {
NOT = {
short_term_gold >= medium_gold_value
}
has_trait = greedy
has_trait = temperate
}
}
}
}
#Just makes me so happy to see the lil guy
option = {
trigger = {
scope:warden = {
OR = {
has_character_flag = allowing_hostage_reunion
has_character_flag = intruding_on_reunion
}
}
}
name = bp2_yearly.6121.c
scope:warden = {
trigger_event = bp2_yearly.6123
}
scope:hostage = {
add_opinion = {
target = root
opinion = 15
modifier = pleased_opinion
}
}
if = {
limit = {
NOR = {
has_trait = sadistic
has_trait = callous
}
}
stress_impact = {
base = medium_stress_impact_loss
generous = minor_stress_impact_gain
}
}
else = {
stress_impact = {
generous = minor_stress_impact_gain
}
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_greed = 1
ai_energy = -1
}
modifier = {
factor = 0
has_trait = generous
}
}
}
#I'll give the hook. It's worth seeing my family member
option = {
trigger = {
scope:warden = {
has_character_flag = hook_for_reunion
}
}
name = bp2_yearly.6121.d
flavor = bp2_yearly.6121.d.tt
add_character_flag = favor_for_hostage
trigger_event = bp2_yearly.6122
scope:hostage = {
add_opinion = {
target = root
opinion = 30
modifier = love_opinion
}
}
dynasty = {
add_dynasty_prestige = miniscule_dynasty_prestige_gain
}
scope:warden = {
add_hook = {
target = root
type = favor_hook
}
}
stress_impact = {
paranoid = major_stress_impact_gain
callous = medium_stress_impact_gain
arbitrary = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = 1
ai_greed = -1
}
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = callous
has_trait = arbitrary
}
}
}
}
#I'll sneakily see my family member!
option = {
trigger = {
scope:warden = {
OR = {
has_character_flag = hook_for_reunion
has_character_flag = forbidding_reunion
}
}
}
name = bp2_yearly.6121.e
flavor = bp2_yearly.6121.e.tt
duel = {
skill = intrigue
target = scope:warden
50 = { #It works well
desc = bp2_yearly.6121.e.success
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
}
send_interface_toast = {
title = bp2_yearly.6121.e.success
left_icon = root
right_icon = scope:hostage
add_stress = minor_stress_impact_loss
if = {
limit = {
can_set_relation_friend_trigger = { CHARACTER = scope:hostage }
}
set_relation_friend = {
reason = friend_defied_warden_for_love
target = scope:hostage
}
}
else = {
scope:hostage = {
add_opinion = {
target = root
opinion = 40
modifier = love_opinion
}
}
}
add_character_flag = sneaking_to_hostage
trigger_event = bp2_yearly.6122
}
}
50 = { #It doesn't go well
desc = bp2_yearly.6121.e.failure
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
}
send_interface_toast = {
title = bp2_yearly.6121.e.failure
left_icon = root
right_icon = scope:hostage
add_prestige = medium_prestige_loss
scope:warden = {
add_opinion = {
target = root
opinion = -20
modifier = angry_opinion
}
}
scope:hostage = {
add_opinion = {
target = root
opinion = 20
modifier = love_opinion
}
}
add_character_flag = failed_sneaking_to_hostage
scope:warden = {
trigger_event = bp2_yearly.6123
}
}
}
}
stress_impact = {
just = major_stress_impact_gain
honest = major_stress_impact_gain
content = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = -1
ai_boldness = 1
}
modifier = {
factor = 0
OR = {
has_trait = just
has_trait = honest
has_trait = content
intrigue <= 5
}
}
}
}
#I didn't need to see the hostage anyway, who cares...
option = {
trigger = {
scope:warden = {
OR = {
has_character_flag = hook_for_reunion
has_character_flag = forbidding_reunion
}
}
}
name = bp2_yearly.6121.f
flavor = bp2_yearly.6121.f.tt
scope:warden = {
trigger_event = bp2_yearly.6123
}
if = {
limit = {
scope:warden = {
has_character_flag = hook_for_reunion
}
}
scope:hostage = {
add_opinion = {
target = root
opinion = -20
modifier = disappointed_opinion
}
}
}
if = {
limit = {
opinion = {
target = scope:hostage
value >= 0
}
}
stress_impact = {
sadistic = minor_stress_impact_loss
callous = minor_stress_impact_loss
fickle = minor_stress_impact_loss
base = minor_stress_impact_gain
compassionate = miniscule_stress_impact_gain
loyal = miniscule_stress_impact_gain
}
}
else = {
stress_impact = {
compassionate = minor_stress_impact_gain
forgiving = miniscule_stress_impact_gain
}
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = -1
ai_energy = -1
}
modifier = {
factor = 0
OR = {
has_trait = compassionate
has_trait = loyal
has_trait = forgiving
}
}
}
}
}
#####################################
# Not Forgotten #
# by Jason Cantalini #
# 6122 #
#####################################
#You did something worth following up to see your hostage - or rescue them
bp2_yearly.6122 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6122.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
has_character_flag = rescuing_hostage
}
desc = bp2_yearly.6122.rescue
}
triggered_desc = {
trigger = {
has_character_flag = favor_for_hostage
}
desc = bp2_yearly.6121.intrusion
}
triggered_desc = {
trigger = {
has_character_flag = sneaking_to_hostage
}
desc = bp2_yearly.6122.sneaking
}
}
}
theme = hostage
override_background = {
trigger = {
OR = {
location = root.capital_province
location = scope:hostage_giver.capital_province
}
}
reference = corridor_night
}
override_background = {
trigger = {
NOR = {
location = root.capital_province
location = scope:hostage_giver.capital_province
}
}
reference = ep2_hunt_foggy_forest
}
left_portrait = {
character = root
animation = personality_forgiving
}
right_portrait = {
character = scope:hostage
animation = ecstasy
}
lower_right_portrait = {
character = scope:warden
}
trigger = {
has_bp2_dlc_trigger = yes
scope:hostage = {
is_alive = yes
}
scope:warden = {
is_alive = yes
}
}
#You're coming with me, kid
option = {
trigger = {
OR = {
has_trait = compassionate
has_trait = arbitrary
has_trait = eccentric
has_relation_friend = scope:hostage
}
NOR = {
has_trait = just
has_relation_friend = scope:warden
location.county.holder = scope:warden
location.county.holder.liege = scope:warden
location.county.holder.top_liege = scope:warden
has_character_flag = rescuing_hostage
has_character_flag = favor_for_hostage
}
}
name = bp2_yearly.6121.a
flavor = bp2_yearly.6121.a.tt
add_character_flag = rescuing_hostage
scope:warden = {
trigger_event = bp2_yearly.6123
}
bp2_return_hostage_effect = { HOSTAGE = scope:hostage }
add_prestige = major_prestige_loss
if = {
limit = {
can_set_relation_rival_trigger = { CHARACTER = scope:warden }
}
set_relation_rival = {
reason = rival_stole_hostage
target = scope:warden
}
}
if = {
limit = {
can_set_relation_friend_trigger = { CHARACTER = scope:hostage }
}
set_relation_friend = {
reason = friend_defied_warden_for_love
target = scope:hostage
}
}
else = {
scope:hostage = {
add_opinion = {
target = root
opinion = 40
modifier = love_opinion
}
}
}
stress_impact = {
callous = medium_stress_impact_gain
content = minor_stress_impact_gain
craven = medium_stress_impact_gain
calm = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_boldness = 1
ai_compassion = 1
}
modifier = {
factor = 0
OR = {
has_trait = callous
has_trait = content
has_trait = craven
has_trait = calm
}
}
}
}
#Just makes me so happy to see the lil guy
option = {
trigger = {
OR = {
has_character_flag = sneaking_to_hostage
has_character_flag = favor_for_hostage
}
}
name = bp2_yearly.6121.c
scope:warden = {
trigger_event = bp2_yearly.6123
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_boldness = -1
ai_compassion = -1
}
}
}
#You have rescued the hostage, nothing else to be done... for now
option = {
trigger = {
has_character_flag = rescuing_hostage
}
name = bp2_yearly.6122.c
scope:warden = {
trigger_event = bp2_yearly.6123
}
stress_impact = {
}
ai_chance = {
base = 10
}
}
}
#####################################
# The Scion of Peace #
# by Jason Cantalini #
# 6123 #
#####################################
#You did something worth following up to see your hostage - or rescue them
bp2_yearly.6123 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6123.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
scope:hostage_giver = { has_character_flag = rescuing_hostage }
}
desc = bp2_yearly.6123.stolen_hostage
}
triggered_desc = {
trigger = {
scope:hostage_giver = { has_character_flag = favor_for_hostage }
}
desc = bp2_yearly.6123.favor_accepted
}
triggered_desc = {
trigger = {
scope:hostage_giver = {
has_character_flag = failed_sneaking_to_hostage
}
}
desc = bp2_yearly.6123.sneaker
}
triggered_desc = {
trigger = {
OR = {
scope:warden = {
OR = {
has_character_flag = forbidding_reunion
has_character_flag = hook_for_reunion
}
}
scope:hostage_giver = {
has_character_flag = sneaking_to_hostage
}
}
}
desc = bp2_yearly.6123.forbidden_desc
}
desc = bp2_yearly.6123.desc
}
}
theme = hostage
override_background = {
trigger = {
OR = {
location = root.capital_province
location = scope:hostage_giver.capital_province
}
}
reference = courtyard
}
override_background = {
trigger = {
NOR = {
location = root.capital_province
location = scope:hostage_giver.capital_province
}
}
reference = ep2_hunt_foggy_forest
}
left_portrait = {
character = root
triggered_animation = {
trigger = {
OR = {
scope:hostage_giver = { has_character_flag = rescuing_hostage }
scope:hostage_giver = {
has_character_flag = failed_sneaking_to_hostage
}
}
}
animation = anger
}
triggered_animation = {
trigger = {
NOR = {
scope:hostage_giver = { has_character_flag = rescuing_hostage }
scope:hostage_giver = {
has_character_flag = failed_sneaking_to_hostage
}
}
}
animation = personality_honorable
}
}
right_portrait = {
character = scope:hostage_giver
animation = war_defender
}
lower_right_portrait = {
character = scope:hostage
}
trigger = {
has_bp2_dlc_trigger = yes
scope:hostage = {
is_alive = yes
}
scope:hostage_giver = {
is_alive = yes
}
}
immediate = {
if = {
limit = {
has_relation_rival = scope:hostage_giver
}
show_as_tooltip = {
set_relation_rival = {
reason = rival_stole_hostage
target = scope:hostage_giver
}
}
}
if = {
limit = {
scope:hostage = {
liege = scope:hostage_giver
}
}
custom_tooltip = bp2_yearly.6123.return_hostage
show_as_tooltip = {
scope:hostage_giver = {
add_prestige = major_prestige_loss
}
}
}
if = {
limit = {
scope:hostage_giver = { has_character_flag = failed_sneaking_to_hostage }
}
show_as_tooltip = {
scope:hostage_giver = {
add_prestige = medium_prestige_loss
}
}
}
if = {
limit = {
scope:hostage_giver = { has_character_flag = favor_for_hostage }
}
show_as_tooltip = {
scope:warden = {
add_hook = {
target = scope:hostage_giver
type = favor_hook
}
}
}
}
}
#You have rescued the hostage, nothing else to be done... for now
option = {
name = bp2_yearly.6123.a
remove_character_flag ?= forbidding_reunion
remove_character_flag ?= hook_for_reunion
remove_character_flag ?= hook_for_reunion
remove_character_flag ?= intruding_on_reunion
scope:hostage_giver = {
remove_character_flag ?= failed_sneaking_to_hostage
remove_character_flag ?= rescuing_hostage
remove_character_flag ?= sneaking_to_hostage
remove_character_flag ?= favor_for_hostage
}
if = {
limit = {
scope:hostage_giver = {
OR = {
has_character_flag = rescuing_hostage
has_character_flag = failed_sneaking_to_hostage
}
}
}
stress_impact = {
wrathful = minor_stress_impact_gain
vengeful = minor_stress_impact_gain
just = minor_stress_impact_gain
trusting = minor_stress_impact_gain
}
}
ai_chance = {
base = 10
}
}
}
#####################################
# Captive, Captivated #
# by Jason Cantalini #
# 6130 #
#####################################
scripted_trigger bp2_yearly_6130_hostage_trigger = {
is_adult = no
age > 5
is_incapable = no
is_imprisoned = no
save_temporary_scope_as = potential_hostage
root = {
any_close_family_member = {
bp2_yearly_6130_family_trigger = { HOSTAGE = scope:potential_hostage }
OR = {
AND = {
opinion = {
target = scope:potential_hostage
value >= 5
}
scope:potential_hostage = {
opinion = {
target = prev
value >= 5
}
}
}
has_relation_friend = scope:potential_hostage
}
}
}
}
scripted_trigger bp2_yearly_6130_family_trigger = {
NOT = { $HOSTAGE$ = this }
is_ai = yes
age > 5
is_adult = no
is_incapable = no
is_imprisoned = no
}
#Your hostage and one of your family members are becoming friends
bp2_yearly.6130 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6130.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
OR = {
scope:hostage = {
age >= scope:kin.age_plus_5
}
scope:kin = {
age >= scope:hostage.age_plus_5
}
}
}
desc = bp2_yearly.6130.desc.different_ages
}
desc = bp2_yearly.6130.desc
}
}
theme = hostage
override_background = {
reference = study
}
left_portrait = {
character = scope:kin
triggered_animation = {
trigger = {
age >= scope:hostage.age_plus_5
}
animation = personality_forgiving
}
triggered_animation = {
trigger = {
age < scope:hostage.age_plus_5
}
animation = laugh
}
}
right_portrait = {
character = scope:hostage
triggered_animation = {
trigger = {
age >= scope:kin.age_plus_5
}
animation = happy_teacher
}
triggered_animation = {
trigger = {
age < scope:kin.age_plus_5
}
animation = child_hobby_horse
}
}
cooldown = {
years = 10
}
trigger = {
has_bp2_dlc_trigger = yes
age > 14
is_incapable = no
is_imprisoned = no
is_landed_or_landless_administrative = yes
is_available = yes
any_warden_hostage = {
bp2_yearly_6130_hostage_trigger = yes
save_temporary_scope_as = hostage_temp
root = {
any_close_family_member = {
bp2_yearly_6130_family_trigger = { HOSTAGE = scope:hostage_temp }
}
}
}
}
immediate = {
random_warden_hostage = {
limit = {
bp2_yearly_6130_hostage_trigger = yes
save_temporary_scope_as = hostage_temp
root = {
any_close_family_member = {
bp2_yearly_6130_family_trigger = { HOSTAGE = scope:hostage_temp }
}
}
}
save_scope_as = hostage
}
#first try to get a future ruler who is friends with the hostage
random_close_family_member = {
limit = {
is_heir_of = root
has_relation_friend = scope:hostage
bp2_yearly_6130_family_trigger = { HOSTAGE = scope:hostage }
opinion = {
target = scope:hostage
value >= 5
}
scope:hostage = {
opinion = {
target = prev
value >= 5
}
}
}
alternative_limit = {
is_heir_of = root
bp2_yearly_6130_family_trigger = { HOSTAGE = scope:hostage }
opinion = {
target = scope:hostage
value >= 5
}
scope:hostage = {
opinion = {
target = prev
value >= 5
}
}
}
alternative_limit = {
has_relation_friend = scope:hostage
bp2_yearly_6130_family_trigger = { HOSTAGE = scope:hostage }
opinion = {
target = scope:hostage
value >= 5
}
scope:hostage = {
opinion = {
target = prev
value >= 5
}
}
}
alternative_limit = {
bp2_yearly_6130_family_trigger = { HOSTAGE = scope:hostage }
}
save_scope_as = kin
}
}
#You encourage their burgeoning friendship
option = {
name = bp2_yearly.6130.a
flavor = bp2_yearly.6130.a.tt
scope:kin = {
create_character_memory = {
type = hostage_oath_of_friendship
participants = { friend = scope:hostage }
}
}
scope:hostage = {
create_character_memory = {
type = hostage_oath_of_friendship
participants = { friend = scope:kin }
}
}
custom_tooltip = bp2_yearly.6130.alliance
scope:hostage = {
add_opinion = {
target = root
opinion = 10
modifier = grateful_opinion
}
}
if = {
limit = {
scope:kin = {
has_relation_friend = scope:hostage
}
}
scope:kin = {
set_relation_best_friend = scope:hostage
}
}
else_if = {
limit = {
scope:kin = {
can_set_relation_friend_trigger = { CHARACTER = scope:hostage }
}
}
scope:kin = {
set_relation_friend = scope:hostage
}
}
else = {
scope:hostage = {
add_opinion = {
target = scope:kin
opinion = 40
modifier = friendliness_opinion
}
}
scope:kin = {
add_opinion = {
target = scope:hostage
opinion = 40
modifier = friendliness_opinion
}
}
}
if = {
limit = {
exists = scope:hostage.home_court
OR = {
has_relation_rival = scope:hostage.home_court
has_relation_nemesis = scope:hostage.home_court
opinion = {
target = scope:hostage.home_court
value <= -90
}
}
NOT = {
has_trait = forgiving
}
}
stress_impact = {
base = medium_stress_impact_gain
vengeful = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
wrathful = minor_stress_impact_gain
stubborn = minor_stress_impact_gain
}
}
else = {
stress_impact = {
paranoid = minor_stress_impact_gain
disloyal = minor_stress_impact_gain
deceitful = minor_stress_impact_gain
}
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_vengefulness = -1
ai_sociability = 1
}
modifier = {
factor = 0.5
exists = scope:hostage.home_court
OR = {
has_relation_rival = scope:hostage.home_court
has_relation_nemesis = scope:hostage.home_court
opinion = {
target = scope:hostage.home_court
value <= -90
}
}
NOT = {
has_trait = forgiving
}
}
modifier = {
factor = 0
exists = scope:hostage.home_court
OR = {
has_relation_rival = scope:hostage.home_court
has_relation_nemesis = scope:hostage.home_court
opinion = {
target = scope:hostage.home_court
value <= -90
}
}
NOT = {
has_trait = forgiving
}
OR = {
has_trait = vengeful
has_trait = paranoid
has_trait = wrathful
has_trait = stubborn
}
}
modifier = {
factor = 0
has_trait = deceitful
}
}
}
#You think the child should focus on fitting in with your family instead
option = {
name = bp2_yearly.6130.b
flavor = bp2_yearly.6130.b.tt
scope:kin = {
every_close_family_member = {
custom = all_close_family_members
add_opinion = {
target = scope:kin
modifier = love_opinion
opinion = 20
}
}
}
custom_tooltip = bp2_yearly.6130.family_opinion
hidden_effect = {
scope:kin = {
every_close_family_member = {
reverse_add_opinion = {
target = scope:kin
modifier = love_opinion
opinion = 30
}
}
}
}
scope:hostage = {
add_opinion = {
target = root
opinion = -20
modifier = angry_opinion
}
}
if = {
limit = {
scope:kin = {
has_relation_friend = scope:hostage
}
}
scope:kin = {
remove_relation_friend = scope:hostage
}
}
else = {
scope:hostage = {
add_opinion = {
target = scope:kin
opinion = -20
modifier = angry_opinion
}
}
}
stress_impact = {
trusting = medium_stress_impact_gain
gregarious = minor_stress_impact_gain
ambitious = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_boldness = -1
ai_honor = 1
}
modifier = {
factor = 0
OR = {
has_trait = trusting
has_trait = gregarious
has_trait = ambitious
}
}
}
}
}
#####################################
# For Amity, Too Young #
# by Jason Cantalini #
# 6140 #
#####################################
scripted_trigger bp2_yearly_6140_hostage_trigger = {
is_adult = no
age > 5
is_incapable = no
is_imprisoned = no
save_temporary_scope_as = potential_hostage
root = {
any_close_family_member = {
bp2_yearly_6140_family_trigger = yes
OR = {
NOT = { has_relation_friend = scope:potential_hostage }
has_relation_victim = scope:potential_hostage
}
}
}
}
scripted_trigger bp2_yearly_6140_family_trigger = {
is_ai = yes
age > 5
is_adult = no
is_incapable = no
is_imprisoned = no
NOT = { has_trait = compassionate }
}
#Your hostage and one of your family members are becoming rivals
bp2_yearly.6140 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6140.t
desc = bp2_yearly.6140.desc
theme = hostage
override_background = {
trigger = {
NOR = {
faith = { religion = religion:hinduism_religion }
faith = { religion = religion:buddhism_religion }
faith = { religion = religion:jainism_religion }
}
}
reference = temple
}
override_background = {
trigger = {
OR = {
faith = { religion = religion:hinduism_religion }
faith = { religion = religion:buddhism_religion }
faith = { religion = religion:jainism_religion }
}
}
reference = ep2_holy_site_indian
}
left_portrait = {
character = scope:kin
animation = war_attacker
}
right_portrait = {
character = scope:hostage
animation = personality_vengeful
}
cooldown = {
years = 10
}
trigger = {
has_bp2_dlc_trigger = yes
age > 14
is_incapable = no
is_imprisoned = no
is_landed_or_landless_administrative = yes
is_available = yes
any_warden_hostage = {
exists = home_court
bp2_yearly_6140_hostage_trigger = yes
}
}
immediate = {
save_scope_as = root_scope
random_warden_hostage = {
limit = {
bp2_yearly_6140_hostage_trigger = yes
}
save_scope_as = hostage
}
scope:hostage.home_court = {
save_scope_as = home_court
}
#first try to get a future ruler who is bullies with the hostage
random_close_family_member = {
limit = {
is_heir_of = root
has_relation_victim = scope:hostage
bp2_yearly_6140_family_trigger = yes
AND = {
opinion = {
target = scope:hostage
value <= -5
}
scope:hostage = {
opinion = {
target = prev
value <= -5
}
}
}
}
alternative_limit = {
is_heir_of = root
bp2_yearly_6140_family_trigger = yes
AND = {
opinion = {
target = scope:hostage
value <= -5
}
scope:hostage = {
opinion = {
target = prev
value <= -5
}
}
}
}
alternative_limit = {
has_relation_victim = scope:hostage
bp2_yearly_6140_family_trigger = yes
AND = {
opinion = {
target = scope:hostage
value <= -5
}
scope:hostage = {
opinion = {
target = prev
value <= -5
}
}
}
}
alternative_limit = {
bp2_yearly_6140_family_trigger = yes
}
save_scope_as = kin
}
}
#You encourage their burgeoning hatred
option = {
name = bp2_yearly.6140.a
flavor = bp2_yearly.6140.a.tt
scope:kin = {
add_intrigue_skill = 1
}
scope:kin = {
add_opinion = {
target = root
opinion = 20
modifier = love_opinion
}
}
scope:hostage = {
add_opinion = {
target = root
opinion = -20
modifier = hate_opinion
}
}
if = {
limit = {
scope:kin = {
can_set_relation_victim_trigger = { CHARACTER = scope:hostage }
}
}
scope:kin = {
set_relation_victim = scope:hostage
}
}
else = {
scope:hostage = {
add_opinion = {
target = scope:kin
opinion = -40
modifier = hate_opinion
}
}
scope:kin = {
add_opinion = {
target = scope:hostage
opinion = -40
modifier = hate_opinion
}
}
}
stress_impact = {
compassionate = medium_stress_impact_gain
forgiving = minor_stress_impact_gain
trusting = minor_stress_impact_gain
craven = minor_stress_impact_gain
humble = miniscule_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = -1
ai_boldness = 1
}
modifier = {
factor = 0
OR = {
has_trait = forgiving
has_trait = compassionate
has_trait = trusting
has_trait = craven
}
}
}
}
#You try to teach the child about peace instead
option = {
name = bp2_yearly.6140.b
flavor = bp2_yearly.6140.b.tt
add_piety = minor_piety_gain
scope:hostage = {
add_opinion = {
target = root
opinion = 20
modifier = grateful_opinion
}
}
if = {
limit = {
scope:kin = {
has_relation_victim = scope:hostage
}
}
scope:kin = {
remove_relation_victim = scope:hostage
}
}
else = {
scope:hostage = {
add_opinion = {
target = scope:kin
opinion = 30
modifier = forgiven_opinion
}
}
scope:kin = {
add_opinion = {
target = scope:hostage
opinion = 30
modifier = forgiven_opinion
}
}
}
stress_impact = {
sadistic = minor_stress_impact_gain
callous = minor_stress_impact_gain
arbitrary = minor_stress_impact_gain
vengeful = minor_stress_impact_gain
wrathful = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
}
modifier = {
factor = 0
OR = {
has_trait = sadistic
has_trait = callous
has_trait = arbitrary
has_trait = vengeful
has_trait = wrathful
}
}
}
}
}
#####################################
# The Assurance Speaks #
# by Jason Cantalini #
# 6150 #
#####################################
scripted_trigger bp2_yearly_6150_hostage_trigger = {
age > 5
is_incapable = no
is_imprisoned = no
location = root.location
OR = {
has_trait = shy
has_trait = fickle
has_trait = paranoid
has_trait = depressed_1
has_trait = depressed_genetic
has_trait = hunchbacked
has_trait = scaly
has_trait = clubfooted
has_trait = albino
has_trait = dwarf
has_trait = beauty_bad_2
has_trait = beauty_bad_3
has_trait = pensive
stress_level >= 1
}
NOR = {
has_trait = gregarious
has_trait = brave
has_trait = diligent
has_trait = arrogant
has_trait = charming
}
}
#Your antisocial hostage is reticent to be stand by you, as a hostage should during ceremonies and petitions
bp2_yearly.6150 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6150.t
desc = bp2_yearly.6150.desc
theme = hostage
override_background = {
reference = throne_room
}
left_portrait = {
character = root
animation = personality_content
}
right_portrait = {
character = scope:hostage
animation = personality_coward
}
cooldown = {
years = 10
}
trigger = {
has_bp2_dlc_trigger = yes
age > 10
is_incapable = no
is_imprisoned = no
is_landed_or_landless_administrative = yes
is_at_war = no
is_available = yes
any_warden_hostage = {
exists = home_court
bp2_yearly_6150_hostage_trigger = yes
}
}
immediate = {
save_scope_as = root_scope
random_warden_hostage = {
limit = {
bp2_yearly_6150_hostage_trigger = yes
}
save_scope_as = hostage
}
scope:hostage.home_court = {
save_scope_as = home_court
}
}
#You tell the hostage being presented as part of your family will make them feel better
option = {
name = bp2_yearly.6150.a
flavor = bp2_yearly.6150.a.tt
add_character_modifier = {
modifier = hostages_accepted_into_family_modifier
years = 20
}
every_close_family_member = {
custom = all_close_family_members
add_opinion = {
target = scope:hostage
modifier = friendliness_opinion
opinion = 20
}
}
custom_tooltip = bp2_yearly.6150.family_opinion_hostage
hidden_effect = {
every_close_family_member = {
reverse_add_opinion = {
target = scope:hostage
modifier = friendliness_opinion
opinion = 10
}
}
}
stress_impact = {
paranoid = minor_stress_impact_gain
shy = miniscule_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_sociability = 1
}
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = shy
}
}
}
}
#You're fine with them spending more time studying with prelates instead
option = {
name = bp2_yearly.6150.b
flavor = bp2_yearly.6150.b.tt
add_character_modifier = {
modifier = eschews_flaunting_of_hostages_modifier
years = 20
}
scope:hostage = {
add_learning_skill = 1
add_diplomacy_skill = -1
}
stress_impact = {
stubborn = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
ambitious = miniscule_stress_impact_gain
gregarious = miniscule_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_greed = -1
}
modifier = {
factor = 0
OR = {
has_trait = stubborn
has_trait = arrogant
has_trait = ambitious
has_trait = arrogant
}
}
}
}
#Tell them to sit down and shut up
option = {
name = bp2_yearly.6150.c
flavor = bp2_yearly.6150.c.tt
add_prestige = minor_prestige_gain
scope:hostage = {
add_opinion = {
target = root
modifier = cruelty_opinion
opinion = -20
}
}
stress_impact = {
arrogant = minor_stress_impact_loss
sadistic = minor_stress_impact_loss
callous = minor_stress_impact_loss
compassionate = minor_stress_impact_gain
forgiving = minor_stress_impact_gain
gregarious = miniscule_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = -1
}
}
}
}
#####################################
# Worst of my Riders #
# by Jason Cantalini #
# 6160 #
#####################################
scripted_trigger bp2_yearly_6160_hostage_trigger = {
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
is_adult = no
age > 6
is_incapable = no
is_imprisoned = no
NOR = {
has_trait = just
has_trait = craven
}
save_temporary_scope_as = potential_hostage
root = {
any_close_family_member = {
bp2_yearly_6160_family_trigger = yes
age <= scope:potential_hostage.age
OR = {
AND = {
opinion = {
target = scope:potential_hostage
value >= -5
}
scope:potential_hostage = {
opinion = {
target = prev
value >= -5
}
}
}
has_relation_friend = scope:potential_hostage
}
}
}
}
scripted_trigger bp2_yearly_6160_family_trigger = {
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
is_ai = yes
age > 6
is_adult = no
is_incapable = no
is_imprisoned = no
NOR = {
has_trait = just
has_trait = craven
}
}
# your kid and your hostage snuck out of the palace to see your capital and rode a horse into a ditch trying to escape being caught
bp2_yearly.6160 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6160.t
desc = bp2_yearly.6160.desc
content_source = dlc_009
theme = hostage
override_background = {
reference = ep2_hunt_foggy_forest
}
left_portrait = {
character = scope:kin
animation = crying
}
right_portrait = {
character = scope:hostage
animation = jockey_loss
camera = camera_event_horse_right
}
cooldown = {
years = 5
}
trigger = {
has_bp2_dlc_trigger = yes
is_available_adult = yes
is_landed_or_landless_administrative = yes
any_warden_hostage = {
bp2_yearly_6160_hostage_trigger = yes
}
}
immediate = {
random_warden_hostage = {
limit = {
bp2_yearly_6160_hostage_trigger = yes
}
save_scope_as = hostage
}
#first try to get a future ruler who is friends with the hostage
random_close_family_member = {
limit = {
is_heir_of = root
has_relation_friend = scope:hostage
bp2_yearly_6160_family_trigger = yes
age <= scope:hostage.age
}
alternative_limit = {
is_heir_of = root
bp2_yearly_6160_family_trigger = yes
age <= scope:hostage.age
opinion = {
target = scope:hostage
value >= -5
}
scope:hostage = {
opinion = {
target = prev
value >= -5
}
}
}
alternative_limit = {
has_relation_friend = scope:hostage
bp2_yearly_6160_hostage_trigger = yes
age <= scope:hostage.age
}
alternative_limit = {
bp2_yearly_6160_family_trigger = yes
age <= scope:hostage.age
AND = {
opinion = {
target = scope:hostage
value >= -5
}
scope:hostage = {
opinion = {
target = prev
value >= -5
}
}
}
}
save_scope_as = kin
}
scope:kin = {
increase_wounds_no_death_effect = { REASON = horse_riding_accident }
}
}
#You will work off your debt to the horse's owner, wayward princes
option = {
name = bp2_yearly.6160.a
flavor = bp2_yearly.6160.a.tt
scope:kin = {
add_opinion = {
target = root
opinion = -25
modifier = angry_opinion
}
add_prestige = minor_prestige_loss
add_character_modifier = {
modifier = labored_with_the_commons_modifier
years = 30
}
random_list = {
10 = {
add_trait = strong
modifier = {
add = 10
OR = {
has_trait = brave
has_trait = rowdy
}
}
modifier = {
add = 10
has_focus = education_martial
}
}
20 = {
trigger = {
OR = {
has_trait = compassionate
has_trait = curious
has_trait = trusting
has_trait = calm
has_focus = education_learning
}
}
add_trait = lifestyle_herbalist
}
40 = { }
}
}
scope:hostage = {
add_opinion = {
target = root
opinion = -25
modifier = angry_opinion
}
add_prestige = minor_prestige_loss
add_character_modifier = {
modifier = labored_with_the_commons_modifier
years = 30
}
random_list = {
10 = {
add_trait = strong
modifier = {
add = 10
OR = {
has_trait = brave
has_trait = rowdy
}
}
modifier = {
add = 10
has_focus = education_martial
}
}
20 = {
trigger = {
OR = {
has_trait = compassionate
has_trait = curious
has_trait = trusting
has_trait = calm
has_focus = education_learning
}
}
add_trait = lifestyle_herbalist
}
40 = { }
}
}
stress_impact = {
arrogant = medium_stress_impact_gain
forgiving = minor_stress_impact_gain
lazy = miniscule_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_energy = 1
}
modifier = {
factor = 0
OR = {
has_trait = arrogant
has_trait = forgiving
has_trait = lazy
}
}
}
}
#You cast the hostage out
option = {
trigger = {
OR = {
has_trait = vengeful
has_trait = arbitrary
has_trait = loyal
has_trait = paranoid
has_trait = wrathful
}
NOR = {
has_trait = lifestyle_herbalist
has_trait = lifestyle_physician
}
}
name = bp2_yearly.6160.b
flavor = bp2_yearly.6160.b.tt
house = {
every_house_member = {
custom = all_house_members
limit = {
this != root
}
add_opinion = {
modifier = respect_opinion
target = root
opinion = 10
}
}
}
add_dread = miniscule_dread_gain
bp2_return_hostage_effect = { HOSTAGE = scope:hostage }
stress_impact = {
forgiving = major_stress_impact_gain
just = minor_stress_impact_gain
trusting = minor_stress_impact_gain
calm = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_vengefulness = 1
}
modifier = {
factor = 0
OR = {
has_trait = forgiving
has_trait = just
has_trait = trusting
has_trait = calm
}
}
}
}
#You repay the debt
option = {
trigger = {
NOR = {
has_trait = vengeful
has_trait = arbitrary
has_trait = loyal
has_trait = paranoid
has_trait = wrathful
has_trait = lifestyle_herbalist
has_trait = lifestyle_physician
}
}
name = bp2_yearly.6160.c
scope:kin = {
add_opinion = {
target = root
opinion = 10
modifier = grateful_opinion
}
}
scope:hostage = {
add_opinion = {
target = root
opinion = 10
modifier = grateful_opinion
}
}
remove_short_term_gold = minor_gold_value
stress_impact = {
greedy = minor_stress_impact_gain
callous = miniscule_stress_impact_gain
sadistic = miniscule_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = 1
}
modifier = {
factor = 0
OR = {
has_trait = greedy
has_trait = callous
has_trait = sadistic
}
}
}
}
#I'll just heal it
option = {
trigger = {
OR = {
has_trait = lifestyle_herbalist
has_trait = lifestyle_physician
}
}
name = bp2_yearly.6160.d
if = {
limit = {
capital_province.county = {
county_control < 100
}
}
capital_province.county = {
change_county_control = minor_county_control_gain
}
}
else_if = {
limit = {
has_lifestyle = learning_lifestyle
}
add_learning_lifestyle_xp = medium_lifestyle_xp
}
else = {
add_character_modifier = {
modifier = renowned_knowledge_of_horses_modifier
years = 20
}
}
stress_impact = {
vengeful = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_vengefulness = -1
}
modifier = {
factor = 0
has_trait = vengeful
}
}
}
#No harm done!
option = {
name = bp2_yearly.6160.e
flavor = bp2_yearly.6160.e.tt
scope:kin = {
add_opinion = {
target = root
opinion = 20
modifier = grateful_opinion
}
}
scope:hostage = {
add_opinion = {
target = root
opinion = 20
modifier = grateful_opinion
}
}
capital_province.county = {
change_county_control = minor_county_control_loss
}
stress_impact = {
just = medium_stress_impact_gain
diligent = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = -1
}
modifier = {
factor = 0
OR = {
has_trait = just
has_trait = diligent
}
}
}
}
}
#####################################
# A Pact with the Uncivilized #
# by Jason Cantalini #
# 6170 #
#####################################
scripted_trigger bp2_yearly_6170_hostage_trigger = {
age < 30
NOT = {
has_character_flag = had_event_bp2_yearly_6170
}
warden.culture = {
NOR = {
this = prev.culture
this = root.culture
}
}
OR = {
#Either root is not tribal and the warden is
AND = {
warden = {
government_has_flag = government_is_tribal
}
root = {
NOT = {
government_has_flag = government_is_tribal
}
}
}
#OR warden culture is in an earlier cultural era
AND = {
NOT = {
warden.culture = { has_cultural_era_or_later = culture_era_early_medieval }
}
root.culture = { has_cultural_era_or_later = culture_era_early_medieval }
}
AND = {
NOT = {
warden.culture = { has_cultural_era_or_later = culture_era_high_medieval }
}
root.culture = { has_cultural_era_or_later = culture_era_high_medieval }
}
AND = {
NOT = {
warden.culture = { has_cultural_era_or_later = culture_era_late_medieval }
}
root.culture = { has_cultural_era_or_later = culture_era_late_medieval }
}
#Or root has more innovations than the warden in the given era and a nicer capital
AND = {
#more innovations
root.culture.num_discovered_innovations > warden.culture.num_discovered_innovations
OR = {
# nicer court
warden = {
has_royal_court = yes
court_grandeur_current < root.court_grandeur_current
}
# is just straight up more important yo
AND = {
root = {
has_royal_court = yes
}
warden = {
has_royal_court = no
}
}
#more developed capital
# Does this need to be a larger value...?
warden.capital_province.county = {
development_level > root.capital_province.county.development_level
}
}
}
}
save_temporary_scope_as = potential_hostage
root = {
OR = {
any_spouse = {
is_parent_of = scope:potential_hostage
bp2_yearly_6170_potential_kin_trigger = yes
}
any_concubine = {
is_parent_of = scope:potential_hostage
bp2_yearly_6170_potential_kin_trigger = yes
}
any_close_family_member = {
age >= 14
bp2_yearly_6170_potential_kin_trigger = yes
}
any_courtier_or_guest = {
bp2_yearly_6170_potential_kin_trigger = yes
age >= 14
house = root.house
}
}
}
}
scripted_trigger bp2_yearly_6170_kin_trigger = {
NOR = {
has_trait = just
has_trait = humble
has_trait = calm
}
is_available = yes
opinion = {
target = scope:hostage
value > -50
}
culture != scope:warden.culture
}
scripted_trigger bp2_yearly_6170_potential_kin_trigger = {
NOR = {
has_trait = just
has_trait = humble
has_trait = calm
}
is_available = yes
opinion = {
target = scope:potential_hostage
value > -50
}
culture != scope:potential_hostage.warden.culture
}
#A family member is upset you sent kin as hostage to an uncivilized land
bp2_yearly.6170 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.6170.t
desc = bp2_yearly.6170.desc
content_source = dlc_009
theme = hostage
override_background = {
reference = relaxing_room
}
left_portrait = {
character = root
animation = stressed_teacher
}
right_portrait = {
character = scope:kin
animation = rage
}
lower_right_portrait = {
character = scope:hostage
}
lower_left_portrait = {
character = scope:warden
}
cooldown = {
years = 10
}
trigger = {
has_bp2_dlc_trigger = yes
age >= 13
is_landed_or_landless_administrative = yes
is_available = yes
any_home_court_hostage = {
bp2_yearly_6170_hostage_trigger = yes
}
}
immediate = {
save_scope_as = root_scope
random_home_court_hostage = {
limit = {
bp2_yearly_6170_hostage_trigger = yes
}
save_scope_as = hostage
}
scope:hostage.warden = {
save_scope_as = warden
}
#Save an upset family member, starting with those closest to you/the hostage
if = {
limit = {
any_spouse = {
is_parent_of = scope:hostage
bp2_yearly_6170_kin_trigger = yes
}
}
random_spouse = {
limit = {
is_parent_of = scope:hostage
bp2_yearly_6170_kin_trigger = yes
}
save_scope_as = kin
}
}
else_if = {
limit = {
any_concubine = {
is_parent_of = scope:hostage
bp2_yearly_6170_kin_trigger = yes
}
}
random_concubine = {
limit = {
is_parent_of = scope:hostage
bp2_yearly_6170_kin_trigger = yes
}
save_scope_as = kin
}
}
else_if = {
limit = {
any_close_family_member = {
bp2_yearly_6170_kin_trigger = yes
age >= 14
}
}
random_close_family_member = {
limit = {
bp2_yearly_6170_kin_trigger = yes
age >= 14
}
save_scope_as = kin
}
}
else_if = {
limit = {
any_courtier_or_guest = {
bp2_yearly_6170_kin_trigger = yes
age >= 14
house = root.house
}
}
random_courtier_or_guest = {
limit = {
bp2_yearly_6170_kin_trigger = yes
age >= 14
house = root.house
}
save_scope_as = kin
}
}
scope:hostage = {
add_character_flag = had_event_bp2_yearly_6170
}
}
#Fine, they shall represent our glory and sophistication in style
option = {
name = bp2_yearly.6170.a
flavor = bp2_yearly.6170.a.tt
scope:hostage = {
add_character_modifier = {
modifier = lavish_care_modifier
years = 10
}
}
if = {
limit = {
has_royal_court = yes
has_dlc_feature = royal_court
}
change_current_court_grandeur = minor_court_grandeur_gain
}
else = {
add_prestige = minor_prestige_gain
}
remove_short_term_gold = medium_gold_value
stress_impact = {
humble = medium_stress_impact_gain
greedy = minor_stress_impact_gain
temperate = minor_stress_impact_gain
content = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_greed = -1
ai_compassion = 1
}
modifier = {
factor = 0
OR = {
short_term_gold < medium_gold_value
has_trait = humble
has_trait = greedy
has_trait = temperate
has_trait = content
}
}
}
}
#They serve our family, as do you
option = {
name = bp2_yearly.6170.b
flavor = bp2_yearly.6170.b.tt
add_character_modifier = {
modifier = united_family_modifier
years = 10
}
custom_tooltip = bp2_yearly.6170.scheme_bonus
custom_tooltip = bp2_yearly.6170.leave_court_bonus
scope:kin = {
add_opinion = {
target = root
modifier = angry_opinion
opinion = -20
}
}
stress_impact = {
arbitrary = minor_stress_impact_gain
cynical = minor_stress_impact_gain
fickle = medium_stress_impact_gain
generous = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = 1
ai_sociability = -1
}
modifier = {
factor = 0
OR = {
has_trait = arbitrary
has_trait = cynical
has_trait = fickle
has_trait = generous
}
}
}
}
#It will harden him and teach him to be brave
option = {
name = bp2_yearly.6170.c
flavor = bp2_yearly.6170.c.tt
if = {
limit = {
OR = {
culture = {
culture_head = root
}
scope:warden.culture = {
culture_head = scope:warden
}
}
}
culture = {
change_cultural_acceptance = {
target = scope:warden.culture
value = miniscule_positive_culture_acceptance
desc = cultural_acceptance_hostage_exchange
}
}
}
else = {
scope:kin = {
add_opinion = {
target = root
modifier = respect_opinion
opinion = 20
}
}
}
scope:hostage = {
add_character_modifier = {
modifier = trained_by_the_uncivilized_modifier
years = 30
}
}
scope:kin = {
add_opinion = {
target = root
modifier = annoyed_opinion
opinion = -20
}
}
stress_impact = {
paranoid = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
lazy = minor_stress_impact_gain
gluttonous = miniscule_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_boldness = 1
ai_energy = 1
}
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = arrogant
has_trait = lazy
}
}
}
}
}
#Foreign-Raised Reformer feed notification events
# by Jason Cantalini
#Foreign ruler is pleased you're emulating them
scripted_trigger bp2_yearly_6180_ruler_trigger = {
OR = {
highest_held_title_tier >= tier_duchy
this = culture.culture_head
}
NOT = {
government_has_flag = government_is_mercenary
}
age > 8
is_imprisoned = no
NOR = {
has_relation_rival = root
has_relation_nemesis = root
is_at_war_with = root
}
is_ai = yes
this != root
}
bp2_yearly.6180 = {
hidden = yes
trigger = {
is_landed = yes
exists = var:advanced_culture
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
OR = {
has_character_flag = foreign_realm_reforms
has_character_flag = foreign_ritual_reforms
has_character_flag = foreign_social_reforms
has_character_flag = foreign_maa_reforms
AND = {
exists = var:new_traditions
var:new_traditions >= 1
}
}
any_ruler = {
culture = scope:temp_advanced_culture
bp2_yearly_6180_ruler_trigger = yes
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_ruler = {
limit = {
culture = scope:advanced_culture
bp2_yearly_6180_ruler_trigger = yes
}
save_scope_as = pleased_ruler
}
send_interface_message = {
type = event_diplomacy_good_with_text
title = bp2_yearly.6180.notification_high
desc = bp2_yearly.6180_notification_tooltip_high
left_icon = scope:pleased_ruler
reverse_add_opinion = {
target = scope:pleased_ruler
modifier = emulating_culture_opinion
opinion = 25
}
}
}
}
#foreign parochials are upset at rejecting realm reforms
scripted_trigger bp2_yearly_6181_ruler_trigger = {
OR = {
trigger_if = {
limit = { top_liege != this }
has_vassal_stance = parochial
}
highest_held_title_tier >= tier_kingdom
this = culture.culture_head
AND = {
is_vassal_of = root
highest_held_title_tier >= tier_county
}
}
NOR = {
government_has_flag = government_is_mercenary
is_at_war_with = root
}
age > 8
is_imprisoned = no
is_ai = yes
opinion = {
target = root
value >= -95
}
this != root
}
bp2_yearly.6181 = {
hidden = yes
trigger = {
is_landed = yes
exists = var:advanced_culture
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
root = {
has_character_flag = rejecting_foreign_realm_reforms
}
any_ruler = {
culture = scope:temp_advanced_culture
bp2_yearly_6181_ruler_trigger = yes
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_ruler = {
limit = {
culture = scope:advanced_culture
bp2_yearly_6181_ruler_trigger = yes
}
save_scope_as = disappointed_ruler
}
send_interface_message = {
type = event_stewardship_bad_with_text
title = bp2_yearly.6181.notification_high
desc = bp2_yearly.6181_notification_tooltip_high
left_icon = scope:disappointed_ruler
reverse_add_opinion = {
target = scope:disappointed_ruler
modifier = disappointed_opinion
opinion = -25
}
add_stress = miniscule_stress_gain
}
}
}
#foreign zealots are upset at rejecting ritual reforms
scripted_trigger bp2_yearly_6182_ruler_trigger = {
OR = {
trigger_if = {
limit = { top_liege != this }
has_vassal_stance = zealot
}
highest_held_title_tier >= tier_kingdom
this = culture.culture_head
AND = {
is_vassal_of = root
highest_held_title_tier >= tier_county
}
}
NOR = {
government_has_flag = government_is_mercenary
is_at_war_with = root
}
age > 8
is_imprisoned = no
is_ai = yes
opinion = {
target = root
value >= -95
}
this != root
}
bp2_yearly.6182 = {
hidden = yes
trigger = {
is_landed = yes
exists = var:advanced_culture
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
root = {
has_character_flag = rejecting_foreign_ritual_reforms
}
any_ruler = {
culture = scope:temp_advanced_culture
bp2_yearly_6182_ruler_trigger = yes
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_ruler = {
limit = {
culture = scope:advanced_culture
bp2_yearly_6182_ruler_trigger = yes
}
save_scope_as = disappointed_ruler
}
send_interface_message = {
type = event_learning_bad_with_text
title = bp2_yearly.6182.notification_high
desc = bp2_yearly.6182_notification_tooltip_high
left_icon = scope:disappointed_ruler
reverse_add_opinion = {
target = scope:disappointed_ruler
modifier = disappointed_opinion
opinion = -25
}
add_stress = miniscule_stress_gain
}
}
}
#foreign courtlies are upset at rejecting social reforms
scripted_trigger bp2_yearly_6183_ruler_trigger = {
OR = {
trigger_if = {
limit = { top_liege != this }
has_vassal_stance = courtly
}
highest_held_title_tier >= tier_kingdom
this = culture.culture_head
AND = {
is_vassal_of = root
highest_held_title_tier >= tier_county
}
}
NOR = {
government_has_flag = government_is_mercenary
is_at_war_with = root
}
age > 8
is_imprisoned = no
is_ai = yes
opinion = {
target = root
value >= -95
}
this != root
}
bp2_yearly.6183 = {
hidden = yes
trigger = {
is_landed = yes
exists = var:advanced_culture
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
root = {
has_character_flag = rejecting_foreign_social_reforms
}
any_ruler = {
culture = scope:temp_advanced_culture
bp2_yearly_6183_ruler_trigger = yes
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_ruler = {
limit = {
culture = scope:advanced_culture
bp2_yearly_6183_ruler_trigger = yes
}
save_scope_as = disappointed_ruler
}
send_interface_message = {
type = event_diplomacy_bad_with_text
title = bp2_yearly.6183.notification_high
desc = bp2_yearly.6183_notification_tooltip_high
left_icon = scope:disappointed_ruler
reverse_add_opinion = {
target = scope:disappointed_ruler
modifier = disappointed_opinion
opinion = -25
}
add_stress = miniscule_stress_gain
}
}
}
#foreign glory hounds are upset at rejecting maa reforms
scripted_trigger bp2_yearly_6184_ruler_trigger = {
OR = {
AND = {
is_vassal_of = root
highest_held_title_tier >= tier_county
}
AND = {
this != top_liege
has_vassal_stance = glory_hound
}
this = culture.culture_head
}
NOR = {
government_has_flag = government_is_mercenary
is_at_war_with = root
}
age > 8
is_imprisoned = no
is_ai = yes
opinion = {
target = root
value >= -95
}
this != root
}
bp2_yearly.6184 = {
hidden = yes
trigger = {
is_landed = yes
exists = var:advanced_culture
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
root = {
has_character_flag = rejecting_foreign_maa_reforms
}
any_ruler = {
culture = scope:temp_advanced_culture
bp2_yearly_6184_ruler_trigger = yes
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_ruler = {
limit = {
culture = scope:advanced_culture
bp2_yearly_6184_ruler_trigger = yes
}
save_scope_as = disappointed_ruler
}
send_interface_message = {
type = event_martial_bad_with_text
title = bp2_yearly.6184.notification_high
desc = bp2_yearly.6184_notification_tooltip_high
left_icon = scope:disappointed_ruler
reverse_add_opinion = {
target = scope:disappointed_ruler
modifier = disappointed_opinion
opinion = -25
}
add_stress = miniscule_stress_gain
}
}
}
#knight attacked and beaten by rampaging mercenaries
scripted_trigger bp2_yearly_6185_knight_trigger = {
is_alive = yes
is_acclaimed = yes
accolade = {
accolade_rank >= 1
}
is_imprisoned = no
is_incapable = no
NOT = {
exists = involved_activity
}
is_ai = yes
}
bp2_yearly.6185 = {
hidden = yes
trigger = {
is_landed = yes
exists = var:advanced_culture
root = {
has_character_flag = rejecting_foreign_maa_reforms
}
any_knight = {
bp2_yearly_6185_knight_trigger = yes
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_knight = {
limit = {
bp2_yearly_6185_knight_trigger = yes
}
save_scope_as = beaten_knight
}
send_interface_message = {
type = event_martial_bad_with_text
title = bp2_yearly.6185.notification_high
desc = bp2_yearly.6185_notification_tooltip_high
left_icon = scope:beaten_knight
scope:beaten_knight = {
increase_wounds_effect = { REASON = fight }
accolade = {
add_glory = medium_glory_loss
}
}
}
}
}
#rumours spread of court's barbarism
bp2_yearly.6186 = {
hidden = yes
trigger = {
exists = var:advanced_culture
root = {
has_character_flag = rejecting_foreign_social_reforms
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
send_interface_message = {
type = event_diplomacy_bad_with_text
title = bp2_yearly.6186.notification_high
desc = bp2_yearly.6186_notification_tooltip_high
if = {
limit = {
has_royal_court = yes
has_dlc_feature = royal_court
}
change_current_court_grandeur = medium_court_grandeur_loss
}
else = {
add_prestige = medium_prestige_loss
add_stress = miniscule_stress_gain
}
}
}
}
#foreign functionaries and scholars attacked by zealots
bp2_yearly.6187 = {
hidden = yes
trigger = {
exists = var:advanced_culture
root = {
has_character_flag = rejecting_foreign_ritual_reforms
}
culture.culture_head = root
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
if = {
limit = {
any_vassal = {
vassal_stance = zealot
is_adult = yes
is_available = yes
}
}
random_vassal = {
vassal_stance = zealot
limit = {
is_adult = yes
is_available = yes
}
save_scope_as = zealot_vassal
}
send_interface_message = {
type = event_learning_bad_with_text
title = bp2_yearly.6187.notification_high
desc = bp2_yearly.6187_notification_tooltip_high
left_icon = scope:zealot_vassal
if = {
limit = {
NOT = {
has_character_modifier = dearth_of_intellectuals_modifier
}
}
add_character_modifier = {
modifier = dearth_of_intellectuals_modifier
years = 20
}
}
else_if = {
limit = {
has_character_modifier = dearth_of_intellectuals_modifier
NOT = {
has_character_modifier = bereft_of_intellectuals_modifier
}
}
remove_character_modifier = dearth_of_intellectuals_modifier
add_character_modifier = {
modifier = bereft_of_intellectuals_modifier
years = 20
}
}
else = {
add_learning_lifestyle_xp = -200
add_stress = miniscule_stress_gain
}
}
}
else = {
send_interface_message = {
type = event_learning_bad_with_text
title = bp2_yearly.6187.notification_high
desc = bp2_yearly.6187_no_vassal_notification_tooltip_high
if = {
limit = {
NOT = {
has_character_modifier = dearth_of_intellectuals_modifier
}
}
add_character_modifier = {
modifier = dearth_of_intellectuals_modifier
years = 20
}
}
else_if = {
limit = {
has_character_modifier = dearth_of_intellectuals_modifier
NOT = {
has_character_modifier = bereft_of_intellectuals_modifier
}
}
remove_character_modifier = dearth_of_intellectuals_modifier
add_character_modifier = {
modifier = bereft_of_intellectuals_modifier
years = 20
}
}
else = {
add_learning_lifestyle_xp = -200
add_stress = miniscule_stress_gain
}
}
}
}
}
scripted_trigger bp2_yearly_6188_county_trigger = {
holder = {
OR = {
this = root
is_ai = yes
}
}
}
#nobles consolidate local control
bp2_yearly.6188 = {
hidden = yes
trigger = {
exists = var:advanced_culture
root = {
has_character_flag = rejecting_foreign_realm_reforms
}
any_realm_county = {
bp2_yearly_6188_county_trigger = yes
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_realm_county = {
limit = {
bp2_yearly_6188_county_trigger = yes
development_level >= 1
}
alternative_limit = {
bp2_yearly_6188_county_trigger = yes
}
save_scope_as = isolating_county
}
send_interface_message = {
type = event_stewardship_bad_with_text
title = bp2_yearly.6188.notification_high
desc = bp2_yearly.6188_notification_tooltip_high
left_icon = scope:isolating_county
if = {
limit = {
scope:isolating_county = {
development_level >= 1
}
}
scope:isolating_county = {
change_development_level = -1
}
}
else = {
scope:isolating_county = {
change_development_progress_with_overflow = -50
}
}
}
}
}
scripted_trigger bp2_yearly_6189_province_trigger = {
OR = {
county = { has_county_modifier = great_builder_modifier }
county = { has_county_modifier = massive_construction_efforts_modifier }
has_holding = yes
}
}
#a series of new buildings collapse
bp2_yearly.6189 = {
hidden = yes
trigger = {
exists = var:advanced_culture
root = {
has_character_flag = foreign_realm_reforms
}
any_realm_province = {
bp2_yearly_6189_province_trigger = yes
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_realm_province = {
limit = {
bp2_yearly_6189_province_trigger = yes
}
save_scope_as = affected_province
}
send_interface_message = {
type = event_stewardship_bad_with_text
title = bp2_yearly.6189.notification_high
desc = bp2_yearly.6189_notification_tooltip_high
if = {
limit = {
NOT = {
scope:affected_province.county = {
has_county_modifier = grand_buildings_collapsed_modifier
}
}
}
scope:affected_province.county = {
add_county_modifier = {
modifier = grand_buildings_collapsed_modifier
years = 10
}
}
}
else = {
scope:affected_province.county = {
change_county_control = minor_county_control_loss
}
}
if = {
limit = {
NOT = {
scope:affected_province = {
has_province_modifier = conscripted_warriors_modifier
}
}
}
scope:affected_province = {
add_province_modifier = {
modifier = conscripted_warriors_modifier
years = 5
}
}
}
}
}
}
scripted_trigger bp2_yearly_6190_county_trigger = {
holder = root
}
#priest mob destroys new icons and ritual items
bp2_yearly.6190 = {
hidden = yes
trigger = {
exists = var:advanced_culture
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
root = {
has_character_flag = foreign_ritual_reforms
}
any_realm_county = {
bp2_yearly_6190_county_trigger = yes
culture != scope:temp_advanced_culture
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_realm_county = {
limit = {
bp2_yearly_6190_county_trigger = yes
development_level >= 1
culture != scope:advanced_culture
}
alternative_limit = {
bp2_yearly_6190_county_trigger = yes
culture != scope:advanced_culture
}
save_scope_as = affected_county
}
send_interface_message = {
type = event_learning_bad_with_text
title = bp2_yearly.6190.notification_high
desc = bp2_yearly.6190_notification_tooltip_high
left_icon = scope:affected_county
remove_treasury_or_gold = medium_treasury_or_gold_value
}
}
}
#a related culture is mad at you
scripted_trigger bp2_yearly_6191_culture_trigger = {
has_same_culture_heritage = root.culture
this != root.culture
}
bp2_yearly.6191 = {
hidden = yes
trigger = {
root = culture.culture_head
exists = var:advanced_culture
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
culture != scope:temp_advanced_culture
root = {
has_character_flag = foreign_social_reforms
}
any_culture_global = {
NOR = {
this = scope:temp_advanced_culture
has_same_culture_heritage = scope:temp_advanced_culture
}
bp2_yearly_6191_culture_trigger = yes
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_culture_global = {
limit = {
NOR = {
this = scope:advanced_culture
has_same_culture_heritage = scope:advanced_culture
}
bp2_yearly_6191_culture_trigger = yes
}
save_scope_as = annoyed_culture
}
if = {
limit = {
exists = scope:annoyed_culture.culture_head
}
send_interface_message = {
type = event_diplomacy_bad_with_text
title = bp2_yearly.6191.notification_high
desc = bp2_yearly.6191_notification_tooltip_high
left_icon = scope:annoyed_culture.culture_head
culture = {
change_cultural_acceptance = {
target = scope:annoyed_culture
value = medium_cultural_acceptance_loss
desc = cultural_acceptance_diverging_court
}
}
add_stress = miniscule_stress_gain
}
}
else = {
send_interface_message = {
type = event_diplomacy_bad_with_text
title = bp2_yearly.6191.notification_high
desc = bp2_yearly.6191_notification_tooltip_high
culture = {
change_cultural_acceptance = {
target = scope:annoyed_culture
value = medium_cultural_acceptance_loss
desc = cultural_acceptance_diverging_court
}
}
add_stress = miniscule_stress_gain
}
}
}
}
#Your vassals grow ever-more cynical about loyalty
scripted_trigger bp2_yearly_6192_ruler_trigger = {
age >= 13
is_incapable = no
is_imprisoned = no
is_ai = yes
opinion = {
target = root
value <= 30
}
NOR = {
has_trait = loyal
has_trait = trusting
has_trait = humble
}
this != root
}
bp2_yearly.6192 = {
hidden = yes
trigger = {
is_landed_or_landless_administrative = yes
exists = var:advanced_culture
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
root = {
has_character_flag = foreign_maa_reforms
}
any_vassal = {
culture != scope:temp_advanced_culture
bp2_yearly_6192_ruler_trigger = yes
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_vassal = {
limit = {
NOR = {
culture = scope:advanced_culture
highest_held_title_tier >= tier_county
}
bp2_yearly_6192_ruler_trigger = yes
}
alternative_limit = {
culture != scope:advanced_culture
bp2_yearly_6192_ruler_trigger = yes
}
save_scope_as = vassal
}
send_interface_message = {
type = event_martial_bad_with_text
title = bp2_yearly.6192.notification_high
desc = bp2_yearly.6192_notification_tooltip_high
left_icon = scope:vassal
scope:vassal = {
add_trait = disloyal
add_opinion = {
target = root
modifier = angry_opinion
opinion = -15
}
}
}
}
}
#Your ability to extract taxes increases
scripted_trigger bp2_yearly_6193_ruler_trigger = {
is_imprisoned = no
NOT = { is_at_war_with = root }
is_ai = yes
NOT = { has_relation_friend = root }
}
bp2_yearly.6193 = {
hidden = yes
trigger = {
is_landed = yes
exists = var:advanced_culture
root = {
has_character_flag = foreign_realm_reforms
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_vassal = {
limit = {
bp2_yearly_6193_ruler_trigger = yes
}
save_scope_as = vassal
}
if = {
limit = {
exists = scope:vassal
scope:vassal = { vassal_contract_obligation_level_can_be_increased = feudal_government_taxes }
}
send_interface_message = {
type = event_stewardship_good_with_text
title = bp2_yearly.6193.notification_high
desc = bp2_yearly.6193_notification_tooltip_high
left_icon = scope:vassal
scope:vassal = {
vassal_contract_increase_obligation_level = feudal_government_taxes
}
}
}
else = {
send_interface_message = {
type = event_stewardship_good_with_text
title = bp2_yearly.6193.notification_high
desc = bp2_yearly.6193_notification_tooltip_high
add_stewardship_skill = 1
}
}
}
}
#Your vassals praise you
scripted_trigger bp2_yearly_6194_ruler_trigger = {
is_imprisoned = no
is_incapable = no
age > 11
NOR = {
is_at_war_with = root
has_relation_rival = root
has_relation_nemesis = root
}
opinion = {
target = root
value >= 0
}
this != root
}
bp2_yearly.6194 = {
hidden = yes
trigger = {
is_landed_or_landless_administrative = yes
exists = var:advanced_culture
root = {
has_character_flag = rejecting_foreign_realm_reforms
}
any_vassal = {
bp2_yearly_6194_ruler_trigger = yes
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_vassal = {
limit = {
bp2_yearly_6194_ruler_trigger = yes
culture = root.culture
highest_held_title_tier >= tier_county
}
alternative_limit = {
bp2_yearly_6194_ruler_trigger = yes
highest_held_title_tier >= tier_county
}
alternative_limit = {
bp2_yearly_6194_ruler_trigger = yes
}
save_scope_as = vassal
}
send_interface_message = {
type = event_stewardship_good_with_text
title = bp2_yearly.6194.notification_high
desc = bp2_yearly.6194_notification_tooltip_high
left_icon = scope:vassal
add_prestige = minor_prestige_gain
scope:vassal = {
add_opinion = {
target = root
opinion = 15
modifier = admiration_opinion
}
}
}
}
}
#You feel the embrace of your faith
bp2_yearly.6195 = {
hidden = yes
trigger = {
is_landed = yes
exists = var:advanced_culture
root = {
has_character_flag = foreign_ritual_reforms
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
send_interface_message = {
type = event_learning_good_with_text
title = bp2_yearly.6195.notification_high
desc = bp2_yearly.6195_notification_tooltip_high
random_list = {
10 = {
add_piety_experience = major_piety_value
}
50 = {
add_piety_experience = medium_piety_value
}
50 = {
add_stress = medium_stress_impact_loss
}
}
}
}
}
scripted_trigger bp2_yearly_6196_priest_trigger = {
is_alive = yes
is_imprisoned = no
is_incapable = no
faith = root.faith
culture = root.culture
}
#A priest "finds" a benediction from the divine
bp2_yearly.6196 = {
hidden = yes
trigger = {
is_landed_or_landless_administrative = yes
exists = var:advanced_culture
root = {
has_character_flag = rejecting_foreign_ritual_reforms
}
OR = {
any_vassal = {
bp2_yearly_6196_priest_trigger = yes
government_has_flag = government_is_theocracy
}
any_courtier_or_guest = {
bp2_yearly_6196_priest_trigger = yes
is_clergy = yes
}
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
if = {
limit = {
any_vassal = {
bp2_yearly_6196_priest_trigger = yes
government_has_flag = government_is_theocracy
}
}
random_vassal = {
limit = {
bp2_yearly_6196_priest_trigger = yes
government_has_flag = government_is_theocracy
}
save_scope_as = priest
}
}
else = {
random_courtier_or_guest = {
limit = {
bp2_yearly_6196_priest_trigger = yes
is_clergy = yes
}
save_scope_as = priest
}
}
send_interface_message = {
type = event_learning_good_with_text
title = bp2_yearly.6196.notification_high
desc = bp2_yearly.6196_notification_tooltip_high
left_icon = scope:priest
add_treasury_or_gold = medium_treasury_or_gold_value
}
}
}
scripted_trigger bp2_yearly_6197_ruler_trigger = {
is_imprisoned = no
is_incapable = no
is_ai = yes
age > 11
NOR = {
is_at_war_with = root
has_relation_rival = root
has_relation_nemesis = root
}
opinion = {
target = root
value >= -70
}
this != root
}
#Vassal reacts in awe of new court splendour
bp2_yearly.6197 = {
hidden = yes
trigger = {
is_landed_or_landless_administrative = yes
exists = var:advanced_culture
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
root = {
has_character_flag = foreign_social_reforms
}
any_vassal = {
culture != scope:temp_advanced_culture
bp2_yearly_6197_ruler_trigger = yes
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_vassal = {
vassal_stance = courtly
limit = {
bp2_yearly_6197_ruler_trigger = yes
highest_held_title_tier >= tier_county
culture != scope:advanced_culture
}
alternative_limit = {
bp2_yearly_6197_ruler_trigger = yes
highest_held_title_tier >= tier_county
culture != scope:advanced_culture
}
alternative_limit = {
bp2_yearly_6197_ruler_trigger = yes
culture != scope:advanced_culture
}
save_scope_as = vassal
}
send_interface_message = {
type = event_diplomacy_good_with_text
title = bp2_yearly.6197.notification_high
desc = bp2_yearly.6197_notification_tooltip_high
left_icon = scope:vassal
if = {
limit = {
has_royal_court = yes
has_dlc_feature = royal_court
}
change_current_court_grandeur = medium_court_grandeur_gain
}
else = {
add_prestige = medium_prestige_gain
}
}
}
}
#Courtiers are grateful you're keeping the power-hungry out
scripted_trigger bp2_yearly_6198_courtier_trigger = {
is_available = yes
is_adult = yes
culture = root.culture
NOR = {
is_close_family_of = root
is_hostage_of = root
}
}
bp2_yearly.6198 = {
hidden = yes
trigger = {
is_landed = yes
exists = var:advanced_culture
root = {
has_character_flag = rejecting_foreign_social_reforms
}
any_courtier = {
bp2_yearly_6198_courtier_trigger = yes
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_courtier = {
limit = {
bp2_yearly_6198_courtier_trigger = yes
}
save_scope_as = courtier
}
send_interface_message = {
type = event_diplomacy_good_with_text
title = bp2_yearly.6198.notification_high
desc = bp2_yearly.6198_notification_tooltip_high
left_icon = scope:courtier
random_list = {
33 = {
dynasty = { add_dynasty_prestige = miniscule_dynasty_prestige_gain }
}
66 = {
every_courtier = {
limit = { culture != scope:advanced_culture }
custom = custom.every_non_advanced_culture_courtier
add_opinion = {
target = root
modifier = loyalty_opinion
opinion = 10
}
}
}
}
}
}
}
#Your knight is learning from the advanced culture mercenaries
scripted_trigger bp2_yearly_6199_knight_trigger = {
is_acclaimed = yes
is_imprisoned = no
}
bp2_yearly.6199 = {
hidden = yes
trigger = {
is_landed = yes
exists = var:advanced_culture
root = {
has_character_flag = foreign_maa_reforms
}
any_knight = {
bp2_yearly_6199_knight_trigger = yes
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_knight = {
limit = {
bp2_yearly_6199_knight_trigger = yes
}
save_scope_as = knight
}
send_interface_message = {
type = event_martial_good_with_text
title = bp2_yearly.6199.notification_high
desc = bp2_yearly.6199_notification_tooltip_high
left_icon = scope:knight
random_list = {
20 = {
scope:knight.accolade = { add_glory = major_glory_gain }
}
40 = {
scope:knight.accolade = { add_glory = medium_glory_gain }
}
40 = {
scope:knight.accolade = { add_glory = minor_glory_gain }
}
}
}
}
}
#Your culture head/other independent ruler is proud of you
scripted_trigger bp2_yearly_6210_ruler_trigger = {
culture = root.culture
is_adult = yes
is_imprisoned = no
is_incapable = no
NOR = {
is_at_war_with = root
has_relation_rival = root
has_relation_nemesis = root
}
opinion = {
target = root
value >= -75
}
NOR = {
government_has_flag = government_is_mercenary
this = root
}
}
bp2_yearly.6210 = {
hidden = yes
trigger = {
is_landed = yes
exists = var:advanced_culture
root = {
has_character_flag = rejecting_foreign_maa_reforms
}
any_ruler = {
bp2_yearly_6210_ruler_trigger = yes
OR = {
culture.culture_head = this
AND = {
is_vassal_of = root
highest_held_title_tier >= tier_kingdom
}
AND = {
NOT = { is_vassal_of = root }
highest_held_title_tier >= tier_duchy
}
}
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_ruler = {
limit = {
bp2_yearly_6210_ruler_trigger = yes
culture.culture_head = this
}
alternative_limit = {
bp2_yearly_6210_ruler_trigger = yes
is_vassal_of = root
highest_held_title_tier >= tier_kingdom
}
alternative_limit = {
bp2_yearly_6210_ruler_trigger = yes
NOT = { is_vassal_of = root }
}
save_scope_as = ruler
}
send_interface_message = {
type = event_martial_good_with_text
title = bp2_yearly.6210.notification_high
desc = bp2_yearly.6210_notification_tooltip_high
left_icon = scope:ruler
random_list = {
30 = {
scope:ruler = {
add_opinion = {
target = root
modifier = pleased_opinion
opinion = 25
}
}
}
10 = {
trigger = {
can_add_hook = {
target = scope:ruler
type = favor_hook
}
}
add_hook = {
target = scope:ruler
type = favor_hook
}
}
}
}
}
}
#a related culture is pleased you're affirming your identity
scripted_trigger bp2_yearly_6211_culture_trigger = {
has_same_culture_heritage = root.culture
this != root.culture
}
bp2_yearly.6211 = {
hidden = yes
trigger = {
root = culture.culture_head
exists = var:advanced_culture
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
culture != scope:temp_advanced_culture
root = {
OR = {
has_character_flag = rejecting_foreign_social_reforms
has_character_flag = rejecting_foreign_maa_reforms
has_character_flag = rejecting_foreign_ritual_reforms
has_character_flag = rejecting_foreign_realm_reforms
}
}
any_culture_global = {
NOR = {
this = scope:temp_advanced_culture
has_same_culture_heritage = scope:temp_advanced_culture
}
bp2_yearly_6211_culture_trigger = yes
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_culture_global = {
limit = {
NOR = {
this = scope:advanced_culture
has_same_culture_heritage = scope:advanced_culture
}
bp2_yearly_6211_culture_trigger = yes
}
save_scope_as = pleased_culture
}
if = {
limit = {
exists = scope:pleased_culture.culture_head
}
send_interface_message = {
type = event_diplomacy_good_with_text
title = bp2_yearly.6211.notification_high
desc = bp2_yearly.6211_notification_tooltip_high
left_icon = scope:pleased_culture.culture_head
culture = {
change_cultural_acceptance = {
target = scope:pleased_culture
value = medium_cultural_acceptance_gain
desc = cultural_acceptance_embracing_identity
}
}
}
}
else = {
send_interface_message = {
type = event_diplomacy_good_with_text
title = bp2_yearly.6211.notification_high
desc = bp2_yearly.6211_notification_tooltip_high
culture = {
change_cultural_acceptance = {
target = scope:pleased_culture
value = medium_cultural_acceptance_gain
desc = cultural_acceptance_embracing_identity
}
}
}
}
}
}
#advanced culture are settling in your land
bp2_yearly.6212 = {
hidden = yes
trigger = {
root = culture.culture_head
exists = var:advanced_culture
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
culture != scope:temp_advanced_culture
any_owned_story = {
type = story_foreign_raised_reformer
exists = var:reaffirmation_counter
var:reaffirmation_counter < 2
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
if = {
limit = {
exists = scope:advanced_culture.culture_head
}
send_interface_message = {
type = event_stewardship_good_with_text
title = bp2_yearly.6212.notification_high
desc = {
random_valid = {
desc = bp2_yearly.6212_notification_tooltip_high
desc = bp2_yearly.6212_2_notification_tooltip_high
}
}
left_icon = scope:advanced_culture.culture_head
culture = {
change_cultural_acceptance = {
target = scope:advanced_culture
value = medium_cultural_acceptance_gain
desc = cultural_acceptance_reformer_migration
}
}
}
}
else = {
send_interface_message = {
type = event_stewardship_good_with_text
title = bp2_yearly.6212.notification_high
desc = {
random_valid = {
desc = bp2_yearly.6212_notification_tooltip_high
desc = bp2_yearly.6212_2_notification_tooltip_high
}
}
culture = {
change_cultural_acceptance = {
target = scope:advanced_culture
value = medium_cultural_acceptance_gain
desc = cultural_acceptance_reformer_migration
}
}
}
}
}
}
#tyranny from ruling methods
bp2_yearly.6213 = {
hidden = yes
trigger = {
root = culture.culture_head
exists = var:advanced_culture
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
any_owned_story = {
type = story_foreign_raised_reformer
exists = var:reaffirmation_counter
var:reaffirmation_counter < 2
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
send_interface_message = {
type = event_martial_bad_with_text
title = bp2_yearly.6213.notification_high
desc = {
random_valid = {
desc = bp2_yearly.6213_notification_tooltip_high
desc = bp2_yearly.6213_notification_2_tooltip_high
}
}
add_tyranny = minor_tyranny_gain
}
}
}
scripted_trigger bp2_yearly_6214_county_trigger = {
holder = root
save_temporary_scope_as = county
NOT = {
root = {
any_targeting_faction = {
any_faction_county_member = {
this = scope:county
}
}
}
}
}
#reforms taking effect on the local level
bp2_yearly.6214 = {
hidden = yes
trigger = {
exists = var:advanced_culture
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
any_owned_story = {
type = story_foreign_raised_reformer
exists = var:reaffirmation_counter
var:reaffirmation_counter < 2
}
any_realm_county = {
bp2_yearly_6214_county_trigger = yes
culture != scope:temp_advanced_culture
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
random_realm_county = {
limit = {
bp2_yearly_6214_county_trigger = yes
culture != scope:advanced_culture
}
save_scope_as = affected_county
}
send_interface_message = {
type = event_stewardship_good_with_text
title = bp2_yearly.6214.notification_high
desc = {
random_valid = {
#enforcing new trade agreements and circulating new coins
triggered_desc = {
trigger = {
culture = {
OR = {
has_cultural_pillar = ethos_bureaucratic
has_cultural_pillar = ethos_communal
has_cultural_pillar = ethos_egalitarian
}
}
}
desc = bp2_yearly.6214_notification_1_tooltip_high
}
#laying out terms of service and fealty with local warriors
triggered_desc = {
trigger = {
culture = {
OR = {
has_cultural_pillar = ethos_bellicose
has_cultural_pillar = ethos_stoic
}
}
}
desc = bp2_yearly.6214_notification_2_tooltip_high
}
#putting men of refinement and learning in charge
triggered_desc = {
trigger = {
culture = {
OR = {
has_cultural_pillar = ethos_courtly
has_cultural_pillar = ethos_spiritual
}
}
}
desc = bp2_yearly.6214_notification_3_tooltip_high
}
}
}
left_icon = scope:affected_county
random_list = {
50 = {
scope:affected_county = {
change_development_progress_with_overflow = minor_development_progress_gain
}
}
50 = {
scope:affected_county = {
change_development_progress_with_overflow = minimal_development_progress_gain
}
}
}
}
}
}
#rumour spreads of improvements
bp2_yearly.6215 = {
hidden = yes
trigger = {
exists = var:advanced_culture
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
any_owned_story = {
type = story_foreign_raised_reformer
exists = var:reaffirmation_counter
exists = var:reform_counter
OR = {
var:reaffirmation_counter >= 1
var:reform_counter >= 1
}
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
send_interface_message = {
type = event_diplomacy_good_with_text
title = bp2_yearly.6215.notification_high
desc = {
random_valid = {
#enforcing new trade agreements and circulating new coins
triggered_desc = {
trigger = {
culture = {
OR = {
has_cultural_pillar = ethos_bureaucratic
has_cultural_pillar = ethos_communal
has_cultural_pillar = ethos_egalitarian
}
}
}
desc = bp2_yearly.6215_notification_1_tooltip_high
}
#laying out terms of service and fealty with local warriors
triggered_desc = {
trigger = {
culture = {
OR = {
has_cultural_pillar = ethos_bellicose
has_cultural_pillar = ethos_stoic
}
}
}
desc = bp2_yearly.6215_notification_2_tooltip_high
}
#putting men of refinement and learning in charge
triggered_desc = {
trigger = {
culture = {
OR = {
has_cultural_pillar = ethos_courtly
has_cultural_pillar = ethos_spiritual
}
}
}
desc = bp2_yearly.6215_notification_3_tooltip_high
}
}
}
random_list = {
10 = {
add_prestige_experience = medium_prestige_value
}
50 = {
add_prestige_experience = minor_prestige_value
}
50 = {
add_prestige_experience = miniscule_prestige_value
}
}
}
}
}
#legitimacy loss from strange new customs
bp2_yearly.6216 = {
hidden = yes
trigger = {
exists = var:advanced_culture
var:advanced_culture = {
save_temporary_scope_as = temp_advanced_culture
}
any_owned_story = {
type = story_foreign_raised_reformer
exists = var:reform_counter
var:reform_counter >= 1
}
}
immediate = {
var:advanced_culture = {
save_scope_as = advanced_culture
}
send_interface_message = {
type = event_diplomacy_bad_with_text
title = bp2_yearly.6216.notification_high
desc = {
random_valid = {
desc = bp2_yearly.6216_notification_tooltip_high
desc = bp2_yearly.6216_notification_2_tooltip_high
}
}
add_legitimacy = miniscule_legitimacy_loss
}
}
}