#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 } } }