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

Scripted trigger

teacher_has_trait_that_student_does_not_trigger

teacher_has_trait_that_student_does_not_trigger = { STUDENT = … TEACHER = … }

game/common/scripted_triggers/00_councillor_triggers.txt, line 1440 (72 lines). Parameters: $STUDENT$, $TEACHER$.

teacher_has_trait_that_student_does_not_trigger is a scripted trigger in Crusader Kings III, written at line 1440 of its file. A call passes 2 parameters: STUDENT and TEACHER. The game's script calls it in 1 place, among them marshal_task.0302 (event). Patch 1.20.1.2, from game/common/scripted_triggers/00_councillor_triggers.txt.

What it checks

  • One of these

    • All of these

      • $TEACHER$ = { has_trait = logistician }
      • $STUDENT$ = { … }
    • or

      All of these

      • $TEACHER$ = { has_trait = military_engineer }
      • $STUDENT$ = { … }
    • or

      All of these

      • $TEACHER$ = { has_trait = aggressive_attacker }
      • $STUDENT$ = { … }
    • or

      All of these

      • $TEACHER$ = { has_trait = unyielding_defender }
      • $STUDENT$ = { … }
    • or

      All of these

      • $TEACHER$ = { has_trait = forder }
      • $STUDENT$ = { … }
    • or

      All of these

      • $TEACHER$ = { has_trait = flexible_leader }
      • $STUDENT$ = { … }
    • or

      All of these

      • $TEACHER$ = { has_trait = desert_warrior }
      • $STUDENT$ = { … }
    • or

      All of these

      • $TEACHER$ = { has_trait = jungle_stalker }
      • $STUDENT$ = { … }
    • or

      All of these

      • $TEACHER$ = { has_trait = winter_soldier }
      • $STUDENT$ = { … }
    • or

      All of these

      • $TEACHER$ = { has_trait = reaver }
      • $STUDENT$ = { … }
    • or

      All of these

      • $TEACHER$ = { has_trait = reckless }
      • $STUDENT$ = { … }
    • or

      All of these

      • $TEACHER$ = { has_trait = holy_warrior }
      • $STUDENT$ = { … }
    • or

      All of these

      • $TEACHER$ = { has_trait = open_terrain_expert }
      • $STUDENT$ = { … }
    • or

      All of these

      • $TEACHER$ = { has_trait = rough_terrain_expert }
      • $STUDENT$ = { … }
    • or

      All of these

      • $TEACHER$ = { has_trait = forest_fighter }
      • $STUDENT$ = { … }
    • or

      All of these

      • $TEACHER$ = { has_trait = cautious_leader }
      • $STUDENT$ = { … }
    • or

      All of these

      • $TEACHER$ = { has_trait = organizer }
      • $STUDENT$ = { … }

• 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 (72 lines of game script)
teacher_has_trait_that_student_does_not_trigger = {
	OR = {
		AND = {
			$TEACHER$ = { has_trait = logistician }
			$STUDENT$ = { NOT = { has_trait = logistician } }
		}
		AND = {
			$TEACHER$ = { has_trait = military_engineer }
			$STUDENT$ = { NOT = { has_trait = military_engineer } }
		}
		AND = {
			$TEACHER$ = { has_trait = aggressive_attacker }
			$STUDENT$ = { NOT = { has_trait = aggressive_attacker } }
		}
		AND = {
			$TEACHER$ = { has_trait = unyielding_defender }
			$STUDENT$ = { NOT = { has_trait = unyielding_defender } }
		}
		AND = {
			$TEACHER$ = { has_trait = forder }
			$STUDENT$ = { NOT = { has_trait = forder } }
		}
		AND = {
			$TEACHER$ = { has_trait = flexible_leader }
			$STUDENT$ = { NOT = { has_trait = flexible_leader } }
		}
		AND = {
			$TEACHER$ = { has_trait = desert_warrior }
			$STUDENT$ = { NOT = { has_trait = desert_warrior } }
		}
		AND = {
			$TEACHER$ = { has_trait = jungle_stalker }
			$STUDENT$ = { NOT = { has_trait = jungle_stalker } }
		}
		AND = {
			$TEACHER$ = { has_trait = winter_soldier }
			$STUDENT$ = { NOT = { has_trait = winter_soldier } }
		}
		AND = {
			$TEACHER$ = { has_trait = reaver }
			$STUDENT$ = { NOT = { has_trait = reaver } }
		}
		AND = {
			$TEACHER$ = { has_trait = reckless }
			$STUDENT$ = { NOT = { has_trait = reckless } }
		}
		AND = {
			$TEACHER$ = { has_trait = holy_warrior }
			$STUDENT$ = { NOT = { has_trait = holy_warrior } }
		}
		AND = {
			$TEACHER$ = { has_trait = open_terrain_expert }
			$STUDENT$ = { NOT = { has_trait = open_terrain_expert } }
		}
		AND = {
			$TEACHER$ = { has_trait = rough_terrain_expert }
			$STUDENT$ = { NOT = { has_trait = rough_terrain_expert } }
		}
		AND = {
			$TEACHER$ = { has_trait = forest_fighter }
			$STUDENT$ = { NOT = { has_trait = forest_fighter } }
		}
		AND = {
			$TEACHER$ = { has_trait = cautious_leader }
			$STUDENT$ = { NOT = { has_trait = cautious_leader } }
		}
		AND = {
			$TEACHER$ = { has_trait = organizer }
			$STUDENT$ = { NOT = { has_trait = organizer } }
		}
	}
}

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

Where it is used

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

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