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

Interaction · Landless adventurer actions

Train Knights

No costRoads to PowerAccepted automatically

A training session to improve Prowess or teach Commander Trait to the recipient's …

What you need

You

  • If played by the AI: Is at not War
  • Any character active contract:
    • task_contract_type = laamp_help_train_commanders_contract
    • One of these

      • task_contract_employer ?= scope:recipient
      • or

        task_contract_target ?= scope:recipient
      • or

        Any in list:
        • is_knight = yes
        • is_alive = yes
        • Is the target

Train Knights is a landless adventurer character interaction in Crusader Kings III. Accepted automatically. It needs Roads to Power. Patch 1.20.1.2, from game/common/character_interactions/06_ep3_laamp_interactions.txt.

for a guide, post or blog
Quick answers (1)
Will the AI accept Train Knights?
Yes: it is accepted automatically.

Will they accept?

The other character has no choice: the game accepts it automatically.

Acceptance (ai_accept) (1 line of game script)
base = 100

As written in game/common/character_interactions/06_ep3_laamp_interactions.txt.

What happens

Effects

  • One random character active contract:
    • Where:
      • One of these

        • task_contract_employer ?= scope:recipient
        • or

          task_contract_target ?= scope:recipient
        • or

          Any in list:
          • is_alive = yes
          • is_knight = yes
          • Is the target
    • task_contract_type = laamp_help_train_commanders_contract
  • The other character: Has a chance to increase Prowess or learn a Commander Trait
  • Event ep3_contract_event.0091

Events it fires: ep3_contract_event.0091

• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists

Who can use it and sees it (is_available, is_shown) (22 lines of game script)
is_available = trigger_if = {
	limit = {
		is_ai = yes
	}
	is_at_war = no
}
is_shown = has_ep3_dlc_trigger = yes
scope:actor = {
	any_character_active_contract = {
		task_contract_type = laamp_help_train_commanders_contract
		OR = {
			task_contract_employer ?= scope:recipient
			task_contract_target ?= scope:recipient
			any_in_list = {
				is_knight = yes
				is_alive = yes
				variable = knights_to_train
				this = scope:recipient
			}
		}
	}
}

As written in game/common/character_interactions/06_ep3_laamp_interactions.txt.

Effects (on_send, on_accept, on_decline) (25 lines of game script)
on_accept = scope:actor = {
	random_character_active_contract = {
		task_contract_type = laamp_help_train_commanders_contract
		limit = {
			OR = {
				task_contract_employer ?= scope:recipient
				task_contract_target ?= scope:recipient
				any_in_list = {
					variable = knights_to_train
					is_alive = yes
					is_knight = yes
					this = scope:recipient
				}
			}
		}
		save_scope_as = task_contract
	}
}
scope:secondary_recipient = {
	save_scope_as = knight
	custom_tooltip = task_contract_train_knight_interaction.tt
}
scope:actor = {
	trigger_event = ep3_contract_event.0091
}

As written in game/common/character_interactions/06_ep3_laamp_interactions.txt.

Category
Landless adventurer actions
DLC
Roads to Power
In the menu
main list
ID
task_contract_train_knight_interaction

Source: game/common/character_interactions/06_ep3_laamp_interactions.txt and the English localisation, Crusader Kings III 1.20.1.2. “You” is the character who sends it (scope:actor, or a puppet acting for you); “the character you target” is the recipient. “…” marks words the game fills in at play time (a name, a title).

Spotted a mistake on this page?