Scripted trigger · By God Alone files
pam_valid_excommunication_target_trigger
pam_valid_excommunication_target_trigger = { EXCOMMUNICATOR = … }game/common/scripted_triggers/pam_scripted_triggers.txt, line 4390 (198 lines). Parameters: $EXCOMMUNICATOR$.
pam_valid_excommunication_target_trigger is a scripted trigger in Crusader Kings III, in the By God Alone files, written at line 4390 of its file. A call passes 1 parameter: EXCOMMUNICATOR. The game's script calls it in 4 places, among them Excommunicate (interaction), Lift Excommunication (interaction) and Make Declaration of Repentance (interaction). Its body carries 6 texts of the game's own for the player. Patch 1.20.1.2, from game/common/scripted_triggers/pam_scripted_triggers.txt.
What it checks
- Is at least 12 years old
$EXCOMMUNICATOR$ = { save_temporary_scope_as = excommunicator }- If holds Papacy: Only the holder of a Patriarchate, or a Challenger Head of Faith, with … as their Direct Vassal, can Excommunicate …
Otherwise
- Else, if is not a ruler:
If
a check the game hides
Then
- … Liege must be …, … Vassal or below, a neighboring Ruler or based within … Clerical Region
Otherwise
- … must be located within … Realm, a neighboring County, or … Clerical Region
- Else, if government is a Theocratic-type Government: As an Ecclesiastical or Theocratic Ruler, … must be … Vassal, Subordinate or below
- Otherwise: … must either: Be … Vassal or below · Be a neighboring Ruler or based within … Clerical Region · Have a Court Chaplain that is … Subordinate or below · Have … as Court Chaplain, and … has no Superior · Any Liege or above has … as Court Chaplain
- Else, if is not a ruler:
• 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 (120 lines of game script)
pam_valid_excommunication_target_trigger = {
age >= 12
save_temporary_scope_as = target_char
$EXCOMMUNICATOR$ = { save_temporary_scope_as = excommunicator }
trigger_if = {
limit = { has_title = title:k_papal_state }
custom_tooltip = {
text = cannot_excommunicate_pope_without_patriarch_or_antipope_tt
liege ?= $EXCOMMUNICATOR$
$EXCOMMUNICATOR$ = {
OR = {
pam_holds_christian_patriarch_title_trigger = yes
pam_is_antipope_trigger = yes
}
}
}
}
#always valid if Hof
#This trigger is only relevant if excommunicator is not
trigger_if = {
limit = {
scope:target_char = { need_hof_for_clergy_interaction_trigger = yes }
scope:target_char.faith = {
has_doctrine = doctrine_spiritual_head
exists = scope:target_char.religious_head_or_challenger
}
}
custom_tooltip = {
text = excommunicator_must_be_hof_tt
scope:excommunicator = scope:target_char.religious_head_or_challenger
}
}
trigger_else_if = {
limit = {
scope:target_char.religious_head_or_challenger = scope:excommunicator
}
}
trigger_else = {
# If there is no HoF, a clergy HoR can take it
trigger_if = {
limit = {
NOT = { exists = scope:target_char.faith.religious_head }
scope:target_char.rite.head_of_rite ?= $EXCOMMUNICATOR$
}
}
#Wanderers and courtiers
trigger_else_if = {
limit = {
is_ruler = no
}
#Courtiers
trigger_if = {
limit = {
exists = liege
}
custom_tooltip = {
text = bishop_excommunication_target_courtier_tt
liege = {
OR = {
target_is_same_character_or_above = $EXCOMMUNICATOR$
AND = {
is_landed = yes
any_character_to_title_neighboring_county = {
holder ?= {
target_is_same_character_or_above = $EXCOMMUNICATOR$
}
}
}
capital_province.county = {
clerical_region_title ?= {
holder = $EXCOMMUNICATOR$
}
}
cp:councillor_court_chaplain ?= $EXCOMMUNICATOR$
any_liege_or_above = {
cp:councillor_court_chaplain ?= $EXCOMMUNICATOR$
}
}
}
}
}
#Wanderers
trigger_else = {
custom_tooltip = {
text = bishop_excommunication_target_wanderer_tt
location.county = {
OR = {
holder ?= {
target_is_same_character_or_above = $EXCOMMUNICATOR$
}
any_neighboring_county = {
holder ?= {
target_is_same_character_or_above = $EXCOMMUNICATOR$
}
}
clerical_region_title ?= {
holder = $EXCOMMUNICATOR$
}
holder.cp:councillor_court_chaplain ?= $EXCOMMUNICATOR$
holder = {
any_liege_or_above = {
cp:councillor_court_chaplain ?= $EXCOMMUNICATOR$
}
}
}
}
}
}
}
#Theocrats/ecclesiasticals
trigger_else_if = {
limit = {
government_has_flag = government_is_theocracy
}
custom_tooltip = {
text = target_char_must_be_clerical_subordinate_tt
OR = {
$EXCOMMUNICATOR$ = {
any_subordinate = {
OR = {As written in game/common/scripted_triggers/pam_scripted_triggers.txt.
The first 120 of its 198 lines; the rest is in game/common/scripted_triggers/pam_scripted_triggers.txt from line 4390.
Where it is used
Every place in common/, events/ and history/ that calls pam_valid_excommunication_target_trigger.
Character interactions (4)
Source: game/common/scripted_triggers/pam_scripted_triggers.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.