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

Scripted trigger

can_be_knight_trigger

can_be_knight_trigger = { ARMY_OWNER = … }

game/common/scripted_triggers/00_war_and_peace_triggers.txt, line 539 (78 lines). Parameters: $ARMY_OWNER$.

can_be_knight_trigger is a scripted trigger in Crusader Kings III, written at line 539 of its file. A call passes 1 parameter: ARMY_OWNER. The game's script calls it in 29 places, among them Recruit to Court (interaction), Send to the Varangian Guard (Dynasty) (interaction) and Performative Honor (tradition). Patch 1.20.1.2, from game/common/scripted_triggers/00_war_and_peace_triggers.txt.

The comment above it in the file

referenced in KNIGHT_RESTRICTIONS_TT, update when changing this trigger

What it checks

  • Is available
  • can_be_warrior_trigger = { ARMY_OWNER = $ARMY_OWNER$ }
  • If

    • $ARMY_OWNER$ = { government_has_mechanic = administrative }
    • is_courtier = no

    Then

  • If

    • $ARMY_OWNER$.culture = { has_cultural_parameter = minimum_prowess_for_knights }

    Then

    • Prowess at least 12
  • If a member of the Clergy:
    • One of these

      • Their rite: The rite has Members of the Clergy can serve as Commanders or Knights
      • or

        All of these

        • The Personal Tenets unlock clergy can fight personal
        • None of these

          • Their rite: The rite has Pacifism or Dharmic Pacifism
      • or

        Their culture: The Culture has the Members of the Clergy can serve as Commanders or Knights Tradition
      • or

        All of these

        • $ARMY_OWNER$.culture = { has_cultural_parameter = high_prowess_ignores_knight_restrictions }
        • Prowess at least 10
  • One of these

    • All of these

      • $ARMY_OWNER$.culture = { has_cultural_parameter = high_prowess_ignores_knight_restrictions }
      • Prowess at least 10
    • or

      Has the Trait: Military Order Member
    • or

      Does not have the Trait: Blind
    • or

      NOT = { has_court_position = master_assassin_court_position }
  • If

    • $ARMY_OWNER$ = { is_ai = no }

    Then

    • is_knight_permitted = $ARMY_OWNER$

• 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 (78 lines of game script)
can_be_knight_trigger = {
	is_available_quick = {
		ai = yes
		hostage = no
	}
	can_be_warrior_trigger = { ARMY_OWNER = $ARMY_OWNER$ }
	trigger_if = { # Admin governors cannot be knights
		limit = {
			$ARMY_OWNER$ = { government_has_mechanic = administrative }
			is_courtier = no
			exists = primary_title
		}
		primary_title = {
			tier < tier_duchy
			trigger_if = {
				limit = { is_noble_family_title = yes }
				always = no
			}
		}
	}
	trigger_if = {
		limit = {
			$ARMY_OWNER$.culture = {
				has_cultural_parameter = minimum_prowess_for_knights
			}
		}
		prowess >= 12
	}
	trigger_if = {
		limit = {
			is_clergy = yes
		}
		OR = {
			rite = { rite_has_parameter = clergy_can_fight }
			AND = {
				has_personal_tenet_flag = clergy_can_fight_personal
				NOT = {
					rite = { rite_has_parameter = pacifist }
				}
			}
			culture = { has_cultural_parameter = culture_clergy_can_fight }
			AND = {
				$ARMY_OWNER$.culture = {
					has_cultural_parameter = high_prowess_ignores_knight_restrictions
				}
				prowess >= 10
			}
		}
	}
	OR = {
		AND = {
			$ARMY_OWNER$.culture = {
				has_cultural_parameter = high_prowess_ignores_knight_restrictions
			}
			prowess >= 10
		}
		has_trait = order_member # Order Members will fight for their faith even if their faith says no
		NOR = {
			has_trait = blind
			has_court_position = master_assassin_court_position #FP3 addition
		}
	}
	trigger_if = {
		limit = {
			exists = liege.diarch
		}
		this != liege.diarch
	}
	# knight permissions for players
	trigger_if = {
		limit = {
			$ARMY_OWNER$ = {
				is_ai = no
			}
		}
		is_knight_permitted = $ARMY_OWNER$
	}
}

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

Where it is used

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

Events (12)

6 more

Scripted triggers inside an event file (7)

  • diarchy_2211_valid_pool_character_trigger
  • hold_court_8050_knight_trigger
  • marshal_task_0304_is_valid_beneficiary_of_nepotism
  • mpo_greatest_of_khans_0101_ideal_vassal_trigger
  • suitable_child_to_leave
  • tournament_events_3501_knight_trigger
1 more
  • varangian_0001_available_varangian_trigger

Courtier guest management (1)

  • guest_management

Scripted character templates (1)

  • location_pilgrim_template

Scripted rules (1)

  • can_be_knight

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