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

Interaction · Imprisonment actions

Castrate Prisoner

No costAccepted automatically

Make the recipient a Eunuch or Beardless Eunuch

What you need

You

To send it

  • The character you target:
    • If

      • Has “imprisoned by diarch” (a variable the game's script sets)
      • scope:recipient.var:imprisoned_by_diarch:
        • is_diarch_of_target = scope:recipient.liege

      Then

      • Cannot take any action that would release former Regent whilst current Regent is in office
  • … is currently being purged

To see it in the menu

  • Is an Adult
  • One of these

    • Your culture: The Culture has the Rulers can Castrate Prisoners Tradition
    • or

      Your top liege’s primary title: Has “emulating byz punishment var” (a variable the game's script sets)
  • None of these

The character you target

Castrate Prisoner is an imprisonment character interaction in Crusader Kings III. Accepted automatically. Patch 1.20.1.2, from game/common/character_interactions/00_prison_interactions.txt.

for a guide, post or blog
Quick answers (1)
Will the AI accept Castrate Prisoner?
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
  • 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:
    • Opinion: Castrated Me
    • If

      • Has the opinion “Grateful” of you

      Then

      • Loses the opinion “Grateful” of you
    • If

      • In list (exactly 1):
        • always = yes

      Then

      Else if

      • In list (more than 1):
        • always = yes

      Then

  • Event prison.1025 (after 1 days)
  • If

    • You: Government is Clan
    • The character you target: Government is Clan
    • Your house is the target’s
    • If

      • You are not the target

      Then

      • You are not the target

    Then

    • Your house: … (more in the script below)
  • … (more in the script below)

Events it fires: prison.1025

• 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) (17 lines of game script)
is_shown = scope:puppet_or_actor ?= {
	is_adult = yes
	OR = {
		culture ?= {
			has_cultural_parameter = can_castrate_prisoners
		}
		top_liege.primary_title ?= {
			has_variable = emulating_byz_punishment_var
		}
	}
	liege_should_systematically_maim_co_ruler_trigger = no
}
scope:recipient = {
	is_imprisoned_by = scope:puppet_or_actor
	is_eunuch_trigger = no
	is_male = yes
}

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

Can be sent when (is_valid…) (20 lines of game script)
scope:recipient = {
	custom_description = {
		text = currently_being_tortured
		NOT = {
			has_character_flag = is_being_tortured
		}
	}
}
cannot_release_former_regent_whilst_old_regent_holds_power_trigger = {
	PRISONER = scope:recipient
	REGENT = scope:recipient.var:imprisoned_by_diarch
}
custom_tooltip = {
	text = is_currently_being_purged_tt
	scope:recipient = {
		NOT = {
			has_character_flag = is_currently_being_purged
		}
	}
}

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

Effects (on_send, on_accept, on_decline) (48 lines of game script)
on_accept = scope:recipient = {
	add_character_flag = {
		flag = is_being_tortured
		months = 6
	}
}
blind_castrate_and_disfigure_effect = yes
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 = {
	save_scope_as = bg_override_char
	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:recipient.house ?= {
	change_house_relation_effect = {
		HOUSE = scope:puppet_or_actor.house
		VALUE = house_relation_damage_medium_value
		REASON = torture
		CHAR = scope:puppet_or_actor
		TARGET_CHAR = scope:recipient
		TITLE = scope:dummy_gender
	}
}

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

Category
Imprisonment actions
In the menu
under More…
ID
castrate_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?