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

Scripted trigger

valid_demand_conversion_conditions_trigger

valid_demand_conversion_conditions_trigger = yes

game/common/scripted_triggers/00_religious_triggers.txt, line 1198 (85 lines). No parameters.

valid_demand_conversion_conditions_trigger is a scripted trigger in Crusader Kings III, written at line 1198 of its file. It takes no parameters: valid_demand_conversion_conditions_trigger = yes (or no). The game's script calls it in 6 places, among them Attempt to Convert (interaction), Compel Conversion (interaction) and Demand Conversion (interaction). Its body carries 6 texts of the game's own for the player. Patch 1.20.1.2, from game/common/scripted_triggers/00_religious_triggers.txt.

What it checks

  • scope:recipient:
    • NOT = { has_strong_hook = scope:puppet_or_actor }
    • Does not have the Trait: Monk
    • Does not have the Trait: Military Order Member
    • NOT = { is_imprisoned_by = scope:puppet_or_actor }
    • NOT = { is_at_war_with = scope:puppet_or_actor }
  • scope:puppet_or_actor:
    • If

      • Government is Adventurer
      • scope:recipient:
        • is_courtier_of = scope:puppet_or_actor

      Then

      • Adventurers require the Portable Shrine upgrade for the Baggage Train to convert Followers
    • You cannot demand conversions as a Zealous follower of the Way of the Nomad
  • If

    • scope:recipient:
      • Has “cannot be converted by value” (a variable the game's script sets)
      • Cannot be converted by value is scope:puppet or actor

    Then

    • You have promised to not convert … until …
  • … cannot take overt hostile actions against … Diarch
  • The holder of a Clerical Region cannot convert to your Faith unless its Capital already follows your Faith

• 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 (85 lines of game script)
valid_demand_conversion_conditions_trigger = {
	scope:recipient = {
		NOR = {
			has_strong_hook = scope:puppet_or_actor
			has_trait = devoted
			has_trait = order_member
			is_imprisoned_by = scope:puppet_or_actor
			is_at_war_with = scope:puppet_or_actor
		}
	}
	scope:puppet_or_actor = {
		trigger_if = {
			limit = {
				government_has_flag = government_is_landless_adventurer
				scope:recipient = { is_courtier_of = scope:puppet_or_actor }
			}
			custom_tooltip = {
				text = valid_demand_conversion_conditions_trigger.tt.domicile_requires_shrine
				domicile = { has_domicile_parameter = camp_enable_conversion }
			}
		}
		custom_tooltip = {
			text = demand_conversion_nomadic_zealous_tt
			NAND = {
				has_trait = nomadic_philosophy
				has_trait = zealous
			}
		}
	}

	custom_description = {
		text = "is_head_of_religion"
		subject = scope:recipient
		scope:recipient.faith.religious_head != scope:recipient
	}
	custom_description = {
		text = "is_protected_via_contract"
		subject = scope:recipient
		# Vassal Contract forbids meddling by liege
		NAND = {
			exists = scope:recipient.liege
			scope:recipient.liege = scope:puppet_or_actor
			scope:recipient = {
				is_ruler = yes
				vassal_contract_has_flag = religiously_protected
			}
		}
	}
	trigger_if = {
		limit = {
			scope:recipient = {
				AND = {
					has_variable = cannot_be_converted_by_value
					var:cannot_be_converted_by_value = scope:puppet_or_actor
				}
			}
		}
		custom_tooltip = {
			text = promised_to_not_convert_character
			scope:recipient = {
				NOR = {
					has_variable = cannot_be_converted_by_value
					var:cannot_be_converted_by_value = scope:puppet_or_actor
				}
			}
		}
	}
	custom_tooltip = {
		text = cannot_take_overt_hostile_actions_against_diarch.tt
		NOT = { scope:recipient ?= scope:puppet_or_actor.diarch }
	}
	custom_tooltip = {
		text = demand_conversion_clerical_region_capital_faith_tt
		NOT = {
			scope:recipient = {
				any_held_title = {
					has_clerical_region = yes
					title_capital_county = {
						faith != scope:puppet_or_actor.faith
					}
				}
			}
		}
	}
}

As written in game/common/scripted_triggers/00_religious_triggers.txt.

Where it is used

Every place in common/, events/ and history/ that calls valid_demand_conversion_conditions_trigger.

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?