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

Interaction · Friendly actions

Castrate Kin

No costRoads to PowerAccepted automatically in some cases; otherwise the AI weighs it

Make the recipient a Eunuch or Beardless Eunuch, gaining Influence and increasing his Skills, Aptitude, and Governor Efficiency.

What you need

You

To send it

To see it in the menu

  • Your culture: The Culture has the Can use the Castrate Kin Interaction Tradition
  • If played by the AI: Is an Adult
  • Not all of these

    • Is played by the AI
    • Any close family member: Is played by a person

The character you target

To send it

  • … is not your Courtier or Guest
  • Is not a ruler
  • Is not betrothed
  • NOT = { is_primary_heir_of = scope:actor }
  • Also needed: available (not in an army, not imprisoned, not incapable) · none of the traits Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux · not busy in an Activity · not planning another Activity · not busy in a Mandala succession

To see it in the menu

Castrate Kin is a friendly character interaction in Crusader Kings III. You need: Employs a Personal Physician. The character you target needs: Is not a ruler, Is available (not in an army, not imprisoned, not incapable), Has none of the traits: Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux and 4 more. Accepted automatically in some cases; otherwise the AI weighs it. Reasons the AI weighs include Weak Hook used (+50), The recipient is 2 or younger (+50), The recipient is 6 or younger (+20) and 6 more. It needs Roads to Power. Patch 1.20.1.2, from game/common/character_interactions/06_ep3_interactions.txt.

for a guide, post or blog
Quick answers (2)
What are the requirements for Castrate Kin in CK3?
You: Employs a Personal Physician. The character you target: Is not a ruler, Is available (not in an army, not imprisoned, not incapable), Has none of the traits: Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux, Busy participating in an Activity, You are already planning another Activity, You are currently busy in a Mandala succession and Is not betrothed. (patch 1.20.1.2)
How do I get the AI to accept Castrate Kin?
Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: … Opinion of …, Weak Hook used +50, The recipient is 2 or younger +50, The recipient is 6 or younger +20, The recipient is 10 or older -20, The recipient is 14 or older -40, The recipient is frightened +30, The recipient is terrified +60, You are Emperor-tier +30 and Your high Governor Efficiency dissuades fleeing +20.

Will they accept?

Accepted automatically when:

  • They use their Hook on …

Otherwise the AI adds these up and accepts above zero; near zero the answer is partly random (ai_maybe). Reasons in italics are the script's, with no label in the game.

ReasonAmount
Base0
… Opinion of …varies
Their personality (AI values: rationality 0.25, energy -0.25, boldness -0.25, honor 0.12, sociability 0.12)varies
Weak Hook used
when
+50
The recipient is 2 or younger
when
  • The character you target: Age at most 2
+50
The recipient is 6 or younger
when
  • The character you target: Age at most 6
+20
The recipient is 10 or older
when
  • The character you target: Is at least 10 years old
-20
The recipient is 14 or older
when
  • The character you target: Is at least 14 years old
-40
The recipient is frightened
when
  • The character you target:
    • Is at least 12 years old
    • has_dread_level_towards = { target = scope:actor level = 1 }
+30
The recipient is terrified
when
  • The character you target:
    • Is at least 12 years old
    • has_dread_level_towards = { target = scope:actor level = 2 }
+60
You are Emperor-tier
when
+30
Your high Governor Efficiency dissuades fleeing
when
  • Is a Governor
  • Governor efficiency at least 1.25
  • The character you target: Is at least 12 years old
+20
Acceptance (ai_accept) (89 lines of game script)
base = 0
opinion_modifier = {
	who = scope:recipient
	opinion_target = scope:actor
	multiplier = 0.5
	desc = AI_OPINION_REASON
}
ai_value_modifier = {
	ai_rationality = 0.25
	ai_energy = -0.25
	ai_boldness = -0.25
	ai_honor = 0.12
	ai_sociability = 0.12
}
modifier = {
	trigger = {
		always = scope:hook
	}
	add = 50
	desc = SCHEME_WEAK_HOOK_USED
}
modifier = {
	scope:recipient = {
		age <= 2
	}
	desc = SCHEME_AGE_2_OR_LESS
	add = 50
}
modifier = {
	scope:recipient = {
		age <= 6
	}
	desc = SCHEME_AGE_6_OR_LESS
	add = 20
}
modifier = {
	scope:recipient = {
		age >= 10
	}
	desc = SCHEME_AGE_10_OR_MORE
	add = -20
}
modifier = {
	scope:recipient = {
		age >= 14
	}
	desc = SCHEME_AGE_14_OR_MORE
	add = -40
}
modifier = {
	scope:recipient = {
		age >= 12
		has_dread_level_towards = {
			target = scope:actor
			level = 1
		}
	}
	desc = SCHEME_TOO_SCARED_TO_RUN
	add = 30
}
modifier = {
	scope:recipient = {
		age >= 12
		has_dread_level_towards = {
			target = scope:actor
			level = 2
		}
	}
	desc = SCHEME_TOO_TERRIFIED_TO_RUN
	add = 60
}
modifier = {
	scope:actor = {
		highest_held_title_tier >= tier_empire
	}
	desc = SCHEME_EMPIRE_TIER
	add = 30
}
modifier = {
	scope:recipient = {
		age >= 12
	}
	scope:actor = {
		is_governor = yes
		governor_efficiency >= 1.25
	}
	desc = SCHEME_GOVERNOR_EFFICIENCY_DISSUADES_FLEEING
	add = 20
}

As written in game/common/character_interactions/06_ep3_interactions.txt.

What happens

If they accept

  • You: Influence +30
  • If

    • The character you target: Is under 12 years old

    Then

    • The character you target:
      • 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
      • Gains 40 Stress
      • Reduced Stress and Opinion maluses because target is under 12 years old

    Otherwise

    • The character you target:
      • 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
      • Gains 60 Stress
  • If

    • You use a Hook
    • You: Has a usable Hook on the target

    Then

    • You: Use a Hook on the target
  • If

    • The character you target: Age more than 6

    Then

    • Stress and fulfillment impact: by trait: Compassionate +40, Content +20, Generous +40
  • Event ep3_interactions_events.0030

If they refuse

  • If

    • The character you target: Is under 12 years old

    Then

    • You: Influence +30
    • The character you target:
      • 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
      • Opinion: Castrated Me (-50)
      • Gains 60 Stress
      • Reduced Stress and Opinion maluses because target is under 12 years old

    Otherwise

    • You:
      • remove_courtier_or_guest = scope:recipient
      • If

        • Has a Hook on the target

        Then

        • remove_hook = { target = scope:recipient }
      • The character you target:
  • If

    • You use a Hook
    • You: Has a usable Hook on the target

    Then

    • You: Use a Hook on the target
  • If

    • The character you target: Age more than 6

    Then

    • Stress and fulfillment impact: by trait: Compassionate +40, Content +20, Generous +40
  • If

    • The character you target: Is under 12 years old

    Then

    Otherwise

Options when sending

  • Use a Hook

Events it fires: ep3_interactions_events.0030, ep3_interactions_events.0031

• 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) (23 lines of game script)
is_available = culture ?= {
	has_cultural_parameter = family_castration
}
trigger_if = {
	limit = {
		is_ai = yes
	}
	is_adult = yes
}
NAND = {
	is_ai = yes
	any_close_family_member = {
		is_ai = no
	}
}
is_shown = has_ep3_dlc_trigger = yes
scope:recipient = {
	is_ai = yes
	is_female = no
	is_adult = no
	is_close_family_of = scope:actor
	is_eunuch_trigger = no
}

As written in game/common/character_interactions/06_ep3_interactions.txt.

Can be sent when (is_valid…) (19 lines of game script)
scope:actor = {
	employs_court_position = court_physician_court_position
}
scope:recipient = {
	custom_tooltip = {
		text = COURTIER_OR_GUEST
		OR = {
			is_courtier_of = scope:actor
			is_pool_guest_of = scope:actor
			is_foreign_court_guest_of = scope:actor
		}
	}
	is_ruler = no
	is_available = yes
	is_betrothed = no
	NOT = {
		is_primary_heir_of = scope:actor
	}
}

As written in game/common/character_interactions/06_ep3_interactions.txt.

Effects (on_send, on_accept, on_decline) (146 lines of game script)
on_accept = scope:recipient = {
	if = {
		limit = {
			age < 12
		}
		add_character_flag = accepted_castration_child
	}
	else = {
		add_character_flag = accepted_castration_youth
	}
}
show_as_tooltip = {
	scope:actor = {
		change_influence = minor_influence_gain
	}
	if = {
		limit = {
			scope:recipient = {
				age < 12
			}
		}
		scope:recipient = {
			ep3_child_castration_effect = yes
			add_stress = medium_stress_gain
			custom_tooltip = castration_better_before_maturity
		}
	}
	else = {
		scope:recipient = {
			ep3_youth_castration_effect = yes
			add_stress = major_stress_gain
		}
	}
}
if = {
	limit = {
		exists = scope:hook
		scope:hook = yes
		scope:actor = {
			has_usable_hook = scope:recipient
		}
	}
	scope:actor = {
		use_hook = scope:recipient
	}
}
scope:actor = {
	if = {
		limit = {
			scope:recipient = {
				age > 6
			}
		}
		stress_and_fulfillment_impact = {
			compassionate = medium_stress_impact_gain
			content = minor_stress_impact_gain
			generous = medium_stress_impact_gain
		}
	}
	trigger_event = ep3_interactions_events.0030
}
on_decline = show_as_tooltip = {
	if = {
		limit = {
			scope:recipient = {
				age < 12
			}
		}
		scope:actor = {
			change_influence = minor_influence_gain
		}
		scope:recipient = {
			ep3_child_castration_effect = yes
			add_opinion = {
				modifier = castration_opinion
				target = scope:actor
				opinion = -50
			}
			add_stress = major_stress_gain
			custom_tooltip = castration_better_before_maturity
		}
	}
	else = {
		scope:actor = {
			remove_courtier_or_guest = scope:recipient
			if = {
				limit = {
					has_hook = scope:recipient
				}
				remove_hook = {
					target = scope:recipient
				}
			}
			scope:recipient = {
				set_relation_rival = {
					target = scope:actor
					reason = rival_attempted_castration
				}
				add_stress = medium_stress_gain
			}
		}
	}
}
if = {
	limit = {
		scope:hook = yes
		scope:actor = {
			has_usable_hook = scope:recipient
		}
	}
	scope:actor = {
		use_hook = scope:recipient
	}
}
scope:actor = {
	if = {
		limit = {
			scope:recipient = {
				age > 6
			}
		}
		stress_and_fulfillment_impact = {
			compassionate = medium_stress_impact_gain
			content = minor_stress_impact_gain
			generous = medium_stress_impact_gain
		}
	}
}
if = {
	limit = {
		scope:recipient = {
			age < 12
		}
	}
	scope:recipient = {
		add_character_flag = resents_castration
	}
	scope:actor = {
		trigger_event = ep3_interactions_events.0030
	}
}
else = {
	scope:actor = {
		trigger_event = ep3_interactions_events.0031
	}
}

As written in game/common/character_interactions/06_ep3_interactions.txt.

Category
Friendly actions
Again on the same character
after 1 year
DLC
Roads to Power
In the menu
main list
ID
castrate_child_interaction

Source: game/common/character_interactions/06_ep3_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?