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

Interaction · Diarch

Remove Co-Ruler

No costAccepted automatically

A more merciful fate than death — so we argue, at least — a formal maiming is the best way to disabuse a supposed emperor of their imperial notions.

What you need

You

To send it

To see it in the menu

The character you target

Remove Co-Ruler is a diarch character interaction in Crusader Kings III. You need: Is an Adult. The character you target needs: Is imprisoned by you. Accepted automatically. Patch 1.20.1.2, from game/common/character_interactions/00_prison_interactions.txt.

for a guide, post or blog
Quick answers (2)
What are the requirements for Remove Co-Ruler in CK3?
You: Is an Adult. The character you target: Is imprisoned by you. (patch 1.20.1.2)
Will the AI accept Remove Co-Ruler?
Yes: it is accepted automatically.

Will they accept?

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

What happens

Effects

  • You:
    • If

      • Has the target as rival

      Then

      Otherwise

      • Stress and fulfillment impact: by trait: Sadistic -15, Compassionate +100, Craven +80, Just +40, Forgiving +40, Generous +40, Trusting +20, Gregarious +20, Calm +20, Content +20, Honest +20
    • If

      • One of these

        • Is the target’s spouse
        • or

          Is close family of the target
        • or

          The character you target:
          • One of these

            • Highest held Title is at least Kingdom Rank
            • or

              All of these

              • Their liege: Highest held Title is at least Kingdom Rank
              • One of these

                • is_close_family_of = this.liege
                • or

                  is_spouse_of = this.liege

      Then

      • Dread +30

      Else if

      • One of these

        • The character you target:
          • One of these

            • Highest held Title is exactly Duchy Rank
            • or

              All of these

              • Their liege: Highest held Title is exactly Duchy Rank
              • One of these

                • is_close_family_of = this.liege
                • or

                  is_spouse_of = this.liege
        • or

          The character you target:
          • One of these

            • Highest held Title is exactly County Rank
            • or

              All of these

              • Their liege: Highest held Title is exactly County Rank
              • One of these

                • is_close_family_of = this.liege
                • or

                  is_spouse_of = this.liege

      Then

      • Dread +20

      Otherwise

      • Dread +10
  • You:
    • If

      a check the game hides

      Then

      • If

        • scope:actor.diarch = scope:recipient

        Then

        • You:
          • clear_designated_heir = yes
          • end_diarchy = yes
        • Every player:
          • Where:
            • top_liege = scope:actor.top_liege
          • Event diarchy.8022

        Otherwise

        • The character you target:
          • Every held title:
            • Where:
              • One of these

                • this = scope:recipient.capital_county
                • or

                  this = scope:recipient.capital_county.duchy
                • or

                  All of these

                  • Title tier exactly County
                  • this.duchy = scope:recipient.capital_county.duchy
                • or

                  Title tier at least scope:recipient.highest held title tier
            • Gains the … Title (actor)
          • Every Vassal of …:
            • change_liege = { LIEGE = scope:actor CHANGE = scope:change }
        • The character you target:
          • change_liege = { LIEGE = scope:actor CHANGE = scope:change2 }
        • Every player:
          • Where:
            • top_liege = scope:actor.top_liege
          • Event diarchy.8023
  • Depending on yes:
    • When yes is scope:maim castrate:
      • The character you target:
        • If under 12 years old:
          • Gains the Trait Beardless Eunuch
          • The character you target:
            • create_character_memory = { … }
            • One memory, picked in order:
              • Where: Any memory participant:
              • memory_type = tortured_memory
          • You:
            • create_character_memory = { … }
            • One memory, picked in order:
              • Where: Any memory participant:
              • memory_type = torturer_memory
          • Court Position and Tax Collector Aptitude: +30
          • If

            • You: they has administrative government mechanic

            Then

          • May gain Castration Wound for 5 years, based on Personal Physician Aptitude
        • Otherwise:
          • Gains the Trait Eunuch
          • The character you target:
            • create_character_memory = { … }
            • One memory, picked in order:
              • Where: Any memory participant:
              • memory_type = tortured_memory
          • You:
            • create_character_memory = { … }
            • One memory, picked in order:
              • Where: Any memory participant:
              • memory_type = torturer_memory
          • Court Position and Tax Collector Aptitude: +30
          • If

            • You: they has administrative government mechanic

            Then

          • May gain Castration Wound for 5 years, based on Personal Physician Aptitude
        • release_from_prison = yes
      • The character you target: … (more in the script below)
      • … (more in the script below)
    • … (more in the script below)

Options when sending

  • Sunder ManhoodPerhaps important, but certainly not necessary.
  • Take the EyesA statement for almost all the world to see.
  • Cut Away the NoseA useless hood of cartilage and skin.
  • Cut Off a LegYou don't need two to walk.
  • Cut Off an ArmThey'll still have one left, after all.
  • Renounce ClaimsThe recipient loses all Claims on Titles in your Realm
  • Banish
  • Take the Vows

Events it fires: diarchy.8022, diarchy.8023, prison.1025, prison.1020, prison.1030, prison.1041

• 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) (15 lines of game script)
is_shown = scope:puppet_or_actor ?= {
	liege_should_systematically_maim_co_ruler_trigger = yes
	trigger_if = {
		limit = {
			is_ai = yes
			NOT = {
				puppeteer ?= {
					is_ai = no
				}
			}
		}
		has_diarchy_active_parameter = diarchy_is_co_rulership
		liege_can_maim_co_ruler_without_killing_them_trigger = yes
	}
}

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

Can be sent when (is_valid…) (26 lines of game script)
scope:puppet_or_actor ?= {
	is_adult = yes
}
scope:recipient = {
	custom_description = {
		text = currently_being_tortured
		NOT = {
			has_character_flag = is_being_tortured
		}
	}
}
scope:recipient = {
	is_imprisoned_by = scope:puppet_or_actor
}
scope:recipient = {
	NAND = {
		OR = {
			is_eunuch_trigger = yes
			is_female = yes
		}
		has_trait = blind
		has_trait = disfigured
		has_trait = maimed
		has_trait = one_legged
	}
}

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

Effects (on_send, on_accept, on_decline) (242 lines of game script)
on_accept = scope:recipient = {
	add_character_flag = {
		flag = is_being_tortured
		months = 6
	}
}
blind_castrate_and_disfigure_effect = yes
save_scope_value_as = {
	name = destroy_diarchy
	value = yes
}
show_as_tooltip = {
	scope:puppet_or_actor = {
		maiming_destroy_diarchy_effect = yes
	}
}
switch = {
	trigger = yes
	scope:maim_castrate = {
		show_as_tooltip = {
			scope:recipient = {
				if = {
					limit = {
						age < 12
					}
					ep3_child_castration_effect = yes
				}
				else = {
					ep3_youth_castration_effect = yes
				}
				release_from_prison = yes
			}
		}
		torture_blind_castrate_disfigure_opinion_effect = {
			VERB = castrated
		}
		scope:puppet_or_actor = {
			clear_designated_heir = yes
			trigger_event = {
				id = prison.1025
				days = 1
			}
		}
		add_clan_unity_interaction_effect = {
			CHARACTER = scope:puppet_or_actor
			TARGET = scope:recipient
			VALUE = major_unity_loss
			DESC = clan_unity_abelarding.desc
			REVERSE_NON_HOUSE_TARGET = no
		}
	}
	scope:maim_blind = {
		show_as_tooltip = {
			scope:recipient = {
				add_trait = blind
				release_from_prison = yes
			}
		}
		torture_blind_castrate_disfigure_opinion_effect = {
			VERB = blinded
		}
		scope:puppet_or_actor = {
			clear_designated_heir = yes
			if = {
				limit = {
					culture = {
						has_cultural_parameter = merciful_blinding
					}
					OR = {
						has_execute_reason = scope:recipient
						has_banish_reason = scope:recipient
					}
				}
				add_piety = medium_piety_gain
			}
			trigger_event = {
				id = prison.1020
				days = 1
			}
		}
		if = {
			limit = {
				scope:puppet_or_actor.culture = {
					has_cultural_parameter = merciful_blinding
				}
			}
			add_clan_unity_interaction_effect = {
				CHARACTER = scope:puppet_or_actor
				TARGET = scope:recipient
				VALUE = minor_unity_loss
				DESC = clan_unity_blinding.desc
				REVERSE_NON_HOUSE_TARGET = no
			}
		}
		else = {
			add_clan_unity_interaction_effect = {
				CHARACTER = scope:puppet_or_actor
				TARGET = scope:recipient
				VALUE = medium_unity_loss
				DESC = clan_unity_blinding.desc
				REVERSE_NON_HOUSE_TARGET = no
			}
		}
	}
	scope:maim_face = {
		show_as_tooltip = {
			scope:recipient = {
				add_trait = disfigured
				release_from_prison = yes
			}
		}
		torture_blind_castrate_disfigure_opinion_effect = {
			VERB = disfigured
		}
		scope:puppet_or_actor = {
			clear_designated_heir = yes
			trigger_event = {
				id = prison.1030
				days = 1
			}
		}
		add_clan_unity_interaction_effect = {
			CHARACTER = scope:puppet_or_actor
			TARGET = scope:recipient
			VALUE = major_unity_loss
			DESC = clan_unity_maimed.desc
			REVERSE_NON_HOUSE_TARGET = no
		}
	}
	scope:maim_arm = {
		show_as_tooltip = {
			scope:recipient = {
				apply_maimed_trait_and_modifier_effect = yes
				release_from_prison = yes
			}
		}
		torture_blind_castrate_disfigure_opinion_effect = {
			VERB = maimed
		}
		scope:puppet_or_actor = {
			clear_designated_heir = yes
			save_scope_value_as = {
				name = maim_type
				value = flag:arm
			}
			trigger_event = {
				id = prison.1041
				days = 1
			}
		}
		add_clan_unity_interaction_effect = {
			CHARACTER = scope:puppet_or_actor
			TARGET = scope:recipient
			VALUE = major_unity_loss
			DESC = clan_unity_maimed.desc
			REVERSE_NON_HOUSE_TARGET = no
		}
	}
	scope:maim_leg = {
		show_as_tooltip = {
			scope:recipient = {
				add_trait = one_legged
				release_from_prison = yes
			}
		}
		torture_blind_castrate_disfigure_opinion_effect = {
			VERB = maimed
		}
		scope:puppet_or_actor = {
			clear_designated_heir = yes
			save_scope_value_as = {
				name = maim_type
				value = flag:leg
			}
			trigger_event = {
				id = prison.1041
				days = 1
			}
		}
		add_clan_unity_interaction_effect = {
			CHARACTER = scope:puppet_or_actor
			TARGET = scope:recipient
			VALUE = major_unity_loss
			DESC = clan_unity_maimed.desc
			REVERSE_NON_HOUSE_TARGET = no
		}
	}
	scope:banish = {
		scope:recipient = {
			if = {
				limit = {
					is_landed_or_landless_administrative_or_theocratic = yes
				}
				banish_effect = {
					BANISHER = scope:puppet_or_actor
				}
				if = {
					limit = {
						NOT = {
							scope:puppet_or_actor = {
								has_banish_reason = scope:recipient
							}
						}
					}
					scope:puppet_or_actor = {
						add_tyranny = banishment_tyranny_gain
					}
				}
			}
			else_if = {
				limit = {
					is_landless_adventurer = no
					is_pool_character = no
				}
				if = {
					limit = {
						gold > 0
						has_none_of_variables = {
							name = realm_priest
							name = was_bookmaker
						}
					}
					pay_short_term_gold = {
						target = scope:puppet_or_actor
						gold = scope:recipient.gold
					}
				}
				if = {
					limit = {
						has_any_artifact = yes
					}
					every_character_artifact = {
						limit = {
							NOT = {
								has_variable = artifact_prevent_transfer
							}
						}
						set_owner = {
							target = scope:puppet_or_actor
							history = {
								location = scope:recipien
# … (cut here; the rest is in the file)

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

Category
Diarch
In the menu
under More…
ID
systematically_maim_character_interaction

Source: game/common/character_interactions/00_prison_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?