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

Scripted trigger

vassal_follows_directive_valid_trigger

vassal_follows_directive_valid_trigger = { LIEGE = … VASSAL = … }

game/common/scripted_triggers/00_vassal_stance_triggers.txt, line 36 (18 lines). Parameters: $LIEGE$, $VASSAL$.

vassal_follows_directive_valid_trigger is a scripted trigger in Crusader Kings III, written at line 36 of its file. A call passes 2 parameters: LIEGE and VASSAL. The game's script calls it in 2 places, among them Give Vassal Directive (interaction) and vassal_is_valid_and_follows_directive_trigger (scripted trigger). Patch 1.20.1.2, from game/common/scripted_triggers/00_vassal_stance_triggers.txt.

What it checks

  • $VASSAL$ = { save_temporary_scope_as = directive_vassal }
  • $LIEGE$ = { save_temporary_scope_as = directive_liege }
  • scope:directive_vassal:
    • If

      • scope:directive_liege: they has administrative government mechanic

      Then

      • is_vassal_of = scope:directive_liege

      Otherwise

      • is_vassal_of = scope:directive_liege
    • NOT = { has_relation_rival = scope:directive_liege }
    • NOT = { is_at_war_with = scope:directive_liege }
    • Does not have the Trait: Disloyal

• 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 (18 lines of game script)
vassal_follows_directive_valid_trigger = {
	$VASSAL$ = { save_temporary_scope_as = directive_vassal }
	$LIEGE$ = { save_temporary_scope_as = directive_liege }
	scope:directive_vassal = {
		trigger_if = {
			limit = {
				scope:directive_liege = { government_has_mechanic = administrative }
			}
			is_vassal_of = scope:directive_liege
		}
		trigger_else = {
			is_vassal_of = scope:directive_liege
		}
		NOT = { has_relation_rival = scope:directive_liege }
		NOT = { is_at_war_with = scope:directive_liege }
		NOT = { has_trait = disloyal }
	}
}

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

Where it is used

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

Character interactions (1)

Source: game/common/scripted_triggers/00_vassal_stance_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?