namespace = yearly ####################### # Dedication to Loyalty # 3001-3005 # by Petter Vilberg ####################### #Find a vassal who isn't entirely loyal scripted_trigger yearly_3001_vassal_trigger = { highest_held_title_tier >= tier_county OR = { any_scheme = { hostile_scheme_trigger = yes scheme_target_character = root } is_a_faction_member = yes OR = { opinion = { target = root value < 10 } has_trait = deceitful has_trait = fickle has_trait = ambitious } } is_imprisoned = no NOR = { has_trait = content is_heir_of = root has_character_modifier = liege_looking_away_modifier } is_ai = yes #Find either another vassal of the same rank within the same realm as you, or a foreign character of the same rank, or any independent neighbor if you are independent save_temporary_scope_as = vassal root = { trigger_if = { limit = { top_liege != this } any_neighboring_realm_same_rank_owner = { yearly_3001_neighbor_trigger = yes } } trigger_else = { any_neighboring_top_liege_realm_owner = { yearly_3001_neighbor_trigger = yes } } } } scripted_trigger yearly_3001_possibly_lying_trigger = { NOR = { has_trait = honest has_trait = just } } scripted_trigger yearly_3001_possibly_truthful_trigger = { NOT = { has_trait = deceitful } OR = { has_trait = honest opinion = { target = root value >= 0 } scope:vassal = { OR = { any_scheme = { hostile_scheme_trigger = yes scheme_target_character = root } is_a_faction_member = yes } } } } scripted_trigger yearly_3001_neighbor_trigger = { OR = { yearly_3001_possibly_lying_trigger = yes yearly_3001_possibly_truthful_trigger = yes } NOR = { has_relation_friend = root has_relation_friend = scope:vassal } basic_is_available_ai = yes #The neighboring ruler has to be within one tier rank of you save_temporary_scope_value_as = { name = max_tier value = { value = root.highest_held_title_tier add = 1 } } save_temporary_scope_value_as = { name = min_tier value = { value = root.highest_held_title_tier subtract = 1} } highest_held_title_tier <= scope:max_tier highest_held_title_tier >= scope:min_tier } scripted_trigger yearly_3001_vassal_still_available_trigger = { scope:vassal = { basic_is_available_ai = yes is_vassal_of = root is_ruler = yes } } #A message from a neighbor yearly.3001 = { type = character_event title = yearly.3001.t desc = { desc = yearly.3001.desc triggered_desc = { trigger = { exists = scope:friend always = scope:friend_guess_truth } desc = yearly.3001.friend_backs_neighbor } triggered_desc = { trigger = { exists = scope:friend NOT = { always = scope:friend_guess_truth } } desc = yearly.3001.friend_backs_vassal } } theme = intrigue left_portrait = scope:neighbor lower_left_portrait = scope:friend_backing_neighbor right_portrait = scope:vassal lower_right_portrait = scope:friend_backing_vassal trigger = { NOT = { has_character_flag = had_event_yearly_3001 } is_landed = yes # Requires map location checks #Find a suitable vassal, also checks for neighbor any_vassal = { yearly_3001_vassal_trigger = yes } } immediate = { add_character_flag = { flag = had_event_yearly_3001 years = 10 } #To save the vassal that will be accused random_vassal = { limit = { yearly_3001_vassal_trigger = yes } save_scope_as = vassal } #To save the neighbor if = { limit = { top_liege != this } random_neighboring_realm_same_rank_owner = { limit = { yearly_3001_neighbor_trigger = yes } save_scope_as = neighbor } } else = { random_neighboring_top_liege_realm_owner = { limit = { yearly_3001_neighbor_trigger = yes } save_scope_as = neighbor } } #Set whether the neighbor is telling the truth or not random_list = { 50 = { trigger = { scope:neighbor = { yearly_3001_possibly_truthful_trigger = yes } } save_scope_value_as = { name = telling_truth value = yes } } 50 = { trigger = { scope:neighbor = { yearly_3001_possibly_lying_trigger = yes } } save_scope_value_as = { name = telling_truth value = no } } } #Let a Friend recommend a course of action if = { limit = { any_relation = { type = best_friend this != scope:vassal } } random_relation = { type = best_friend limit = { this != scope:vassal } save_scope_as = friend random_list = { 10 = { #Friend backs neighbor modifier = { add = 50 exists = scope:telling_truth } modifier = { add = 50 has_relation_rival = scope:vassal } modifier = { add = 50 exists = scope:telling_truth has_trait = intellect_good } save_scope_value_as = { name = friend_guess_truth value = yes } save_scope_as = friend_backing_neighbor } 10 = { #Friend backs vassal modifier = { add = 50 exists = scope:telling_truth } modifier = { add = 50 has_relation_friend = scope:vassal } modifier = { add = 50 has_relation_rival = scope:neighbor } modifier = { add = 50 NOT = { exists = scope:telling_truth } has_trait = intellect_good } save_scope_value_as = { name = friend_guess_truth value = no } save_scope_as = friend_backing_vassal } } } } # For attempted executions triggering wars: save_scope_as = actor scope:vassal = { save_scope_as = recipient } } #Confront the vassal in private option = { trigger = { can_add_hook = { type = threat_hook target = scope:vassal } } name = yearly.3001.a show_as_tooltip = { random_list = { 1 = { desc = yearly.3001.true_tt show_chance = no add_hook = { type = threat_hook target = scope:vassal } } 1 = { desc = yearly.3001.false_tt show_chance = no custom_tooltip = yearly.3001.false_use_tt } } } hidden_effect = { if = { limit = { always = scope:telling_truth } trigger_event = { id = yearly.3002 days = { 5 10 } } } else = { trigger_event = { id = yearly.3003 days = { 5 10 } } } } ai_chance = { base = 100 ai_value_modifier = { ai_boldness = -0.5 ai_rationality = 0.5 ai_compassion = 0.5 } modifier = { add = 200 has_trait = shy } } stress_impact = { paranoid = medium_stress_impact_gain } } #Immediately accuse the vassal option = { name = yearly.3001.b show_as_tooltip = { random_list = { 1 = { desc = yearly.3001.true_tt show_chance = no add_opinion = { target = scope:vassal modifier = plotting_against_liege_opinion } } 1 = { desc = yearly.3001.false_tt show_chance = no add_prestige = major_prestige_loss } } } hidden_effect = { if = { limit = { always = scope:telling_truth } trigger_event = { id = yearly.3004 days = { 5 10 } } } else = { trigger_event = { id = yearly.3005 days = { 5 10 } } } } ai_chance = { base = 100 ai_value_modifier = { ai_boldness = 0.5 ai_zeal = 0.5 ai_vengefulness = 0.5 ai_honor = 0.5 } opinion_modifier = { opinion_target = scope:vassal multiplier = -1 } modifier = { add = 100 always = scope:telling_truth } } stress_impact = { shy = medium_stress_impact_gain } } #Denounce the foreign neighbor # Could give your vassal a boost if the neighbor is telling the truth option = { name = yearly.3001.c add_character_modifier = { modifier = protected_vassals_honor_modifier years = 10 } scope:neighbor = { add_opinion = { target = root modifier = insult_opinion opinion = -30 } } #Tooltip informs the player of possible bad outcome show_as_tooltip = { random_list = { 1 = { desc = yearly.3001.c.if_right show_chance = no } 1 = { desc = yearly.3001.c.if_wrong_tt show_chance = no scope:vassal = { if = { limit = { is_a_faction_member = yes } joined_faction = { add_faction_discontent = 20 } } add_character_modifier = { modifier = liege_looking_away_modifier years = 5 } } } } } hidden_effect = { if = { limit = { always = scope:telling_truth } send_interface_toast = { title = yearly.3001.vassal_gains_strength left_icon = scope:vassal scope:vassal = { if = { limit = { is_a_faction_member = yes } joined_faction = { add_faction_discontent = 20 } } add_character_modifier = { modifier = liege_looking_away_modifier years = 5 } } } } } ai_chance = { base = 100 ai_value_modifier = { ai_zeal = 0.5 ai_honor = 1 ai_rationality = 0.5 } opinion_modifier = { opinion_target = scope:vassal } opinion_modifier = { opinion_target = scope:neighbor multiplier = -0.5 } modifier = { add = -100 ai_diplomacy_stance = { target = scope:neighbor stance = threat } } modifier = { add = -200 ai_diplomacy_stance = { target = scope:neighbor stance = friend } } modifier = { add = 200 ai_diplomacy_stance = { target = scope:neighbor stance = enemy } } } } #Kill the vassal right away option = { name = yearly.3001.d trigger = { has_trait = paranoid } trait = paranoid add_internal_flag = dangerous duel = { target = scope:vassal skill = intrigue 10 = { compare_modifier = { value = scope:duel_value } add_dread = major_dread_gain imprison_character_effect = { TARGET = scope:vassal IMPRISONER = root } } 10 = { scope:vassal = { #If target is count or higher, start war. if = { limit = { is_landed = yes primary_title.tier > tier_barony } if = { limit = { is_a_faction_member = yes liege = scope:actor joined_faction = { faction_target = scope:actor NOT = { faction_is_type = populist_faction } } } joined_faction = { save_scope_as = retaliating_faction # For loc imprisonment_retribution_start_faction_war_if_valid = yes } } else = { war_for_imprison_effect = yes } } #If target is a baron or unlanded, have them escape. else_if = { limit = { is_landed = yes } depose_effect = { DEPOSER = root } } else = { move_to_pool = yes } } } } stress_impact = { compassionate = major_stress_impact_gain } ai_chance = { base = 20 modifier = { add = 50 ai_diplomacy_stance = { target = scope:vassal stance = threat } } ai_value_modifier = { ai_vengefulness = 1 ai_boldness = 1 } } } } #Confront the Vassal - they admit wrongdoing yearly.3002 = { type = character_event title = yearly.3002.t desc = yearly.3002.desc theme = vassal left_portrait = { character = scope:vassal animation = shame } trigger = { yearly_3001_vassal_still_available_trigger = yes } immediate = { scope:vassal = { if = { limit = { root = { is_ai = no } } assign_quirk_effect = yes } } } #You better do as I say from now on option = { name = yearly.3002.a if = { limit = { can_add_hook = { target = scope:vassal type = threat_hook } } add_hook = { target = scope:vassal type = threat_hook } } else = { add_prestige = medium_prestige_gain } stress_impact = { forgiving = medium_stress_impact_gain } ai_chance = { base = 100 ai_value_modifier = { ai_greed = 1 ai_compassion = 0.5 } } } #Make sure everyone knows how forgiving and benevolent I am option = { name = yearly.3002.b add_character_modifier = { modifier = yearly_benevolent_forgiveness_modifier years = 10 } if = { limit = { tyranny > 0 } add_tyranny = -10 } scope:vassal = { add_character_modifier = { modifier = yearly_close_watch_modifier years = 5 } } stress_impact = { deceitful = minor_stress_impact_gain callous = medium_stress_impact_gain vengeful = major_stress_impact_gain greedy = medium_stress_impact_gain } ai_chance = { base = 100 ai_value_modifier = { ai_rationality = 0.5 ai_honor = 1 } } } } #Confront the Vassal - they have done nothing yearly.3003 = { type = character_event title = yearly.3003.t desc = { desc = yearly.3003.desc triggered_desc = { trigger = { exists = scope:friend scope:friend.diplomacy >= decent_skill_rating } desc = yearly.3003.friend } } left_portrait = { character = scope:vassal animation = anger } right_portrait = scope:friend theme = vassal trigger = { yearly_3001_vassal_still_available_trigger = yes } option = { name = yearly.3003.a if = { limit = { scope:vassal = { vassal_contract_can_be_modified_trigger = yes vassal_contract_obligation_level_can_be_decreased = feudal_government_taxes } } scope:vassal = { vassal_contract_decrease_obligation_level = feudal_government_taxes } } else = { pay_short_term_gold = { target = scope:vassal gold = root.major_gold_value } } stress_impact = { greedy = medium_stress_impact_gain } ai_chance = { base = 100 ai_value_modifier = { ai_boldness = -0.5 ai_honor = 1 } } } option = { name = yearly.3003.b scope:vassal = { add_opinion = { target = root modifier = insult_opinion opinion = -20 } } duel = { target = scope:vassal skill = diplomacy 10 = { desc = yearly.3003.public_expression_of_gratitude send_interface_toast = { title = yearly.3003.public_expression_of_gratitude left_icon = scope:vassal add_prestige = medium_prestige_loss } } 5 = { desc = yearly.3003.vassal_loss_of_faith send_interface_toast = { title = yearly.3003.vassal_loss_of_faith left_icon = scope:vassal add_character_modifier = { modifier = vassal_distrust_modifier years = 10 } } } } stress_impact = { arrogant = major_stress_impact_gain } ai_chance = { base = 100 ai_value_modifier = { ai_greed = 1 } } } option = { name = yearly.3003.c trigger = { exists = scope:friend } custom_tooltip = yearly.3003.c.enable reverse_add_opinion = { target = scope:vassal modifier = grateful_opinion opinion = 15 } add_prestige = minor_prestige_gain ai_chance = { base = 500 } } } #Expose the Vassal - they admit wrongdoing yearly.3004 = { type = character_event title = yearly.3004.t desc = yearly.3004.desc theme = vassal left_portrait = { character = scope:vassal animation = shame } trigger = { yearly_3001_vassal_still_available_trigger = yes } immediate = { hidden_effect = { add_opinion = { target = scope:vassal modifier = plotting_against_liege_opinion } } } #A measure of forgiveness option = { name = yearly.3004.a add_prestige = medium_prestige_gain scope:vassal = { if = { limit = { vassal_contract_obligation_level_can_be_increased = feudal_government_taxes } vassal_contract_increase_obligation_level = feudal_government_taxes } } if = { limit = { can_add_hook = { target = scope:vassal type = loyalty_hook } } add_hook = { target = scope:vassal type = loyalty_hook } } reverse_add_opinion = { target = scope:vassal modifier = grateful_opinion opinion = 20 } hidden_effect = { remove_opinion = { target = scope:vassal modifier = plotting_against_liege_opinion } } ai_chance = { base = 100 ai_value_modifier = { ai_honor = 0.5 ai_compassion = 1 } } stress_impact = { vengeful = major_stress_impact_gain paranoid = medium_stress_impact_gain sadistic = medium_stress_impact_gain } } #Imprison them option = { name = yearly.3004.b imprison_character_effect = { TARGET = scope:vassal IMPRISONER = root } add_prestige = minor_prestige_gain stress_impact = { forgiving = medium_stress_impact_gain } ai_chance = { base = 100 ai_value_modifier = { ai_honor = 1 ai_rationality = 0.5 } } } #Execute them option = { name = yearly.3004.c execute_prisoner_effect = { VICTIM = scope:vassal EXECUTIONER = root } stress_impact = { compassionate = major_stress_impact_gain forgiving = major_stress_impact_gain } ai_chance = { base = 50 ai_value_modifier = { ai_vengefulness = 1 } modifier = { add = 100 has_trait = paranoid } } } } #Expose the Vassal - they have done nothing yearly.3005 = { type = character_event title = yearly.3004.t desc = yearly.3005.desc theme = vassal left_portrait = { character = scope:vassal animation = anger } trigger = { yearly_3001_vassal_still_available_trigger = yes } #Prestige loss option = { name = yearly.3005.a duel = { skill = diplomacy value = 10 10 = { compare_modifier = { value = scope:duel_value multiplier = 0.5 } desc = yearly.3005.a.rousing_speech send_interface_toast = { title = yearly.3005.a.rousing_speech left_icon = scope:vassal add_prestige = minor_prestige_loss reverse_add_opinion = { target = scope:vassal modifier = insult_opinion opinion = -10 } } } 5 = { desc = yearly.3005.a.stumbling_apology send_interface_toast = { title = yearly.3005.a.stumbling_apology left_icon = scope:vassal add_prestige = major_prestige_loss reverse_add_opinion = { target = scope:vassal modifier = insult_opinion opinion = -20 } } } } stress_impact = { callous = medium_stress_impact_gain sadistic = medium_stress_impact_gain } ai_chance = { base = 200 } } #Imprison them anyways option = { name = yearly.3005.b add_dread = medium_dread_gain imprison_character_effect_ignore_reason = { TARGET = scope:vassal IMPRISONER = root } stress_impact = { forgiving = major_stress_impact_gain just = major_stress_impact_gain } ai_chance = { base = 50 ai_value_modifier = { ai_boldness = 1 ai_vengefulness = 0.5 } modifier = { add = 100 has_trait = paranoid } } } } ############################# # An Impression Twice Made # # by Petter Vilberg ############################# scripted_trigger yearly_3011_fellow_vassal_trigger = { is_available_ai_adult = yes this != root NOR = { has_relation_rival = liege has_relation_rival = root has_relation_friend = liege has_relation_friend = root } liege = { opinion = { target = prev value < 10 } } } scripted_trigger yearly_3011_liege_trigger = { is_available_ai_adult = yes opinion = { target = root value < 10 } any_vassal = { yearly_3011_fellow_vassal_trigger = yes } } scripted_trigger yearly_3011_nemesis_trigger = { is_available_ai_adult = yes } #A fellow vassal comes with a suggestion yearly.3011 = { type = character_event title = yearly.3011.t desc = yearly.3011.desc left_portrait = scope:vassal right_portrait = scope:liege theme = diplomacy trigger = { NOT = { has_character_flag = had_event_yearly_3011 } top_liege != this liege ?= { yearly_3011_liege_trigger = yes } } weight_multiplier = { base = 1 } immediate = { add_character_flag = { flag = had_event_yearly_3011 years = 10 } liege = { save_scope_as = liege random_vassal = { limit = { yearly_3011_fellow_vassal_trigger = yes } weight = { base = 1 modifier = { add = 3 has_relation_potential_friend = root } modifier = { add = 1 has_relation_friend = root } } save_scope_as = vassal } } if = { limit = { any_relation = { type = nemesis yearly_3011_nemesis_trigger = yes } } random_relation = { type = nemesis limit = { yearly_3011_nemesis_trigger = yes } save_scope_as = nemesis } } } #I will provide the gold option = { name = yearly.3011.a trigger = { gold > 0 } remove_short_term_gold = medium_gold_value show_as_tooltip = { duel = { skill = stewardship value = 10 10 = { desc = yearly.3011.a.success compare_modifier = { value = scope:duel_value multiplier = 0.5 } scope:liege = { add_opinion = { target = root modifier = impressed_opinion opinion = 30 } } } 10 = { desc = yearly.3011.a.failure scope:liege = { add_opinion = { target = root modifier = pleased_opinion opinion = 15 } } } } } hidden_effect = { duel = { skill = stewardship value = 10 10 = { #Success compare_modifier = { value = scope:duel_value multiplier = 0.5 } trigger_event = { id = yearly.3012 days = { 5 10 } } } 10 = { #Relative Failure trigger_event = { id = yearly.3013 days = { 5 10 } } } 7 = { #Nemesis-engineered failure trigger = { exists = scope:nemesis } trigger_event = { id = yearly.3014 days = { 5 10 } } } } } stress_impact = { greedy = medium_stress_impact_gain } ai_chance = { base = 100 compare_modifier = { value = gold offset = medium_gold_value } ai_value_modifier = { ai_greed = -1 } } } #I will find the entertainment option = { name = yearly.3011.b add_prestige = medium_prestige_loss show_as_tooltip = { duel = { skill = diplomacy value = 10 10 = { desc = yearly.3011.a.success compare_modifier = { value = scope:duel_value } scope:liege = { add_opinion = { target = root modifier = impressed_opinion opinion = 30 } } } 10 = { desc = yearly.3011.a.failure scope:liege = { add_opinion = { target = root modifier = pleased_opinion opinion = 15 } } } } } hidden_effect = { duel = { skill = diplomacy value = 10 10 = { #Success compare_modifier = { value = scope:duel_value } trigger_event = { id = yearly.3012 days = { 5 10 } } } 10 = { #Relative Failure trigger_event = { id = yearly.3013 days = { 5 10 } } } 7 = { #Nemesis-engineered failure trigger = { exists = scope:nemesis } trigger_event = { id = yearly.3014 days = { 5 10 } } } } } stress_impact = { shy = minor_stress_impact_gain } ai_chance = { base = 100 compare_modifier = { value = prestige offset = medium_prestige_value } } } #Opt out option = { name = yearly.3011.c add_character_modifier = { modifier = yearly_improved_impressions_modifier years = 5 } ai_chance = { base = 25 } } #We don't need much option = { name = yearly.3011.d trigger = { OR = { has_trait = gregarious has_trait = lifestyle_reveler } } trait = gregarious trait = lifestyle_reveler show_as_tooltip = { duel = { skill = stewardship value = 10 12 = { desc = yearly.3011.a.success scope:liege = { add_opinion = { target = root modifier = impressed_opinion opinion = 30 } } } 8 = { desc = yearly.3011.a.failure scope:liege = { add_opinion = { target = root modifier = pleased_opinion opinion = 15 } } } } } hidden_effect = { duel = { skill = stewardship value = 10 12 = { #Success compare_modifier = { value = stewardship offset = average_skill_rating } trigger_event = { id = yearly.3012 days = { 5 10 } } } 8 = { #Relative Failure trigger_event = { id = yearly.3013 days = { 5 10 } } } 5 = { #Nemesis-engineered failure trigger = { exists = scope:nemesis } trigger_event = { id = yearly.3014 days = { 5 10 } } } } } add_character_modifier = { modifier = yearly_improved_impressions_modifier years = 3 } ai_chance = { base = 500 } } } #Success yearly.3012 = { type = character_event title = yearly.3011.t desc = yearly.3012.desc theme = diplomacy override_background = { reference = feast } left_portrait = { character = scope:liege animation = happiness } right_portrait = scope:vassal trigger = { scope:liege = { basic_is_available_ai = yes } scope:vassal = { is_alive = yes } } immediate = { hidden_effect = { if = { limit = { NOT = { has_relation_friend = scope:vassal } } if = { limit = { has_relation_potential_friend = scope:vassal } random = { chance = 50 save_scope_value_as = { name = gain_friendship value = yes } } } else = { set_relation_potential_friend = scope:vassal random = { #Tiny chance that it jumps straight into friendship chance = 10 save_scope_value_as = { name = gain_friendship value = yes } } } } } } option = { name = yearly.3012.a trigger = { exists = scope:gain_friendship } exclusive = yes scope:liege = { add_opinion = { target = root modifier = impressed_opinion opinion = 30 } add_opinion = { target = scope:vassal modifier = impressed_opinion opinion = 30 } } set_relation_friend = { reason = friend_feast_for_liege target = scope:vassal involved_character = scope:liege } } option = { name = yearly.3012.b scope:liege = { add_opinion = { target = root modifier = impressed_opinion opinion = 30 } add_opinion = { target = scope:vassal modifier = impressed_opinion opinion = 30 } } reverse_add_opinion = { target = scope:vassal modifier = friendliness_opinion opinion = 15 } hidden_effect = { add_opinion = { target = scope:vassal modifier = friendliness_opinion opinion = 15 } } } } #Limited Success yearly.3013 = { type = character_event title = yearly.3011.t desc = yearly.3013.desc left_portrait = scope:liege right_portrait = scope:vassal theme = diplomacy trigger = { scope:liege = { basic_is_available_ai = yes } scope:vassal = { is_alive = yes } } immediate = { hidden_effect = { if = { limit = { NOT = { has_relation_friend = scope:vassal } } if = { limit = { has_relation_potential_friend = scope:vassal } random = { chance = 30 save_scope_value_as = { name = gain_friendship value = yes } } } else = { set_relation_potential_friend = scope:vassal random = { chance = 5 save_scope_value_as = { name = gain_friendship value = yes } } } } } } option = { name = yearly.3013.a trigger = { exists = scope:gain_friendship } exclusive = yes scope:liege = { add_opinion = { target = root modifier = pleased_opinion opinion = 15 } add_opinion = { target = scope:vassal modifier = pleased_opinion opinion = 15 } } set_relation_friend = { reason = friend_feast_for_liege target = scope:vassal involved_character = scope:liege } } option = { name = yearly.3013.b scope:liege = { add_opinion = { target = root modifier = pleased_opinion opinion = 15 } add_opinion = { target = scope:vassal modifier = pleased_opinion opinion = 15 } } reverse_add_opinion = { target = scope:vassal modifier = friendliness_opinion opinion = 10 } hidden_effect = { add_opinion = { target = scope:vassal modifier = friendliness_opinion opinion = 10 } } } } #Failure! yearly.3014 = { type = character_event title = yearly.3011.t desc = yearly.3014.desc left_portrait = { character = scope:liege animation = dismissal } right_portrait = scope:vassal lower_left_portrait = scope:nemesis theme = diplomacy trigger = { scope:liege = { basic_is_available_ai = yes } scope:vassal = { is_alive = yes } } immediate = { if = { limit = { NOT = { has_relation_friend = scope:vassal } } if = { limit = { has_relation_potential_friend = scope:vassal } random = { chance = 10 save_scope_value_as = { name = gain_friendship value = yes } } } else = { hidden_effect = { set_relation_potential_friend = scope:vassal } } } } option = { name = yearly.3014.a trigger = { exists = scope:gain_friendship } exclusive = yes scope:liege = { add_opinion = { target = root modifier = disappointed_opinion opinion = -10 } add_opinion = { target = scope:vassal modifier = disappointed_opinion opinion = -10 } } set_relation_friend = { reason = friend_feast_for_liege target = scope:vassal involved_character = scope:liege } } option = { name = yearly.3014.b scope:liege = { add_opinion = { target = root modifier = disappointed_opinion opinion = -10 } add_opinion = { target = scope:vassal modifier = disappointed_opinion opinion = -10 } } reverse_add_opinion = { target = scope:vassal modifier = friendliness_opinion opinion = 5 } hidden_effect = { add_opinion = { target = scope:vassal modifier = friendliness_opinion opinion = 5 } } } } #################### # On Their Deathbed # by Petter Vilberg #################### scripted_trigger yearly_3021_deathbed_trigger = { is_ai = yes health <= death_chance_dying_health age >= 45 is_imprisoned = no OR = { has_relation_friend = root court_owner = root is_close_or_extended_family_of = root } reverse_opinion = { target = root value > 0 } opinion = { target = root value > 20 } } yearly.3021 = { type = character_event title = yearly.3021.t desc = yearly.3021.desc theme = death left_portrait = { character = scope:deathbed_character animation = personality_compassionate } trigger = { is_ai = no get_characters_of_interest_trigger = { LISTNAME = characters } any_in_list = { list = characters yearly_3021_deathbed_trigger = yes } } weight_multiplier = { base = 1 modifier = { add = 1 any_consort = { yearly_3021_deathbed_trigger = yes } } modifier = { add = 1 any_child = { yearly_3021_deathbed_trigger = yes } } } immediate = { get_characters_of_interest_effect = { LISTNAME = potential_characters } random_in_list = { list = potential_characters limit = { yearly_3021_deathbed_trigger = yes } weight = { base = 1 modifier = { add = 2 is_consort_of = root } modifier = { add = 2 is_child_of = root } } save_scope_as = deathbed_character } play_music_cue = "mx_cue_death" } option = { name = yearly.3021.a add_character_flag = { flag = knows_of_spouse_death_flag days = 5 } scope:deathbed_character = { death = natural } stress_impact = { base = medium_stress_loss } add_piety = medium_piety_gain } } ################### # Getting Ahead # by Petter Vilberg ################### scripted_trigger yearly_3031_vassal_trigger = { is_ai = yes this != root highest_held_title_tier = root.highest_held_title_tier NOR = { has_relation_rival = root has_relation_friend = root has_relation_lover = root } } scripted_trigger yearly_3031_liege_trigger = { is_ai = yes any_vassal = { yearly_3031_vassal_trigger = yes } } yearly.3031 = { type = character_event title = yearly.3031.t desc = { desc = yearly.3031.desc triggered_desc = { trigger = { exists = scope:best_friend } desc = yearly.3031.friend } triggered_desc = { trigger = { exists = scope:nemesis } desc = yearly.3031.rival } } left_portrait = liege lower_left_portrait = scope:best_friend right_portrait = scope:fellow_vassal lower_right_portrait = scope:nemesis theme = intrigue trigger = { top_liege != this is_adult = yes NOT = { has_character_flag = had_event_yearly_3031 } NOR = { has_trait = generous has_trait = content } liege = { yearly_3031_liege_trigger = yes } } weight_multiplier = { base = 1 modifier = { factor = 2 has_trait = ambitious } nemesis_event_weight_modifier = yes best_friend_event_weight_modifier = yes } immediate = { add_character_flag = { flag = had_event_yearly_3031 years = 10 } liege = { random_vassal = { limit = { yearly_3031_vassal_trigger = yes } weight = { base = 1 modifier = { add = 3 has_relation_potential_rival = root } } save_scope_as = fellow_vassal } capital_barony = { save_scope_as = capital } save_scope_as = liege } if = { limit = { has_relation_potential_rival = scope:fellow_vassal } save_scope_value_as = { name = gain_rival value = yes } } else = { hidden_effect = { random = { chance = 25 opinion_modifier = { who = scope:fellow_vassal opinion_target = root multiplier = -0.5 } save_scope_value_as = { name = gain_rival value = yes } } } } if = { limit = { any_relation = { type = friend liege ?= root.liege is_available_ai_adult = yes } } random_relation = { type = friend limit = { liege ?= root.liege is_available_ai_adult = yes } save_scope_as = best_friend } } if = { limit = { any_relation = { type = rival liege ?= root.liege is_available_ai_adult = yes } } random_relation = { type = rival limit = { liege ?= root.liege is_available_ai_adult = yes } save_scope_as = nemesis } } } #Charm liege's pants off option = { name = yearly.3031.a duel = { target = scope:fellow_vassal skill = diplomacy 5 = { desc = yearly.3031.a.best_friend_success trigger = { exists = scope:best_friend } compare_modifier = { target = scope:best_friend value = diplomacy multiplier = 0.25 } min = 1 show_as_tooltip = { reverse_add_opinion = { target = liege modifier = respect_opinion opinion = 30 } if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } add_prestige = medium_prestige_gain } hidden_effect = { send_interface_toast = { title = yearly.3031.a.best_friend_success left_icon = liege right_icon = scope:fellow_vassal reverse_add_opinion = { target = liege modifier = respect_opinion opinion = 30 } if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } add_prestige = medium_prestige_gain scope:fellow_vassal = { reverse_add_opinion = { target = liege modifier = respect_opinion opinion = -15 } stress_impact = { base = minor_stress_gain } } } } } 10 = { desc = yearly.3031.a.success compare_modifier = { value = scope:duel_value } min = 2 show_as_tooltip = { reverse_add_opinion = { target = liege modifier = respect_opinion opinion = 30 } if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } add_prestige = medium_prestige_gain scope:fellow_vassal = { add_opinion = { target = root modifier = angry_opinion opinion = -30 } } } hidden_effect = { send_interface_toast = { title = yearly.3031.a.success left_icon = liege right_icon = scope:fellow_vassal reverse_add_opinion = { target = liege modifier = respect_opinion opinion = 30 } if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } add_prestige = medium_prestige_gain scope:fellow_vassal = { add_opinion = { target = root modifier = angry_opinion opinion = -30 } reverse_add_opinion = { target = liege modifier = respect_opinion opinion = -15 } } if = { limit = { exists = scope:gain_rival } liege = { save_scope_as = relationship_reason_involved_character } progress_towards_rival_effect = { REASON = rival_competing_for_liege CHARACTER = scope:fellow_vassal OPINION = 0 } clear_saved_scope = relationship_reason_involved_character } else = { random = { chance = 60 if = { limit = { can_set_relation_potential_rival_trigger = { CHARACTER = scope:fellow_vassal } } set_relation_potential_rival = scope:fellow_vassal } } } } } } 10 = { desc = yearly.3031.a.failure show_as_tooltip = { reverse_add_opinion = { target = liege modifier = respect_opinion opinion = -15 } scope:fellow_vassal = { if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } } } hidden_effect = { send_interface_toast = { title = yearly.3031.a.failure left_icon = liege right_icon = scope:fellow_vassal reverse_add_opinion = { target = liege modifier = respect_opinion opinion = -15 } scope:fellow_vassal = { if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } add_opinion = { target = root modifier = respect_opinion opinion = -15 } reverse_add_opinion = { target = liege modifier = respect_opinion opinion = 30 } } if = { limit = { exists = scope:gain_rival } liege = { save_scope_as = relationship_reason_involved_character } progress_towards_rival_effect = { REASON = rival_competing_for_liege CHARACTER = scope:fellow_vassal OPINION = 0 } clear_saved_scope = relationship_reason_involved_character } else = { random = { chance = 60 if = { limit = { can_set_relation_potential_rival_trigger = { CHARACTER = scope:fellow_vassal } } set_relation_potential_rival = scope:fellow_vassal } } } } } } 5 = { desc = yearly.3031.a.nemesis_failure trigger = { exists = scope:nemesis } compare_modifier = { target = scope:nemesis value = diplomacy multiplier = 0.25 } min = 1 show_as_tooltip = { reverse_add_opinion = { target = liege modifier = respect_opinion opinion = -20 } scope:fellow_vassal = { if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } } } hidden_effect = { send_interface_toast = { title = yearly.3031.a.nemesis_failure left_icon = liege right_icon = scope:fellow_vassal reverse_add_opinion = { target = liege modifier = respect_opinion opinion = -20 } scope:fellow_vassal = { if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } add_opinion = { target = root modifier = respect_opinion opinion = -15 } reverse_add_opinion = { target = liege modifier = respect_opinion opinion = 30 } } if = { limit = { exists = scope:gain_rival } liege = { save_scope_as = relationship_reason_involved_character } progress_towards_rival_effect = { REASON = rival_competing_for_liege CHARACTER = scope:fellow_vassal OPINION = 0 } clear_saved_scope = relationship_reason_involved_character } else = { random = { chance = 60 if = { limit = { can_set_relation_potential_rival_trigger = { CHARACTER = scope:fellow_vassal } } set_relation_potential_rival = scope:fellow_vassal } } } } } } } } #Show that you're more pious option = { name = yearly.3031.b duel = { target = scope:fellow_vassal skill = learning 5 = { desc = yearly.3031.a.best_friend_success trigger = { exists = scope:best_friend } compare_modifier = { target = scope:best_friend value = learning multiplier = 0.25 } min = 1 show_as_tooltip = { reverse_add_opinion = { target = liege modifier = respect_opinion opinion = 30 } if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } add_piety = medium_piety_gain } hidden_effect = { send_interface_toast = { title = yearly.3031.a.best_friend_success left_icon = liege right_icon = scope:fellow_vassal reverse_add_opinion = { target = liege modifier = respect_opinion opinion = 30 } if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } add_piety = medium_piety_gain scope:fellow_vassal = { reverse_add_opinion = { target = liege modifier = respect_opinion opinion = -15 } stress_impact = { base = minor_stress_gain } } } } } 10 = { desc = yearly.3031.b.success compare_modifier = { value = scope:duel_value } min = 2 show_as_tooltip = { reverse_add_opinion = { target = liege modifier = respect_opinion opinion = 30 } if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } add_piety = medium_piety_gain scope:fellow_vassal = { add_opinion = { target = root modifier = angry_opinion opinion = -30 } } } hidden_effect = { send_interface_toast = { title = yearly.3031.b.success left_icon = liege right_icon = scope:fellow_vassal reverse_add_opinion = { target = liege modifier = respect_opinion opinion = 30 } if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } add_piety = medium_piety_gain scope:fellow_vassal = { add_opinion = { target = root modifier = angry_opinion opinion = -30 } reverse_add_opinion = { target = liege modifier = respect_opinion opinion = -15 } } if = { limit = { exists = scope:gain_rival } liege = { save_scope_as = relationship_reason_involved_character } progress_towards_rival_effect = { REASON = rival_competing_for_liege CHARACTER = scope:fellow_vassal OPINION = 0 } clear_saved_scope = relationship_reason_involved_character } else = { random = { chance = 60 if = { limit = { can_set_relation_potential_rival_trigger = { CHARACTER = scope:fellow_vassal } } set_relation_potential_rival = scope:fellow_vassal } } } } } } 10 = { desc = yearly.3031.b.failure show_as_tooltip = { reverse_add_opinion = { target = liege modifier = respect_opinion opinion = -15 } scope:fellow_vassal = { if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } } } hidden_effect = { send_interface_toast = { title = yearly.3031.b.failure left_icon = liege right_icon = scope:fellow_vassal reverse_add_opinion = { target = liege modifier = respect_opinion opinion = -15 } scope:fellow_vassal = { if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } add_opinion = { target = root modifier = respect_opinion opinion = -15 } reverse_add_opinion = { target = liege modifier = respect_opinion opinion = 30 } } if = { limit = { exists = scope:gain_rival } liege = { save_scope_as = relationship_reason_involved_character } progress_towards_rival_effect = { REASON = rival_competing_for_liege CHARACTER = scope:fellow_vassal OPINION = 0 } clear_saved_scope = relationship_reason_involved_character } else = { random = { chance = 60 if = { limit = { can_set_relation_potential_rival_trigger = { CHARACTER = scope:fellow_vassal } } set_relation_potential_rival = scope:fellow_vassal } } } } } } 5 = { desc = yearly.3031.a.nemesis_failure trigger = { exists = scope:nemesis } compare_modifier = { target = scope:nemesis value = learning multiplier = 0.25 } min = 1 show_as_tooltip = { reverse_add_opinion = { target = liege modifier = respect_opinion opinion = -20 } add_piety = medium_piety_loss scope:fellow_vassal = { if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } } } hidden_effect = { send_interface_toast = { title = yearly.3031.a.nemesis_failure left_icon = liege right_icon = scope:fellow_vassal reverse_add_opinion = { target = liege modifier = respect_opinion opinion = -20 } add_piety = medium_piety_loss scope:fellow_vassal = { if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } add_opinion = { target = root modifier = respect_opinion opinion = -15 } reverse_add_opinion = { target = liege modifier = respect_opinion opinion = 30 } } if = { limit = { exists = scope:gain_rival } liege = { save_scope_as = relationship_reason_involved_character } progress_towards_rival_effect = { REASON = rival_competing_for_liege CHARACTER = scope:fellow_vassal OPINION = 0 } clear_saved_scope = relationship_reason_involved_character } else = { random = { chance = 60 if = { limit = { can_set_relation_potential_rival_trigger = { CHARACTER = scope:fellow_vassal } } set_relation_potential_rival = scope:fellow_vassal } } } } } } } } #Literally charm liege's pants off option = { name = yearly.3031.c trigger = { might_cheat_on_every_partner_trigger = yes scope:liege = { is_attracted_to_gender_of = root NOT = { has_trait = chaste } might_cheat_on_every_partner_trigger = yes } attraction >= 10 } custom_tooltip = yearly.3031.c.unlock_tt show_as_tooltip = { if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } reverse_add_opinion = { target = liege modifier = friendliness_opinion opinion = 20 } scope:fellow_vassal = { add_opinion = { target = root modifier = respect_opinion opinion = -20 } } } custom_tooltip = yearly.3031.c.consequence hidden_effect = { send_interface_toast = { title = yearly.3031.c.success left_icon = liege right_icon = scope:fellow_vassal if = { limit = { can_add_hook = { type = favor_hook target = liege } } add_hook = { type = favor_hook target = liege } } reverse_add_opinion = { target = liege modifier = friendliness_opinion opinion = 20 } scope:fellow_vassal = { add_opinion = { target = root modifier = respect_opinion opinion = -20 } reverse_add_opinion = { target = liege modifier = respect_opinion opinion = -20 } } if = { limit = { exists = scope:gain_rival } liege = { save_scope_as = relationship_reason_involved_character } progress_towards_rival_effect = { REASON = rival_competing_for_liege CHARACTER = scope:fellow_vassal OPINION = 0 } clear_saved_scope = relationship_reason_involved_character } else = { random = { chance = 60 if = { limit = { can_set_relation_potential_rival_trigger = { CHARACTER = scope:fellow_vassal } } set_relation_potential_rival = scope:fellow_vassal } } } } #Try to set up a seduction scheme towards root liege = { if = { limit = { any_scheme = { type = seduce NOT = { scheme_target_character = root } } } random_scheme = { type = seduce limit = { NOT = { scheme_target_character = root } } end_scheme = yes } } if = { limit = { can_start_scheme = { target_character = root type = seduce } } start_scheme = { target_character = root type = seduce } } } } } #All vassals should work together option = { name = yearly.3031.d add_character_modifier = { modifier = yearly_befriending_fellow_vassals_modifier years = 5 } } } #################### # A Good FaithPracticioner # by Petter Vilberg #################### yearly.3040 = { type = character_event title = yearly.3040.t desc = yearly.3040.desc left_portrait = root right_portrait = scope:religious_head theme = faith trigger = { is_landed = yes # Thematically landed piety_level >= 2 NOT = { has_character_flag = had_event_yearly_3040 } } weight_multiplier = { base = 1 } immediate = { add_character_flag = { flag = had_event_yearly_3040 years = 10 } if = { limit = { exists = faith.religious_head faith.religious_head != root } faith.religious_head = { save_scope_as = religious_head } } play_music_cue = "mx_cue_general_crusade_event_2" } #Spread word of my piety far and wide option = { name = yearly.3040.a add_piety = minor_piety_loss add_prestige = medium_prestige_gain } #Maybe I have been a little too lenient on the religious authorities... option = { name = yearly.3040.b add_piety = medium_piety_loss add_treasury_or_gold = medium_treasury_or_gold_value } #The FaithHead must surely appreciate my dedication option = { name = yearly.3040.c trigger = { exists = scope:religious_head } scope:religious_head = { add_opinion = { target = root modifier = pious_opinion opinion = 30 } } } #My religious vassals must appreciate it option = { name = yearly.3040.d trigger = { NOT = { exists = scope:religious_head } } add_character_modifier = { modifier = yearly_pious_liege_modifier years = 10 } } } ############################## # Chafing Under Secular Laws # by Petter Vilberg ############################## scripted_trigger yearly_3041_religious_vassal = { is_ai = yes government_has_flag = government_is_theocracy faith = root.faith } #Theocracy vassal requests more lenient contract yearly.3041 = { type = letter_event opening = { desc = yearly.3041.opening } desc = yearly.3041.desc sender = scope:vassal trigger = { NOT = { has_character_flag = had_event_yearly_3041 } any_vassal = { yearly_3041_religious_vassal = yes } trigger_if = { limit = { exists = faith.religious_head } faith.religious_head != root } } weight_multiplier = { base = 1 } immediate = { add_character_flag = { flag = had_event_yearly_3041 years = 5 } random_vassal = { limit = { yearly_3041_religious_vassal = yes } save_scope_as = vassal } if = { limit = { exists = faith.religious_head } faith.religious_head = { save_scope_as = religious_head } } } #Reduce taxes option = { name = yearly.3041.a add_piety = medium_piety_gain add_character_modifier = { modifier = yearly_reduced_theocracy_tax_modifier years = 10 } scope:vassal = { add_opinion = { target = root modifier = grateful_opinion opinion = 40 } } stress_impact = { greedy = medium_stress_impact_gain } ai_chance = { base = 100 ai_value_modifier = { ai_greed = -1 } } } #Reduce levies option = { name = yearly.3041.b add_piety = major_piety_gain add_character_modifier = { modifier = yearly_reduced_theocracy_levies_modifier years = 10 } scope:vassal = { add_opinion = { target = root modifier = grateful_opinion opinion = 20 } } stress_impact = { greedy = minor_stress_impact_gain } ai_chance = { base = 100 ai_value_modifier = { ai_greed = -0.5 } } } option = { name = yearly.3041.c scope:vassal = { add_opinion = { target = root modifier = disappointed_opinion opinion = -20 } } if = { limit = { exists = scope:religious_head } scope:religious_head = { add_opinion = { target = root modifier = disappointed_opinion opinion = -15 } } } stress_impact = { zealous = medium_stress_impact_gain } ai_chance = { base = 100 ai_value_modifier = { ai_zeal = -1 ai_rationality = 0.5 } } } } #################### # By Right # by Petter Vilberg #################### scripted_trigger yearly_3051_county_trigger = { tier = tier_county this != holder.primary_title NOT = { root = { has_claim_on = prev } } } scripted_trigger yearly_3051_vassal_trigger = { opinion = { target = root value < 0 } OR = { NOT = { is_close_or_extended_family_of = root } opinion = { target = root value < -40 } } any_held_title = { yearly_3051_county_trigger = yes } NOR = { has_relation_friend = root has_relation_lover = root } is_ai = yes } yearly.3051 = { type = character_event title = yearly.3051.t desc = yearly.3051.desc theme = vassal left_portrait = { character = scope:councillor animation = personality_rational } right_portrait = { character = scope:vassal animation = worry } trigger = { NOT = { has_character_flag = had_event_yearly_3051 } any_vassal = { yearly_3051_vassal_trigger = yes trigger_if = { limit = { exists = root.cp:councillor_steward } NOT = { this = root.cp:councillor_steward } } } OR = { AND = { exists = cp:councillor_steward cp:councillor_steward = { is_alive = yes } } AND = { exists = cp:councillor_spouse cp:councillor_spouse = { is_performing_council_task = task_manage_domain } } } } weight_multiplier = { base = 1 } immediate = { add_character_flag = { flag = had_event_yearly_3051 years = 10 } random_vassal = { limit = { yearly_3051_vassal_trigger = yes NOT = { this = cp:councillor_steward } } random_held_title = { limit = { yearly_3051_county_trigger = yes } save_scope_as = county } save_scope_as = vassal } if = { limit = { exists = cp:councillor_spouse cp:councillor_spouse = { is_performing_council_task = task_manage_domain } } cp:councillor_spouse = { save_scope_as = councillor } } else = { cp:councillor_steward = { save_scope_as = councillor } } hidden_effect = { if = { limit = { can_set_relation_rival_trigger = { CHARACTER = scope:vassal } } if = { limit = { has_relation_potential_rival = scope:vassal } save_scope_value_as = { name = becoming_rivals value = yes } } else = { random = { chance = 20 save_scope_value_as = { name = becoming_rivals value = yes } } } } } } option = { name = yearly.3051.a add_unpressed_claim = scope:county reverse_add_opinion = { target = scope:vassal modifier = angry_opinion opinion = -30 } if = { limit = { OR = { exists = scope:becoming_rivals has_relation_potential_rival = scope:vassal } can_set_relation_rival_trigger = { CHARACTER = scope:vassal } } set_relation_rival = { target = scope:vassal reason = rival_confiscated_title } } else_if = { limit = { can_set_relation_potential_rival_trigger = { CHARACTER = scope:vassal } } hidden_effect = { set_relation_potential_rival = scope:vassal } } else = { scope:vassal = { add_opinion = { target = root modifier = hate_opinion opinion = -20 } } } stress_impact = { generous = medium_stress_impact_gain } ai_chance = { base = 100 ai_value_modifier = { ai_greed = 1 ai_boldness = 0.5 } } } option = { name = yearly.3051.b reverse_add_opinion = { target = scope:vassal modifier = grateful_opinion opinion = 30 } stress_impact = { greedy = medium_stress_impact_gain ambitious = minor_stress_impact_gain } ai_chance = { base = 100 ai_value_modifier = { ai_honor = 1 ai_compassion = 0.5 } } } } ################################ # Cagots # by Petter Vilberg ################################ scripted_trigger yearly_3061_county_trigger = { tier = tier_county title_province = { geographical_region = special_cagot_region } faith = root.faith } yearly.3061 = { type = character_event title = yearly.3061.t desc = yearly.3061.desc theme = realm override_background = { reference = terrain_scope } left_portrait = { character = root triggered_animation = { trigger = { has_trait = zealous } animation = rage } triggered_animation = { trigger = { OR = { has_trait = paranoid has_trait = craven } } animation = worry } triggered_animation = { trigger = { always = yes } animation = disapproval } } trigger = { is_ai = no NOT = { exists = global_var:had_cagot_event } OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } any_held_title = { yearly_3061_county_trigger = yes } } immediate = { set_global_variable = { name = had_cagot_event value = yes } random_held_title = { limit = { yearly_3061_county_trigger = yes } save_scope_as = county title_province = { save_scope_as = background_terrain_scope } } } option = { # Levy a tax, but leave them be name = yearly.3061.a trigger = { NOT = { has_trait = lunatic } } show_as_unavailable = { always = yes } add_treasury_or_gold = medium_treasury_or_gold_value add_piety = minor_piety_loss scope:county = { add_county_modifier = { modifier = cagots_left_in_peace_modifier years = 25 } } } option = { # Separate them out! name = yearly.3061.b flavor = yearly.3061.b.flavor trigger = { NOT = { has_trait = lunatic } } show_as_unavailable = { always = yes } remove_treasury_or_gold = medium_treasury_or_gold_value add_piety = minor_piety_gain scope:county = { add_county_modifier = { modifier = cagots_separated_modifier years = 100 } } } option = { # Perhaps we could try to live side by side with them? name = yearly.3061.c trigger = { has_trait = lunatic } trait = lunatic_1 trait = lunatic_genetic add_prestige = minor_prestige_loss add_character_modifier = { modifier = lunatic_accepting_of_others_modifier years = 10 } } option = { # Drive them out and seize their possessions! name = yearly.3061.d trigger = { has_trait = zealous } trait = zealous add_treasury_or_gold = major_treasury_or_gold_value scope:county = { change_development_level = -1 change_county_control = 50 } } } ##################################### # The Worst Nightmare of Your Life # by Petter Vilberg ##################################### yearly.3071 = { type = character_event title = yearly.3071.t desc = yearly.3071.desc theme = mental_health override_background = { reference = corridor_night } left_portrait = { character = root animation = fear } trigger = { is_adult = yes is_ai = no NOR = { exists = global_var:had_yearly_3071_nightmare_event any_secret = { type = secret_cannibal } has_trait = cannibal } } immediate = { set_global_variable = { name = had_yearly_3071_nightmare_event value = yes } play_music_cue = "mx_cue_stress" } option = { # Pray the nightmares away name = yearly.3071.a add_piety = medium_piety_gain } option = { # The flesh seemed delicious name = yearly.3071.b give_cannibal_secret_or_trait_effect = yes } }