Scripted trigger
character_considered_morally_dubious_trigger
character_considered_morally_dubious_trigger = { RITE = … }game/common/scripted_triggers/00_religious_triggers.txt, line 2363 (167 lines). Parameters: $RITE$.
character_considered_morally_dubious_trigger is a scripted trigger in Crusader Kings III, written at line 2363 of its file. A call passes 1 parameter: RITE. The game's script calls it in 12 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 a sinful or a shunned trait - IS PRETTY BAD, NOT STRAIGHT UP 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 5
- 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
If
rite = $RITE$
Then
- Piety level less than 1
Otherwise
$RITE$ = { save_temporary_scope_as = moral_dubious_judge_rite }scope:moral_dubious_judge_rite:rite_hostility_level(scope:judged.rite) >= faith_evil_level
or
All of these
- Has the Trait: Heresiarch
NOT = { rite = $RITE$ }
or
num_sinful_traits = { target = $RITE$ value >= 2 }or
All of these
num_sinful_traits = { target = $RITE$ value >= 1 }num_virtuous_traits = { target = $RITE$ value = 0 }
or
All of these
trait_is_shunned_in_rite_trigger = { RITE = $RITE$ TRAIT = trait:sodomite GENDER_CHARACTER = scope:judged }- Has the Trait: Sodomite
or
All of these
trait_is_shunned_in_rite_trigger = { RITE = $RITE$ TRAIT = trait:deviant GENDER_CHARACTER = scope:judged }- Has the Trait: Deviant
or
All of these
trait_is_shunned_in_rite_trigger = { RITE = $RITE$ TRAIT = trait:adulterer GENDER_CHARACTER = scope:judged }- Has the Trait: Adulterer
or
All of these
trait_is_shunned_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_shunned_in_rite_trigger = { RITE = $RITE$ TRAIT = trait:witch GENDER_CHARACTER = scope:judged }- Has the Trait: Witch
or
All of these
trait_is_shunned_in_rite_trigger = { RITE = $RITE$ TRAIT = trait:kinslayer_1 GENDER_CHARACTER = scope:judged }- Has the Trait: Dynastic Kinslayer
or
All of these
trait_is_shunned_in_rite_trigger = { RITE = $RITE$ TRAIT = trait:kinslayer_2 GENDER_CHARACTER = scope:judged }- Has the Trait: Familial Kinslayer
or
All of these
trait_is_shunned_in_rite_trigger = { RITE = $RITE$ TRAIT = trait:kinslayer_3 GENDER_CHARACTER = scope:judged }- Has the Trait: Kinslayer
or
All of these
- Has the Trait: Lunatic
NOT = { $RITE$ = { trait_is_virtue_rite = lunatic_1 } }NOT = { $RITE$ = { trait_is_virtue_rite = lunatic_genetic } }
or
All of these
- Has the Trait: Gallowsbait
NOT = { $RITE$ = { trait_is_virtue_rite = gallowsbait } }
or
All of these
- Has the Trait: Despoiler of Byzantium
NOT = { $RITE$ = { trait_is_virtue_rite = despoiler_of_byzantium } }
or
• 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_morally_dubious_trigger = {
save_temporary_scope_as = judged
#Check they aren't considered so pious it excuses their sins...
trigger_if = {
limit = {
rite = $RITE$
is_ruler = yes # Performance reasons, avoids 5 trait array lookups
}
NOR = {
piety_level >= 5
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$
}
piety_level < 1
}
#A rite the judge holds at evil-level hostility makes its adherents dubious outright, judged rite-to-rite rather than faith-to-faith.
trigger_else = {
$RITE$ = {
save_temporary_scope_as = moral_dubious_judge_rite
}
scope:moral_dubious_judge_rite = {
"rite_hostility_level(scope:judged.rite)" >= faith_evil_level
}
}
AND = {
has_trait = heresiarch
NOT = {
rite = $RITE$
}
}
#SIN TRAITS - counted by the judging rite's reckoning, not the judged character's own
num_sinful_traits = {
target = $RITE$
value >= 2
}
#Sins outweigh virtue
AND = {
num_sinful_traits = {
target = $RITE$
value >= 1
}
num_virtuous_traits = {
target = $RITE$
value = 0
}
}
#SHUNNED TRAITS
AND = {
trait_is_shunned_in_rite_trigger = {
RITE = $RITE$
TRAIT = trait:sodomite
GENDER_CHARACTER = scope:judged
}
has_trait = sodomite
}
AND = {
trait_is_shunned_in_rite_trigger = {
RITE = $RITE$
TRAIT = trait:deviant
GENDER_CHARACTER = scope:judged
}
has_trait = deviant
}
AND = {
trait_is_shunned_in_rite_trigger = {
RITE = $RITE$
TRAIT = trait:adulterer
GENDER_CHARACTER = scope:judged
}
has_trait = adulterer
}
AND = {
trait_is_shunned_in_rite_trigger = {
RITE = $RITE$
TRAIT = trait:fornicator
GENDER_CHARACTER = scope:judged
}
OR = {
has_trait = fornicator
has_trait = rakish
}
}
AND = {
trait_is_shunned_in_rite_trigger = {
RITE = $RITE$
TRAIT = trait:witch
GENDER_CHARACTER = scope:judged
}
has_trait = witch
}
AND = {
trait_is_shunned_in_rite_trigger = {
RITE = $RITE$
TRAIT = trait:kinslayer_1
GENDER_CHARACTER = scope:judged
}
has_trait = kinslayer_1
}
AND = {
trait_is_shunned_in_rite_trigger = {
RITE = $RITE$
TRAIT = trait:kinslayer_2
GENDER_CHARACTER = scope:judged
}
has_trait = kinslayer_2
}As written in game/common/scripted_triggers/00_religious_triggers.txt.
The first 120 of its 167 lines; the rest is in game/common/scripted_triggers/00_religious_triggers.txt from line 2363.
Where it is used
Every place in common/, events/ and history/ that calls character_considered_morally_dubious_trigger.
Character interactions (3)
Events (1)
Scripted effects (1)
Scripted triggers (1)
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.