#Events for pregnancy on actions namespace = pregnancy # This event is always called on pregnancy start. Determines if the pregnancy will continue smoothly, if it will continue with complications, or be terminated prematurely. #If either the birth goes smoothly, the mother grows sick, or the child grows sick, it will trigger the ordinary birth event (birth.0001). Otherwise a custom event will be triggered. # by Linnéa Thimrén pregnancy.0001 = { hidden = yes immediate = { #PREGNANCY COMPLICATION CALCULATIONS & FLAG-SETTING random_list = { 200 = { #All goes smoothly! #Less likely if health is bad modifier = { health <= fine_health add = -10 } modifier = { health <= poor_health add = -15 } #More kids means less risk of complications! modifier = { add = 5 any_child = { even_if_dead = yes count >= 2 } } modifier = { add = 5 any_child = { even_if_dead = yes count >= 4 } } #More likely if you have sacred childbirth modifier = { factor = 2 # Religious doctrine focusing on providing a sanitary birthing chamber and supplies should have a substantial impact on birth complications. faith = { has_doctrine_parameter = safer_childbirths_active } } #More likely if the Dynasty has the Kin legacy modifier = { factor = 1.5 # So too should constant care of pregnant/birthing mothers. has_dynasty = yes dynasty = { has_dynasty_perk = kin_legacy_3 } } add_character_flag = { flag = birth_will_go_smoothly days = 270 } } 10 = { #Pregnancy ends prematurely trigger_event = { id = pregnancy.2101 days = { 80 120 } } } 3 = { #Child dies during delivery (this triggers when the birth "should" have gone down, since we don't want to create the baby) trigger_event = { id = birth.3001 days = { 180 200 } } } 2 = { #Mother dies modifier = { #to keep players from dying excessively add = -2 is_ai = no } add_character_flag = { #Flags blocks other birth events flag = birth_mother_will_die days = 270 } } 2 = { #Mother and child dies (this triggers when the birth "should" have gone down, since we don't want to create the baby) modifier = { #to keep players from dying excessively add = -2 is_ai = no } trigger_event = { id = birth.3021 days = { 180 200 } } } 10 = { #Sickly child (all other events happen as usual) modifier = { factor = 0.5 # Religious doctrine focusing on providing a sanitary birthing chamber and supplies should have a substantial impact on birth complications. faith = { has_doctrine_parameter = healthier_children_active } } add_character_flag = { #Flags blocks other birth events flag = birth_child_will_become_sickly days = 270 } } 5 = { #Ill mother (all other events happen as usual) modifier = { #to keep players from dying excessively add = -4 is_ai = no } add_character_flag = { #Flags blocks other birth events flag = birth_mother_will_become_ill days = 270 } } } } } ##################################### # Ordinary "I'm pregnant" events! #################################### # for the mother pregnancy.1001 = { title = pregnancy.1001.t desc = pregnancy.1001.d theme = pregnancy override_background = { reference = bedchamber } left_portrait = { character = root animation = war_over_tie } right_portrait = { character = scope:real_father triggered_animation = { trigger = { has_any_bad_relationship_with_character_trigger = { CHARACTER = root } } animation = stress } animation = happiness } trigger = { NOT = { has_variable = borte_first_child_var } any_consort = { this = scope:real_father } } immediate = { play_music_cue = "mx_cue_succession" add_trait = pregnant scope:real_father = { if = { limit = { accepts_adultery_without_penalty_trigger = no } pregnancy_spouse_suspicion_chance_effect = yes } } } option = { name = pregnancy.1001.a } } #for the father if it's the first child or the first dynastic heir (assumed biological father) pregnancy.1002 = { title = pregnancy.1002.t desc = { first_valid = { triggered_desc = { trigger = { this = character:125501 # You are Temüjin scope:mother = { has_variable = borte_first_child_var } } desc = pregnancy.1002.d.borte } desc = pregnancy.1002.d } } theme = pregnancy override_background = { reference = bedchamber } left_portrait = { character = scope:mother triggered_animation = { trigger = { scope:mother = { has_variable = borte_first_child_var } } animation = worry } animation = love } right_portrait = { character = root triggered_animation = { trigger = { OR = { has_any_bad_relationship_with_character_trigger = { CHARACTER = root } AND = { scope:mother = { has_variable = borte_first_child_var } this = character:125501 } } } animation = stress } animation = happiness } immediate = { play_music_cue = "mx_cue_succession" } option = { name = { trigger = { scope:mother = { has_variable = borte_first_child_var } } text = pregnancy.1002.a.borte } name = { trigger = { NOT = { scope:mother = { has_variable = borte_first_child_var } } } text = pregnancy.1002.a } show_as_tooltip = { scope:mother = { add_trait_force_tooltip = pregnant } } } } scripted_trigger former_consort_was_father = { OR = { any_former_spouse = { even_if_dead = yes this = scope:father this = scope:real_father trigger_if = { limit = { is_alive = yes } NOT = { any_consort = { this = root } } } } any_former_concubinist = { even_if_dead = yes this = scope:father this = scope:real_father trigger_if = { limit = { is_alive = yes } NOT = { any_consort = { this = root } } } } any_former_concubine = { even_if_dead = yes this = scope:father this = scope:real_father trigger_if = { limit = { is_alive = yes } NOT = { any_consort = { this = root } } } } } } # Pregnant with late husband or ex-husband's child # by Sean Hughes pregnancy.1101 = { title = { first_valid = { triggered_desc = { trigger = { scope:ex_spouse = { is_alive = no } } desc = pregnancy.1101.t.dead } desc = pregnancy.1101.t.divorced } } desc = { desc = pregnancy.1101.desc.start first_valid = { triggered_desc = { trigger = { scope:ex_spouse = { is_alive = no } } desc = pregnancy.1101.desc.dead } desc = pregnancy.1101.desc.divorced } desc = pregnancy.1101.desc.end } theme = pregnancy override_background = { reference = bedchamber } left_portrait = { character = root } right_portrait = scope:ex_spouse trigger = { # Event is only valid if our former spouse (dead or divorced) is both the real and assumed father (e.g., it was a legitimate pregnancy when the child was conceived). former_consort_was_father = yes } immediate = { play_music_cue = "mx_cue_succession" add_trait = pregnant scope:father = { save_scope_as = ex_spouse } } option = { name = { trigger = { scope:ex_spouse = { is_alive = yes } } text = pregnancy.1101.a.divorced } name = { trigger = { scope:ex_spouse = { is_alive = no } } text = pregnancy.1101.a.dead } # Notify spouses about the pregnancy. every_spouse = { trigger_event = pregnancy.1102 } # Notify the father if alive. scope:ex_spouse = { if = { limit = { is_alive = yes } trigger_event = pregnancy.1103 } } } } # For the mother's husband (not father) to explain why their spouse is pregnant and that it is okay. pregnancy.1102 = { title = pregnancy.1102.t desc = pregnancy.1102.desc theme = pregnancy override_background = { reference = bedchamber } left_portrait = { character = scope:mother } right_portrait = { character = scope:ex_spouse triggered_animation = { trigger = { has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:mother } } animation = stress } animation = happiness } option = { name = pregnancy.1102.a show_as_tooltip = { scope:mother = { add_trait_force_tooltip = pregnant } } } } # For the father, explaining that their ex-wife will bear them a new child soon. pregnancy.1103 = { type = letter_event opening = { first_valid = { triggered_desc = { trigger = { OR = { any_former_concubine = { this = scope:mother } any_former_concubinist = { this = scope:mother } } } desc = pregnancy.1103.opening_concubine } desc = pregnancy.1103.opening } } desc = { first_valid = { triggered_desc = { trigger = { OR = { any_former_concubine = { this = scope:mother } any_former_concubinist = { this = scope:mother } } } desc = pregnancy.1103.desc_concubine } desc = pregnancy.1103.desc } } sender = scope:mother option = { name = pregnancy.1103.a show_as_tooltip = { scope:mother = { add_trait_force_tooltip = pregnant } } } } ########################### # Bastard pregnancies ########################### #Unmarried mother pregnant with child pregnancy.2001 = { title = pregnancy.2001.t desc = { desc = pregnancy.2001.opening first_valid = { triggered_desc = { trigger = { scope:real_father = { is_married = yes } } desc = pregnancy.2001.father_is_married } desc = pregnancy.2001.father_is_unmarried } } theme = pregnancy override_background = { reference = bedchamber } left_portrait = { character = root } right_portrait = { character = scope:real_father triggered_animation = { trigger = { has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:mother } } animation = stress } animation = happiness } trigger = { is_pregnant = yes # Fix to prevent pipeline failures on account of set_num_pregnancy_children being used on an unpregnant character NOR = { # If we are married or have concubines (or are a concubine) this event is not valid, as there is a (assumed) father. any_consort = { } # Same for if a former spouse/concubine got us pregant. former_consort_was_father = yes } } immediate = { play_music_cue = "mx_cue_succession" hidden_effect = { set_num_pregnancy_children = 1 add_character_flag = { flag = unmarried_bastard_pregnancy months = 9 } } unmarried_mother_pregnancy_effect = yes } option = { #Publicly name the father! name = pregnancy.2001.a bastardy_pregnancy_announcement_effect = yes hidden_effect = { expose_lover_secret_or_run_consequence_effect = { TARGET = scope:real_father EXPOSER = scope:mother } } ai_chance = { base = 20 ai_value_modifier = { ai_honor = 0.5 ai_boldness = 0.5 ai_compassion = 0.25 } compare_modifier = { value = ai_vengefulness trigger = { opinion = { target = scope:real_father value < 0 } ai_vengefulness > 0 } } } } option = { #Only tell the real_father name = pregnancy.2001.b trigger = { scope:real_father = { is_alive = yes } } hidden_effect = { add_character_flag = { #Add flag to determine what should happen in adultery.1101 flag = planning_to_confess_to_real_father days = 22 } } if = { limit = { any_owned_story = { type = story_peasant_affair var:peasant_character = { this = scope:real_father } } } add_character_flag = is_looking_for_peasant #To take the story_peasant_affair to the next step add_character_flag = peasant_affair_already_looking custom_tooltip = search_for_real_father_tt } else = { custom_tooltip = reveal_illegitimate_pregnancy_to_real_father_tt } ai_chance = { base = 100 ai_value_modifier = { ai_honor = 0.5 ai_compassion = 1 ai_rationality = 0.5 } modifier = { # Never hide the truth in faiths with the Polyamory tenet. factor = 0 accepts_adultery_without_penalty_trigger = yes } } } option = { #Keep it secret! name = pregnancy.2001.c flavor = pregnancy.2001.c.tt ai_chance = { base = 100 ai_value_modifier = { ai_rationality = 0.5 } modifier = { # Never hide the truth in faiths with the Polyamory tenet. factor = 0 accepts_adultery_without_penalty_trigger = yes } } } option = { #Attempt to terminate the pregnancy name = pregnancy.2001.d pregnancy_termination_attempt_effect = yes ai_chance = { base = 100 ai_value_modifier = { ai_rationality = 0.5 } modifier = { # Never hide the truth in faiths with the Polyamory tenet. factor = 0 accepts_adultery_without_penalty_trigger = yes } } } } #Married woman pregnant with a bastard child pregnancy.2002 = { type = character_event title = pregnancy.2002.t desc = { first_valid = { triggered_desc = { trigger = { accepts_adultery_without_penalty_trigger = yes } desc = pregnancy.2002.desc.polyamorous } desc = pregnancy.2002.desc } } theme = pregnancy left_portrait = { character = root animation = worry } right_portrait = scope:father lower_center_portrait = scope:real_father trigger = { # If we are married and/or have concubines, but the real father is not one of them, it's a bastard! any_consort = { is_male = yes } pregnancy_real_father = { NOT = { is_consort_of = root } } # OBJECTION! If a former spouse/concubine is both the real and assumed father, it's not actually a bastard! NOT = { former_consort_was_father = yes } } immediate = { play_music_cue = "mx_cue_succession" # If we got pregnant before our marriage, there will be no assumed father set. However, we need one for the event logic to work correctly. # Since this is a pretty rare edge case, we just go ahead and set the assumed father to a current living spouse. if = { limit = { NOT = { exists = pregnancy_assumed_father } } random_consort = { save_scope_as = assumed_father } hidden_effect = { set_pregnancy_assumed_father = scope:assumed_father } } save_scope_as = mother hidden_effect = { set_num_pregnancy_children = 1 if = { limit = { exists = primary_partner } primary_partner = { save_scope_as = spouse } } else = { random_consort = { save_scope_as = spouse } } add_character_flag = { flag = bastard_pregnancy months = 9 } } } option = { #Confess name = { trigger = { accepts_adultery_without_penalty_trigger = no } text = pregnancy.2002.a } name = { trigger = { accepts_adultery_without_penalty_trigger = yes } text = pregnancy.2001.a } married_mother_pregnancy_effect = yes add_fornicator_trait_or_nothing_effect = yes bastardy_pregnancy_announcement_effect = yes if = { limit = { accepts_adultery_without_penalty_trigger = no } expose_lover_secret_or_run_consequence_effect = { TARGET = scope:real_father EXPOSER = scope:mother } } ai_chance = { base = 0 modifier = { # Never hide the truth in faiths with the Polyamory tenet. add = 100 accepts_adultery_without_penalty_trigger = yes } } } option = { #Tell the real father name = pregnancy.2002.b trigger = { NOT = { exists = primary_partner } } if = { limit = { any_owned_story = { type = story_peasant_affair var:peasant_character = { this = scope:real_father } } } add_character_flag = is_looking_for_peasant #To take the story_peasant_affair to the next step add_character_flag = peasant_affair_already_looking custom_tooltip = search_for_real_father_tt } else = { custom_tooltip = reveal_illegitimate_pregnancy_to_real_father_tt } add_character_flag = { #Add flag to determine what should happen in adultery.1101 flag = planning_to_confess_to_real_father days = 22 } married_mother_pregnancy_effect = yes ai_chance = { base = 100 ai_value_modifier = { ai_honor = 0.5 ai_compassion = 1 ai_rationality = 0.5 } modifier = { # Never hide the truth in faiths with the Polyamory tenet. factor = 0 accepts_adultery_without_penalty_trigger = yes } } stress_impact = { honest = medium_stress_impact_gain } } option = { #Keep it secret! name = pregnancy.2002.c custom_tooltip = pregnancy.2002.c.tt married_mother_pregnancy_effect = yes stress_impact = { honest = major_stress_impact_gain } ai_chance = { base = 100 ai_value_modifier = { ai_rationality = 0.5 } modifier = { # Never hide the truth in faiths with the Polyamory tenet. factor = 0 accepts_adultery_without_penalty_trigger = yes } } } option = { #Attempt to get rid of the child name = pregnancy.2002.d pregnancy_termination_attempt_effect = yes ai_chance = { base = 0 } } } ################ # Attempted Termination Chain # 2003 - 2007 ############### #Successful attempt, no side effects pregnancy.2003 = { type = character_event title = pregnancy.2003.t desc = { random_valid = { desc = pregnancy.2003.desc_no_notice desc = pregnancy.2003.desc_pain } } theme = pregnancy left_portrait = { character = root animation = happiness } immediate = { end_pregnancy = yes pregnancy_cleanup_effect = yes } option = { #It is for the best name = pregnancy.2003.a } } #Successful attempt, fall ill pregnancy.2004 = { type = character_event title = pregnancy.2004.t desc = pregnancy.2004.desc theme = pregnancy left_portrait = { character = root animation = personality_cynical } immediate = { end_pregnancy = yes add_trait_force_tooltip = ill pregnancy_cleanup_effect = yes } option = { #It was what had to be done name = pregnancy.2004.a } } #Failed attempt, no side effects pregnancy.2005 = { type = character_event title = pregnancy.2005.t desc = pregnancy.2005.desc theme = pregnancy left_portrait = { character = root animation = sadness } immediate = { if = { limit = { is_married = no } #unmarried_mother_pregnancy_effect = yes } else = { married_mother_pregnancy_effect = yes } } option = { #I had to try name = pregnancy.2005.a } } #Die pregnancy.2007 = { type = character_event title = pregnancy.2007.t desc = pregnancy.2007.desc theme = pregnancy left_portrait = { character = root animation = grief } immediate = { play_music_cue = "mx_cue_murder" } option = { #It was what had to be done name = pregnancy.2007.a death = { death_reason = death_attempted_treatment } } } ################ # Same-sex # 250 - 2059 ############### # Pregnant while all mother's consorts are women # by Linnéa Thimrén pregnancy.2050 = { title = pregnancy.2050.t desc = { first_valid = { triggered_desc = { trigger = { accepts_adultery_without_penalty_trigger = yes } desc = pregnancy.2050.desc.polyamorous } desc = pregnancy.2050.desc } } theme = pregnancy left_portrait = scope:real_father right_portrait = scope:spouse trigger = { # If we are married and/or have concubines, but all of them are women as well, it's a bastard! any_consort = { NOT = { is_male = yes } } pregnancy_real_father = { NOT = { is_consort_of = root } } # OBJECTION! If a former spouse/concubine is both the real and assumed father, it's not actually a bastard! NOT = { former_consort_was_father = yes } } immediate = { play_music_cue = "mx_cue_succession" save_scope_as = mother hidden_effect = { set_num_pregnancy_children = 1 if = { limit = { exists = primary_partner } primary_partner = { save_scope_as = spouse } } else = { random_consort = { save_scope_as = spouse } } add_character_flag = { flag = bastard_pregnancy months = 9 } } # People will know you've been unfaithful, obviously add_fornicator_trait_or_nothing_effect = yes } option = { #Confess (for now this is the only option since you cannot deny that you've slept with someone else) name = { trigger = { accepts_adultery_without_penalty_trigger = no } text = pregnancy.2002.a } name = { trigger = { accepts_adultery_without_penalty_trigger = yes } text = pregnancy.2001.a } married_mother_pregnancy_effect = yes bastardy_pregnancy_announcement_effect = yes expose_lover_secret_or_run_consequence_effect = { TARGET = scope:real_father EXPOSER = scope:mother } ai_chance = { base = 100 } } } #################### # Pregnancy ended prematurely (naturally) # by Linnéa Thimrén ################### pregnancy.2101 = { type = character_event title = pregnancy.2101.t desc = { random_valid = { first_valid = { triggered_desc = { trigger = { any_child = { even_if_dead = yes count >= 1 } } desc = pregnancy.2101.desc_other_children } desc = pregnancy.2101.desc_pain } desc = pregnancy.2101.desc } } theme = pregnancy left_portrait = { character = root animation = personality_cynical } trigger = { is_pregnant = yes } immediate = { if = { limit = { exists = primary_partner } primary_partner = { save_scope_as = spouse } } create_character_memory = { type = child_premature participants = { mother = root } } hidden_effect = { end_pregnancy = yes pregnancy_cleanup_effect = yes } } option = { name = pregnancy.2101.a #To tell spouse if = { limit = { exists = scope:spouse } scope:spouse = { trigger_event = pregnancy.2102 } } #To tell real_father if they're not your spouse and they know of the pregnancy if = { limit = { exists = scope:spouse NOT = { scope:spouse = scope:real_father has_character_flag = pregnancy_real_father_knows } } scope:real_father = { trigger_event = pregnancy.2102 } } } } #Pregnancy ended prematurely - for father pregnancy.2102 = { type = character_event title = pregnancy.2101.t desc = pregnancy.2102.desc theme = pregnancy right_portrait = { character = scope:mother animation = personality_cynical } immediate = { create_character_memory = { type = child_premature participants = { mother = scope:mother } } } option = { name = pregnancy.2102.a } } ############### #3000: Events for the real father ###################### #real_father suspects they are the father #Can be triggered if the mother tries to keep fatherhood hidden from real_father in pregnancy.2002 or 2003 pregnancy.3001 = { type = character_event title = pregnancy.3001.t desc = { desc = pregnancy.3001.opening first_valid = { triggered_desc = { trigger = { scope:mother = { any_relation = { type = lover this = root } } has_opinion_modifier = { modifier = love_opinion target = scope:mother } } desc = pregnancy.3001.lovers_love } triggered_desc = { trigger = { scope:mother = { any_relation = { type = lover this = root } } } desc = pregnancy.3001.lovers_not_love } desc = pregnancy.3001.not_lovers } } theme = pregnancy left_portrait = scope:mother trigger = { scope:mother = { is_pregnant = yes NOR = { any_owned_story = { exists = var:peasant_character var:peasant_character = { this = root } } has_character_flag = pregnancy_real_father_knows } } #Safety block for spouses that are also lovers, since this event is for bastard fathers NOT = { is_consort_of = scope:mother } } option = { #I must confront her about it! name = pregnancy.3001.a custom_tooltip = pregnancy.3001.a.tt hidden_effect = { save_scope_as = real_father_inquirer scope:mother = { trigger_event = { id = pregnancy.5001 days = { 3 5 } } } } } option = { #Could it be... name = pregnancy.3001.b custom_tooltip = pregnancy.3001.b.tt } } #Mother chooses to tell the real father in pregnancy.2002 pregnancy.3002 = { type = character_event title = pregnancy.3002.t desc = { first_valid = { triggered_desc = { trigger = { any_relation = { type = lover this = scope:mother }} desc = pregnancy.3002.lovers } desc = pregnancy.3002.not_lovers } triggered_desc = { trigger = { exists = scope:spouse } } } theme = pregnancy left_portrait = scope:mother trigger = { scope:mother = { is_pregnant = yes } } immediate = { play_music_cue = "mx_cue_succession" } option = { #What will become of the child name = pregnancy.3002.a trigger = { has_opinion_modifier = { modifier = love_opinion target = scope:mother } } exclusive = yes custom_tooltip = pregnancy.3002.a.tt scope:mother = { add_character_flag = { flag = pregnancy_real_father_knows months = 9 } } } option = { #What will become of the child name = { trigger = { OR = { any_child = { OR = { has_trait = bastard has_trait = legitimized_bastard has_trait = wild_oat } } any_known_secret = { OR = { secret_type = secret_disputed_heritage secret_type = secret_unmarried_illegitimate_child } exists = secret_target exists = secret_target.real_father secret_target = { real_father = root } } } } text = pregnancy.3002.b.not_again } name = { text = pregnancy.3002.b } custom_tooltip = pregnancy.3002.a.tt scope:mother = { add_character_flag = { flag = pregnancy_real_father_knows months = 9 } } } option = { #The whole world must know the truth name = pregnancy.3002.c trigger = { is_married = no } save_scope_value_as = { name = real_father_revealing value = yes } bastardy_pregnancy_announcement_effect = yes } } #Unmarried mother comes to unmarried father pregnancy.3003 = { type = character_event title = pregnancy.3003.t desc = { first_valid = { triggered_desc = { trigger = { faith = { has_doctrine_parameter = bastards_none } } desc = pregnancy.3003.desc_no_bastards } desc = pregnancy.3003.desc } } theme = pregnancy left_portrait = scope:mother trigger = { scope:mother = { is_pregnant = yes } } immediate = { play_music_cue = "mx_cue_succession" scope:mother = { add_character_flag = { flag = pregnancy_real_father_knows months = 9 } } if = { limit = { is_ai = no } add_character_flag = { flag = tutorial_reactive_advice_bastards } } } option = { #This must be kept secret! name = pregnancy.3003.a custom_tooltip = pregnancy.3003.a.tt ai_chance = { base = 100 ai_value_modifier = { ai_rationality = 0.5 } } } option = { #The whole world must know! name = pregnancy.3003.b bastardy_pregnancy_announcement_effect = yes ai_chance = { base = 25 } } } #Unmarried mother comes to married father pregnancy.3004 = { type = character_event title = pregnancy.3004.t desc = pregnancy.3004.desc theme = pregnancy left_portrait = scope:mother lower_right_portrait = scope:spouse trigger = { scope:mother = { is_pregnant = yes } } immediate = { play_music_cue = "mx_cue_succession" #The real father knows now scope:mother = { add_character_flag = { flag = pregnancy_real_father_knows months = 9 } } #For portrait and desc purposes primary_spouse = { save_scope_as = spouse } show_as_tooltip = { scope:mother = { add_trait_force_tooltip = pregnant } } } option = { #This must be kept secret! name = pregnancy.3004.a } } #5000: Follow-ups #The child's real_father suspects, confronts mother about it. #Fired by the real_father choosing to press the mother in pregnancy.3001 pregnancy.5001 = { type = character_event title = pregnancy.5001.t desc = { desc = pregnancy.5001.desc first_valid = { triggered_desc = { trigger = { scope:real_father = scope:real_father_inquirer } desc = pregnancy.5001.real_father } desc = pregnancy.5001.not_father } } theme = pregnancy left_portrait = { character = scope:real_father_inquirer animation = worry } right_portrait = { trigger = { scope:spouse != scope:real_father_inquirer } character = scope:spouse } trigger = { scope:mother = { is_pregnant = yes } } option = { #It is true! name = pregnancy.5001.a trigger = { scope:real_father_inquirer = scope:real_father } custom_tooltip = reveal_illegitimate_pregnancy_to_real_father_tt ai_chance = { base = 100 } scope:real_father = { trigger_event = { id = pregnancy.5002 #The truth is revealed to them days = { 3 5 } } } } option = { #Insist real_father is wrong name = pregnancy.5001.b trigger = { scope:real_father_inquirer != scope:real_father } fallback = yes # Only show if they are not the father ai_chance = { base = 100 } scope:real_father = { trigger_event = { id = pregnancy.5003 #Denial days = { 3 5 } } } } } #Mother confesses that root is the real_father, sharing the secret with them pregnancy.5002 = { type = character_event title = pregnancy.5002.t desc = { first_valid = { triggered_desc = { trigger = { has_opinion_modifier = { modifier = love_opinion target = scope:mother } } desc = pregnancy.5002.love } desc = pregnancy.5002.not_love } } theme = pregnancy left_portrait = scope:mother trigger = { scope:mother = { is_pregnant = yes } } immediate = { hidden_effect = { scope:mother = { add_character_flag = { flag = pregnancy_real_father_knows months = 9 } } } if = { limit = { is_ai = no } add_character_flag = { flag = tutorial_reactive_advice_bastards } } } option = { #Ah, what will become of our child? name = pregnancy.5002.a custom_tooltip = pregnancy.3003.a.tt } option = { name = pregnancy.5002.b expose_lover_secret_or_run_consequence_effect = { TARGET = scope:mother EXPOSER = root } bastardy_pregnancy_announcement_effect = yes } } #Mother keeps insisting the child is not root's pregnancy.5003 = { type = character_event title = pregnancy.5003.t desc = pregnancy.5003.desc theme = pregnancy left_portrait = { character = scope:mother animation = personality_callous } option = { #Are they really telling the truth? name = pregnancy.5003.a } } ######################## # Someone publicly announces the child is theirs # 6000 ######################## ### 6000 - 6099: Mother announces #Mother announces the child - and the real father pregnancy.6001 = { type = character_event title = pregnancy.6001.t desc = pregnancy.6001.desc theme = pregnancy left_portrait = { character = scope:mother animation = personality_callous } right_portrait = scope:real_father option = { name = pregnancy.6001.a custom_tooltip = pregnancy_announcement_my_child_will_be_a_bastard } } #Mother announces child father - event for real father pregnancy.6002 = { type = character_event title = pregnancy.6002.t desc = { desc = pregnancy.6002.desc triggered_desc = { trigger = { exists = scope:spouse scope:spouse = { accepts_adultery_without_penalty_trigger = no } } desc = pregnancy.6002.married } triggered_desc = { trigger = { is_married = no opinion = { target = scope:mother value <= 0 } } desc = pregnancy.6002.unmarried_unsympathetic } triggered_desc = { trigger = { is_married = no opinion = { target = scope:mother value > 0 } } desc = pregnancy.6002.unmarried_sympathetic } } theme = pregnancy left_portrait = scope:mother right_portrait = { character = scope:spouse animation = disapproval } immediate = { if = { limit = { primary_partner ?= { accepts_adultery_without_penalty_trigger = no } } primary_partner = { save_scope_as = spouse } } else = { random_consort = { limit = { accepts_adultery_without_penalty_trigger = no } save_scope_as = spouse } } } option = { name = pregnancy.6002.a trigger = { is_married = no } } after = { custom_tooltip = pregnancy_announcement_the_child_will_be_a_bastard_real_father } } #Mother announces child father - event for spouse of mother pregnancy.6003 = { type = character_event title = pregnancy.6003.t desc = pregnancy.6003.desc theme = pregnancy left_portrait = scope:mother lower_left_portrait = scope:real_father immediate = { play_music_cue = "mx_cue_prison" } option = { name = pregnancy.6003.a custom_tooltip = pregnancy_announcement_the_child_will_be_a_bastard } } #Mother announces child father - event for family of mother pregnancy.6004 = { type = character_event title = pregnancy.6004.t desc = { desc = pregnancy.6004.desc first_valid = { triggered_desc = { trigger = { scope:mother = { is_close_family_trigger = { CHARACTER = scope:real_father } } trait_is_criminal_in_faith_trigger = { TRAIT = incestuous FAITH = root.faith GENDER_CHARACTER = scope:mother } } desc = pregnancy.6004.incest } triggered_desc = { trigger = { exists = scope:spouse } desc = pregnancy.6004.mother_married } desc = pregnancy.6004.mother_unmarried } } theme = pregnancy left_portrait = scope:mother lower_left_portrait = scope:real_father immediate = { play_music_cue = "mx_cue_prison" scope:mother = { if = { limit = { exists = primary_partner } primary_partner = { save_scope_as = spouse } } } } option = { name = pregnancy.6004.a custom_tooltip = pregnancy_announcement_the_child_will_be_a_bastard } } #Mother announces child father - event for spouse of real_father pregnancy.6005 = { type = character_event title = pregnancy.6005.t desc = pregnancy.6005.desc theme = pregnancy left_portrait = scope:real_father right_portrait = scope:mother immediate = { play_music_cue = "mx_cue_prison" } option = { name = pregnancy.6005.a custom_tooltip = pregnancy_announcement_the_child_will_be_a_bastard } } #Mother announces child father - event for family of real_father pregnancy.6006 = { type = character_event title = pregnancy.6006.t desc = { desc = pregnancy.6006.desc first_valid = { triggered_desc = { trigger = { exists = scope:spouse } desc = pregnancy.6006.real_father_married } desc = pregnancy.6006.real_father_unmarried } } theme = pregnancy left_portrait = scope:mother lower_left_portrait = scope:real_father lower_center_portrait = scope:spouse override_background = { reference = dungeon trigger = { scope:mother = { is_imprisoned = yes } } } immediate = { play_music_cue = "mx_cue_prison" scope:real_father = { if = { limit = { exists = primary_partner } primary_partner = { save_scope_as = spouse } } } } option = { name = pregnancy.6006.a } } #Mother announces child father - event for real_father pregnancy.6999 = { type = character_event title = pregnancy.6999.t desc = pregnancy.6999.desc theme = pregnancy left_portrait = scope:mother right_portrait = scope:real_father option = { name = pregnancy.6999.a custom_tooltip = pregnancy_announcement_the_child_will_be_a_bastard } }