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

Enforce Divorce

from 100PietyvariesRenownAccepted automatically

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

What you need

You

To send it

  • If

    • You are you

    Then

    Otherwise

  • None of these

    • Your rite: Has the Disallowed Doctrine
  • Your dynasty:
    • dynasty_prestige >= minor_dynasty_prestige_value
  • None of these

    • The character you send’s rite: Has the Disallowed Doctrine
  • If

    • You are you

    Then

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

    Otherwise

    • … swore to care for … family member's widow

To see it in the menu

  • The character you send is not you
  • None of these

  • scope:secondary_actor.dynasty.dynast ?= scope:puppet_or_actor
  • Not all of these

  • One of these

    • All of these

      • Your faith is not the character you send’s
      • The character you send’s rite: Does not have the Must be Approved Doctrine
    • or

      root.faith ?= scope:secondary_actor.faith

The character you target

  • Is the character you send’s spouse
  • Not: Is Concubine

The character you send

Enforce Divorce is a diplomatic character interaction in Crusader Kings III. Accepted automatically. 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 (2)
Will the AI accept Enforce Divorce?
Yes: it is accepted automatically.
How much does Enforce Divorce cost?
Piety (from 100), Renown (varies) (patch 1.20.1.2).

Will they accept?

The other character has no choice: the game accepts it automatically.

What happens

Effects

  • In some cases (on a condition the game doesn't show) › You:
    • add_piety = { … }
    • Your dynasty:
      • add_dynasty_prestige = { … }
  • The time has come for … and … to part ways
  • The character you send:
    • The character you send:
      • If any spouse:
        • divorce = scope:recipient
      • If

        • None of these

          • All of these

            • Their rite: The rite has Can always divorce a spouse of low Fertility
            • The character you target: Fertility less than 0.1

        Then

        • The target gains the opinion “Divorced Me” of them
    • If

      • The character you send:
        • None of these

          • All of these

            • Their rite: The rite has Can always divorce a spouse of low Fertility
            • The character you target: Fertility less than 0.1

      Then

    • If

      • The character you send: Has the target as lover

      Then

      • The character you send:
        • If

          • Has the target as soulmate

          Then

          • remove_relation_soulmate = scope:recipient

          Else if

          • Has the target as lover

          Then

          • remove_relation_lover = scope:recipient
      • The character you target: Opinion: Broke Up
    • Opinion: Forced Divorce
  • If

    • The target is not you

    Then

Events it fires: lover.0202, lover.0201, lover.0203, marriage_interaction.0030

• 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) (29 lines of game script)
is_shown = scope:secondary_actor != scope:puppet_or_actor
scope:puppet_or_actor ?= {
	pam_grants_own_divorce_trigger = no
}
scope:secondary_actor.dynasty.dynast ?= scope:puppet_or_actor
NAND = {
	scope:puppet_or_actor.rite = {
		rite_has_doctrine = doctrine_divorce_approval
	}
	scope:puppet_or_actor.faith = {
		has_doctrine = doctrine_spiritual_head
		exists = religious_head
	}
}
OR = {
	AND = {
		scope:puppet_or_actor.faith != scope:secondary_actor.faith
		scope:secondary_actor.rite ?= {
			NOT = {
				rite_has_doctrine = doctrine_divorce_approval
			}
		}
	}
	scope:puppet_or_actor.faith ?= scope:secondary_actor.faith
}
scope:recipient = {
	is_spouse_of = scope:secondary_actor
	is_concubine = no
}

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

Can be sent when (is_valid…) (78 lines of game script)
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
	}
}
NOT = {
	scope:puppet_or_actor.rite = {
		rite_has_doctrine = doctrine_divorce_disallowed
	}
}
scope:puppet_or_actor.dynasty = {
	dynasty_prestige >= minor_dynasty_prestige_value
}
NOT = {
	scope:secondary_actor.rite = {
		rite_has_doctrine = doctrine_divorce_disallowed
	}
}
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:recipient
			}
			text = BOUND_TO_FAMILY_WIDOW
		}
	}
	trigger_else = {
		custom_tooltip = {
			NOT = {
				var:family_widow_forbidden_divorce ?= scope:recipient
			}
			text = BOUND_TO_FAMILY_WIDOW_puppeteer
		}
	}
}

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

Effects (on_send, on_accept, on_decline) (53 lines of game script)
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:puppet_or_actor = {
	send_interface_toast = {
		type = event_toast_effect_good
		title = divorce_character_dynast_request_interaction_title
		custom_tooltip = divorce_character_dynast_request_interaction_desc
		left_icon = scope:secondary_actor
		right_icon = scope:recipient
	}
}
scope:secondary_actor = {
	divorce_effect = {
		DIVORCER = scope:secondary_actor
		DIVORCEE = scope:recipient
	}
	add_opinion = {
		modifier = forced_divorce_opinion
		target = scope:puppet_or_actor
	}
}
if = {
	limit = {
		scope:recipient != scope:puppet_or_actor
	}
	scope:recipient = {
		trigger_event = marriage_interaction.0030
		add_opinion = {
			modifier = forced_divorce_opinion
			target = scope:puppet_or_actor
		}
	}
}

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_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?