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

Interaction · Friendly actions

Request Mentorship

No costAll Under HeavenThe AI weighs it

Ask the recipient to become a mentor and teach a topic they are skilled in

What you need

You

To send it

  • Is not at war with the target
  • Is not incapable
  • Must pick a topic to study
  • If

    a check the game hides

    Then

    • The other character: Is available (not imprisoned, not incapable)
  • Also needed: not imprisoned

To see it in the menu

The character you target

To send it

  • Is not incapable
  • Also needed: not imprisoned

To see it in the menu

  • top_liege ?= scope:actor.top_liege
  • One of these

    • Is a ruler
    • or

      Is a courtier of you

Request Mentorship is a friendly character interaction in Crusader Kings III. You need: Is not at war with the target, Is not incapable, Is not imprisoned and 1 more. The character you target needs: Is not incapable and Is not imprisoned. The AI weighs it. Reasons the AI weighs include Generous (+10), Gregarious (+5), Trusting (+5) and 9 more. It needs All Under Heaven. Patch 1.20.1.2, from game/common/character_interactions/10_tgp_interactions.txt.

for a guide, post or blog
Quick answers (2)
What are the requirements for Request Mentorship in CK3?
You: Is not at war with the target, Is not incapable, Is not imprisoned and Must pick a topic to study. The character you target: Is not incapable and Is not imprisoned. (patch 1.20.1.2)
How do I get the AI to accept Request Mentorship?
The AI weighs it. Its reasons: Generous +10, Gregarious +5, Trusting +5, Lazy -10, Arbitrary -10, Paranoid -20, Erudite +10, You and the recipient are members of the same Movement, They is your Friend +25, They is your Rival -50, They is your Elder +30, They is your Elder +15, They is your Disciple +10 and Your Title Tier is lower than the recipient's.

Will they accept?

The AI adds these up and accepts above zero. Reasons in italics are the script's, with no label in the game.

ReasonAmount
Base-10
Their opinion of you × 0.5varies
Their opinion of the other character × 0.5varies
Generous
when
+10
Gregarious
when
+5
Trusting
when
+5
Lazy
when
-10
Arbitrary
when
-10
Paranoid
when
-20
Erudite
when
+10
You and the recipient are members of the same Movement
when
  • One of these

    • top_participant_group:dynastic_cycle ?= scope:actor.top_participant_group:dynastic_cycle
    • or

      All of these

varies
They is your Friend
when
  • Has you as friend
+25
They is your Rival
when
  • Has you as rival
-50
They is your Elder
when
  • Has you as disciple
  • The other character is you
+30
They is your Elder
when
  • Has you as disciple
  • The other character is not you
+15
They is your Disciple
when
  • Has you as elder
+10
Your Title Tier is lower than the recipient's
when
  • primary_title.tier > scope:actor.primary_title.tier
varies
Acceptance (ai_accept) (102 lines of game script)
base = -10
opinion_modifier = {
	opinion_target = scope:actor
	who = scope:recipient
	multiplier = 0.5
}
opinion_modifier = {
	trigger = {
		scope:actor != scope:secondary_recipient
	}
	opinion_target = scope:secondary_recipient
	who = scope:recipient
	multiplier = 0.5
}
modifier = {
	has_trait = generous
	add = 10
	desc = INTERACTION_GENEROUS
}
modifier = {
	has_trait = gregarious
	add = 5
	desc = INTERACTION_GREGARIOUS
}
modifier = {
	has_trait = trusting
	add = 5
	desc = INTERACTION_TRUSTING
}
modifier = {
	has_trait = lazy
	add = -10
	desc = INTERACTION_LAZY
}
modifier = {
	has_trait = arbitrary
	add = -10
	desc = INTERACTION_ARBITRARY
}
modifier = {
	has_trait = paranoid
	add = -20
	desc = INTERACTION_PARANOID
}
modifier = {
	has_trait = erudite
	add = 10
	desc = TAKE_THE_VOWS_ERUDITE
}
modifier = {
	is_in_same_movement_as = {
		TARGET = scope:actor
	}
	add = {
		value = 20
		if = {
			limit = {
				is_in_pro_hegemon_or_hegemon_movement = yes
			}
			multiply = 1.5
		}
	}
	desc = actor_and_recipient_in_same_movement
}
modifier = {
	has_relation_friend = scope:actor
	add = 25
	desc = AI_YOUR_FRIEND
}
modifier = {
	has_relation_rival = scope:actor
	add = -50
	desc = AI_YOUR_RIVAL
}
modifier = {
	has_relation_disciple = scope:actor
	scope:secondary_recipient = scope:actor
	add = 30
	desc = AI_YOUR_ELDER
}
modifier = {
	has_relation_disciple = scope:actor
	scope:secondary_recipient != scope:actor
	add = 15
	desc = AI_YOUR_ELDER
}
modifier = {
	has_relation_elder = scope:actor
	add = 10
	desc = AI_YOUR_DISCIPLE
}
modifier = {
	primary_title.tier > scope:actor.primary_title.tier
	add = {
		value = -15
		multiply = {
			add = primary_title.tier
			subtract = scope:actor.primary_title.tier
		}
	}
	desc = actor_is_of_lower_tier_desc
}

As written in game/common/character_interactions/10_tgp_interactions.txt.

What happens

If they accept

Options when sending

  • Improve Merit
  • Study Confucianism
  • Study Battle Tactics
  • Study Logistics
  • Study Siege Engineering
  • Study Offensive Tactics
  • Study Defensive Tactics
  • Study Embarkment Formations
  • Study Adaptive Tactics
  • Study Desert Tactics
  • Study Jungle Tactics
  • Study Hit-and-Run Tactics
  • Study Experimental Tactics
  • Study Faith in Combat Tactics
  • Study Open Terrain Tactics
  • Study Rough Terrain Tactics
  • Study Woodland Tactics
  • Study Careful Tactics
  • Study Army Organization
  • Study Winter Tactics

Events it fires: tgp_interaction_event.0030

• 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) (15 lines of game script)
is_available = government_has_flag = government_is_celestial
trigger_if = {
	limit = {
		is_ai = yes
	}
	is_adult = yes
}
is_shown = has_tgp_dlc_trigger = yes
scope:recipient = {
	top_liege ?= scope:actor.top_liege
	OR = {
		is_ruler = yes
		is_courtier_of = scope:actor
	}
}

As written in game/common/character_interactions/10_tgp_interactions.txt.

Can be sent when (is_valid…) (43 lines of game script)
scope:actor = {
	NOT = {
		is_at_war_with = scope:recipient
	}
	is_incapable = no
	is_imprisoned = no
}
scope:recipient = {
	is_incapable = no
	is_imprisoned = no
}
custom_tooltip = {
	text = mentoring_no_option_selected
	OR = {
		scope:merit = yes
		scope:confucian_education = yes
		scope:logistician = yes
		scope:military_engineer = yes
		scope:aggressive_attacker = yes
		scope:unyielding_defender = yes
		scope:forder = yes
		scope:flexible_leader = yes
		scope:desert_warrior = yes
		scope:jungle_stalker = yes
		scope:reaver = yes
		scope:reckless = yes
		scope:holy_warrior = yes
		scope:open_terrain_expert = yes
		scope:rough_terrain_expert = yes
		scope:forest_fighter = yes
		scope:cautious_leader = yes
		scope:organizer = yes
		scope:winter_soldier = yes
	}
}
trigger_if = {
	limit = {
		exists = scope:secondary_recipient
	}
	scope:secondary_recipient = {
		is_physically_able = yes
	}
}

As written in game/common/character_interactions/10_tgp_interactions.txt.

Effects (on_send, on_accept, on_decline) (303 lines of game script)
on_accept = scope:actor = {
	send_interface_toast = {
		type = event_toast_effect_neutral
		title = mentoring_interaction_notification
		left_icon = scope:secondary_recipient
		right_icon = scope:recipient
		scope:secondary_recipient = {
			start_scheme = {
				type = mentoring
				target_character = scope:recipient
			}
			if = {
				limit = {
					scope:merit ?= yes
					trigger_if = {
						limit = {
							is_female = yes
						}
						top_liege ?= {
							OR = {
								has_realm_law = male_only_law
								has_realm_law = male_preference_law
							}
						}
					}
					trigger_else = {
						top_liege ?= {
							OR = {
								has_realm_law = female_only_law
								has_realm_law = female_preference_law
							}
						}
					}
				}
				custom_tooltip = mentoring_cannot_be_appointed_tt
			}
		}
		set_elder_relation_effect = {
			ELDER = scope:recipient
			DISCIPLE = scope:secondary_recipient
			MERIT = minor_merit_gain
		}
	}
}
scope:secondary_recipient = {
	if = {
		limit = {
			scope:merit = yes
		}
		random_scheme = {
			limit = {
				scheme_type = mentoring
			}
			set_variable = {
				name = mentoring_merit
				value = yes
			}
		}
		custom_tooltip = mentoring_merit_desc
	}
	if = {
		limit = {
			scope:confucian_education = yes
		}
		random_scheme = {
			limit = {
				scheme_type = mentoring
			}
			set_variable = {
				name = mentoring_confucian_education
				value = yes
			}
		}
		if = {
			limit = {
				has_trait = confucian_education
			}
			custom_tooltip = mentoring_confucian_education_desc
		}
		else = {
			show_as_tooltip = {
				add_trait = confucian_education
			}
		}
	}
	if = {
		limit = {
			scope:logistician = yes
		}
		random_scheme = {
			limit = {
				scheme_type = mentoring
			}
			set_variable = {
				name = mentoring_logistician
				value = yes
			}
		}
		if = {
			limit = {
				has_trait = logistician
			}
			custom_tooltip = mentoring_logistician_desc
		}
		else = {
			show_as_tooltip = {
				add_trait = logistician
			}
		}
	}
	if = {
		limit = {
			scope:military_engineer = yes
		}
		random_scheme = {
			limit = {
				scheme_type = mentoring
			}
			set_variable = {
				name = mentoring_military_engineer
				value = yes
			}
		}
		if = {
			limit = {
				has_trait = military_engineer
			}
			custom_tooltip = mentoring_military_engineer_desc
		}
		else = {
			show_as_tooltip = {
				add_trait = military_engineer
			}
		}
	}
	if = {
		limit = {
			scope:aggressive_attacker = yes
		}
		random_scheme = {
			limit = {
				scheme_type = mentoring
			}
			set_variable = {
				name = mentoring_aggressive_attacker
				value = yes
			}
		}
		if = {
			limit = {
				has_trait = aggressive_attacker
			}
			custom_tooltip = mentoring_aggressive_attacker_engineer_desc
		}
		else = {
			show_as_tooltip = {
				add_trait = aggressive_attacker
			}
		}
	}
	if = {
		limit = {
			scope:unyielding_defender = yes
		}
		random_scheme = {
			limit = {
				scheme_type = mentoring
			}
			set_variable = {
				name = mentoring_unyielding_defender
				value = yes
			}
		}
		if = {
			limit = {
				has_trait = unyielding_defender
			}
			custom_tooltip = mentoring_unyielding_defender_desc
		}
		else = {
			show_as_tooltip = {
				add_trait = unyielding_defender
			}
		}
	}
	if = {
		limit = {
			scope:forder = yes
		}
		random_scheme = {
			limit = {
				scheme_type = mentoring
			}
			set_variable = {
				name = mentoring_forder
				value = yes
			}
		}
		if = {
			limit = {
				has_trait = forder
			}
			custom_tooltip = mentoring_forder_desc
		}
		else = {
			show_as_tooltip = {
				add_trait = forder
			}
		}
	}
	if = {
		limit = {
			scope:flexible_leader = yes
		}
		random_scheme = {
			limit = {
				scheme_type = mentoring
			}
			set_variable = {
				name = mentoring_flexible_leader
				value = yes
			}
		}
		if = {
			limit = {
				has_trait = flexible_leader
			}
			custom_tooltip = mentoring_flexible_leader_desc
		}
		else = {
			show_as_tooltip = {
				add_trait = flexible_leader
			}
		}
	}
	if = {
		limit = {
			scope:desert_warrior = yes
		}
		random_scheme = {
			limit = {
				scheme_type = mentoring
			}
			set_variable = {
				name = mentoring_desert_warrior
				value = yes
			}
		}
		if = {
			limit = {
				has_trait = desert_warrior
			}
			custom_tooltip = mentoring_desert_warrior_desc
		}
		else = {
			show_as_tooltip = {
				add_trait = desert_warrior
			}
		}
	}
	if = {
		limit = {
			scope:jungle_stalker = yes
		}
		random_scheme = {
			limit = {
				scheme_type = mentoring
			}
			set_variable = {
				name = mentoring_jungle_stalker
				value = yes
			}
		}
		if = {
			limit = {
				has_trait = jungle_stalker
			}
			custom_tooltip = mentoring_jungle_stalker_desc
		}
		else = {
			show_as_tooltip = {
				add_trait = jungle_stalker
			}
		}
	}
	if = {
		limit = {
			scope:reaver = yes
		}
		random_scheme = {
			limit = {
				scheme_type = mentoring
			}
			set_variable = {
				name = mentoring_reaver
				value = yes
			}
		}
		if = {
			limit = {
				has_trait = reaver
			}
# … (cut here; the rest is in the file)

As written in game/common/character_interactions/10_tgp_interactions.txt.

Category
Friendly actions
DLC
All Under Heaven
In the menu
main list
ID
request_mentoring_interaction

Source: game/common/character_interactions/10_tgp_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.

Spotted a mistake on this page?