CK3 DatabaseCrusader Kings III · 1.20.1.2 “Crozier” · unofficial
Silk & Silverout Tue, Nov 17What's free, what needs the DLC, price →

Interaction · Diplomatic actions

Request Divorce

from 100PietyvariesRenownAccepted automatically in some cases; otherwise the AI weighs it

The time has come for the character you send and the recipient to part ways

What you need

You

To send it

  • Does not have the Modifier: Promised Pilgrimage
  • If

    • You are you

    Then

    Otherwise

  • If

    • You are you

    Then

    • You swore to care for your family member's widow

    Otherwise

    • … swore to care for … family member's widow
  • In some cases (on a condition the game doesn't show) › You: You have 100 Piety
  • In some cases (on a condition the game doesn't show) › You › Your dynasty:
    • dynasty_prestige >= scope:puppet_or_actor.dynasty.minor_dynasty_prestige_value

To see it in the menu

  • Your rite: Has the Must be Approved Doctrine
  • None of these

  • One of these

    • Your faith:
    • or

      cp:councillor_court_chaplain:
    • or

      All of these

      • Your Government is a Theocratic-type Government
      • exists = superior
    • or

      cp:councillor_court_chaplain.superior:
  • The character you send is not you
  • scope:secondary_actor.dynasty.dynast ?= scope:puppet_or_actor
  • None of these

    • The character you send: Is your spouse
  • root.faith ?= scope:secondary_actor.faith

The character you send

Request Divorce is a diplomatic character interaction in Crusader Kings III. You need: Does not have the Modifier: Promised Pilgrimage. Accepted automatically in some cases; otherwise the AI weighs it. Reasons the AI weighs include Reluctance (-50), The recipient's own Marriage (-100), Your union is divine (-100) and 27 more. It costs Piety (from 100), Renown (varies). Patch 1.20.1.2, from game/common/character_interactions/00_marriage_interactions.txt.

for a guide, post or blog
Quick answers (3)
What are the requirements for Request Divorce in CK3?
You: Does not have the Modifier: Promised Pilgrimage. (patch 1.20.1.2)
How do I get the AI to accept Request Divorce?
Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: Reluctance -50, The recipient's own Marriage -100, … Opinion of …, … Opinion of …, Your union is divine -100, The other character is openly in an incestuous relationship +150, The other character has been unfaithful, The other character is a Eunuch or Beardless Eunuch +100, The other character's Faith does not allow Polygamous +100, The other character is of a different Religion +100, The other character is of a different Faith +10, You … a Kinslayer -50, The other character is a Kinslayer +50, You … the recipient's friend +50, You … the recipient's best friend +150, You … the recipient's lover +25, You … the recipient's rival -100, You … the recipient's nemesis -500, Marriage is incestuous -100, Marriage is incestuous +100, You … of their Dynasty +5, You … of their House +10, You … family +25, Parents +50, You … Virtuous Traits, The other character has Virtuous Traits, You … Sinful Traits, The other character has Sinful Traits, Is your Realm Priest Puppet +100, Donation, Donation, Donation, Donation, Divorce Justified by Religious Law +25, Issue Dreadful Threats, Offer Pilgrimage, Is your Realm Priest Puppet +100, You have no Realm Priest Puppet -25, You belong to different Rites -20, The recipient's compatibility with … +25, The recipient's compatibility with … -25, The recipient's Rite prohibits a … Tenet -100 and The recipient's Rite prohibits a permitted … Tenet -40.
How much does Request Divorce cost?
Piety (from 100), Renown (varies) (patch 1.20.1.2).

Will they accept?

Accepted automatically when:

  • They use their Hook on …

Otherwise the AI adds these up and accepts above zero. Reasons in italics are the script's, with no label in the game.

ReasonAmount
Base0
Reluctance-50
The recipient's own Marriage
when
  • The target is the other character
-100
… Opinion of …
when
  • The target is not the other character
varies
… Opinion of …
when
  • The target is not the other character
varies
Your union is divine
when
  • Your rite: The rite has the tenet Divine Marriage
  • One of these

    • is_cousin_of = scope:secondary_recipient
    • or

      Is family of the other character
-100
The other character is openly in an incestuous relationship
when
  • The other character › Any relation:
    • One of these

      • All of these

        • The my rite: The rite has Marriage between members of the same Dynasty is forbidden
        • Not: Is Lowborn
        • scope:secondary_recipient.dynasty ?= dynasty
      • or

        All of these

      • or

        All of these

        • The my rite: The rite has Marriage between cousins is allowed
        • One of these

          • Is close family of the other character
          • or

            is_uncle_or_aunt_of = scope:secondary_recipient
          • or

            is_nibling_of = scope:secondary_recipient
      • or

        All of these

        • The my rite: The rite has Marriage between cousins, aunts/nephews and uncles/nieces is allowed
        • Is close family of the other character
+150
The other character has been unfaithful
when
  • The target is not the other character
  • The other character:
    • One of these

      • reverse_has_opinion_modifier = { modifier = unfaithful_spouse_exposed_opinion target = scope:puppet_or_actor }
      • or

        All of these

        • Has “std from unfaithfulness against” (a variable the game's script sets)
        • Std from unfaithfulness against is scope:puppet or actor
varies
The other character is a Eunuch or Beardless Eunuch
when
+100
The other character's Faith does not allow Polygamous
when
  • The target is not the other character
  • Any consort:
  • The other character’s culture: Their culture does not have the tradition Polygamous
  • The other character’s rite: Does not have the Polygamous Doctrine
+100
The other character is of a different Religion
when
  • The target is not the other character
  • scope:secondary_recipient.faith.religion != scope:puppet_or_actor.faith.religion
+100
The other character is of a different Faith
when
  • The target is not the other character
  • scope:secondary_recipient.faith.religion = scope:puppet_or_actor.faith.religion
  • The other character: Their faith is the same as that of puppet or actor
+10
You … a Kinslayer
when
  • has_trait_rank = { trait = kinslayer rank >= 1 }
-50
The other character is a Kinslayer
when
  • The target is not the other character
  • The other character:
    • has_trait_rank = { trait = kinslayer rank >= 1 }
+50
You … the recipient's friend
when
  • The character you target: Has you as friend
+50
You … the recipient's best friend
when
  • The character you target: Has you as best friend
+150
You … the recipient's lover
when
  • The character you target: Has you as lover
+25
You … the recipient's rival
when
  • The character you target: Has you as rival
-100
You … the recipient's nemesis
when
  • The character you target: Has you as nemesis
-500
A scripted reason
when
  • Your house:
    • has_house_aspiration_parameter = ceremony_marriage_acceptance
+15
Marriage is incestuous
when
  • The character you send:
    • Is family of the other character
    • Their rite: The rite has the tenet Divine Marriage
-100
Marriage is incestuous
when
  • The character you send:
    • faith.main_rite = { save_temporary_scope_as = my_rite }
    • One of these

      • All of these

        • The my rite: The rite has Marriage between members of the same Dynasty is forbidden
        • Not: Is Lowborn
        • scope:secondary_recipient.dynasty ?= dynasty
      • or

        All of these

      • or

        All of these

        • The my rite: The rite has Marriage between cousins is allowed
        • One of these

          • Is close family of the other character
          • or

            is_uncle_or_aunt_of = scope:secondary_recipient
          • or

            is_nibling_of = scope:secondary_recipient
      • or

        All of these

        • The my rite: The rite has Marriage between cousins, aunts/nephews and uncles/nieces is allowed
        • Is close family of the other character
+100
You … of their Dynasty
when
  • The character you target:
    • Not: Is Lowborn
    • Is of the same dynasty as you
    • Is not family of you
    • NOT = { is_cousin_of = scope:puppet_or_actor }
    • Is not a child of you
    • The target’s dynasty is not the other character’s
+5
You … of their House
when
  • The character you target:
    • Not: Is Lowborn
    • Is of the same house as you
    • Is not family of you
    • NOT = { is_cousin_of = scope:puppet_or_actor }
    • Is not a child of you
    • The target’s house is not the other character’s
+10
You … family
when
  • The character you target:
    • One of these

      • Is family of you
      • or

        is_cousin_of = scope:puppet_or_actor
    • Is not a child of you
+25
Parents
when
  • The character you target: Is a child of you
+50
You … Virtuous Traits
when
  • root.num_virtuous_traits > 0
varies
The other character has Virtuous Traits
when
  • scope:secondary_recipient.num_virtuous_traits > 0
varies
You … Sinful Traits
when
  • root.num_sinful_traits > 0
varies
The other character has Sinful Traits
when
  • scope:secondary_recipient.num_sinful_traits > 0
varies
Is your Realm Priest Puppet
when
  • root.puppet:theological_agent_puppet ?= scope:recipient
+100
Donation
when
  • The option “donate faith” is chosen
  • root.major_gold_value < scope:recipient.minor_gold_value
varies
Donation
when
  • The option “donate faith” is chosen
  • root.major_gold_value < scope:recipient.major_gold_value
  • root.major_gold_value >= scope:recipient.minor_gold_value
varies
Donation
when
  • The option “donate faith” is chosen
  • root.major_gold_value >= scope:recipient.major_gold_value
  • root.major_gold_value < scope:recipient.monumental_gold_value
varies
Donation
when
  • The option “donate faith” is chosen
  • root.major_gold_value >= scope:recipient.monumental_gold_value
varies
Divorce Justified by Religious Law
when
  • The option “divorce justified” is chosen
+25
Issue Dreadful Threats
when
  • The option “threaten priest” is chosen
varies
Offer Pilgrimage
when
  • The option “offer pilgrimage” is chosen
pam_offer_pilgrimage_acceptance_value
Is your Realm Priest Puppet
when
  • root.puppet:theological_agent_puppet ?= scope:recipient
+100
You have no Realm Priest Puppet
when
  • None of these

    • You: Your Government is a Theocratic-type Government
    • exists = scope:actor.puppet:theological_agent_puppet
-25
You belong to different Rites
when
  • Is not of the same rite as the target
-20
The recipient's compatibility with …
when
  • Is not of the same rite as the target
  • The character you target:
    • rite_fulfillment_score = { target = scope:actor.rite value >= 75 }
+25
The recipient's compatibility with …
when
  • Is not of the same rite as the target
  • The character you target:
    • rite_fulfillment_score = { target = scope:actor.rite value < 25 }
-25
The recipient's Rite prohibits a … Tenet
when
  • Is not of the same rite as the target
  • Any tenet:
    • Your rite:
      • has_tenet_status = { tenet = prev status = core }
    • The target’s rite:
      • has_tenet_status = { tenet = prev status = prohibited }
-100
The recipient's Rite prohibits a permitted … Tenet
when
  • Is not of the same rite as the target
  • Any tenet:
    • Your rite:
      • has_tenet_status = { tenet = prev status = permitted }
    • The target’s rite:
      • has_tenet_status = { tenet = prev status = prohibited }
-40
Acceptance (ai_accept) (231 lines of game script)
base = 0
divorce_character_ai_accept_modifier = yes
modifier = {
	add = -100
	desc = DIVORCE_INCESTUOUS
	scope:secondary_actor = {
		is_close_or_extended_family_of = scope:secondary_recipient
		rite = {
			rite_has_tenet = tenet_divine_marriage
		}
	}
}
modifier = {
	add = 100
	desc = DIVORCE_INCESTUOUS
	scope:secondary_actor = {
		relation_with_character_is_incestuous_in_my_faith_trigger = {
			CHARACTER = scope:secondary_recipient
		}
	}
}
modifier = {
	add = 5
	desc = YOU_ARE_MY_DYNASTY_MEMBER
	scope:recipient = {
		is_lowborn = no
		dynasty = scope:puppet_or_actor.dynasty
		NOR = {
			is_close_or_extended_family_of = scope:puppet_or_actor
			is_cousin_of = scope:puppet_or_actor
			is_child_of = scope:puppet_or_actor
			scope:recipient.dynasty = scope:secondary_recipient.dynasty
		}
	}
}
modifier = {
	add = 10
	desc = YOU_ARE_MY_HOUSE_MEMBER
	scope:recipient = {
		is_lowborn = no
		house = scope:puppet_or_actor.house
		NOR = {
			is_close_or_extended_family_of = scope:puppet_or_actor
			is_cousin_of = scope:puppet_or_actor
			is_child_of = scope:puppet_or_actor
			scope:recipient.house = scope:secondary_recipient.house
		}
	}
}
modifier = {
	add = 25
	desc = YOU_ARE_MY_RELATIVE
	scope:recipient = {
		OR = {
			is_close_or_extended_family_of = scope:puppet_or_actor
			is_cousin_of = scope:puppet_or_actor
		}
		NOT = {
			is_child_of = scope:puppet_or_actor
		}
	}
}
modifier = {
	add = 50
	desc = PARENTS
	scope:recipient = {
		is_child_of = scope:puppet_or_actor
	}
}
modifier = {
	add = {
		add = 10
		multiply = scope:puppet_or_actor.num_virtuous_traits
	}
	scope:puppet_or_actor.num_virtuous_traits > 0
	desc = I_AM_VIRTUOUS
}
modifier = {
	add = {
		add = -10
		multiply = scope:secondary_recipient.num_virtuous_traits
	}
	scope:secondary_recipient.num_virtuous_traits > 0
	desc = THEY_ARE_VIRTUOUS
}
modifier = {
	add = {
		add = -10
		multiply = scope:puppet_or_actor.num_sinful_traits
	}
	scope:puppet_or_actor.num_sinful_traits > 0
	desc = I_AM_SINFUL
}
modifier = {
	add = {
		add = 10
		multiply = scope:secondary_recipient.num_sinful_traits
	}
	scope:secondary_recipient.num_sinful_traits > 0
	desc = THEY_ARE_SINFUL
}
modifier = {
	add = 100
	scope:puppet_or_actor.puppet:theological_agent_puppet ?= scope:recipient
	desc = IS_YOUR_PUPPET
}
modifier = {
	add = {
		value = 25
		if = {
			limit = {
				pam_actor_rite_has_core_simony_trigger = yes
			}
			multiply = 5
		}
	}
	scope:donate_faith ?= yes
	scope:puppet_or_actor.major_gold_value < scope:recipient.minor_gold_value
	desc = DONATE_FAITH_INTERACTION_OPTION_REASON
}
modifier = {
	add = {
		value = 50
		if = {
			limit = {
				pam_actor_rite_has_core_simony_trigger = yes
			}
			multiply = 5
		}
	}
	scope:donate_faith ?= yes
	scope:puppet_or_actor.major_gold_value < scope:recipient.major_gold_value
	scope:puppet_or_actor.major_gold_value >= scope:recipient.minor_gold_value
	desc = DONATE_FAITH_INTERACTION_OPTION_REASON
}
modifier = {
	add = {
		value = 75
		if = {
			limit = {
				pam_actor_rite_has_core_simony_trigger = yes
			}
			multiply = 5
		}
	}
	scope:donate_faith ?= yes
	scope:puppet_or_actor.major_gold_value >= scope:recipient.major_gold_value
	scope:puppet_or_actor.major_gold_value < scope:recipient.monumental_gold_value
	desc = DONATE_FAITH_INTERACTION_OPTION_REASON
}
modifier = {
	add = {
		value = 100
		if = {
			limit = {
				pam_actor_rite_has_core_simony_trigger = yes
			}
			multiply = 5
		}
	}
	scope:donate_faith ?= yes
	scope:puppet_or_actor.major_gold_value >= scope:recipient.monumental_gold_value
	desc = DONATE_FAITH_INTERACTION_OPTION_REASON
}
modifier = {
	add = 25
	scope:divorce_justified ?= yes
	desc = JUSTIFY_DIVORCE_REASON
}
modifier = {
	add = {
		value = 20
		if = {
			limit = {
				scope:puppet_or_actor.highest_held_title_tier > scope:recipient.highest_held_title_tier
			}
			multiply = {
				value = scope:puppet_or_actor.highest_held_title_tier
				subtract = scope:recipient.highest_held_title_tier
				add = 1
			}
		}
		else_if = {
			limit = {
				scope:puppet_or_actor.highest_held_title_tier < scope:recipient.highest_held_title_tier_minus_one
			}
			multiply = 0.25
		}
		else_if = {
			limit = {
				scope:puppet_or_actor.highest_held_title_tier < scope:recipient.highest_held_title_tier
			}
			multiply = 0.5
		}
		if = {
			limit = {
				OR = {
					is_liege_or_above_of = scope:recipient
					liege ?= scope:recipient.liege
					capital_county.holder ?= {
						OR = {
							this = scope:puppet_or_actor
							any_liege_or_above = {
								this = scope:puppet_or_actor
							}
						}
					}
				}
			}
			multiply = 3
		}
		else_if = {
			limit = {
				scope:recipient = {
					OR = {
						any_neighboring_top_liege_realm_owner = {
							this = scope:puppet_or_actor
						}
						capital_county = {
							any_neighboring_county = {
								OR = {
									holder = scope:puppet_or_actor
									holder = {
										any_liege_or_above = {
											this = scope:puppet_or_actor
										}
									}
								}
							}
			
# … (cut here; the rest is in the file)

As written in game/common/character_interactions/00_marriage_interactions.txt.

What happens

If they accept

  • In some cases (on a condition the game doesn't show) › You:
    • add_piety = { … }
    • Your dynasty:
      • add_dynasty_prestige = { … }
  • The character you target:
    • If

      • NOT = { scope:divorce_hook ?= yes }
      • NOT = { scope:donate_faith ?= yes }
      • NOT = { scope:divorce_justified ?= yes }
      • NOT = { scope:threaten_priest ?= yes }
      • NOT = { scope:offer_pilgrimage ?= yes }
      • One of these

        • All of these

          • The character you target: Intrigue at least 12
          • The divorcer › Their house’s house head:
            • If played by a person:
              • One of these

                • Is the divorcer
                • or

                  Is you
            • One of these

              • Is the divorcer
              • or

                Is you
              • or

                Is close family of the divorcer
          • The other character:
            • Their house › Any house relation:
              • One of these

                • has_house_relation_level = quarrel
                • or

                  has_house_relation_level = rivalry
                • or

                  has_house_relation_level = neutral
              • Any relation house:
                • this = scope:divorcer.house
            • Their house’s house head:
              • If played by a person: Is the other character
              • One of these

                • Is the other character
                • or

                  Is close family of the other character
          • The divorcer’s house’s house head:
            • All of these

              • All of these

                • is_house_head = { }
                • is_playable_character = { }
                • is_available_adult = { }
              • exists = scope:secondary_recipient.house.house_head.house.house_head
              • NOT = { house = scope:secondary_recipient.house.house_head.house }
              • If

                • Is landed
                • The other character’s house’s house head’s house’s house head: Is landed

                Then

                • tier_difference = { target = scope:secondary_recipient.house.house_head.house.house_head value >= -1 }
                • tier_difference = { target = scope:secondary_recipient.house.house_head.house.house_head value <= 1 }

                Otherwise

                • Highest held Title is at most Duchy Rank
                • NOT = { scope:secondary_recipient.house.house_head.house.house_head.highest_held_title_tier > tier_duchy }
              • NOT = { is_close_family_of = scope:secondary_recipient.house.house_head.house.house_head }
              • NOT = { has_any_good_relationship_with_character_trigger = { CHARACTER = scope:secondary_recipient.house.house_head.house.house_head } }
              • If

                a check the game hides

                Then

                • NOT = { this = scope:secondary_recipient.house.house_head.house.house_head.liege }
                • NOT = { this.house = scope:secondary_recipient.house.house_head.house.house_head.liege.house }
              • in_diplomatic_range = scope:secondary_recipient.house.house_head.house.house_head
        • or

          All of these

          • The character you target: Diplomacy at least 12
          • One of these

            • The divorcer:
              • Any held title:
                • Title tier exactly County
                • Any county province › Their barony:
                  • barony_is_valid_for_monastic_order_lease_trigger = { CHARACTER = scope:divorcer }
              • Their faith › Any faith holy order:
                • leader ?= { government_has_flag = government_is_monastic_holy_order }
                • holy_order_range_trigger = { CHARACTER = scope:recipient }
            • or

              The divorcer:
              • Any held title:
                • Title tier exactly County
                • Any county province › Their barony:
                  • barony_is_valid_for_holy_order_lease_trigger = { CHARACTER = scope:divorcer }
              • Their faith › Any faith holy order:
                • leader ?= { government_has_flag = government_is_military_holy_order }
                • holy_order_range_trigger = { CHARACTER = scope:recipient }
        • or

          The character you target:
          • If

            a check the game hides

            Then

            • Does not have a Hook on the forcing divorce

            Otherwise

            • Does not have a Hook on the divorcer
        • or

          The other character:
          • Does not have the Trait: Monk
          • Does not have the Trait: Military Order Member
          • Is played by the AI
          • Is not a ruler
          • Their faith:
            • this = scope:recipient.faith
            • Any faith holy order:
              • leader ?= { … }
              • holy_order_range_trigger = { CHARACTER = scope:recipient }

      Then

      • Because … has selected no method to Induce Recipient Compliance (below):
      • If

        • The character you target: Intrigue at least 12
        • The divorcer › Their house’s house head:
          • If played by a person:
            • One of these

              • Is the divorcer
              • or

                Is you
          • One of these

            • Is the divorcer
            • or

              Is you
            • or

              Is close family of the divorcer
        • The other character:
          • Their house › Any house relation:
            • One of these

              • has_house_relation_level = quarrel
              • or

                has_house_relation_level = rivalry
              • or

                has_house_relation_level = neutral
            • Any relation house:
          • Their house’s house head:
            • One of these

              • Is the other character
              • or

                … (more in the script below)
        • … (more in the script below)
      • … (more in the script below)
  • … (more in the script below)

If they refuse

  • If played by the AI: Opinion: Refusal (-25)
  • If

    • The character you target: Is played by a person
    • You: Is played by the AI

    Then

    • The character you target:
      • If

        • Learning more than 20
        • You: Is played by the AI
        • None of these

          • Their rite:
            • trait_is_virtue_rite = lustful
          • Their rite:
            • trait_is_sin_rite = chaste
          • You: Has the Trait: Lustful

        Then

      • If

        • You:
          • Is not imprisoned
          • Is not incapable
        • The other character:
          • Is not imprisoned
          • Is not incapable

        Then

      • … may condemn … and gain Piety
      • Event pam_interactions_events.0050 (after 1 days)
      • If

        • The option “threaten priest” is chosen

        Then

        • If ai boldness less than 0: Gains 60 Stress
        • Otherwise: Gains 40 Stress

Options when sending

  • Justify By Religious Law
  • Issue Dreadful Threats
  • Donate Gold to the Church
  • Use a Hook
  • Offer Pilgrimage

Events it fires: lover.0202, lover.0201, lover.0203, pam_interactions_events.0060, religious_interaction.6, pam_interactions_events.0050

• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists

Who can use it and sees it (is_available, is_shown) (35 lines of game script)
is_shown = scope:puppet_or_actor.rite ?= {
	rite_has_doctrine = doctrine_divorce_approval
}
scope:puppet_or_actor ?= {
	pam_grants_own_divorce_trigger = no
}
scope:puppet_or_actor ?= {
	OR = {
		faith ?= {
			has_doctrine = doctrine_spiritual_head
			exists = religious_head
		}
		cp:councillor_court_chaplain ?= {
			highest_held_title_tier >= tier_duchy
			is_clergy = yes
		}
		AND = {
			government_has_flag = government_is_theocracy
			exists = superior
		}
		cp:councillor_court_chaplain.superior ?= {
			highest_held_title_tier >= tier_duchy
			is_clergy = yes
		}
	}
}
scope:secondary_actor != scope:puppet_or_actor
scope:secondary_actor.dynasty.dynast ?= scope:puppet_or_actor
NOT = {
	scope:secondary_actor = {
		is_spouse_of = scope:puppet_or_actor
	}
}
exists = scope:secondary_recipient
scope:puppet_or_actor.faith ?= scope:secondary_actor.faith

As written in game/common/character_interactions/00_marriage_interactions.txt.

Can be sent when (is_valid…) (88 lines of game script)
scope:puppet_or_actor = {
	NOT = {
		has_character_modifier = promised_pilgrimage_to_clergy_modifier
	}
}
trigger_if = {
	limit = {
		scope:actor = scope:puppet_or_actor
	}
	custom_tooltip = {
		NOT = {
			scope:puppet_or_actor.culture = {
				has_cultural_parameter = cannot_divorce
			}
		}
		text = CULTURE_FORBIDS_DIVORCE
	}
}
trigger_else = {
	custom_tooltip = {
		NOT = {
			scope:puppet_or_actor.culture = {
				has_cultural_parameter = cannot_divorce
			}
		}
		text = CULTURE_FORBIDS_DIVORCE_puppeteer
	}
}
scope:secondary_actor = {
	NOT = {
		has_strong_hook = scope:puppet_or_actor
	}
}
trigger_if = {
	limit = {
		scope:secondary_actor = {
			NOR = {
				is_child_of = scope:puppet_or_actor
				is_grandchild_of = scope:puppet_or_actor
				is_great_grandchild_of = scope:puppet_or_actor
			}
		}
	}
	custom_description = {
		scope:secondary_actor.top_liege = scope:puppet_or_actor.top_liege
		subject = scope:puppet_or_actor
		text = same_realm_as
	}
}
scope:puppet_or_actor = {
	trigger_if = {
		limit = {
			scope:actor = scope:puppet_or_actor
		}
		custom_tooltip = {
			NOT = {
				var:family_widow_forbidden_divorce ?= scope:secondary_recipient
			}
			text = BOUND_TO_FAMILY_WIDOW
		}
	}
	trigger_else = {
		custom_tooltip = {
			NOT = {
				var:family_widow_forbidden_divorce ?= scope:secondary_recipient
			}
			text = BOUND_TO_FAMILY_WIDOW_puppeteer
		}
	}
}
trigger_if = {
	limit = {
		scope:is_puppet_action ?= yes
	}
	scope:puppet_or_actor = {
		piety >= divorce_cost
	}
}
trigger_if = {
	limit = {
		scope:is_puppet_action ?= yes
	}
	scope:puppet_or_actor = {
		dynasty ?= {
			dynasty_prestige >= scope:puppet_or_actor.dynasty.minor_dynasty_prestige_value
		}
	}
}

As written in game/common/character_interactions/00_marriage_interactions.txt.

Effects (on_send, on_accept, on_decline) (263 lines of game script)
on_send = scope:puppet_or_actor = {
	if = {
		limit = {
			scope:actor = {
				is_ai = yes
			}
			scope:secondary_actor = {
				divorce_is_justified_trigger = {
					DIVORCER = scope:secondary_actor
				}
			}
			NOT = {
				scope:divorce_justified ?= yes
			}
		}
		save_scope_as = ai_divorce_justified
	}
}
on_accept = if = {
	limit = {
		scope:is_puppet_action ?= yes
	}
	scope:puppet_or_actor = {
		add_piety = {
			value = {
				add = divorce_cost
				max = piety
				multiply = -1
			}
		}
		dynasty ?= {
			add_dynasty_prestige = {
				value = {
					add = scope:puppet_or_actor.dynasty.minor_dynasty_prestige_value
					multiply = -1
				}
			}
		}
	}
}
scope:secondary_actor = {
	save_scope_as = divorcer
}
scope:puppet_or_actor = {
	save_scope_as = forcing_divorce
}
scope:recipient = {
	if = {
		limit = {
			NOR = {
				scope:divorce_hook ?= yes
				scope:donate_faith ?= yes
				scope:divorce_justified ?= yes
				exists = scope:ai_divorce_justified
				scope:threaten_priest ?= yes
				scope:offer_pilgrimage ?= yes
			}
			OR = {
				divorce_can_cause_house_feud_trigger = yes
				divorce_can_cause_holy_order_lease_trigger = yes
				divorce_can_cause_hook_trigger = yes
				divorce_can_put_spouse_in_monastery_trigger = yes
			}
		}
		custom_tooltip = cleric_divorce_fuckery_tt
		if = {
			limit = {
				divorce_can_cause_house_feud_trigger = yes
			}
			custom_tooltip = cleric_cause_house_feud_tt
		}
		if = {
			limit = {
				divorce_can_cause_holy_order_lease_trigger = yes
			}
			custom_tooltip = cleric_force_holy_order_lease_tt
		}
		if = {
			limit = {
				divorce_can_cause_hook_trigger = yes
			}
			custom_tooltip = cleric_get_hook_forcer_tt
		}
		if = {
			limit = {
				divorce_can_put_spouse_in_monastery_trigger = yes
			}
			custom_tooltip = cleric_put_spouse_in_monastery_tt
		}
		save_scope_as = no_inducement
	}
}
show_as_tooltip = {
	scope:secondary_actor = {
		divorce_effect = {
			DIVORCER = scope:secondary_actor
			DIVORCEE = scope:secondary_recipient
		}
	}
}
if = {
	limit = {
		always = scope:divorce_hook
	}
	scope:puppet_or_actor = {
		if = {
			limit = {
				has_usable_hook = scope:recipient
			}
			use_hook = scope:recipient
		}
	}
}
scope:puppet_or_actor = {
	if = {
		limit = {
			scope:donate_faith ?= yes
		}
		pay_short_term_gold = {
			target = scope:recipient
			gold = scope:puppet_or_actor.medium_gold_value
		}
	}
}
pam_offer_pilgrimage_effect = {
	ACTOR = scope:puppet_or_actor
	CLERIC = scope:recipient
}
if = {
	limit = {
		NOR = {
			scope:divorce_justified ?= yes
			exists = scope:ai_divorce_justified
		}
	}
	if = {
		limit = {
			scope:recipient = {
				is_ai = no
			}
		}
		scope:recipient = {
			change_spiritual_fulfillment = minor_spiritual_fulfillment_loss
		}
	}
	else = {
		hidden_effect = {
			scope:recipient = {
				change_spiritual_fulfillment = miniscule_spiritual_fulfillment_loss
			}
		}
	}
}
else = {
	scope:recipient = {
		add_piety = minor_piety_gain
	}
}
scope:secondary_actor = {
	add_opinion = {
		modifier = forced_divorce_opinion
		target = scope:puppet_or_actor
	}
}
scope:secondary_recipient = {
	add_opinion = {
		modifier = forced_divorce_opinion
		target = scope:puppet_or_actor
	}
}
scope:secondary_actor = {
	save_scope_as = actor
	save_scope_as = puppet_or_actor
}
if = {
	limit = {
		exists = scope:no_inducement
	}
	scope:recipient = {
		trigger_event = pam_interactions_events.0060
	}
}
else = {
	scope:forcing_divorce = {
		trigger_event = religious_interaction.6
	}
}
on_decline = scope:puppet_or_actor = {
	send_interface_toast = {
		type = event_toast_effect_bad
		title = divorce_character_dynast_request_rel_head_interaction_decline_notification
		right_icon = scope:recipient
		clerical_interaction_refusal_minor_effect = yes
	}
}
if = {
	limit = {
		scope:recipient = {
			is_ai = no
		}
		scope:actor = {
			is_ai = yes
		}
	}
	scope:secondary_actor = {
		save_scope_as = actor
		save_scope_as = puppet_or_actor
	}
	scope:recipient = {
		if = {
			limit = {
				learning > extremely_high_skill_rating
				scope:actor = {
					is_ai = yes
				}
				NOR = {
					rite = {
						trait_is_virtue_rite = lustful
					}
					rite = {
						trait_is_sin_rite = chaste
					}
					scope:puppet_or_actor = {
						has_trait = lustful
					}
				}
			}
			custom_tooltip = refuse_divorce_celibacy_tt
		}
		if = {
			limit = {
				scope:puppet_or_actor = {
					is_imprisoned = no
					is_incapable = no
				}
				scope:secondary_recipient = {
					is_imprisoned = no
					is_incapable = no
				}
			}
			custom_tooltip = refuse_divorce_comfort_tt
		}
		custom_tooltip = refuse_divorce_condemn_tt
		trigger_event = {
			id = pam_interactions_events.0050
			days = 1
		}
		if = {
			limit = {
				scope:threaten_priest ?= yes
			}
			if = {
				limit = {
					ai_boldness < 0
				}
				add_stress = major_stress_gain
			}
			else = {
				add_stress = medium_stress_gain
			}
		}
	}
}

As written in game/common/character_interactions/00_marriage_interactions.txt.

Category
Diplomatic actions
Cost: Piety
from 100
Cost: Renown
varies
In the menu
under More…
ID
divorce_character_dynast_request_rel_head_interaction

Source: game/common/character_interactions/00_marriage_interactions.txt and the English localisation, Crusader Kings III 1.20.1.2. “You” is the character who sends it (scope:actor, or a puppet acting for you); “the character you target” is the recipient.

Spotted a mistake on this page?