namespace = bp2_yearly ################################################## # Wet Nurse Events # by Arkadiusz Majewski # 7000 Wet Nurse is sick and can pass it down to a child # 7001 Spouse is jealous about a Wet Nurse # 7002 Turns out your relationship is incestous, due to having the same Wet Nurse # 7003 Wet Nurse informs you about first words of your child # 7004 Wet Nurse informs you about first steps of your child # 7005 Wet Nurse informs you about first fallen teeth of your child # 7006 Wet Nurse informs you about first fallen teeth of your child # 7007 Hidden event to kick off either positive (7009, 7011) or negative (7008, 7010) paths # 7008 Neglected child reflects on neglecting parent # 7009 Cared child reflects on caring parent # 7010 Neglected child demands something from you # 7011 Cared child gives you something # 7012 Child complains about fired Wet Nurse they liked # 7013 Child grieves over dead Wet Nurse they liked # 7014 Child and Wet Nurse connect over same faith/culture # # Rites of Passage - events outcomes for the decision bp2_decision.0002 # 7021 duel # 7022 Duel outcome # 7023 scarification # 7024 seclusion # 7025 seclusion on arrival # 7026 hair shaving # 7027 cleansing with water # 7028 cleansing with fire # 7029 Completed rite memory follow up event - other tribal child does the rite, you can encourage them or let them back out # ################################################## scripted_effect contract_disease_from_wet_nurse_effect = { if = { limit = { scope:wet_nurse ?= { has_trait = bubonic_plague } can_contract_disease_trigger = { DISEASE = bubonic_plague } } contract_disease_effect = { DISEASE = bubonic_plague TREATMENT_EVENT = yes } } else_if = { limit = { scope:wet_nurse ?= { has_trait = smallpox } can_contract_disease_trigger = { DISEASE = smallpox } } contract_disease_effect = { DISEASE = smallpox TREATMENT_EVENT = yes } } else_if = { limit = { scope:wet_nurse ?= { has_trait = typhus } can_contract_disease_trigger = { DISEASE = typhus } } contract_disease_effect = { DISEASE = typhus TREATMENT_EVENT = yes } } else_if = { limit = { scope:wet_nurse ?= { has_trait = pneumonic } can_contract_disease_trigger = { DISEASE = pneumonic } } contract_disease_effect = { DISEASE = pneumonic TREATMENT_EVENT = yes } } else_if = { limit = { scope:wet_nurse ?= { has_trait = ill } can_contract_disease_trigger = { DISEASE = ill } } contract_disease_effect = { DISEASE = ill TREATMENT_EVENT = yes } } else = { add_character_modifier = { modifier = malnourished_modifier years = 5 } } } bp2_yearly.7000 = { #Wet Nurse is sick and can pass it down to a child type = character_event content_source = dlc_009 title = bp2_yearly.7000.t desc = { first_valid = { triggered_desc = { trigger = { scope:nursed_child ?= root} desc = bp2_yearly.7000.desc_child_liege } desc = bp2_yearly.7000.desc } } theme = family override_background = { reference = bp2_nursery } left_portrait = { character = root triggered_animation = { trigger = { age < 12 } animation = crying } triggered_animation = { trigger = { age >= 12 } animation = worry } } right_portrait = { character = scope:wet_nurse triggered_animation = { trigger = { root = { age < 12 } } animation = sadness } triggered_animation = { trigger = { root = { age >= 12 } } animation = crying } } lower_right_portrait = { trigger = { NOT = { scope:nursed_child ?= root } } character = scope:nursed_child } cooldown = { years = 10 } trigger = { has_bp2_dlc_trigger = yes any_court_position_holder ?= { type = wet_nurse_court_position save_temporary_scope_as = wet_nurse_temp } scope:wet_nurse_temp = { OR = { health < 3 has_short_disease_trigger = yes has_serious_disease_trigger = yes } } OR = { AND = { is_available_adult = yes any_child ?= { has_relation_wet_nurse = scope:wet_nurse_temp is_ai = yes is_landed = no is_adult = no location = scope:wet_nurse_temp.location } } AND = { age >= 3 is_available_child = yes is_landed = yes has_relation_wet_nurse = scope:wet_nurse_temp location = scope:wet_nurse_temp.location } } } immediate = { random_court_position_holder = { type = wet_nurse_court_position save_scope_as = wet_nurse } if = { limit = { is_available_adult = yes } random_child = { limit = { has_relation_wet_nurse = scope:wet_nurse is_ai = yes is_landed = no is_adult = no location = scope:wet_nurse.location } save_scope_as = nursed_child } } else = { save_scope_as = nursed_child } save_court_physician_as_effect = { SCOPE_NAME = court_physician } if = { limit = { scope:wet_nurse = { has_short_disease_trigger = yes} } scope:wet_nurse = { set_worst_disease_effect = yes save_scope_as = sick_character } } } # Can't be your fault, you are a good nurse option = { name = bp2_yearly.7000.a flavor = bp2_yearly.7000.a.tt random_list = { 15 = { show_chance = no desc = bp2_yearly.7000.ill send_interface_toast = { title = bp2_yearly.7000.a.tt left_icon = root right_icon = scope:nursed_child scope:nursed_child = { contract_disease_from_wet_nurse_effect = yes } } } 75 = { show_chance = no desc = bp2_yearly.7000.healthy send_interface_toast = { title = bp2_yearly.7000.a.tt left_icon = root right_icon = scope:nursed_child custom_tooltip = bp2_yearly.7000.healthy.tt } } } scope:wet_nurse = { add_character_modifier = { modifier = safe_disease_treatment_success_high_modifier days = disease_treatment_short_duration } } remove_short_term_gold = minor_gold_value stress_impact = { compassionate = medium_stress_impact_loss wrathful = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = wrathful add = -10 } modifier = { has_trait = compassionate add = 10 } } } # I'm disappointed and gonna fire you option = { name = bp2_yearly.7000.b revoke_court_position = { recipient = scope:wet_nurse court_position = wet_nurse_court_position } random_list = { 10 = { show_chance = no desc = bp2_yearly.7000.ill send_interface_toast = { title = bp2_yearly.7000.b.tt left_icon = root right_icon = scope:nursed_child scope:nursed_child = { contract_disease_from_wet_nurse_effect = yes } } } 90 = { show_chance = no desc = bp2_yearly.7000.healthy send_interface_toast = { title = bp2_yearly.7000.b.tt left_icon = root right_icon = scope:nursed_child custom_tooltip = bp2_yearly.7000.healthy.tt } } } stress_impact = { wrathful = minor_stress_impact_loss compassionate = minor_stress_impact_gain } ai_chance = { base = 10 modifier = { has_trait = compassionate add = -10 } } } # I'm mad and gonna throw you in prison option = { name = { trigger = { is_adult = no } text = bp2_yearly.7000.c_child_liege } name = { trigger = { is_adult = yes } text = bp2_yearly.7000.c } rightfully_imprison_character_effect = { TARGET = scope:wet_nurse IMPRISONER = root } random_list = { 5 = { show_chance = no desc = bp2_yearly.7000.ill send_interface_toast = { title = bp2_yearly.7000.b.tt left_icon = root right_icon = scope:nursed_child scope:nursed_child = { contract_disease_from_wet_nurse_effect = yes } } } 95 = { show_chance = no desc = bp2_yearly.7000.healthy send_interface_toast = { title = bp2_yearly.7000.b.tt left_icon = root right_icon = scope:nursed_child custom_tooltip = bp2_yearly.7000.healthy.tt } } } stress_impact = { wrathful = medium_stress_impact_loss compassionate = medium_stress_impact_gain } ai_chance = { base = 5 modifier = { has_trait = wrathful add = 10 } modifier = { has_trait = compassionate add = -5 } } } } bp2_yearly.7001 = { #Spouse is jealous about a Wet Nurse type = character_event content_source = dlc_009 title = bp2_yearly.7001.t desc = { desc = bp2_yearly.7001.desc first_valid = { triggered_desc = { trigger = { has_relation_lover = scope:wet_nurse } desc = bp2_yearly.7001.desc_lover } desc = bp2_yearly.7001.desc_no_lover } } theme = family override_background = { reference = bp2_nursery } left_portrait = { character = root animation = dismissal } right_portrait = { character = scope:jealous_spouse animation = go_to_your_room } lower_right_portrait = scope:wet_nurse cooldown = { years = 10 } trigger = { has_bp2_dlc_trigger = yes is_available_adult = yes any_court_position_holder ?= { type = wet_nurse_court_position OR = { has_trait = beauty_good has_trait = physique_good has_trait = strong has_trait = loyal has_trait = lustful } save_temporary_scope_as = wet_nurse_temp } is_attracted_to_gender_of = scope:wet_nurse_temp any_spouse ?= { is_available_ai_adult = yes NOT = { this = scope:wet_nurse_temp any_known_secret = { secret_owner = root AND = { secret_type = secret_lover secret_target = scope:wet_nurse_temp } } } OR = { has_trait = fickle has_trait = vengeful has_trait = wrathful has_trait = arbitrary has_trait = paranoid } } } immediate = { random_court_position_holder = { type = wet_nurse_court_position save_scope_as = wet_nurse } random_spouse ?= { limit = { is_available_ai_adult = yes NOT = { any_known_secret = { secret_owner = root AND = { secret_type = secret_lover secret_target = scope:wet_nurse_temp } } } OR = { has_trait = fickle has_trait = vengeful has_trait = wrathful has_trait = arbitrary has_trait = paranoid root = { any_secret = { secret_type = secret_lover secret_target = scope:wet_nurse } } } } save_scope_as = jealous_spouse } if = { limit = { any_secret = { type = secret_lover secret_target = scope:wet_nurse NOT = { any_secret_knower = { THIS = scope:jealous_spouse } } } } random_secret = { type = secret_lover limit = { secret_target = scope:wet_nurse NOT = { any_secret_knower = { THIS = scope:jealous_spouse } } } save_scope_as = wet_nurse_secret_lover } } } option = { #try to convince your spouse it's not a big deal, although she is right name = bp2_yearly.7001.a trigger = { exists = scope:wet_nurse_secret_lover } reason = scope:wet_nurse_secret_lover custom_tooltip = bp2_yearly.7001.a.tt duel = { skill = intrigue target = scope:jealous_spouse # you comfort your spouse 65 = { desc = bp2_yearly.7001.b.spouse_convinced compare_modifier = { value = scope:duel_value multiplier = 3.5 min = -49 } reverse_add_opinion = { target = scope:jealous_spouse modifier = relieved_opinion opinion = 10 } reverse_add_opinion = { target = scope:wet_nurse modifier = protected_me_opinion opinion = 10 } } # your spouse is right about your affair 35 = { desc = bp2_yearly.7001.b.spouse_not_convinced compare_modifier = { value = scope:duel_value multiplier = -3.5 min = -49 } scope:wet_nurse_secret_lover = { reveal_to = scope:jealous_spouse } } } stress_impact = { compassionate = medium_stress_impact_loss wrathful = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = wrathful add = -10 } modifier = { has_trait = compassionate add = 10 } } } option = { #try to convince your spouse it's not a big deal, because it isn't or she already knows name = bp2_yearly.7001.b trigger = { NOT = { exists = scope:wet_nurse_secret_lover } } duel = { skill = diplomacy target = scope:jealous_spouse # you comfort your spouse 65 = { desc = bp2_yearly.7001.b.spouse_convinced compare_modifier = { value = scope:duel_value multiplier = 3.5 min = -49 } modifier = { #you are a known liar factor = 0 OR = { any_secret = { type = secret_lover secret_target != scope:jealous_spouse any_secret_knower = { THIS = scope:jealous_spouse } } has_trait = adulterer } } reverse_add_opinion = { target = scope:jealous_spouse modifier = relieved_opinion opinion = 10 } } 35 = { trigger = { NOR = { any_secret = { type = secret_lover secret_target != scope:jealous_spouse any_secret_knower = { THIS = scope:jealous_spouse } } has_trait = adulterer } } desc = bp2_yearly.7001.b.spouse_not_convinced compare_modifier = { value = scope:duel_value multiplier = -3.5 min = -49 } reverse_add_opinion = { target = scope:jealous_spouse modifier = cheater_opinion opinion = -30 } } # you're a known liar 100 = { trigger = { OR = { any_secret = { type = secret_lover secret_target != scope:jealous_spouse any_secret_knower = { THIS = scope:jealous_spouse } } has_trait = adulterer } } desc = bp2_yearly.7001.tt reverse_add_opinion = { target = scope:jealous_spouse modifier = cheater_opinion opinion = -30 } } } stress_impact = { compassionate = medium_stress_impact_loss wrathful = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = wrathful add = -10 } modifier = { has_trait = compassionate add = 10 } } } # Get rid of the problem, fire the nurse option = { name = bp2_yearly.7001.c revoke_court_position = { recipient = scope:wet_nurse court_position = wet_nurse_court_position } reverse_add_opinion = { target = scope:jealous_spouse modifier = pleased_opinion opinion = 30 } stress_impact = { wrathful = minor_stress_impact_loss compassionate = minor_stress_impact_gain } ai_chance = { base = 10 modifier = { has_trait = compassionate add = -10 } } } } bp2_yearly.7002 = { #Turns out your relationship is incestous, due to having the same Wet Nurse type = character_event content_source = dlc_009 title = bp2_yearly.7002.t desc = bp2_yearly.7002.desc theme = family override_background = { reference = relaxing_room } left_portrait = { character = root animation = shock } right_portrait = { character = scope:court_chaplain animation = worry } lower_left_portrait = scope:spouse cooldown = { years = 10 } trigger = { has_bp2_dlc_trigger = yes is_available_adult = yes faith = { OR = { has_doctrine = doctrine_consanguinity_restricted has_doctrine = doctrine_consanguinity_cousins } } any_spouse ?= { is_ai = yes NOT = { is_close_family_of = root } has_same_wet_nurse_trigger = { SCOPE = this OTHER_SCOPE = root } save_temporary_scope_as = spouse_temp } OR = { cp:councillor_court_chaplain ?= { NOT = { has_character_flag = had_bp2_yearly_7002 } is_available_ai_adult = yes } any_courtier_or_guest = { is_clergy = yes } } } weight_multiplier = { base = 1 modifier = { add = 4 faith.religion ?= religion:islam_religion } modifier = { add = 4 scope:court_chaplain ?= { OR = { opinion = { target = root value <= -50 } opinion = { target = scope:spouse_temp value <= -50 } OR = { has_relation_rival = root has_relation_nemesis = root } OR = { has_relation_rival = scope:spouse_temp has_relation_nemesis = scope:spouse_temp } } } } } immediate = { random_spouse ?= { limit = { is_ai = yes NOT = { is_close_family_of = root } has_same_wet_nurse_trigger = { SCOPE = this OTHER_SCOPE = root } } save_scope_as = spouse } if = { limit = { exists = cp:councillor_court_chaplain } cp:councillor_court_chaplain = { save_scope_as = court_chaplain } } else = { ordered_courtier_or_guest = { limit = { is_clergy = yes } order_by = ai_zeal save_scope_as = court_chaplain } } } option = { #I guess it's incest? name = bp2_yearly.7002.a scope:spouse = { add_secret = { type = secret_incest } } reverse_add_opinion = { target = scope:spouse modifier = love_opinion opinion = 25 } add_secret = { type = secret_incest target = scope:spouse } progress_towards_rival_effect = { REASON = rival_accused_of_perversion CHARACTER = scope:court_chaplain OPINION = default_rival_opinion } random_secret = { type = secret_incest reveal_to_without_events_effect = { CHARACTER = scope:court_chaplain } } create_character_memory = { type = incestous_marriage_wet_nurse participants = { spouse = scope:spouse } } stress_impact = { compassionate = medium_stress_impact_loss cynical = minor_stress_impact_loss zealous = minor_stress_impact_gain } ai_chance = { base = 100 modifier = { has_trait = zealous add = -10 } modifier = { OR = { has_trait = compassionate has_trait = cynical } add = 10 } } } option = { #divorce them name = bp2_yearly.7002.b divorce_effect = { DIVORCER = root DIVORCEE = scope:spouse } reverse_add_opinion = { target = scope:court_chaplain modifier = took_my_advice_opinion opinion = 25 } create_character_memory = { type = incestous_divorce_wet_nurse participants = { spouse = scope:spouse } } stress_impact = { zealous = medium_stress_impact_loss compassionate = minor_stress_impact_gain } ai_chance = { base = 10 modifier = { has_trait = compassionate add = -10 } modifier = { has_trait = zealous add = 10 } modifier = { OR = { has_relation_lover = scope:spouse has_relation_soulmate = scope:spouse } factor = 0 } } } option = { #pay them off name = bp2_yearly.7002.c pay_short_term_gold = { target = scope:court_chaplain gold = minor_gold_value } reverse_add_opinion = { target = scope:spouse modifier = love_opinion opinion = 10 } reverse_add_opinion = { target = scope:court_chaplain modifier = pleased_opinion opinion = 10 } create_character_memory = { type = incestous_marriage_wet_nurse participants = { spouse = scope:spouse } } stress_impact = { compassionate = minor_stress_impact_loss greedy = minor_stress_impact_gain } ai_chance = { base = 10 modifier = { has_trait = greedy add = -10 } modifier = { has_trait = compassionate add = 10 } } } after = { scope:court_chaplain = { add_character_flag = had_bp2_yearly_7002 } } } scripted_effect parental_neglect_effect = { if = { limit = { $RESENTING$ = { has_relation_nemesis = $RESENTED$ } } send_interface_toast = { title = bp2_yearly.parental_neglect_effect left_icon = $RESENTING$ right_icon = $RESENTED$ add_opinion = { target = $RESENTED$ modifier = hate_opinion opinion = -50 } } } else_if = { limit = { $RESENTING$ = { has_relation_rival = $RESENTED$ } } $RESENTING$ = { set_relation_nemesis = { target = $RESENTED$ reason = rival_parent_neglect } } } else_if = { limit = { $RESENTING$ = { has_relation_potential_rival = $RESENTED$ } } $RESENTING$ = { set_relation_rival = { target = $RESENTED$ reason = rival_parent_neglect } } } else = { random = { chance = 20 $RESENTING$ = { set_relation_potential_rival = { target = $RESENTED$ reason = rival_parent_neglect } } } } } bp2_yearly.7003 = { #Wet Nurse informs you about first words of your child type = character_event content_source = dlc_009 title = bp2_yearly.7003.t desc = { desc = bp2_yearly.7003.desc first_valid = { triggered_desc = { trigger = { scope:first_word = flag:motto} desc = bp2_yearly.7003.desc_motto } triggered_desc = { trigger = { scope:first_word = flag:house} desc = bp2_yearly.7003.desc_house } triggered_desc = { trigger = { scope:first_word = flag:military} desc = bp2_yearly.7003.desc_military } triggered_desc = { trigger = { scope:first_word = flag:gold} desc = bp2_yearly.7003.desc_gold } triggered_desc = { trigger = { scope:first_word = flag:secret} desc = bp2_yearly.7003.desc_secret } triggered_desc = { trigger = { scope:first_word = flag:faith} desc = bp2_yearly.7003.desc_faith } triggered_desc = { trigger = { scope:first_word = flag:gibberish root = {is_male = yes}} desc = bp2_yearly.7003.desc_father } triggered_desc = { trigger = { scope:first_word = flag:gibberish root = {is_female = yes}} desc = bp2_yearly.7003.desc_mother } } } theme = family override_background = { reference = bp2_nursery } left_portrait = { character = root animation = happiness } right_portrait = { character = scope:nursed_child animation = clutching_toy } lower_right_portrait = scope:wet_nurse cooldown = { years = 12 } trigger = { has_bp2_dlc_trigger = yes is_available_adult = yes any_court_position_holder ?= { type = wet_nurse_court_position is_available_adult = yes location = root.location } any_courtier = { age < 5 child_not_infant_trigger = yes is_available_ai = yes location = root.location OR = { is_child_of = root is_grandchild_of = root is_great_grandchild_of = root } } } weight_multiplier = { base = 1 modifier = { factor = 50 any_child = { OR = { this = root.player_heir NOT = { any_sibling = { age > prev.age } } has_variable_list = neglect_reason has_variable_list = praise_reason } } } } immediate = { random_court_position_holder ?= { type = wet_nurse_court_position save_scope_as = wet_nurse } random_courtier = { limit = { age < 5 child_not_infant_trigger = yes this = root.player_heir is_available_ai = yes location = root.location OR = { is_child_of = root is_grandchild_of = root is_great_grandchild_of = root } } alternative_limit = { age < 5 child_not_infant_trigger = yes NOT = { any_sibling = { age > prev.age } } is_available_ai = yes location = root.location is_child_of = root } alternative_limit = { age < 5 child_not_infant_trigger = yes is_available_ai = yes location = root.location is_child_of = root } alternative_limit = { age < 5 child_not_infant_trigger = yes is_available_ai = yes location = root.location OR = { is_child_of = root is_grandchild_of = root is_great_grandchild_of = root } } weight = { base = 1 modifier = { add = 50 OR = { has_variable_list = neglect_reason has_variable_list = praise_reason } } } save_scope_as = nursed_child } scope:nursed_child = { random_list = { 0 = { modifier = { add = 10 highest_skill = diplomacy } save_scope_value_as = { name = first_word value = flag:house } } 0 = { modifier = { add = 10 OR = { highest_skill_including_prowess = prowess highest_skill_including_prowess = martial } } save_scope_value_as = { name = first_word value = flag:military } } 0 = { modifier = { add = 10 highest_skill = stewardship } save_scope_value_as = { name = first_word value = flag:gold } } 0 = { modifier = { add = 10 highest_skill = intrigue } save_scope_value_as = { name = first_word value = flag:secret } } 0 = { modifier = { add = 10 highest_skill = learning } save_scope_value_as = { name = first_word value = flag:faith } } 5 = { save_scope_value_as = { name = first_word value = flag:gibberish } } 0 = { modifier = { add = 100 has_trait = intellect_good } save_scope_value_as = { name = first_word value = flag:motto } } } set_variable = { name = nursed_child_parent_var value = root } } } option = { #This is lovely! name = bp2_yearly.7003.a switch = { trigger = scope:first_word flag:house = { add_prestige = miniscule_prestige_gain } flag:military = { add_prestige = miniscule_prestige_gain } flag:gold = { add_gold = 1 } flag:secret = { add_prestige = miniscule_prestige_gain } flag:faith = { add_piety = miniscule_piety_gain } flag:gibberish = { add_piety = miniscule_piety_gain } flag:motto = { dynasty = { add_dynasty_prestige = miniscule_dynasty_prestige_gain } } } scope:nursed_child = { add_to_variable_list = { name = praise_reason target = flag:word } } reverse_add_opinion = { target = scope:nursed_child modifier = grateful_child } stress_impact = { compassionate = medium_stress_impact_loss ambitious = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = ambitious add = -10 } modifier = { has_trait = compassionate add = 10 } } } option = { #What else they can? name = bp2_yearly.7003.b flavor = bp2_yearly.7003.b.tt scope:nursed_child = { add_stress = 50 switch = { trigger = scope:first_word flag:house = { add_diplomacy_skill = 1 } flag:military = { add_martial_skill = 1 } flag:gold = { add_stewardship_skill = 1 } flag:secret = { add_intrigue_skill = 1 } flag:faith = { add_learning_skill = 1 } flag:gibberish = { add_learning_skill = 1 } flag:motto = { add_trait = eccentric } } add_to_variable_list = { name = praise_reason target = flag:word } } stress_impact = { ambitious = medium_stress_impact_loss callous = minor_stress_impact_loss sadistic = minor_stress_impact_loss content = medium_stress_impact_gain compassionate = medium_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = content add = -10 } modifier = { has_trait = compassionate add = -10 } modifier = { has_trait = ambitious add = 10 } } } option = { #I don't really care name = bp2_yearly.7003.c parental_neglect_effect = { RESENTING = scope:nursed_child RESENTED = root } scope:nursed_child = { add_to_variable_list = { name = neglect_reason target = flag:word } } stress_impact = { impatient = minor_stress_impact_loss callous = minor_stress_impact_loss sadistic = minor_stress_impact_loss wrathful = minor_stress_impact_loss compassionate = medium_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = compassionate add = -10 } modifier = { has_trait = impatient add = 10 } } } } bp2_yearly.7004 = { #Wet Nurse informs you about first steps of your child type = character_event content_source = dlc_009 title = bp2_yearly.7004.t desc = bp2_yearly.7004.desc theme = family override_background = { reference = bp2_nursery } left_portrait = { character = root animation = happiness } right_portrait = { character = scope:nursed_child animation = throne_room_bow_2 } lower_right_portrait = scope:wet_nurse cooldown = { years = 12 } trigger = { has_bp2_dlc_trigger = yes is_available_adult = yes any_court_position_holder ?= { type = wet_nurse_court_position is_available_adult = yes location = root.location } any_courtier = { age < 5 child_not_infant_trigger = yes is_available_ai = yes location = root.location OR = { is_child_of = root is_grandchild_of = root is_great_grandchild_of = root } } } weight_multiplier = { base = 1 modifier = { factor = 50 any_child = { OR = { this = root.player_heir NOT = { any_sibling = { age > prev.age } } has_variable_list = neglect_reason has_variable_list = praise_reason } } } } immediate = { random_court_position_holder = { type = wet_nurse_court_position save_scope_as = wet_nurse } random_courtier = { limit = { age < 5 child_not_infant_trigger = yes this = root.player_heir is_available_ai = yes location = root.location OR = { is_child_of = root is_grandchild_of = root is_great_grandchild_of = root } } alternative_limit = { age < 5 child_not_infant_trigger = yes NOT = { any_sibling = { age > prev.age } } is_available_ai = yes location = root.location is_child_of = root } alternative_limit = { age < 5 child_not_infant_trigger = yes is_available_ai = yes location = root.location is_child_of = root } alternative_limit = { age < 5 child_not_infant_trigger = yes is_available_ai = yes location = root.location OR = { is_child_of = root is_grandchild_of = root is_great_grandchild_of = root } } weight = { base = 1 modifier = { add = 50 OR = { has_variable_list = neglect_reason has_variable_list = praise_reason } } } save_scope_as = nursed_child } scope:nursed_child = { set_variable = { name = nursed_child_parent_var value = root } } } option = { #This is lovely! name = bp2_yearly.7004.a add_prestige = miniscule_prestige_gain reverse_add_opinion = { target = scope:nursed_child modifier = grateful_child } scope:nursed_child = { add_to_variable_list = { name = praise_reason target = flag:step } } stress_impact = { compassionate = medium_stress_impact_loss ambitious = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = ambitious add = -10 } modifier = { has_trait = compassionate add = 10 } } } option = { #What else they can? name = bp2_yearly.7004.b flavor = bp2_yearly.7004.b.tt scope:nursed_child = { add_stress = 50 add_prowess_skill = 1 add_to_variable_list = { name = praise_reason target = flag:step } } stress_impact = { ambitious = medium_stress_impact_loss callous = minor_stress_impact_loss sadistic = minor_stress_impact_loss content = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = content add = -10 } modifier = { has_trait = ambitious add = 10 } } } option = { #I don't really care name = bp2_yearly.7004.c parental_neglect_effect = { RESENTING = scope:nursed_child RESENTED = root } scope:nursed_child = { add_to_variable_list = { name = neglect_reason target = flag:step } } stress_impact = { impatient = minor_stress_impact_loss callous = minor_stress_impact_loss sadistic = minor_stress_impact_loss wrathful = minor_stress_impact_loss compassionate = medium_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = compassionate add = -10 } modifier = { has_trait = impatient add = 10 } } } } bp2_yearly.7005 = { #Wet Nurse informs you about first fallen teeth of your child type = character_event content_source = dlc_009 title = bp2_yearly.7005.t desc = bp2_yearly.7005.desc theme = family override_background = { reference = bp2_nursery } left_portrait = { character = root animation = admiration } right_portrait = { character = scope:nursed_child animation = throne_room_cheer_2 } lower_right_portrait = scope:wet_nurse cooldown = { years = 12 } trigger = { has_bp2_dlc_trigger = yes is_available_adult = yes any_court_position_holder ?= { type = wet_nurse_court_position is_available_adult = yes location = root.location } any_courtier = { child_not_infant_trigger = yes age <= 8 is_available_ai = yes location = root.location OR = { is_child_of = root is_grandchild_of = root is_great_grandchild_of = root } } } weight_multiplier = { base = 1 modifier = { factor = 50 any_child = { OR = { this = root.player_heir NOT = { any_sibling = { age > prev.age } } has_variable_list = neglect_reason has_variable_list = praise_reason } } } } immediate = { random_court_position_holder ?= { type = wet_nurse_court_position save_scope_as = wet_nurse } random_courtier = { limit = { child_not_teen_trigger = yes this = root.player_heir is_available_ai = yes location = root.location OR = { is_child_of = root is_grandchild_of = root is_great_grandchild_of = root } } alternative_limit = { child_not_teen_trigger = yes NOT = { any_sibling = { age > prev.age } } is_available_ai = yes location = root.location is_child_of = root } alternative_limit = { child_not_teen_trigger = yes is_available_ai = yes location = root.location is_child_of = root } alternative_limit = { child_not_teen_trigger = yes is_available_ai = yes location = root.location OR = { is_child_of = root is_grandchild_of = root is_great_grandchild_of = root } } weight = { base = 1 modifier = { add = 50 OR = { has_variable_list = neglect_reason has_variable_list = praise_reason } } } save_scope_as = nursed_child } hidden_effect = { scope:nursed_child = { create_artifact = { name = child_teeth_memorabilia description = child_teeth_memorabilia_desc type = miscellaneous visuals = pocket_pouch modifier = artifact_child_opinion_2_modifier modifier = artifact_monthly_minor_prestige_1_modifier save_scope_as = child_teeth } set_variable = { name = nursed_child_parent_var value = root } } scope:child_teeth = { flag_as_trash_artifact = yes } } } option = { #This is lovely! name = bp2_yearly.7005.a add_prestige = miniscule_prestige_gain scope:child_teeth = { set_owner = scope:nursed_child } scope:nursed_child = { add_to_variable_list = { name = praise_reason target = flag:tooth } } reverse_add_opinion = { target = scope:nursed_child modifier = grateful_child } stress_impact = { compassionate = medium_stress_impact_loss ambitious = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = ambitious add = -10 } modifier = { has_trait = compassionate add = 10 } } } option = { #I'll give you some coins name = bp2_yearly.7005.b pay_short_term_gold = { target = scope:nursed_child gold = tiny_gold_value } scope:child_teeth = { set_owner = root } reverse_add_opinion = { target = scope:nursed_child modifier = grateful_child } scope:nursed_child = { add_to_variable_list = { name = praise_reason target = flag:tooth } } stress_impact = { ambitious = medium_stress_impact_loss callous = minor_stress_impact_loss sadistic = minor_stress_impact_loss content = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = content add = -10 } modifier = { has_trait = ambitious add = 10 } } } option = { #I don't really care name = bp2_yearly.7005.c parental_neglect_effect = { RESENTING = scope:nursed_child RESENTED = root } scope:child_teeth = { set_owner = scope:wet_nurse } scope:nursed_child = { add_to_variable_list = { name = neglect_reason target = flag:tooth } } stress_impact = { impatient = minor_stress_impact_loss callous = minor_stress_impact_loss sadistic = minor_stress_impact_loss wrathful = minor_stress_impact_loss compassionate = medium_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = compassionate add = -10 } modifier = { has_trait = impatient add = 10 } } } } bp2_yearly.7006 = { #Wet Nurse informs you about first independent dress up of your child type = character_event content_source = dlc_009 title = bp2_yearly.7006.t desc = bp2_yearly.7006.desc theme = family override_background = { reference = bp2_nursery } left_portrait = { character = root outfit_tags = { nightgown } animation = laugh } right_portrait = { character = scope:nursed_child outfit_tags = { travel_cloak } animation = manic } lower_right_portrait = scope:wet_nurse cooldown = { years = 12 } trigger = { has_bp2_dlc_trigger = yes is_available_adult = yes any_court_position_holder ?= { type = wet_nurse_court_position is_available_adult = yes location = root.location } any_courtier = { child_not_infant_trigger = yes age <= 10 is_available_ai = yes location = root.location OR = { is_child_of = root is_grandchild_of = root is_great_grandchild_of = root } } } weight_multiplier = { base = 1 modifier = { factor = 50 any_child = { OR = { this = root.player_heir NOT = { any_sibling = { age > prev.age } } has_variable_list = neglect_reason has_variable_list = praise_reason } } } } immediate = { random_court_position_holder ?= { type = wet_nurse_court_position save_scope_as = wet_nurse } random_courtier = { limit = { child_not_teen_trigger = yes this = root.player_heir is_available_ai = yes location = root.location OR = { is_child_of = root is_grandchild_of = root is_great_grandchild_of = root } } alternative_limit = { child_not_teen_trigger = yes NOT = { any_sibling = { age > prev.age } } is_available_ai = yes location = root.location is_child_of = root } alternative_limit = { child_not_teen_trigger = yes is_available_ai = yes location = root.location is_child_of = root } alternative_limit = { child_not_teen_trigger = yes is_available_ai = yes location = root.location OR = { is_child_of = root is_grandchild_of = root is_great_grandchild_of = root } } weight = { base = 1 modifier = { add = 50 OR = { has_variable_list = neglect_reason has_variable_list = praise_reason } } } save_scope_as = nursed_child } scope:nursed_child = { set_variable = { name = nursed_child_parent_var value = root } } } option = { #This is lovely! name = bp2_yearly.7006.a add_prestige = miniscule_prestige_gain reverse_add_opinion = { target = scope:nursed_child modifier = grateful_child } scope:nursed_child = { add_to_variable_list = { name = praise_reason target = flag:dress } } stress_impact = { compassionate = medium_stress_impact_loss ambitious = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = ambitious add = -10 } modifier = { has_trait = compassionate add = 10 } } } option = { #I'll give you a nickname, negative name = bp2_yearly.7006.b scope:nursed_child = { if = { limit = { OR = { has_any_nickname = no has_bad_nickname = yes } } give_nickname = nick_prince_of_fashion } add_to_variable_list = { name = neglect_reason target = flag:dress } } reverse_add_opinion = { target = scope:nursed_child modifier = grateful_child } stress_impact = { ambitious = medium_stress_impact_loss callous = minor_stress_impact_loss sadistic = minor_stress_impact_loss content = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = content add = -10 } modifier = { OR = { has_trait = ambitious has_trait = callous has_trait = sadistic } add = 10 } } } option = { #I don't really care name = bp2_yearly.7005.c parental_neglect_effect = { RESENTING = scope:nursed_child RESENTED = root } scope:nursed_child = { add_to_variable_list = { name = neglect_reason target = flag:dress } } stress_impact = { impatient = minor_stress_impact_loss callous = minor_stress_impact_loss sadistic = minor_stress_impact_loss wrathful = minor_stress_impact_loss compassionate = medium_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = compassionate add = -10 } modifier = { has_trait = impatient add = 10 } } } } bp2_yearly.7007 = { #Hidden event to kick off either positive (7009, 7011) or negative (7008, 7010) paths hidden = yes trigger = { has_bp2_dlc_trigger = yes is_available_adult = yes OR = { has_variable_list = neglect_reason has_variable_list = praise_reason } any_parent = { is_alive = yes } } on_trigger_fail = { if = { limit = { OR = { has_variable = nursed_child_parent_var has_variable_list = neglect_reason has_variable_list = praise_reason } } clear_variable_list = neglect_reason clear_variable_list = praise_reason remove_variable = nursed_child_parent_var } } immediate = { save_scope_as = nursed_child if = { limit = { any_parent = { is_alive = yes scope:nursed_child.var:nursed_child_parent_var ?= this } } random_parent = { limit = { is_alive = yes scope:nursed_child.var:nursed_child_parent_var ?= this } save_scope_as = reflecting_parent } } else = { random_parent = { limit = { is_alive = yes } save_scope_as = reflecting_parent } } if = { limit = { scope:nursed_child = { has_variable_list = neglect_reason } } scope:nursed_child = { trigger_event = bp2_yearly.7008 } } else = { scope:nursed_child = { trigger_event = bp2_yearly.7009 } } } } scripted_effect take_parent_title_effect = { create_title_and_vassal_change = { type = granted save_scope_as = title_change add_claim_on_loss = no } scope:parent_title = { change_title_holder = { holder = scope:nursed_child change = scope:title_change } } resolve_title_and_vassal_change = scope:title_change } bp2_yearly.7008 = { #Neglected child reflects on neglecting parent type = character_event content_source = dlc_009 title = bp2_yearly.7008.t desc = { first_valid = { triggered_desc = { trigger = { scope:nursed_child.var:nursed_child_parent_var ?= scope:reflecting_parent } desc = bp2_yearly.7008.desc } desc = bp2_yearly.7008.desc_dead_parent } triggered_desc = { trigger = { is_target_in_variable_list = { name = neglect_reason target = flag:word } } desc = bp2_yearly.7008.desc_word } triggered_desc = { trigger = { is_target_in_variable_list = { name = neglect_reason target = flag:step } } desc = bp2_yearly.7008.desc_step } triggered_desc = { trigger = { is_target_in_variable_list = { name = neglect_reason target = flag:tooth } } desc = bp2_yearly.7008.desc_tooth } triggered_desc = { trigger = { is_target_in_variable_list = { name = neglect_reason target = flag:dress } } desc = bp2_yearly.7008.desc_dress } desc = bp2_yearly.7008.desc_end } theme = family override_background = { reference = courtyard } left_portrait = { character = scope:nursed_child animation = anger } right_portrait = { character = scope:reflecting_parent animation = schadenfreude } lower_right_portrait = { trigger = { NOT = { scope:nursed_child.var:nursed_child_parent_var ?= scope:reflecting_parent } } character = scope:nursed_child.var:nursed_child_parent_var } immediate = { scope:reflecting_parent = { if = { limit = { any_held_title = { count > 1 title_tier = county is_landless_type_title = no } } random_held_title = { title_tier = county limit = { is_landless_type_title = no } save_scope_as = parent_title } } } } option = { #I want your titles name = bp2_yearly.7008.a custom_tooltip = bp2_yearly.7008.tt trigger = { exists = scope:parent_title } show_as_tooltip = { random_list = { 1 = { show_chance = no desc = bp2_yearly.7008.a.tt_good take_parent_title_effect = yes } 1 = { show_chance = no desc = bp2_yearly.7008.a.tt_bad scope:nursed_child = { add_hook = { target = scope:reflecting_parent type = loyalty_hook } } } } } scope:reflecting_parent = { save_scope_value_as = { name = child_request value = flag:title } trigger_event = bp2_yearly.7010 } stress_impact = { ambitious = medium_stress_impact_gain content = medium_stress_impact_loss } ai_chance = { base = 10 modifier = { has_trait = ambitious add = 10 } modifier = { has_trait = compassionate add = -10 } } } option = { #I want gold name = bp2_yearly.7008.b custom_tooltip = bp2_yearly.7008.tt show_as_tooltip = { random_list = { 1 = { show_chance = no desc = bp2_yearly.7008.a.tt_good scope:reflecting_parent = { pay_short_term_gold = { target = scope:nursed_child gold = massive_gold_value } } } 1 = { show_chance = no desc = bp2_yearly.7008.a.tt_bad scope:nursed_child = { add_hook = { target = scope:reflecting_parent type = loyalty_hook } } } } } scope:reflecting_parent = { save_scope_value_as = { name = child_request value = flag:gold } trigger_event = bp2_yearly.7010 } stress_impact = { greedy = medium_stress_impact_loss generous = medium_stress_impact_gain } ai_chance = { base = 10 modifier = { has_trait = generous add = -10 } modifier = { has_trait = greedy add = 10 } } } option = { #I hate you! name = { trigger = { scope:nursed_child.var:nursed_child_parent_var ?= scope:reflecting_parent } text = bp2_yearly.7008.c } name = { trigger = { NOT = { scope:nursed_child.var:nursed_child_parent_var ?= scope:reflecting_parent } } text = bp2_yearly.7008.c_dead_parent } custom_tooltip = bp2_yearly.7008.tt trigger = { OR = { has_trait = vengeful has_trait = ambitious has_trait = arrogant has_trait = callous has_trait = impatient has_trait = stubborn has_trait = wrathful } } show_as_tooltip = { random_list = { 1 = { show_chance = no desc = bp2_yearly.7008.a.tt_good parental_neglect_effect = { RESENTING = root RESENTED = scope:reflecting_parent } } 1 = { show_chance = no desc = bp2_yearly.7008.a.tt_bad scope:nursed_child = { add_hook = { target = scope:reflecting_parent type = loyalty_hook } } } } } scope:reflecting_parent = { save_scope_value_as = { name = child_request value = flag:hate } trigger_event = bp2_yearly.7010 } stress_impact = { forgiving = minor_stress_impact_gain content = minor_stress_impact_gain humble = minor_stress_impact_gain compassionate = minor_stress_impact_gain patient = minor_stress_impact_gain fickle = minor_stress_impact_gain calm = minor_stress_impact_gain vengeful = minor_stress_impact_loss ambitious = minor_stress_impact_loss arrogant = minor_stress_impact_loss callous = minor_stress_impact_loss impatient = minor_stress_impact_loss stubborn = minor_stress_impact_loss wrathful = minor_stress_impact_loss } ai_chance = { base = 10 modifier = { OR = { has_trait = vengeful has_trait = ambitious has_trait = arrogant has_trait = callous has_trait = impatient has_trait = stubborn has_trait = wrathful } add = 10 } modifier = { OR = { has_trait = forgiving has_trait = content has_trait = humble has_trait = compassionate has_trait = patient has_trait = fickle has_trait = calm } add = -10 } } } option = { #I forgive you name = bp2_yearly.7008.d trigger = { OR = { has_trait = forgiving has_trait = content has_trait = humble has_trait = compassionate has_trait = patient has_trait = fickle has_trait = calm } } add_character_modifier = { modifier = role_model_parent years = 15 } stress_impact = { vengeful = minor_stress_impact_gain ambitious = minor_stress_impact_gain arrogant = minor_stress_impact_gain callous = minor_stress_impact_gain impatient = minor_stress_impact_gain stubborn = minor_stress_impact_gain wrathful = minor_stress_impact_gain forgiving = minor_stress_impact_loss content = minor_stress_impact_loss humble = minor_stress_impact_loss compassionate = minor_stress_impact_loss patient = minor_stress_impact_loss fickle = minor_stress_impact_loss calm = minor_stress_impact_loss } ai_chance = { base = 10 modifier = { OR = { has_trait = vengeful has_trait = ambitious has_trait = arrogant has_trait = callous has_trait = impatient has_trait = stubborn has_trait = wrathful } add = -10 } modifier = { OR = { has_trait = forgiving has_trait = content has_trait = humble has_trait = compassionate has_trait = patient has_trait = fickle has_trait = calm } add = 10 } } } option = { #Like father like son name = bp2_yearly.7008.e scope:nursed_child = { clear_variable_list = neglect_reason clear_variable_list = praise_reason add_character_modifier = { modifier = child_like_parent_modifier years = 10 } } stress_impact = { base = major_stress_loss impatient = minor_stress_impact_loss callous = minor_stress_impact_loss sadistic = minor_stress_impact_loss wrathful = minor_stress_impact_loss compassionate = medium_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = compassionate add = -10 } modifier = { OR = { has_trait = impatient has_trait = callous has_trait = sadistic has_trait = wrathful } add = 10 } } } } bp2_yearly.7009 = { #Cared child reflects on caring parent type = character_event content_source = dlc_009 title = bp2_yearly.7009.t desc = { first_valid = { triggered_desc = { trigger = { scope:nursed_child.var:nursed_child_parent_var ?= scope:reflecting_parent } desc = bp2_yearly.7009.desc } desc = bp2_yearly.7009.desc_dead_parent } triggered_desc = { trigger = { scope:nursed_child = { is_target_in_variable_list = { name = praise_reason target = flag:word } } } desc = bp2_yearly.7009.desc_word } triggered_desc = { trigger = { scope:nursed_child = { is_target_in_variable_list = { name = praise_reason target = flag:step } } } desc = bp2_yearly.7009.desc_step } triggered_desc = { trigger = { scope:nursed_child = { is_target_in_variable_list = { name = praise_reason target = flag:tooth } } } desc = bp2_yearly.7009.desc_tooth } triggered_desc = { trigger = { scope:nursed_child = { is_target_in_variable_list = { name = praise_reason target = flag:dress } } } desc = bp2_yearly.7009.desc_dress } first_valid = { triggered_desc = { trigger = { scope:nursed_child.var:nursed_child_parent_var ?= scope:reflecting_parent } desc = bp2_yearly.7009.desc_end } desc = bp2_yearly.7009.desc_end_dead_parent } } theme = family override_background = { reference = garden } left_portrait = { character = scope:nursed_child animation = happiness } right_portrait = { character = scope:reflecting_parent animation = personality_content } lower_right_portrait = { trigger = { NOT = { scope:nursed_child.var:nursed_child_parent_var ?= scope:reflecting_parent } } character = scope:nursed_child.var:nursed_child_parent_var } option = { #I love my parent name = bp2_yearly.7009.a custom_tooltip = bp2_yearly.7008.tt show_as_tooltip = { random_list = { 1 = { desc = bp2_yearly.7009.a.tt_good show_chance = no scope:nursed_child = { if = { limit = { NOT = { has_trait = loyal } } add_trait = loyal } else = { scope:nursed_child = { send_interface_toast = { title = bp2_yearly.7010.c.tt left_icon = scope:reflecting_parent add_opinion = { target = scope:nursed_child modifier = love_opinion opinion = 50 } } } } } } 1 = { desc = bp2_yearly.7009.a.tt_bad show_chance = no scope:reflecting_parent = { add_hook = { target = scope:nursed_child type = loyalty_hook } } } } } scope:reflecting_parent = { save_scope_value_as = { name = child_request value = flag:receive_love } trigger_event = bp2_yearly.7011 } stress_impact = { compassionate = minor_stress_impact_loss honest = minor_stress_impact_loss arrogant = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = arrogant add = -10 } modifier = { OR = { has_trait = compassionate has_trait = honest } add = 10 } } } option = { #I'll be as good as them name = bp2_yearly.7009.b add_character_modifier = { modifier = parenting_by_example years = 15 } custom_tooltip = bp2_yearly.7008.tt show_as_tooltip = { random_list = { 1 = { desc = bp2_yearly.7009.a.tt_good show_chance = no scope:reflecting_parent = { add_character_modifier = { modifier = role_model_parent years = 15 } } } 1 = { desc = bp2_yearly.7009.a.tt_bad show_chance = no scope:reflecting_parent = { add_hook = { target = scope:nursed_child type = loyalty_hook } } } } } scope:reflecting_parent = { save_scope_value_as = { name = child_request value = flag:forwarded_love } trigger_event = bp2_yearly.7011 } stress_impact = { ambitious = minor_stress_impact_loss arrogant = minor_stress_impact_loss lazy = minor_stress_impact_gain humble = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { OR = { has_trait = lazy has_trait = humble } add = -10 } modifier = { OR = { has_trait = ambitious has_trait = arrogant } add = 10 } } } option = { #Like father like son name = bp2_yearly.7009.c if = { limit = { scope:nursed_child = { OR = { has_variable = nursed_child_parent_var has_variable_list = neglect_reason has_variable_list = praise_reason } } } scope:nursed_child = { clear_variable_list = neglect_reason clear_variable_list = praise_reason remove_variable = nursed_child_parent_var } } stress_impact = { base = major_stress_loss impatient = minor_stress_impact_loss callous = minor_stress_impact_loss sadistic = minor_stress_impact_loss wrathful = minor_stress_impact_loss compassionate = medium_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = compassionate add = -10 } modifier = { OR = { has_trait = impatient has_trait = callous has_trait = sadistic has_trait = wrathful } add = 10 } } } } bp2_yearly.7010 = { #Neglected child demands something from you type = character_event content_source = dlc_009 title = bp2_yearly.7010.t desc = { first_valid = { triggered_desc = { trigger = { scope:nursed_child.var:nursed_child_parent_var ?= scope:reflecting_parent } desc = bp2_yearly.7010.desc } desc = bp2_yearly.7010.desc_dead_parent } triggered_desc = { trigger = { scope:nursed_child = { is_target_in_variable_list = { name = neglect_reason target = flag:word } } } desc = bp2_yearly.7010.desc_word } triggered_desc = { trigger = { scope:nursed_child = { is_target_in_variable_list = { name = neglect_reason target = flag:step } } } desc = bp2_yearly.7010.desc_step } triggered_desc = { trigger = { scope:nursed_child = { is_target_in_variable_list = { name = neglect_reason target = flag:tooth } } } desc = bp2_yearly.7010.desc_tooth } triggered_desc = { trigger = { scope:nursed_child = { is_target_in_variable_list = { name = neglect_reason target = flag:dress } } } desc = bp2_yearly.7010.desc_dress } desc = bp2_yearly.7010.desc_end triggered_desc = { trigger = { scope:child_request = flag:hate } desc = { first_valid = { triggered_desc = { trigger = { scope:nursed_child.var:nursed_child_parent_var ?= scope:reflecting_parent } desc = bp2_yearly.7010.desc_hate } desc = bp2_yearly.7010.desc_hate_dead_parent } } } triggered_desc = { trigger = { scope:child_request = flag:gold } desc = bp2_yearly.7010.desc_gold } triggered_desc = { trigger = { scope:child_request = flag:title } desc = bp2_yearly.7010.desc_title } } theme = family override_background = { reference = courtyard } left_portrait = { character = scope:reflecting_parent animation = war_defender } right_portrait = { character = scope:nursed_child animation = anger } lower_right_portrait = { trigger = { NOT = { scope:nursed_child.var:nursed_child_parent_var ?= scope:reflecting_parent } } character = scope:nursed_child.var:nursed_child_parent_var } option = { #I'm so sorry name = bp2_yearly.7010.a trigger = { NOT = { scope:child_request ?= flag:hate } } scope:nursed_child = { send_interface_toast = { title = bp2_yearly.7010.a.tt left_icon = scope:reflecting_parent if = { limit = { scope:child_request ?= flag:title } take_parent_title_effect = yes } else = { scope:reflecting_parent = { pay_short_term_gold = { target = scope:nursed_child gold = massive_gold_value } } } } } stress_impact = { compassionate = minor_stress_impact_loss generous = minor_stress_impact_loss greedy = minor_stress_impact_gain callous = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { OR = { has_trait = callous has_trait = greedy } add = -10 } modifier = { OR = { has_trait = compassionate has_trait = generous } add = 10 } modifier = { factor = 0 AND = { short_term_gold < massive_gold_value scope:child_request ?= flag:gold } } } } option = { #How about a hook instead? name = bp2_yearly.7010.b scope:nursed_child = { send_interface_toast = { title = bp2_yearly.7010.b.tt left_icon = scope:reflecting_parent if = { limit = { has_hook = scope:reflecting_parent } use_hook = scope:reflecting_parent } add_hook = { target = scope:reflecting_parent type = loyalty_hook } } } stress_impact = { callous = minor_stress_impact_loss compassionate = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = compassionate add = -10 } modifier = { has_trait = callous add = 10 } } } option = { #I still don't really care name = bp2_yearly.7010.c scope:nursed_child = { send_interface_toast = { title = bp2_yearly.7010.c.tt left_icon = scope:reflecting_parent parental_neglect_effect = { RESENTING = scope:nursed_child RESENTED = root } } } stress_impact = { impatient = minor_stress_impact_loss callous = minor_stress_impact_loss sadistic = minor_stress_impact_loss wrathful = minor_stress_impact_loss compassionate = medium_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = compassionate add = -10 } modifier = { OR = { has_trait = impatient has_trait = callous has_trait = sadistic has_trait = wrathful } add = 10 } modifier = { #if the child is the player we wan't only one of the above outcomes scope:nursed_child = { is_ai = no } factor = 0 } } } after = { if = { limit = { scope:nursed_child = { OR = { has_variable_list = neglect_reason has_variable_list = praise_reason has_variable = nursed_child_parent_var } } } scope:nursed_child = { clear_variable_list = neglect_reason clear_variable_list = praise_reason remove_variable = nursed_child_parent_var } } } } bp2_yearly.7011 = { #Cared child gives you something type = character_event content_source = dlc_009 title = bp2_yearly.7011.t desc = { first_valid = { triggered_desc = { trigger = { scope:nursed_child.var:nursed_child_parent_var ?= scope:reflecting_parent } desc = bp2_yearly.7011.desc } desc = bp2_yearly.7011.desc_dead_parent } triggered_desc = { trigger = { scope:nursed_child = { is_target_in_variable_list = { name = praise_reason target = flag:word } } } desc = bp2_yearly.7011.desc_word } triggered_desc = { trigger = { scope:nursed_child = { is_target_in_variable_list = { name = praise_reason target = flag:step } } } desc = bp2_yearly.7011.desc_step } triggered_desc = { trigger = { scope:nursed_child = { is_target_in_variable_list = { name = praise_reason target = flag:tooth } } } desc = bp2_yearly.7011.desc_tooth } triggered_desc = { trigger = { scope:nursed_child = { is_target_in_variable_list = { name = praise_reason target = flag:dress } } } desc = bp2_yearly.7011.desc_dress } triggered_desc = { trigger = { scope:child_request = flag:receive_love } desc = bp2_yearly.7011.desc_receive_love } triggered_desc = { trigger = { scope:child_request = flag:forwarded_love } desc = bp2_yearly.7011.desc_forwarded_love } } theme = family override_background = { reference = garden } left_portrait = { character = scope:reflecting_parent animation = love } right_portrait = { character = scope:nursed_child animation = love } lower_right_portrait = { trigger = { NOT = { scope:nursed_child.var:nursed_child_parent_var ?= scope:reflecting_parent } } character = scope:nursed_child.var:nursed_child_parent_var } option = { #Thank you name = bp2_yearly.7011.a switch = { trigger = scope:child_request flag:receive_love = { scope:nursed_child = { send_interface_toast = { title = bp2_yearly.7011.a.tt left_icon = scope:reflecting_parent if = { limit = { NOT = { has_trait = loyal } } add_trait = loyal } else = { scope:reflecting_parent = { add_opinion = { target = scope:nursed_child modifier = love_opinion opinion = 50 } } } } } } flag:forwarded_love = { scope:reflecting_parent = { add_character_modifier = { modifier = role_model_parent years = 15 } } } } stress_impact = { compassionate = minor_stress_impact_loss callous = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = callous add = -10 } modifier = { has_trait = compassionate add = 10 } } } option = { #How about a hook instead? name = bp2_yearly.7011.b scope:nursed_child = { send_interface_toast = { title = bp2_yearly.7011.b.tt left_icon = scope:reflecting_parent scope:reflecting_parent = { if = { limit = { has_hook = scope:nursed_child } use_hook = scope:nursed_child } add_hook = { target = scope:nursed_child type = loyalty_hook } } } } stress_impact = { callous = minor_stress_impact_loss compassionate = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = compassionate add = -10 } modifier = { has_trait = callous add = 10 } } } option = { #I still don't really care name = bp2_yearly.7011.c scope:nursed_child = { send_interface_toast = { title = bp2_yearly.7011.c.tt left_icon = scope:reflecting_parent add_opinion = { target = scope:reflecting_parent modifier = disappointed_opinion opinion = -10 } } } stress_impact = { impatient = minor_stress_impact_loss callous = minor_stress_impact_loss sadistic = minor_stress_impact_loss wrathful = minor_stress_impact_loss compassionate = medium_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = compassionate add = -10 } modifier = { OR = { has_trait = impatient has_trait = callous has_trait = sadistic has_trait = wrathful } add = 10 } modifier = { #if the child is the player we wan't only one of the above outcomes scope:nursed_child = { is_ai = no } factor = 0 } } } after = { if = { limit = { scope:nursed_child = { OR = { has_variable = nursed_child_parent_var has_variable_list = neglect_reason has_variable_list = praise_reason } } } scope:nursed_child = { clear_variable_list = neglect_reason clear_variable_list = praise_reason remove_variable = nursed_child_parent_var } } } } bp2_yearly.7012 = { #if any child has positive realtion with the fired nurse trigger an event about them complaining type = character_event content_source = dlc_009 title = bp2_yearly.7012.t desc = bp2_yearly.7012.desc theme = family override_background = { reference = council_chamber } left_portrait = { character = root animation = stressed_teacher } right_portrait = { character = scope:nursed_child animation = crying } lower_right_portrait = scope:former_wet_nurse cooldown = { years = 1 } trigger = { has_bp2_dlc_trigger = yes #handled in wet_nurse_title_revoked_effect #but double check if all relevant characters are still alive scope:nursed_child = { is_alive = yes } scope:former_wet_nurse = { is_alive = yes } } immediate = { #nursed_child, former_wet_nurse and liege scopes handled in wet_nurse_title_revoked_effect random_court_position_holder ?= { type = wet_nurse_court_position save_scope_as = current_wet_nurse } } option = { #oops, I'll hire her back name = bp2_yearly.7012.a trigger = { scope:former_wet_nurse = { can_be_employed_as = wet_nurse_court_position } } court_position_grant_effect = { EMPLOYER = root CANDIDATE = scope:former_wet_nurse POS = wet_nurse } reverse_add_opinion = { target = scope:nursed_child modifier = pleased_opinion opinion = 20 } add_character_modifier = { modifier = under_childs_boot_modifier years = 5 } stress_impact = { compassionate = minor_stress_impact_loss fickle = minor_stress_impact_loss callous = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { add = -10 has_trait = callous } modifier = { add = 10 has_trait = compassionate } modifier = { add = 10 has_trait = fickle } } } option = { #I make rules here, so understand name = bp2_yearly.7012.b duel = { skill = diplomacy value = decent_skill_rating 50 = { desc = bp2_yearly.7012.b_win compare_modifier = { value = scope:duel_value multiplier = 3.5 min = -49 } reverse_add_opinion = { target = scope:nursed_child modifier = comforted_opinion opinion = 20 } add_character_modifier = { modifier = bp2_good_parent_modifier years = 5 } } 50 = { desc = bp2_yearly.7012.b_loss compare_modifier = { value = scope:duel_value multiplier = -3.5 min = -49 } reverse_add_opinion = { target = scope:nursed_child modifier = confused_opinion opinion = -25 } } } stress_impact = { compassionate = minor_stress_impact_loss callous = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { add = -10 has_trait = callous } modifier = { add = 10 has_trait = compassionate } } } option = { #I make rules here, so shut up name = bp2_yearly.7012.c reverse_add_opinion = { target = scope:nursed_child modifier = frustrated_opinion opinion = -10 } stress_impact = { callous = minor_stress_impact_loss arbitrary = minor_stress_impact_loss stubborn = minor_stress_impact_loss compassionate = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { add = 10 has_trait = callous } modifier = { add = 10 has_trait = arbitrary } modifier = { add = 10 has_trait = stubborn } modifier = { add = -10 has_trait = compassionate } } } } bp2_yearly.7013 = { #child griefs over their dead wet nurse type = character_event content_source = dlc_009 title = bp2_yearly.7013.t desc = bp2_yearly.7013.desc theme = family override_background = { reference = bp2_nursery } left_portrait = { character = root animation = worry } right_portrait = { character = scope:nursed_child animation = crying } lower_right_portrait = scope:former_wet_nurse cooldown = { years = 1 } trigger = { has_bp2_dlc_trigger = yes #handled in on_death_relation_nursed_child #but double check if all relevant characters are still alive scope:nursed_child = { is_alive = yes } scope:liege = { is_alive = yes } } immediate = { #scopes assigned in on_death_relation_nursed_child } option = { #I'll get a new wet nurse asap name = bp2_yearly.7013.a custom_tooltip = bp2_yearly.7013.a.tt trigger_event = bp2_decision.0001 reverse_add_opinion = { target = scope:nursed_child modifier = comforted_opinion opinion = 15 } stress_impact = { compassionate = minor_stress_impact_loss fickle = minor_stress_impact_loss callous = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { add = -10 has_trait = callous } modifier = { add = 10 has_trait = compassionate } modifier = { add = 10 has_trait = fickle } } } option = { #help with grief name = bp2_yearly.7013.b scope:nursed_child = { add_character_modifier = { modifier = parent_helped_grief_modifier years = 5 } } stress_impact = { compassionate = minor_stress_impact_loss callous = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { add = -10 has_trait = callous } modifier = { add = 10 has_trait = compassionate } } } option = { #dead is dead name = bp2_yearly.7013.c reverse_add_opinion = { target = scope:nursed_child modifier = frustrated_opinion opinion = -10 } stress_impact = { callous = minor_stress_impact_loss arbitrary = minor_stress_impact_loss stubborn = minor_stress_impact_loss compassionate = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { add = 10 has_trait = callous } modifier = { add = 10 has_trait = arbitrary } modifier = { add = 10 has_trait = stubborn } modifier = { add = -10 has_trait = compassionate } } } } bp2_yearly.7014 = { # Child and Wet Nurse connect over same faith/culture type = character_event content_source = dlc_009 title = bp2_yearly.7014.t desc = { desc = bp2_yearly.7014.desc first_valid = { triggered_desc = { trigger = { scope:wet_nurse.culture = root.culture exists = scope:tradition exists = scope:tradition_2 } desc = bp2_yearly.7014.desc_culture } triggered_desc = { trigger = { scope:wet_nurse.culture = root.culture } desc = bp2_yearly.7014.desc_culture_no_trad } triggered_desc = { trigger = { scope:wet_nurse.faith = root.faith } desc = bp2_yearly.7014.desc_faith } } } theme = family override_background = { reference = bp2_nursery } left_portrait = { character = root animation = crying } right_portrait = { character = scope:wet_nurse animation = love } cooldown = { years = 10 } trigger = { has_bp2_dlc_trigger = yes is_available_child = yes any_relation = { type = wet_nurse OR = { AND = { #search for a nurse that is courtier of your liege and you have the same faith or culture as her, but different than liege exists = liege is_courtier_of = liege OR = { AND = { faith = root.faith faith != liege.faith } AND = { culture = root.culture culture != liege.culture } } } AND = { #search for a nurse that is your courtier and you have the same faith or culture as her is_courtier_of = root OR = { faith = root.faith culture = root.culture } } } } } weight_multiplier = { base = 1 modifier = { add = 2 is_hostage = yes } } immediate = { random_relation = { type = wet_nurse limit = { OR = { AND = { #search for a nurse that is courtier of your liege and you have the same faith or culture as her, but different than liege exists = liege is_courtier_of = liege OR = { AND = { faith = root.faith faith != liege.faith } AND = { culture = root.culture culture != liege.culture } } } AND = { #search for a nurse that is your courtier and you have the same faith or culture as her is_courtier_of = root OR = { faith = root.faith culture = root.culture } } } } save_scope_as = wet_nurse } if = { limit = { culture = { any_culture_tradition = { exists = this save_temporary_scope_as = temp_tradition } any_culture_tradition = { exists = this this != scope:temp_tradition } } } culture = { #used in loc only random_tradition = { save_scope_as = tradition } random_tradition = { limit = { this != scope:tradition } save_scope_as = tradition_2 } } } } option = { #make friends with the wet nurse name = bp2_yearly.7014.a if = { limit = { scope:wet_nurse.faith != root.faith } progress_towards_friend_effect = { REASON = friend_matters_of_culture CHARACTER = scope:wet_nurse OPINION = default_friend_opinion } } else_if = { limit = { scope:wet_nurse.culture != root.culture } progress_towards_friend_effect = { REASON = friend_matters_of_faith CHARACTER = scope:wet_nurse OPINION = default_friend_opinion } } else = { progress_towards_friend_effect = { REASON = friend_child_special_attention CHARACTER = scope:wet_nurse OPINION = default_friend_opinion } } ai_chance = { base = 10 } } option = { #get a cool modifier with culture/faith opinion name = bp2_yearly.7014.b if = { limit = { scope:wet_nurse.faith != root.faith } add_character_modifier = { modifier = wet_nurse_cultural_bonding_modifier years = 10 } } else_if = { limit = { scope:wet_nurse.culture != root.culture } add_character_modifier = { modifier = wet_nurse_faith_bonding_modifier years = 10 } } else = { add_character_modifier = { modifier = wet_nurse_bonding_modifier years = 10 } } ai_chance = { #AI should take the 1st option more, so that other wet nurse events trigger more often base = 1 } } } scripted_effect clean_rites_flags_success = { scope:teentribal ?= { create_character_memory = { type = completed_rites_of_passage } scope:new_memory = { set_variable = { name = rites_of_passage_type value = scope:teentribal.var:chosen_rite_memory } } remove_variable ?= cleansing_type remove_variable ?= chosen_rite_memory remove_character_flag ?= unproven_adult_flag clear_variable_list ?= possible_rites } } scripted_effect clean_rites_flags_failure = { scope:teentribal ?= { remove_variable ?= cleansing_type remove_variable ?= chosen_rite_memory clear_variable_list ?= possible_rites add_character_flag = unproven_adult_flag #flag to be able to take the decision again } } scripted_effect passage_rites_effect = { random_list = { 9 = { #or lifestyle xp desc = passage_rites_effect.xp add_$LIFESTYLE$_lifestyle_xp = major_lifestyle_xp } 9 = { #or a skill point desc = passage_rites_effect.skill add_$SKILL$_skill = 1 } 0 = { #have a chance to gain a personality trait desc = passage_rites_effect.trait modifier = { number_of_personality_traits < personality_trait_standard NOT = { has_trait = $TRAIT$ } NOT = { has_trait = $OPPOSITE_TRAIT$ } add = 2 } add_trait = $TRAIT$ } } } bp2_yearly.7021 = { #duel type = character_event content_source = dlc_009 title = bp2_yearly.7021.t desc = { first_valid = { triggered_desc = { trigger = { scope:teentribal = root } desc = bp2_yearly.7021.desc_root } desc = bp2_yearly.7021.desc } } theme = family override_background = { reference = ep2_tournament } left_portrait = { character = root triggered_animation = { trigger = { this != scope:teentribal is_adult = yes } animation = marshal } triggered_animation = { trigger = { var:signature_weapon = flag:axe age >= 14 this = scope:teentribal } animation = aggressive_axe } triggered_animation = { trigger = { var:signature_weapon = flag:mace age >= 14 this = scope:teentribal } animation = aggressive_mace } triggered_animation = { trigger = { var:signature_weapon = flag:sword age >= 14 this = scope:teentribal } animation = aggressive_sword } triggered_animation = { trigger = { var:signature_weapon = flag:dagger age >= 14 this = scope:teentribal } animation = aggressive_dagger } triggered_animation = { trigger = { var:signature_weapon = flag:spear age >= 14 this = scope:teentribal } animation = aggressive_spear } triggered_animation = { trigger = { var:signature_weapon = flag:hammer age >= 14 this = scope:teentribal } animation = aggressive_hammer } triggered_animation = { trigger = { is_adult = no this != scope:teentribal } animation = war_attacker } animation = throne_room_one_handed_passive_1 } right_portrait = { trigger = { root != scope:teentribal } character = scope:teentribal triggered_animation = { trigger = { scope:teentribal.var:signature_weapon = flag:axe scope:teentribal = { age >= 14 } } animation = celebrate_axe } triggered_animation = { trigger = { scope:teentribal.var:signature_weapon = flag:mace scope:teentribal = { age >= 14 } } animation = celebrate_mace } triggered_animation = { trigger = { scope:teentribal.var:signature_weapon = flag:sword scope:teentribal = { age >= 14 } } animation = celebrate_sword } triggered_animation = { trigger = { scope:teentribal.var:signature_weapon = flag:dagger scope:teentribal = { age >= 14 } } animation = celebrate_dagger } triggered_animation = { trigger = { scope:teentribal.var:signature_weapon = flag:spear scope:teentribal = { age >= 14 } } animation = celebrate_spear } triggered_animation = { trigger = { scope:teentribal.var:signature_weapon = flag:hammer scope:teentribal = { age >= 14 } } animation = celebrate_hammer } animation = throne_room_one_handed_passive_1 } lower_left_portrait = { trigger = { exists = scope:family_duelist } character = scope:family_duelist } lower_center_portrait = { trigger = { exists = scope:duelist_1 } character = scope:duelist_1 } lower_right_portrait = { trigger = { exists = scope:duelist_2 } character = scope:duelist_2 } immediate = { if = { limit = { exists = scope:liege } scope:liege = { set_signature_weapon_effect = yes } } scope:teentribal = { set_signature_weapon_effect = yes } if = { #look for a family member limit = { any_close_or_extended_family_member = { is_ai = yes culture = root.culture can_start_single_combat_trigger = yes can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = this } } } random_close_or_extended_family_member = { limit = { is_ai = yes culture = root.culture can_start_single_combat_trigger = yes can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = this } } save_scope_as = family_duelist } } else = { #find other duelist if there is no eligible family member if = { #first look in your court limit = { any_courtier_or_guest ?= { is_ai = yes culture = root.culture can_start_single_combat_trigger = yes can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = this } NOR = { is_close_or_extended_family_of = root scope:family_duelist ?= this } } } random_courtier_or_guest ?= { limit = { is_ai = yes culture = root.culture can_start_single_combat_trigger = yes can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = this } NOR = { is_close_or_extended_family_of = root scope:family_duelist ?= this } } save_scope_as = duelist_2 } } else_if = { #then look in pool limit = { any_pool_character ?= { province = scope:rite_location is_ai = yes culture = root.culture can_start_single_combat_trigger = yes can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = this } NOR = { is_close_or_extended_family_of = root scope:family_duelist ?= this } } } random_pool_character ?= { province = scope:rite_location limit = { is_ai = yes culture = root.culture can_start_single_combat_trigger = yes can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = this } NOR = { is_close_or_extended_family_of = root scope:family_duelist ?= this } } save_scope_as = duelist_2 } } else = { #create if still nothing create_character = { location = scope:rite_location template = pool_repopulate_prowess culture = root.culture faith = root.faith save_scope_as = duelist_2 after_creation = { add_character_flag = created } } } } if = { #first look in your court limit = { any_courtier_or_guest ?= { is_ai = yes culture = root.culture can_start_single_combat_trigger = yes can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = this } NOR = { is_close_or_extended_family_of = root scope:duelist_2 ?= this scope:family_duelist ?= this } prowess >= average_skill_rating } } random_courtier_or_guest ?= { limit = { is_ai = yes culture = root.culture can_start_single_combat_trigger = yes can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = this } NOR = { is_close_or_extended_family_of = root scope:duelist_2 ?= this scope:family_duelist ?= this } prowess >= average_skill_rating } save_scope_as = duelist_1 } } else_if = { #then look in pool limit = { any_pool_character ?= { province = scope:rite_location is_ai = yes culture = root.culture can_start_single_combat_trigger = yes can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = this } NOR = { is_close_or_extended_family_of = root scope:duelist_2 ?= this scope:family_duelist ?= this } prowess >= average_skill_rating } } random_pool_character ?= { province = scope:rite_location limit = { is_ai = yes culture = root.culture can_start_single_combat_trigger = yes can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = this } NOR = { is_close_or_extended_family_of = root scope:duelist_2 ?= this scope:family_duelist ?= this } prowess >= average_skill_rating } save_scope_as = duelist_1 } } else = { #create if still nothing create_character = { location = scope:rite_location template = pool_repopulate_prowess culture = root.culture faith = root.faith save_scope_as = duelist_1 after_creation = { add_character_flag = created } } } } option = { #Challenge a family member name = bp2_yearly.7021.a name = { trigger = { scope:teentribal = root } text = bp2_yearly.7021.a_root } trigger = { exists = scope:family_duelist } custom_tooltip = bp2_yearly.7021.a.tt show_as_tooltip = { dynasty = { add_dynasty_prestige = minor_dynasty_prestige_gain } } configure_start_single_combat_effect = { SC_INITIATOR = root SC_ATTACKER = scope:teentribal SC_DEFENDER = scope:family_duelist FATALITY = no FIXED = no LOCALE = terrain_scope OUTPUT_EVENT = bp2_yearly.7022 INVALIDATION_EVENT = fp1_tbc.0021 } ai_chance = { base = 1 } } option = { #Challenge anyone of your culture name = bp2_yearly.7021.b name = { trigger = { scope:teentribal = root } text = bp2_yearly.7021.b_root } custom_tooltip = bp2_yearly.7021.b.tt configure_start_single_combat_effect = { SC_INITIATOR = root SC_ATTACKER = scope:teentribal SC_DEFENDER = scope:duelist_1 FATALITY = no FIXED = no LOCALE = terrain_scope OUTPUT_EVENT = bp2_yearly.7022 INVALIDATION_EVENT = fp1_tbc.0021 } ai_chance = { base = 1 } } option = { #Pick the other challenger of your culture, available only if you don't have an eligible family member name = bp2_yearly.7021.c trigger = { exists = scope:duelist_2 } custom_tooltip = bp2_yearly.7021.c.tt configure_start_single_combat_effect = { SC_INITIATOR = root SC_ATTACKER = scope:teentribal SC_DEFENDER = scope:duelist_2 FATALITY = no FIXED = no LOCALE = terrain_scope OUTPUT_EVENT = bp2_yearly.7022 INVALIDATION_EVENT = fp1_tbc.0021 } ai_chance = { base = 1 } } option = { #I changed my mind name = bp2_yearly.7021.d custom_tooltip = bp2_yearly.7021.d.tt clean_rites_flags_failure = yes ai_chance = { #there is no reason for the AI to back out at this point base = 0 } } } bp2_yearly.7022 = { #Duel outcome type = character_event content_source = dlc_009 title = bp2_yearly.7022.t desc = { first_valid = { triggered_desc = { trigger = { exists = scope:liege scope:teentribal = scope:sc_victor } desc = bp2_yearly.7022.desc_child_win } triggered_desc = { trigger = { exists = scope:liege scope:teentribal = scope:sc_loser } desc = bp2_yearly.7022.desc_child_lost } triggered_desc = { trigger = { scope:teentribal = scope:sc_victor } desc = bp2_yearly.7022.desc_root_win } triggered_desc = { trigger = { scope:teentribal = scope:sc_loser } desc = bp2_yearly.7022.desc_root_lost } } } theme = family override_background = { reference = ep2_tournament } left_portrait = { character = scope:sc_victor triggered_animation = { trigger = { scope:teentribal = scope:sc_victor } animation = manic } triggered_animation = { trigger = { scope:teentribal = scope:sc_loser } animation = personality_honorable } } right_portrait = { character = scope:sc_loser triggered_animation = { trigger = { scope:teentribal = scope:sc_victor } animation = throne_room_bow_1 } triggered_animation = { trigger = { scope:teentribal = scope:sc_loser } animation = severelywounded } } immediate = { if = { limit = { scope:family_duelist ?= { OR = { this = scope:sc_victor this = scope:sc_loser } } } root.dynasty = { add_dynasty_prestige = minor_dynasty_prestige_gain } } } option = { #Good fight name = bp2_yearly.7022.a flavor = { first_valid = { triggered_desc = { trigger = { scope:teentribal = scope:sc_victor } desc = bp2_yearly.7022.a_victory } desc = bp2_yearly.7022.a_loss } } scope:sc_victor ?= { if = { limit = { this = scope:teentribal } send_interface_toast = { title = bp2_yearly.7022.toast left_icon = scope:teentribal passage_rites_effect = { TRAIT = arrogant OPPOSITE_TRAIT = humble LIFESTYLE = martial SKILL = prowess } } } } scope:sc_loser ?= { if = { limit = { this = scope:teentribal } send_interface_toast = { title = bp2_yearly.7022.toast left_icon = scope:teentribal passage_rites_effect = { TRAIT = vengeful OPPOSITE_TRAIT = forgiving LIFESTYLE = intrigue SKILL = intrigue } } } } stress_impact = { vengeful = minor_stress_impact_loss forgiving = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = forgiving add = -10 } modifier = { has_trait = vengeful add = 10 } } } option = { #Have potential name = bp2_yearly.7022.b flavor = { first_valid = { triggered_desc = { trigger = { scope:teentribal = scope:sc_victor } desc = bp2_yearly.7022.b_victory } desc = bp2_yearly.7022.b_loss } } scope:teentribal = { if = { limit = { NOT = { has_trait = lifestyle_blademaster } } add_trait = lifestyle_blademaster } else = { send_interface_toast = { title = bp2_yearly.7022.toast left_icon = scope:teentribal passage_rites_effect = { TRAIT = diligent OPPOSITE_TRAIT = lazy LIFESTYLE = martial SKILL = prowess } } } } stress_impact = { diligent = minor_stress_impact_loss lazy = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = lazy add = -10 } modifier = { has_trait = diligent add = 10 } } } option = { #Tasted blood and liked it name = bp2_yearly.7022.c flavor = { first_valid = { triggered_desc = { trigger = { scope:teentribal = scope:sc_victor } desc = bp2_yearly.7022.c_victory } desc = bp2_yearly.7022.c_loss } } scope:sc_victor = { if = { limit = { this = scope:teentribal } send_interface_toast = { title = bp2_yearly.7022.toast left_icon = scope:teentribal passage_rites_effect = { TRAIT = sadistic OPPOSITE_TRAIT = compassionate LIFESTYLE = intrigue SKILL = intrigue } } } } scope:sc_loser ?= { if = { limit = { this = scope:teentribal } send_interface_toast = { title = bp2_yearly.7022.toast left_icon = scope:teentribal passage_rites_effect = { TRAIT = craven OPPOSITE_TRAIT = brave LIFESTYLE = stewardship SKILL = stewardship } } } } stress_impact = { sadistic = minor_stress_impact_loss craven = minor_stress_impact_loss compassionate = minor_stress_impact_gain brave = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = craven add = 10 } modifier = { has_trait = sadistic add = 10 } modifier = { has_trait = compassionate add = -10 } modifier = { has_trait = brave add = -10 } } } after = { if = { limit = { scope:teentribal = scope:sc_victor } scope:teentribal = { add_character_modifier = { modifier = proven_adult_modifier years = 10 } } } else = { scope:teentribal = { add_character_modifier = { modifier = insecure_adult_modifier years = 10 } } } clean_rites_flags_success = yes scope:duelist_1 ?= { silent_disappearance_ai_if_created_effect = yes } scope:duelist_2 ?= { silent_disappearance_ai_if_created_effect = yes } } } bp2_yearly.7023 = { #scarification type = character_event content_source = dlc_009 title = bp2_yearly.7023.t desc = bp2_yearly.7023.desc theme = family override_background = { reference = fp1_runestone_circle } left_portrait = { character = scope:teentribal animation = throne_room_curtsey_1 remove_default_outfit = no outfit_tags = { nightgown } } right_portrait = { character = scope:priest animation = celebrate_dagger } option = { #Scarification name = bp2_yearly.7023.a flavor = bp2_yearly.7023.a.tt send_interface_toast = { title = bp2_yearly.7023.a left_icon = scope:teentribal right_icon = scope:priest scope:teentribal = { passage_rites_effect = { TRAIT = brave OPPOSITE_TRAIT = craven LIFESTYLE = martial SKILL = martial } random_list = { 50 = { show_chance = no desc = bp2_yearly.7023.a_nothing } 45 = { show_chance = no desc = bp2_yearly.7023.a_scarred add_trait = scarred } 5 = { show_chance = no desc = bp2_yearly.7023.a_wounded add_trait = wounded_1 } } self_mutilation_minor_piety_gain_effect = yes } } scope:teentribal = { add_character_modifier = { modifier = proven_adult_modifier years = 10 } } clean_rites_flags_success = yes stress_impact = { brave = minor_stress_impact_loss craven = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = craven add = -10 } modifier = { has_trait = brave add = 10 } } } option = { #How about a symbolic one instead? name = bp2_yearly.7023.b flavor = bp2_yearly.7023.b.tt scope:teentribal = { send_interface_toast = { title = bp2_yearly.7023.b left_icon = scope:teentribal right_icon = scope:priest passage_rites_effect = { TRAIT = cynical OPPOSITE_TRAIT = zealous LIFESTYLE = intrigue SKILL = intrigue } } } scope:teentribal = { add_character_modifier = { modifier = insecure_adult_modifier years = 10 } } clean_rites_flags_success = yes stress_impact = { cynical = minor_stress_impact_loss zealous = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = zealous add = -10 } modifier = { has_trait = cynical add = 10 } } } option = { #I changed my mind name = bp2_yearly.7023.c custom_tooltip = bp2_yearly.7023.c.tt clean_rites_flags_failure = yes ai_chance = { #there is no reason for the AI to back out at this point base = 0 } } } bp2_yearly.7024 = { #seclusion type = character_event content_source = dlc_009 title = bp2_yearly.7024.t desc = { desc = bp2_yearly.7024.desc triggered_desc = { trigger = { exists = scope:rite_location } desc = bp2_yearly.7024.desc_capital } triggered_desc = { trigger = { exists = scope:realm_location } desc = bp2_yearly.7024.desc_realm } triggered_desc = { trigger = { exists = scope:abroad_location } desc = bp2_yearly.7024.desc_abroad } desc = bp2_yearly.7024.desc_end } theme = family override_background = { reference = terrain_travel } left_portrait = { character = scope:teentribal animation = throne_room_bow_1 } right_portrait = { character = scope:priest animation = go_to_your_room } immediate = { if = { limit = { any_realm_province = { this != root.capital_province } } random_realm_province = { limit = { this != root.capital_province } weight = { base = 1 modifier = { add = 100 has_holding = no } } save_scope_as = realm_location } } random_neighboring_top_liege_realm_owner = { random_realm_province = { weight = { base = 1 modifier = { add = 100 has_holding = no } } save_scope_as = abroad_location } save_scope_as = foreign_ruler } } option = { #go abroad name = bp2_yearly.7024.a trigger = { exists = scope:abroad_location } custom_tooltip = bp2_yearly.7024.a.abroad custom_tooltip = bp2_yearly.7024.a.tt scope:teentribal = { scope:abroad_location = { save_scope_as = seclusion_location } start_travel_plan = { destination = scope:abroad_location on_travel_planner_cancel_event = bp2_yearly.7024 on_arrival_event = bp2_yearly.7025 on_arrival_destinations = all_but_last } } if = { limit = { exists = scope:liege } scope:liege = { show_as_tooltip = { random_list = { 1 = { desc = bp2_yearly.7024.win show_chance = no scope:teentribal = { add_character_modifier = { modifier = proven_adult_modifier years = 10 } add_prestige = major_prestige_value } } 1 = { desc = bp2_yearly.7024.lose show_chance = no scope:teentribal = { add_character_modifier = { modifier = insecure_adult_modifier years = 10 } add_trait_xp = { trait = lifestyle_traveler track = danger value = 30 } increase_wounds_no_death_effect = { REASON = wild_animal } } } } } } } stress_impact = { ambitious = minor_stress_impact_loss lazy = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = lazy add = -10 } modifier = { has_trait = ambitious add = 10 } } } option = { #go nearby name = bp2_yearly.7024.b trigger = { exists = scope:realm_location } custom_tooltip = bp2_yearly.7024.b.realm custom_tooltip = bp2_yearly.7024.b.tt scope:teentribal = { scope:realm_location = { save_scope_as = seclusion_location } start_travel_plan = { destination = scope:realm_location on_travel_planner_cancel_event = bp2_yearly.7024 on_arrival_event = bp2_yearly.7025 on_arrival_destinations = all_but_last } } if = { limit = { exists = scope:liege } scope:liege = { show_as_tooltip = { random_list = { 1 = { desc = bp2_yearly.7024.win show_chance = no scope:teentribal = { add_character_modifier = { modifier = proven_adult_modifier years = 10 } add_trait_xp = { trait = lifestyle_traveler track = danger value = 20 } add_prestige = medium_prestige_value } } 1 = { desc = bp2_yearly.7024.lose show_chance = no scope:teentribal = { add_character_modifier = { modifier = insecure_adult_modifier years = 10 } increase_wounds_no_death_effect = { REASON = wild_animal } } } } } } } stress_impact = { arbitrary = minor_stress_impact_loss lazy = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = lazy add = -10 } modifier = { has_trait = arbitrary add = 10 } } } option = { #stay in capital holding name = bp2_yearly.7024.c custom_tooltip = bp2_yearly.7024.c.capital custom_tooltip = bp2_yearly.7024.c.tt scope:teentribal = { scope:rite_location = { save_scope_as = seclusion_location } trigger_event = bp2_yearly.7025 } if = { limit = { exists = scope:liege } scope:liege = { show_as_tooltip = { random_list = { 1 = { desc = bp2_yearly.7024.win show_chance = no scope:teentribal = { add_character_modifier = { modifier = proven_adult_modifier years = 10 } add_prestige = minor_prestige_value } } 1 = { desc = bp2_yearly.7024.lose show_chance = no scope:teentribal = { add_character_modifier = { modifier = insecure_adult_modifier years = 10 } add_trait_xp = { trait = lifestyle_traveler track = danger value = 10 } increase_wounds_no_death_effect = { REASON = wild_animal } } } } } } } stress_impact = { lazy = minor_stress_impact_loss ambitious = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = ambitious add = -10 } modifier = { has_trait = lazy add = 10 } } } option = { #I changed my mind name = bp2_yearly.7024.d custom_tooltip = bp2_yearly.7024.d.tt clean_rites_flags_failure = yes ai_chance = { #there is no reason for the AI to back out at this point base = 0 } } } bp2_yearly.7025 = { #seclusion on arrival type = character_event content_source = dlc_009 title = bp2_yearly.7025.t desc = { first_valid = { triggered_desc = { trigger = { scope:abroad_location ?= scope:seclusion_location } desc = bp2_yearly.7025.desc_abroad } triggered_desc = { trigger = { scope:realm_location ?= scope:seclusion_location } desc = bp2_yearly.7025.desc_realm } desc = bp2_yearly.7025.desc_capital } first_valid = { triggered_desc = { trigger = { scope:teentribal.martial > scope:teentribal.learning } desc = bp2_yearly.7025.desc_fight } desc = bp2_yearly.7025.desc_outwit } } theme = family override_background = { reference = wilderness } left_portrait = { character = scope:teentribal triggered_animation = { trigger = { scope:teentribal.martial > scope:teentribal.learning } animation = hunting_shortbow_aim_arrow_default } animation = hunting_carcass_start outfit_tags = { beggar_rags } remove_default_outfit = no } immediate = { scope:teentribal = { select_local_animal_effect = { TYPE = dangerous } } if = { #set scope that should receive the toast notification of the outcome limit = { exists = scope:liege } scope:liege = { save_scope_as = receiver } } else = { save_scope_as = receiver } } option = { #try to outsmart the animal name = bp2_yearly.7025.a duel = { skills = { learning intrigue } value = average_skill_rating 50 = { #you outsmart the animal compare_modifier = { value = scope:duel_value multiplier = 3.5 min = -49 } desc = bp2_yearly.7025.a_win scope:receiver = { send_interface_toast = { title = bp2_yearly.7025.tt left_icon = scope:teentribal scope:teentribal = { if = { limit = { NOT = { has_trait = lifestyle_traveler } } add_trait = lifestyle_traveler } add_trait_xp = { trait = lifestyle_traveler track = danger value = { value = 0 if = { limit = {scope:rite_location ?= scope:seclusion_location } add = 10 } if = { limit = { scope:realm_location ?= scope:seclusion_location } add = 20 } if = { limit = { scope:abroad_location ?= scope:seclusion_location } add = 30 } } } add_character_modifier = { modifier = proven_adult_modifier years = 10 } add_prestige = { value = 0 if = { limit = {scope:rite_location ?= scope:seclusion_location } add = minor_prestige_value } if = { limit = { scope:realm_location ?= scope:seclusion_location } add = medium_prestige_value } if = { limit = { scope:abroad_location ?= scope:seclusion_location } add = major_prestige_value } } } } } } 50 = { #you are not smarter than a predator animal compare_modifier = { value = scope:duel_value multiplier = -3.5 min = -49 } modifier = { add = 10 scope:abroad_location ?= scope:seclusion_location } modifier = { add = 5 scope:realm_location ?= scope:seclusion_location } desc = bp2_yearly.7025.a_lose scope:receiver = { send_interface_toast = { title = bp2_yearly.7025.tt left_icon = scope:teentribal scope:teentribal = { increase_wounds_no_death_effect = { REASON = wild_animal } add_character_modifier = { modifier = insecure_adult_modifier years = 10 } } } } } } stress_impact = { compassionate = minor_stress_impact_loss craven = minor_stress_impact_loss callous = minor_stress_impact_gain brave = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = callous add = -10 } modifier = { has_trait = brave add = -10 } modifier = { has_trait = compassionate add = 10 } modifier = { has_trait = craven add = 10 } } } option = { #try to shoot the animal name = bp2_yearly.7025.b duel = { skills = { prowess martial } value = average_skill_rating 50 = { #You knock out the animal compare_modifier = { value = scope:duel_value multiplier = 3.5 min = -49 } desc = bp2_yearly.7025.b_win scope:receiver = { send_interface_toast = { title = bp2_yearly.7025.tt left_icon = scope:teentribal scope:teentribal = { if = { limit = { location = { terrain = jungle } NOT = { has_trait = jungle_stalker } } add_trait = jungle_stalker } else_if = { limit = { location = { terrain = desert } NOT = { has_trait = desert_warrior } } add_trait = desert_warrior } else_if = { limit = { location = { terrain = drylands } NOT = { has_trait = desert_warrior } } add_trait = desert_warrior } else_if = { limit = { location = { terrain = desert_mountains } NOT = { has_trait = desert_warrior } } add_trait = desert_warrior } else_if = { limit = { location = { terrain = oasis } NOT = { has_trait = desert_warrior } } add_trait = desert_warrior } else_if = { limit = { location = { terrain = mountains } NOT = { has_trait = rough_terrain_expert } } add_trait = rough_terrain_expert } else_if = { limit = { location = { terrain = wetlands } NOT = { has_trait = rough_terrain_expert } } add_trait = rough_terrain_expert } else_if = { limit = { location = { terrain = hills } NOT = { has_trait = rough_terrain_expert } } add_trait = rough_terrain_expert } else_if = { limit = { location = { terrain = farmlands } NOT = { has_trait = open_terrain_expert } } add_trait = open_terrain_expert } else_if = { limit = { location = { terrain = plains } NOT = { has_trait = open_terrain_expert } } add_trait = open_terrain_expert } else_if = { limit = { location = { terrain = steppe } NOT = { has_trait = open_terrain_expert } } add_trait = open_terrain_expert } else_if = { limit = { location = { terrain = forest } NOT = { has_trait = forest_fighter } } add_trait = forest_fighter } else_if = { limit = { location = { terrain = taiga } NOT = { has_trait = forest_fighter } } add_trait = forest_fighter } else_if = { limit = { NOT = { has_trait = lifestyle_traveler } } add_trait = lifestyle_traveler add_trait_xp = { trait = lifestyle_traveler track = danger value = { value = 0 if = { limit = {scope:rite_location ?= scope:seclusion_location } add = 10 } if = { limit = { scope:realm_location ?= scope:seclusion_location } add = 20 } if = { limit = { scope:abroad_location ?= scope:seclusion_location } add = 30 } } } } add_character_modifier = { modifier = proven_adult_modifier years = 10 } } } } } 50 = { #you are not stronger than a predator animal compare_modifier = { value = scope:duel_value multiplier = -3.5 min = -49 } modifier = { add = 10 scope:abroad_location ?= scope:seclusion_location } modifier = { add = 5 scope:realm_location ?= scope:seclusion_location } desc = bp2_yearly.7025.b_lose scope:receiver = { send_interface_toast = { title = bp2_yearly.7025.tt left_icon = scope:teentribal scope:teentribal = { increase_wounds_no_death_effect = { REASON = wild_animal } add_character_modifier = { modifier = insecure_adult_modifier years = 10 } } } } } } stress_impact = { wrathful = minor_stress_impact_loss callous = minor_stress_impact_loss compassionate = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = compassionate add = -10 } modifier = { has_trait = callous add = 10 } modifier = { has_trait = wrathful add = 10 } } } after = { clean_rites_flags_success = yes } } bp2_yearly.7026 = { #hair shaving type = character_event content_source = dlc_009 title = bp2_yearly.7026.t desc = { first_valid = { triggered_desc = { trigger = { scope:teentribal = root } desc = bp2_yearly.7026.desc_child } desc = bp2_yearly.7026.desc } } theme = family override_background = { reference = throne_room } left_portrait = { character = scope:teentribal animation = throne_room_curtsey_1 remove_default_outfit = no outfit_tags = { nightgown } } right_portrait = { character = scope:priest animation = assassin } option = { #Shave it name = bp2_yearly.7026.a flavor = bp2_yearly.7026.a.tt send_interface_toast = { title = bp2_yearly.7026.a.toast left_icon = scope:teentribal scope:teentribal = { passage_rites_effect = { TRAIT = humble OPPOSITE_TRAIT = arrogant LIFESTYLE = diplomacy SKILL = diplomacy } } } scope:teentribal = { add_character_modifier = { modifier = proven_adult_modifier years = 10 } add_character_modifier = { modifier = shaven_bald_modifier years = 3 } add_piety = medium_piety_gain } clean_rites_flags_success = yes stress_impact = { compassionate = minor_stress_impact_loss callous = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = arrogant add = -10 } modifier = { has_trait = humble add = 10 } } } option = { #Just a bowl-cut please! name = bp2_yearly.7026.b flavor = bp2_yearly.7026.b.tt send_interface_toast = { title = bp2_yearly.7026.b.toast left_icon = scope:teentribal scope:teentribal = { passage_rites_effect = { TRAIT = content OPPOSITE_TRAIT = ambitious LIFESTYLE = stewardship SKILL = stewardship } } } scope:teentribal = { add_character_modifier = { modifier = insecure_adult_modifier years = 10 } create_artifact = { name = tribal_hair description = tribal_hair.desc type = miscellaneous visuals = pocket_pouch modifier = artifact_prowess_1_modifier modifier = artifact_stress_gain_1_modifier } } clean_rites_flags_success = yes stress_impact = { humble = minor_stress_impact_loss arrogant = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = ambitious add = -10 } modifier = { has_trait = content add = 10 } } } option = { #I changed my mind name = bp2_yearly.7026.c custom_tooltip = bp2_yearly.7026.c.tt clean_rites_flags_failure = yes ai_chance = { #there is no reason for the AI to back out at this point base = 0 } } } bp2_yearly.7027 = { #cleansing with water type = character_event content_source = dlc_009 title = bp2_yearly.7027.t desc = bp2_yearly.7027.desc theme = family override_background = { reference = fp1_runestone_circle } left_portrait = { character = scope:teentribal animation = throne_room_kneel_2 remove_default_outfit = no outfit_tags = { beggar_rags } } right_portrait = { character = scope:priest animation = toast_goblet camera = camera_body_left } option = { #Submerge completely in the water name = bp2_yearly.7027.a flavor = bp2_yearly.7027.a.tt if = { limit = { scope:teentribal = { num_sinful_traits > 0 } } random_list = { 1 = { desc = passage_rites_effect.trait send_interface_toast = { title = bp2_yearly.7027.tt left_icon = scope:teentribal scope:teentribal = { flip_sinful_trait_effect = yes } } } 1 = { desc = passage_rites_effect.xp send_interface_toast = { title = bp2_yearly.7027.tt left_icon = scope:teentribal scope:teentribal = { add_learning_lifestyle_xp = major_lifestyle_xp } } } 1 = { desc = passage_rites_effect.skill send_interface_toast = { title = bp2_yearly.7027.tt left_icon = scope:teentribal scope:teentribal = { add_learning_skill = 1 } } } } } else = { send_interface_toast = { title = bp2_yearly.7027.tt left_icon = scope:teentribal scope:teentribal = { passage_rites_effect = { TRAIT = zealous OPPOSITE_TRAIT = cynical LIFESTYLE = learning SKILL = learning } } } } scope:teentribal = { add_character_modifier = { modifier = proven_adult_modifier years = 10 } add_piety = medium_piety_gain add_stress = minor_stress_gain } clean_rites_flags_success = yes stress_impact = { patient = minor_stress_impact_loss impatient = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = impatient add = -10 } modifier = { has_trait = patient add = 10 } } } option = { #Pour some water on the head name = bp2_yearly.7027.b flavor = bp2_yearly.7027.b.tt send_interface_toast = { title = bp2_yearly.7027.tt left_icon = scope:teentribal scope:teentribal = { passage_rites_effect = { TRAIT = patient OPPOSITE_TRAIT = impatient LIFESTYLE = diplomacy SKILL = diplomacy } } } scope:teentribal = { add_character_modifier = { modifier = insecure_adult_modifier years = 10 } } clean_rites_flags_success = yes stress_impact = { cynical = minor_stress_impact_loss zealous = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = zealous add = -10 } modifier = { has_trait = cynical add = 10 } } } option = { #I changed my mind name = bp2_yearly.7027.c custom_tooltip = bp2_yearly.7027.c.tt clean_rites_flags_failure = yes ai_chance = { #there is no reason for the AI to back out at this point base = 0 } } } bp2_yearly.7028 = { #cleansing with fire type = character_event content_source = dlc_009 title = bp2_yearly.7028.t desc = bp2_yearly.7028.desc theme = family override_background = { reference = bp1_bonfire } left_portrait = { character = scope:teentribal animation = manic } right_portrait = { character = scope:priest animation = throne_room_two_handed_passive_1 } option = { #Run through the fire pit name = bp2_yearly.7028.a flavor = bp2_yearly.7028.a.tt if = { limit = { scope:teentribal = { num_sinful_traits > 0 } } random_list = { 1 = { desc = passage_rites_effect.trait send_interface_toast = { title = bp2_yearly.7028.tt left_icon = scope:teentribal scope:teentribal = { flip_sinful_trait_effect = yes } } } 1 = { desc = passage_rites_effect.xp send_interface_toast = { title = bp2_yearly.7028.tt left_icon = scope:teentribal scope:teentribal = { add_learning_lifestyle_xp = major_lifestyle_xp } } } 1 = { desc = passage_rites_effect.skill send_interface_toast = { title = bp2_yearly.7028.tt left_icon = scope:teentribal scope:teentribal = { add_learning_skill = 1 } } } } } else = { send_interface_toast = { title = bp2_yearly.7028.tt left_icon = scope:teentribal scope:teentribal = { passage_rites_effect = { TRAIT = zealous OPPOSITE_TRAIT = cynical LIFESTYLE = learning SKILL = learning } } } } scope:teentribal = { add_character_modifier = { modifier = proven_adult_modifier years = 10 } add_character_modifier = { modifier = scorched_soles_modifier years = 5 } add_piety = medium_piety_gain } clean_rites_flags_success = yes stress_impact = { cynical = minor_stress_impact_loss zealous = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { scope:teentribal = { has_trait = zealous } add = -10 } modifier = { scope:teentribal = { has_trait = cynical } add = 10 } } } option = { #Put just a single step in the fire pit name = bp2_yearly.7028.b flavor = bp2_yearly.7028.b.tt send_interface_toast = { title = bp2_yearly.7028.tt left_icon = scope:teentribal scope:teentribal = { passage_rites_effect = { TRAIT = patient OPPOSITE_TRAIT = impatient LIFESTYLE = diplomacy SKILL = diplomacy } } } scope:teentribal = { add_character_modifier = { modifier = insecure_adult_modifier years = 10 } } clean_rites_flags_success = yes stress_impact = { patient = minor_stress_impact_loss impatient = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { has_trait = impatient add = -10 } modifier = { has_trait = patient add = 10 } } } option = { #I changed my mind name = bp2_yearly.7028.c custom_tooltip = bp2_yearly.7028.c.tt clean_rites_flags_failure = yes ai_chance = { #there is no reason for the AI to back out at this point base = 0 } } } bp2_yearly.7029 = { #Completed rite memory follow up event - other tribal child does the rite, you can encourage them or let them back out type = character_event content_source = dlc_009 title = bp2_yearly.7029.t desc = { desc = bp2_yearly.7029.desc switch = { trigger = scope:rite_memory.var:rites_of_passage_type flag:dueling_rite_memory = { desc = bp2_yearly.7029.desc_duel } flag:scarification_rite_memory = { desc = bp2_yearly.7029.desc_scarification } flag:seclusion_rite_memory = { desc = bp2_yearly.7029.desc_seclusion } flag:shaving_hair_rite_memory = { desc = bp2_yearly.7029.desc_hair_shaving } flag:fire_cleanse_rite_memory = { desc = bp2_yearly.7029.desc_fire_cleanse } flag:water_cleanse_rite_memory = { desc = bp2_yearly.7029.desc_water_cleanse } } } theme = family override_background = { trigger = { scope:rite_memory.var:rites_of_passage_type = flag:dueling_rite_memory } reference = ep2_tournament } override_background = { trigger = { scope:rite_memory.var:rites_of_passage_type = flag:scarification_rite_memory } reference = fp1_runestone_circle } override_background = { trigger = { scope:rite_memory.var:rites_of_passage_type = flag:seclusion_rite_memory } reference = terrain_travel } override_background = { trigger = { scope:rite_memory.var:rites_of_passage_type = flag:shaving_hair_rite_memory } reference = throne_room } override_background = { trigger = { scope:rite_memory.var:rites_of_passage_type = flag:fire_cleanse_rite_memory } reference = bp1_bonfire } override_background = { trigger = { scope:rite_memory.var:rites_of_passage_type = flag:water_cleanse_rite_memory } reference = fp1_runestone_circle } left_portrait = { character = root animation = personality_rational } right_portrait = { character = scope:teentribal animation = crying } cooldown = { years = 5 } trigger = { has_bp2_dlc_trigger = yes is_landed = yes government_has_flag = government_is_tribal any_memory = { memory_type = completed_rites_of_passage has_variable = rites_of_passage_type } any_courtier_or_guest = { character_can_rites_of_passage_trigger = yes is_available_ai = yes NOR = { is_close_or_extended_family_of = root this = root is_hostage_of = root } } } immediate = { random_memory = { memory_type = completed_rites_of_passage limit = { has_variable = rites_of_passage_type } save_scope_as = rite_memory } random_courtier_or_guest = { limit = { character_can_rites_of_passage_trigger = yes is_available_ai = yes NOR = { is_close_or_extended_family_of = root this = root is_hostage_of = root } } save_scope_as = teentribal } } option = { name = bp2_yearly.7029.a flavor = bp2_yearly.7029.a.tt random_list = { 10 = { send_interface_toast = { title = bp2_yearly.7029.a.teaching left_icon = scope:teentribal switch = { trigger = scope:rite_memory.var:rites_of_passage_type flag:dueling_rite_memory = { scope:teentribal = { add_martial_skill = 3 } } flag:scarification_rite_memory = { scope:teentribal = { add_intrigue_skill = 3 } } flag:seclusion_rite_memory = { scope:teentribal = { add_stewardship_skill = 3 } } flag:shaving_hair_rite_memory = { scope:teentribal = { add_diplomacy_skill = 3 add_character_modifier = { modifier = shaven_bald_modifier years = 1 } } } flag:fire_cleanse_rite_memory = { scope:teentribal = { add_learning_skill = 3 } } flag:water_cleanse_rite_memory = { scope:teentribal = { add_learning_skill = 3 } } } } modifier = { add = 10 switch = { trigger = scope:rite_memory.var:rites_of_passage_type flag:dueling_rite_memory = { martial >= decent_skill_rating } flag:scarification_rite_memory = { intrigue >= decent_skill_rating } flag:seclusion_rite_memory = { stewardship >= decent_skill_rating } flag:shaving_hair_rite_memory = { diplomacy >= decent_skill_rating } flag:fire_cleanse_rite_memory = { learning >= decent_skill_rating } flag:water_cleanse_rite_memory = { learning >= decent_skill_rating } } } modifier = { add = 10 switch = { trigger = scope:rite_memory.var:rites_of_passage_type flag:dueling_rite_memory = { martial >= very_high_skill_rating } flag:scarification_rite_memory = { intrigue >= very_high_skill_rating } flag:seclusion_rite_memory = { stewardship >= very_high_skill_rating } flag:shaving_hair_rite_memory = { diplomacy >= very_high_skill_rating } flag:fire_cleanse_rite_memory = { learning >= very_high_skill_rating } flag:water_cleanse_rite_memory = { learning >= very_high_skill_rating } } } } 20 = { send_interface_toast = { title = bp2_yearly.7029.a.inspiration left_icon = scope:teentribal add_prestige = minor_prestige_gain } modifier = { add = 10 prestige_level >= 3 } modifier = { add = 10 prestige_level >= 4 } } } if = { limit = { has_character_modifier = insecure_adult_modifier } remove_character_modifier = insecure_adult_modifier } stress_impact = { compassionate = minor_stress_impact_loss callous = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { add = -10 has_trait = callous } modifier = { add = 10 has_trait = compassionate } } } option = { name = bp2_yearly.7029.b flavor = bp2_yearly.7029.b.tt random_list = { 20 = { send_interface_toast = { title = bp2_yearly.7029.b.success left_icon = scope:teentribal switch = { trigger = scope:rite_memory.var:rites_of_passage_type flag:dueling_rite_memory = { scope:teentribal = { add_prowess_skill = 3 } } flag:scarification_rite_memory = { scope:teentribal = { add_prowess_skill = 3 } } flag:seclusion_rite_memory = { scope:teentribal = { add_prowess_skill = 3 } } flag:shaving_hair_rite_memory = { scope:teentribal = { add_character_modifier = { modifier = tough_and_confident_modifier years = 10 } add_character_modifier = { modifier = shaven_bald_modifier years = 1 } } } flag:fire_cleanse_rite_memory = { scope:teentribal = { add_character_modifier = { modifier = tough_and_confident_modifier years = 10 } } } flag:water_cleanse_rite_memory = { scope:teentribal = { add_character_modifier = { modifier = tough_and_confident_modifier years = 10 } } } } } modifier = { add = 10 switch = { trigger = scope:rite_memory.var:rites_of_passage_type flag:dueling_rite_memory = { scope:teentribal = { martial >= medium_skill_rating } } flag:scarification_rite_memory = { scope:teentribal = { intrigue >= medium_skill_rating } } flag:seclusion_rite_memory = { scope:teentribal = { stewardship >= medium_skill_rating } } flag:shaving_hair_rite_memory = { scope:teentribal = { diplomacy >= medium_skill_rating } } flag:fire_cleanse_rite_memory = { scope:teentribal = { learning >= medium_skill_rating } } flag:water_cleanse_rite_memory = { scope:teentribal = { learning >= medium_skill_rating } } } } } 10 = { send_interface_toast = { title = bp2_yearly.7029.b.fail left_icon = scope:teentribal scope:teentribal = { add_character_modifier = { modifier = backdown_from_rite_modifier years = 10 } } } modifier = { add = 10 switch = { trigger = scope:rite_memory.var:rites_of_passage_type flag:dueling_rite_memory = { scope:teentribal = { martial < low_skill_rating } } flag:scarification_rite_memory = { scope:teentribal = { intrigue < low_skill_rating } } flag:seclusion_rite_memory = { scope:teentribal = { stewardship < low_skill_rating } } flag:shaving_hair_rite_memory = { scope:teentribal = { diplomacy < low_skill_rating } } flag:fire_cleanse_rite_memory = { scope:teentribal = { learning < low_skill_rating } } flag:water_cleanse_rite_memory = { scope:teentribal = { learning < low_skill_rating } } } } } } stress_impact = { callous = minor_stress_impact_loss compassionate = minor_stress_impact_gain } ai_chance = { base = 1 modifier = { add = 10 has_trait = callous } modifier = { add = -10 has_trait = compassionate } } } }