Scripted trigger
character_considered_wicked_trigger
character_considered_wicked_trigger = { RITE = … }game/common/scripted_triggers/00_religious_triggers.txt, line 2534 (160 lines). Parameters: $RITE$.
character_considered_wicked_trigger is a scripted trigger in Crusader Kings III, written at line 2534 of its file. A call passes 1 parameter: RITE. The game's script calls it in 13 places, among them Ask to Join Military Order (interaction), Ask to Take Monastic Vows (interaction) and Ask to Take Vows (interaction). Patch 1.20.1.2, from game/common/scripted_triggers/00_religious_triggers.txt.
The comment above it in the file
Has multiple sins or a criminal trait - IS EVIL Meant to be used in character scope needs scope of the rite they're being judged by - not necessarily their own rite
What it checks
If
rite = $RITE$- Is a ruler
Then
- Piety level less than 4
- Does not have the Trait: Venerated Ancestor
- Does not have the Trait: Herald
- Does not have the Trait: Chakravarti
- Does not have the Trait: Saoshyant
- Does not have the Trait: The Savior
One of these
or
Num sinful traits at least 3or
All of these
- Their rite:
save_temporary_scope_as = wicked_judged_rite
$RITE$ = { divergence(scope:wicked_judged_rite) >= faith.heresy_threshold }
- Their rite:
or
All of these
trait_is_criminal_in_rite_trigger = { RITE = $RITE$ TRAIT = trait:sodomite GENDER_CHARACTER = scope:judged }- Has the Trait: Sodomite
or
All of these
trait_is_criminal_in_rite_trigger = { RITE = $RITE$ TRAIT = trait:deviant GENDER_CHARACTER = scope:judged }- Has the Trait: Deviant
or
All of these
trait_is_criminal_in_rite_trigger = { RITE = $RITE$ TRAIT = trait:adulterer GENDER_CHARACTER = scope:judged }- Has the Trait: Adulterer
or
All of these
trait_is_criminal_in_rite_trigger = { RITE = $RITE$ TRAIT = trait:fornicator GENDER_CHARACTER = scope:judged }One of these
- Has the Trait: Fornicator
or
Has the Trait: Rakish
or
All of these
trait_is_criminal_in_rite_trigger = { RITE = $RITE$ TRAIT = trait:witch GENDER_CHARACTER = scope:judged }- Has the Trait: Witch
or
All of these
trait_is_criminal_in_rite_trigger = { RITE = $RITE$ TRAIT = trait:kinslayer_1 GENDER_CHARACTER = scope:judged }- Has the Trait: Dynastic Kinslayer
or
All of these
trait_is_criminal_in_rite_trigger = { RITE = $RITE$ TRAIT = trait:kinslayer_2 GENDER_CHARACTER = scope:judged }- Has the Trait: Familial Kinslayer
or
All of these
trait_is_criminal_in_rite_trigger = { RITE = $RITE$ TRAIT = trait:kinslayer_3 GENDER_CHARACTER = scope:judged }- Has the Trait: Kinslayer
or
or
or
All of these
- Has the Trait: Gallowsbait
One of these
- Gallowsbait (bandit) experience at least 60
or
Gallowsbait (thief) experience at least 80or
Gallowsbait (poacher) experience at least 80or
Gallowsbait (trickster) experience at least 80or
Gallowsbait (marauder) experience at least 40
NOT = { $RITE$ = { trait_is_virtue_rite = gallowsbait } }
• 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)
character_considered_wicked_trigger = {
save_temporary_scope_as = judged
trigger_if = {
limit = {
rite = $RITE$
is_ruler = yes # Performance reasons, avoids 5 trait array lookups
}
NOR = {
piety_level >= 4
has_trait = saint
has_trait = herald
has_trait = chakravarti
has_trait = saoshyant
has_trait = savior
}
}
OR = {
#Things that make just same-rite people mad
trigger_if = {
limit = {
rite = $RITE$
}
has_trait = excommunicated
}
#SIN TRAITS
num_sinful_traits >= 3
#HERETICAL RITE
AND = {
rite ?= {
save_temporary_scope_as = wicked_judged_rite
}
$RITE$ = {
"divergence(scope:wicked_judged_rite)" >= faith.heresy_threshold
}
}
#CRIMINAL TRAITS
AND = {
trait_is_criminal_in_rite_trigger = {
RITE = $RITE$
TRAIT = trait:sodomite
GENDER_CHARACTER = scope:judged
}
has_trait = sodomite
}
AND = {
trait_is_criminal_in_rite_trigger = {
RITE = $RITE$
TRAIT = trait:deviant
GENDER_CHARACTER = scope:judged
}
has_trait = deviant
}
AND = {
trait_is_criminal_in_rite_trigger = {
RITE = $RITE$
TRAIT = trait:adulterer
GENDER_CHARACTER = scope:judged
}
has_trait = adulterer
}
AND = {
trait_is_criminal_in_rite_trigger = {
RITE = $RITE$
TRAIT = trait:fornicator
GENDER_CHARACTER = scope:judged
}
OR = {
has_trait = fornicator
has_trait = rakish
}
}
AND = {
trait_is_criminal_in_rite_trigger = {
RITE = $RITE$
TRAIT = trait:witch
GENDER_CHARACTER = scope:judged
}
has_trait = witch
}
AND = {
trait_is_criminal_in_rite_trigger = {
RITE = $RITE$
TRAIT = trait:kinslayer_1
GENDER_CHARACTER = scope:judged
}
has_trait = kinslayer_1
}
AND = {
trait_is_criminal_in_rite_trigger = {
RITE = $RITE$
TRAIT = trait:kinslayer_2
GENDER_CHARACTER = scope:judged
}
has_trait = kinslayer_2
}
AND = {
trait_is_criminal_in_rite_trigger = {
RITE = $RITE$
TRAIT = trait:kinslayer_3
GENDER_CHARACTER = scope:judged
}
has_trait = kinslayer_3
}
AND = {
has_trait = murderer
NOT = {
$RITE$ = {
trait_is_virtue_rite = murderer
}
}
}
AND = {
has_trait = cannibal
NOT = {
$RITE$ = {
trait_is_virtue_rite = cannibalAs written in game/common/scripted_triggers/00_religious_triggers.txt.
The first 120 of its 160 lines; the rest is in game/common/scripted_triggers/00_religious_triggers.txt from line 2534.
Where it is used
Every place in common/, events/ and history/ that calls character_considered_wicked_trigger.
Character interactions (3)
Events (1)
Scripted effects (1)
Scripted triggers (2)
Script values (3)
- clerical_hesitation_claim_interaction_value
- clerical_hesitation_from_target_holder_value
- clerical_hesitation_sub_value
Scripted modifiers (AI weights) (3)
- general_secular_to_ecclesiastic_acceptance_modifier
- general_secular_to_ecclesiastic_acceptance_secondary_recipient_modifier
- theocratic_related_puppet_acceptance_factors_modifier
Source: game/common/scripted_triggers/00_religious_triggers.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.