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

Scripted trigger

has_same_vassal_stance_as_trigger

has_same_vassal_stance_as_trigger = { COMPARE = … }

game/common/scripted_triggers/00_vassal_stance_triggers.txt, line 6 (20 lines). Parameters: $COMPARE$.

has_same_vassal_stance_as_trigger is a scripted trigger in Crusader Kings III, written at line 6 of its file. A call passes 1 parameter: COMPARE. The game's script calls it in 1 place, among them hold_court_8330_other_vassals_count (script value). Patch 1.20.1.2, from game/common/scripted_triggers/00_vassal_stance_triggers.txt.

What it checks

  • Is an Independent Ruler
  • $COMPARE$ = { top_liege != this save_temporary_scope_as = compare_temp }
  • scope:compare_temp › Depending on has vassal stance:
    • When has vassal stance is Courtly › scope:vassal_temp:
      • has_vassal_stance = courtly
    • When has vassal stance is Glory Hound › scope:vassal_temp:
      • has_vassal_stance = glory_hound
    • When has vassal stance is Parochial › scope:vassal_temp:
      • has_vassal_stance = parochial
    • When has vassal stance is Zealot › scope:vassal_temp:
      • has_vassal_stance = zealot
    • When has vassal stance is Minority › scope:vassal_temp:
      • has_vassal_stance = minority
    • When has vassal stance is Minor Landholder › scope:vassal_temp:
      • has_vassal_stance = barons_and_minor_landholders
    • When has vassal stance is Belligerent › scope:vassal_temp:
      • has_vassal_stance = belligerent

• 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 (20 lines of game script)
has_same_vassal_stance_as_trigger = {
	top_liege != this
	save_temporary_scope_as = vassal_temp
	$COMPARE$ = {
		top_liege != this
		save_temporary_scope_as = compare_temp
	}
	scope:compare_temp = {
		switch = {
			trigger = has_vassal_stance
			courtly = { scope:vassal_temp = { has_vassal_stance = courtly } }
			glory_hound = { scope:vassal_temp = { has_vassal_stance = glory_hound } }
			parochial = { scope:vassal_temp = { has_vassal_stance = parochial } }
			zealot = { scope:vassal_temp = { has_vassal_stance = zealot } }
			minority = { scope:vassal_temp = { has_vassal_stance = minority } }
			barons_and_minor_landholders = { scope:vassal_temp = { has_vassal_stance = barons_and_minor_landholders } }
			belligerent = { scope:vassal_temp = { has_vassal_stance = belligerent } }
		}
	}
}

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

Script values (1)

  • hold_court_8330_other_vassals_count

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?