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

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

• 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.

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.

Spotted a mistake on this page?