Scripted trigger · Roads to Power files
ep3_ai_castration_target_trigger
ep3_ai_castration_target_trigger = yesgame/common/scripted_triggers/07_ep3_triggers.txt, line 786 (68 lines). No parameters.
ep3_ai_castration_target_trigger is a scripted trigger in Crusader Kings III, in the Roads to Power files, written at line 786 of its file. It takes no parameters: ep3_ai_castration_target_trigger = yes (or no). The game's script calls it in 1 place, among them five_year_everyone_pulse (on action). Patch 1.20.1.2, from game/common/scripted_triggers/07_ep3_triggers.txt.
What it checks
- Is under 12 years old
is_male = yesOne of these
All of these
exists = liege- Their liege’s culture: The Culture has the Can use the Castrate Kin Interaction Tradition
or
All of these
NOT = { exists = liege }- Their culture: The Culture has the Can use the Castrate Kin Interaction Tradition
is_available = yes- Is not landed
- Is not betrothed
None of these
is_eunuch_trigger = no- Does not have the Trait: Hale
- Does not have the Trait: Robust
- Does not have the Trait: Herculean
- Does not have the Trait: Fecund
- Does not have the Trait: Strong
- Does not have the Trait: Sayyid
- Does not have the Trait: Giant
• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists
“They” is whatever it runs on (the scope it is called in). The scripted triggers and effects it calls link to their own pages; $PARAMETERS$ stay as written: each call fills them in.
The script as written (68 lines of game script)
ep3_ai_castration_target_trigger = {
age < 12
is_male = yes
OR = {
AND = {
exists = liege
liege.culture = { has_cultural_parameter = family_castration }
}
AND = {
NOT = { exists = liege }
culture = { has_cultural_parameter = family_castration }
}
}
is_available = yes
is_landed = no
is_betrothed = no
NOR = {
#Should not be close family of a player
any_close_family_member = {
is_ai = no
}
#Should not be close family of a character who can use the interaction
any_close_family_member = {
highest_held_title_tier >= tier_county
}
#Should not be the child of a playable title heir
any_parent = {
any_heir_title = {
tier >= tier_county
}
}
#Should not be the grandchild of a playable title heir, if their parent is the eldest son
any_parent = {
any_parent = {
highest_held_title_tier >= tier_county
}
any_sibling = {
count <= 0
is_male = yes
age > prev.age
house ?= prev.house
}
}
}
#Not already a eunuch
is_eunuch_trigger = no
NOR = {
#Doesn't have a positive trait being a eunuch would ruin
has_trait = physique_good_1
has_trait = physique_good_2
has_trait = physique_good_3
has_trait = fecund
has_trait = strong
has_trait = sayyid
has_trait = giant
}
OR = {
is_lowborn = yes
has_trait = bastard
#Sons of barons are valid if they have an elder male sibling
any_sibling = {
count >= 2
is_male = yes
age > prev.age
house ?= prev.house
}
}
}As written in game/common/scripted_triggers/07_ep3_triggers.txt.
Where it is used
Every place in common/, events/ and history/ that calls ep3_ai_castration_target_trigger.
On actions (the game's own hooks) (1)
- five_year_everyone_pulse
Source: game/common/scripted_triggers/07_ep3_triggers.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.