####MARRIAGE TRIGGER LIST### #GENERAL MARRIAGE TRIGGERS #can_marry_common_trigger #can_marry_trigger #could_marry_character_trigger #can_marry_character_trigger #marriage_between_characters_unlocks_alliance_of_min_tier_trigger #can_become_concubine #MARRIAGE INTERACTION TRIGGERS ############################# # GENERAL MARRIAGE TRIGGERS # ############################# # Is allowed to marry (current marriage/concubine status ignored) can_marry_common_trigger = { is_alive = yes NOT = { has_trait_with_flag = can_not_marry } trigger_if = { limit = { exists = primary_title } NOR = { # Block Mercenaries from marrying or showing up in marriage interactions primary_title = { is_mercenary_company = yes } is_leading_faction_type = peasant_faction is_leading_faction_type = populist_faction government_has_flag = government_is_true_herder } } # Clergy cannot marry if their faith disallows it trigger_if = { limit = { is_clergy = yes } faith = { has_doctrine_parameter = clergy_can_marry } } trigger_if = { limit = { exists = liege.involved_activity.var:tournament_marriage_prize this = liege.involved_activity.var:tournament_marriage_prize } exists = scope:contest_winner } } #Can marry right now can_marry_trigger = { can_marry_common_trigger = yes allowed_more_spouses = yes #To account for a person marrying their concubines please use can_marry_character_trigger } allowed_to_marry_same_sex_trigger = { has_game_rule = accepted_same_sex_marriage faith = { NOR = { has_doctrine_parameter = homosexuality_shunned has_doctrine_parameter = homosexuality_illegal } } } can_have_children_with = { sex_opposite_of = $CHARACTER$ # Only opposite sex since for now } allowed_to_marry_character_gender_trigger = { OR = { AND = { allowed_to_marry_same_sex_trigger = yes sex_same_as = $CHARACTER$ } sex_opposite_of = $CHARACTER$ } } #two characters could potentially marry (does NOT check that they're unmarried) could_marry_character_trigger = { save_temporary_scope_as = can_marry_check can_marry_common_trigger = yes $CHARACTER$ = { can_marry_common_trigger = yes } #Opposite genders if you don't have accepted same-sex marriage game rule enabled and your faith supports it trigger_if = { limit = { $CHARACTER$ = { allowed_to_marry_same_sex_trigger = no } } sex_opposite_of = $CHARACTER$ } #Have you recently divorced this character? NOT = { has_opinion_modifier = { modifier = divorced_me_opinion target = $CHARACTER$ } } #Faith hostility & consanguinity trigger_if = { limit = { NOT = { is_courtier_of = $CHARACTER$ } } #If you're someone's courtier, your liege can marry you anyway faith = { faith_allows_marriage_consanguinity_trigger = { CHARACTER_1 = scope:can_marry_check CHARACTER_2 = $CHARACTER$ } #faith_hostility_level = { # target = $CHARACTER$.faith # value < faith_hostility_prevents_marriage_level #} } } trigger_if = { limit = { $CHARACTER$ = { NOT = { is_courtier_of = scope:can_marry_check } } } #If you're someone's courtier, your liege can marry you anyway $CHARACTER$.faith = { faith_allows_marriage_consanguinity_trigger = { CHARACTER_1 = scope:can_marry_check CHARACTER_2 = $CHARACTER$ } #faith_hostility_level = { # target = scope:can_marry_check.faith # value < faith_hostility_prevents_marriage_level #} } } trigger_if = { limit = { any_close_or_extended_family_member = { any_spouse = { this = $CHARACTER$ } } } faith = { has_doctrine = doctrine_consanguinity_unrestricted } $CHARACTER$ = { faith = { has_doctrine = doctrine_consanguinity_unrestricted } NOT = { any_spouse = { is_close_or_extended_family_of = scope:can_marry_check NOT = { faith = { has_doctrine = doctrine_consanguinity_unrestricted } } } } } } # Cannot marry self NOT = { scope:can_marry_check = { is_spouse_of = $CHARACTER$ } } } # Same trigger as above with the exception of the recent divorce trigger can_take_as_concubine_character_trigger = { save_temporary_scope_as = can_marry_check can_marry_common_trigger = yes $CHARACTER$ = { can_marry_common_trigger = yes } #Opposite genders if you don't have accepted same-sex marriage game rule enabled and your faith supports it trigger_if = { limit = { $CHARACTER$ = { allowed_to_marry_same_sex_trigger = no } } sex_opposite_of = $CHARACTER$ } #Faith hostility & consanguinity trigger_if = { limit = { NOT = { is_courtier_of = $CHARACTER$ } } #If you're someone's courtier, your liege can marry you anyway faith = { faith_allows_marriage_consanguinity_trigger = { CHARACTER_1 = scope:can_marry_check CHARACTER_2 = $CHARACTER$ } #faith_hostility_level = { # target = $CHARACTER$.faith # value < faith_hostility_prevents_marriage_level #} } } trigger_if = { limit = { $CHARACTER$ = { NOT = { is_courtier_of = scope:can_marry_check } } } #If you're someone's courtier, your liege can marry you anyway $CHARACTER$.faith = { faith_allows_marriage_consanguinity_trigger = { CHARACTER_1 = scope:can_marry_check CHARACTER_2 = $CHARACTER$ } #faith_hostility_level = { # target = scope:can_marry_check.faith # value < faith_hostility_prevents_marriage_level #} } } NOT = { scope:can_marry_check = { is_spouse_of = $CHARACTER$ } } } #Two characters are able to marry right now can_marry_character_trigger = { save_temporary_scope_as = can_marry_char_check OR = { AND = { is_betrothed = yes betrothed = $CHARACTER$ } AND = { can_marry_trigger = yes $CHARACTER$ = { can_marry_trigger = yes } } } trigger_if = { limit = { $CHARACTER$ = { is_concubine = yes } } $CHARACTER$ = { is_concubine_of = scope:can_marry_char_check } } trigger_if = { limit = { is_concubine = yes } is_concubine_of = $CHARACTER$ $CHARACTER$ = { could_marry_character_trigger = { CHARACTER = scope:can_marry_char_check } } #Gender, recent divorce, allowed to marry, no illegal incest etc.} If they're your concubine you're rules are the ones looked at } trigger_else = { could_marry_character_trigger = { CHARACTER = $CHARACTER$ } #Gender, recent divorce, allowed to marry, no illegal incest etc. } } #A marriage between MY_CHARACTER and THEIR_CHARACTER would give alliance/would unlock renegotiate alliance for current scope where current scope's ally would be at least TIER marriage_between_characters_unlocks_alliance_of_min_tier_trigger = { save_temporary_scope_as = alliance_unlocker $MY_CHARACTER$ = { OR = { this = scope:alliance_unlocker is_close_family_of = scope:alliance_unlocker } } $THEIR_CHARACTER$ = { OR = { AND = { is_ruler = yes highest_held_title_tier >= $TIER$ } any_close_family_member = { is_ruler = yes highest_held_title_tier >= $TIER$ } } } } can_become_concubine_of_character_trigger = { is_available_quick = { adult = yes ruler = no advanced_ruler = no hostage = no } trigger_if = { limit = { NOT = { is_imprisoned_by = $CHARACTER$ } } is_married = no is_betrothed = no is_concubine = no number_of_concubines = 0 } trigger_if = { limit = { is_imprisoned_by = $CHARACTER$ is_married = yes } NOT = { is_spouse_of = $CHARACTER$ } } NOR = { is_concubine_of = $CHARACTER$ has_character_flag = has_been_offered_as_concubine } could_marry_character_trigger = { CHARACTER = $CHARACTER$ } #Gender, recent divorce, allowed to marry, no illegal incest etc. } # Same as above, switching out could_marry_character_trigger for can_take_as_concubine_character_trigger, in order to better inform the player that they cannot take their ex-spouse as a concubine can_become_concubine_of_character_valid_trigger = { is_available_quick = { adult = yes ruler = no advanced_ruler = no } trigger_if = { limit = { NOT = { is_imprisoned_by = $CHARACTER$ } } is_married = no is_betrothed = no is_concubine = no is_diarch = no number_of_concubines = 0 } trigger_if = { limit = { is_imprisoned_by = $CHARACTER$ is_married = yes } NOT = { is_spouse_of = $CHARACTER$ } } NOR = { is_concubine_of = $CHARACTER$ has_character_flag = has_been_offered_as_concubine } can_take_as_concubine_character_trigger = { CHARACTER = $CHARACTER$ } #Gender, allowed to marry, no illegal incest etc. has_any_disease_trigger = no has_easily_mocked_physical_attribute_trigger = no } can_be_offered_as_concubine_to_character_trigger = { is_available_quick = { adult = yes ruler = no advanced_ruler = no } trigger_if = { limit = { NOT = { is_imprisoned_by = $GIVER$ } } is_married = no is_betrothed = no is_diarch = no OR = { is_concubine = no is_concubine_of = $GIVER$ } number_of_concubines = 0 } trigger_if = { limit = { is_imprisoned_by = $GIVER$ is_married = yes } NOR = { is_spouse_of = $CHARACTER$ is_spouse_of = $GIVER$ } } NOR = { is_concubine_of = $CHARACTER$ has_character_flag = has_been_offered_as_concubine } NOT = { is_theocratic_lessee = yes } could_marry_character_trigger = { CHARACTER = $CHARACTER$ } #Gender, recent divorce, allowed to marry, no illegal incest etc. } ready_to_marry_betrothed_trigger = { trigger_if = { limit = { exists = betrothed } is_adult = yes betrothed = { is_adult = yes } } trigger_else = { always = no } } ################################# # MARRIAGE INTERACTION TRIGGERS # ################################# marriage_interaction_can_be_picked_trigger = { can_marry_trigger = yes is_available_quick = { hostage = no imprisoned = no } } marriage_interaction_valid_target_trigger = { # Clergy cannot marry if their faith doesn't allow it trigger_if = { limit = { scope:secondary_actor = { is_clergy = yes NOT = { faith = { has_doctrine_parameter = clergy_can_marry } } } } custom_description = { text = character_is_clergy_and_cannot_marry subject = scope:secondary_actor object = scope:secondary_recipient scope:secondary_actor = { is_clergy = no } } } trigger_else_if = { limit = { scope:secondary_recipient = { is_clergy = yes NOT = { faith = { has_doctrine_parameter = clergy_can_marry } } } } custom_description = { text = character_is_clergy_and_cannot_marry subject = scope:secondary_recipient object = scope:secondary_actor scope:secondary_recipient = { is_clergy = no } } } #Marriage trigger_else_if = { limit = { scope:secondary_actor = { is_adult = yes } scope:secondary_recipient = { is_adult = yes } } scope:secondary_actor = { custom_description = { text = "can_marry_check_secondary_actor" subject = scope:secondary_actor object = scope:secondary_recipient can_marry_character_trigger = { CHARACTER = scope:secondary_recipient } #Checks marriage status, betrothed, gender, consanguinity, faith hostility etc. } } } #Betrothal trigger_else = { scope:secondary_actor = { custom_description = { text = "can_betroth_check_secondary_actor" subject = scope:secondary_actor object = scope:secondary_recipient can_marry_character_trigger = { CHARACTER = scope:secondary_recipient } #Checks marriage status, betrothed, gender, consanguinity, faith hostility etc. } } } # If the actor is ai they will not pick a character already considered for concubinage trigger_if = { limit = { scope:actor = { is_ai = yes } } NOR = { scope:secondary_actor = { has_character_flag = has_been_offered_as_concubine } scope:secondary_recipient = { has_character_flag = has_been_offered_as_concubine } } } } marriage_interaction_auto_accept_trigger = { trigger_if = { limit = { exists = scope:secondary_actor.betrothed scope:secondary_actor = { has_been_promised_grand_wedding = yes } } always = no } trigger_else_if = { limit = { exists = scope:secondary_actor.betrothed } custom_description = { text = is_betrothed_auto_accept subject = scope:secondary_actor object = scope:secondary_recipient scope:secondary_actor.betrothed = scope:secondary_recipient } } trigger_else_if = { limit = { scope:hook = yes } #Strong hook = 100% accept (unless marrying 1st or 2nd player heir or the ruler and asking for matrilineal/partrilineal resulting in no dynasty children for them) custom_description = { text = "spending_hook" subject = scope:actor object = scope:recipient scope:actor = { has_strong_hook = scope:recipient } scope:recipient = { NAND = { #Secondary recipient can't be recipient or 1st/2nd heir... OR = { this = scope:secondary_recipient player_heir_position = { target = scope:secondary_recipient value <= 2 } } #...if the marriage (matrilineal/patrilineal) does not match their gender OR = { scope:secondary_recipient = { is_female = yes NOT = { always = scope:matrilineal } } scope:secondary_recipient = { is_male = yes always = scope:matrilineal } } } } } } trigger_else = { always = no } } make_concubine_is_shown_trigger = { scope:actor = { allowed_concubines = yes is_adult = yes } scope:recipient = { OR = { is_courtier_of = scope:actor is_imprisoned_by = scope:actor } can_become_concubine_of_character_valid_trigger = { CHARACTER = scope:actor } } } make_concubine_is_valid_trigger = { custom_description = { text = take_concubine_allowed_more object = scope:recipient scope:actor = { allowed_more_concubines = yes } } scope:recipient = { custom_tooltip = { text = take_concubine_ex_spouse NOT = { has_opinion_modifier = { modifier = divorced_me_opinion target = scope:actor } } } OR = { AND = { is_imprisoned_by = scope:actor is_married = yes } is_married = no } is_hostage = no } } marriage_interaction_non_loyal_diarchs_refuse_secondary_marriage_trigger = { trigger_if = { limit = { scope:$TARGET$ ?= { is_diarch = yes # We're only concerned about landed rulers, those who might be married out of their own court. is_ruler = no } } custom_tooltip = { text = arrange_marriage_interaction.tt.non_loyal_regents_refuse_to_be_married_off.$TARGET$ scope:$TARGET$ = { diarch_loyalty >= diarch_loyalty_visibly_loyal_threshold } } } } wants_very_young_wife = { is_available_quick = { female = no adult = no } } wants_young_wife = { is_available_quick = { female = no adult = yes } age < 30 NOT = { any_child = { count >= 2 is_alive = yes NOT = { has_trait = bastard } } } } will_not_be_very_young_wife = { is_female = yes is_very_young_character = no } will_not_be_young_wife = { is_female = yes is_young_character = no } will_not_be_fertile_wife = { is_female = yes is_aging_character = yes } is_ruler_or_close_family = { OR = { is_ruler = yes any_close_family_member = { even_if_dead = yes is_ruler = yes } } } can_have_concubines_trigger = { $CHAR$ ?= { custom_tooltip = { text = can_have_concubines_name_tt allowed_more_concubines = yes } } }