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

Interaction · Vassal actions

Request Commander

variesTreasuryAccepted automatically in some cases; otherwise the AI weighs it

Formally request the recipient to send a capable Commander to your Court

What you need

You

To send it

  • Is not at War with their Liege
  • Is not at war with the target
  • … have no Commanders available

To see it in the menu

  • Your Government is Celestial
  • If played by the AI:
    • vassal_contract_has_flag = celestial_military_appointment
    • Does not have “celestial request commander cooldown” (a variable the game's script sets)
  • One of these

    • Is an Independent Ruler
    • or

      Holds Commission
    • or

      All of these

      • vassal_contract_has_flag = celestial_military_appointment
      • One of these

        • liege ?= top_liege
        • or

          Is played by a person
  • root.top_liege ?= scope:recipient.top_liege

The character you target

Request Commander is a vassal character interaction in Crusader Kings III. You need: Is not at War with their Liege and Is not at war with the target. Accepted automatically in some cases; otherwise the AI weighs it. Reasons the AI weighs include Weak Hook used (+40), You … a Civilian Governor (-20), You … the recipient's Movement Leader (+20) and 9 more. It costs Treasury (varies). Patch 1.20.1.2, from game/common/character_interactions/10_tgp_interactions.txt.

for a guide, post or blog
Quick answers (3)
What are the requirements for Request Commander in CK3?
You: Is not at War with their Liege and Is not at war with the target. (patch 1.20.1.2)
How do I get the AI to accept Request Commander?
Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: Weak Hook used +40, You … a Civilian Governor -20, You and the recipient are members of the same Movement, You … the recipient's Movement Leader +20, Generous +20, Greedy -20, They is your Friend +20, They is your Lover +10, They is your Rival -50, They is your Disciple +20, They is your Elder +5, You belong to a Dominant Family +40, You belong… to a Powerful Family +20 and The other character's Martial Skill.
How much does Request Commander cost?
Treasury (varies) (patch 1.20.1.2).

Will they accept?

Accepted automatically when:

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

ReasonAmount
Base0
Weak Hook used
when
+40
Their opinion of you × 0.5varies
You … a Civilian Governor
when
  • vassal_contract_has_flag = celestial_civil_appointment
-20
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
You … the recipient's Movement Leader
when
  • One of these

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

      All of these

  • You are a Movement Leader
+20
Generous
when
+20
Greedy
when
-20
They is your Friend
when
  • Has you as friend
+20
They is your Lover
when
  • Has you as lover
+10
They is your Rival
when
  • Has you as rival
-50
They is your Disciple
when
  • Has you as elder
+20
They is your Elder
when
  • Has you as disciple
+5
You belong to a Dominant Family
when
  • Your house:
    • is_dominant_family = yes
+40
You belong… to a Powerful Family
when
  • Your house:
    • is_powerful_family = yes
+20
The other character's Martial Skill
when
  • The other character: Martial more than 12
varies
Acceptance (ai_accept) (103 lines of game script)
base = 0
modifier = {
	scope:hook = yes
	add = 40
	desc = SCHEME_WEAK_HOOK_USED
}
opinion_modifier = {
	opinion_target = scope:actor
	who = scope:recipient
	multiplier = 0.5
}
modifier = {
	scope:actor = {
		vassal_contract_has_flag = celestial_civil_appointment
	}
	add = -20
	desc = AI_ACTOR_IS_CIVILIAN_GOVERNOR
}
modifier = {
	add = {
		value = 20
		if = {
			limit = {
				is_in_pro_hegemon_or_hegemon_movement = yes
			}
			multiply = 1.5
		}
	}
	is_in_same_movement_as = {
		TARGET = scope:actor
	}
	desc = actor_and_recipient_in_same_movement
}
modifier = {
	is_in_same_movement_as = {
		TARGET = scope:actor
	}
	scope:actor = {
		is_any_movement_leader = yes
	}
	add = 20
	desc = actor_is_recipients_movement_leader
}
modifier = {
	add = 20
	has_trait = generous
	desc = INTERACTION_GENEROUS
}
modifier = {
	add = -20
	has_trait = greedy
	desc = INTERACTION_GREEDY
}
modifier = {
	has_relation_friend = scope:actor
	add = 20
	desc = AI_YOUR_FRIEND
}
modifier = {
	has_relation_lover = scope:actor
	add = 10
	desc = AI_YOUR_LOVER
}
modifier = {
	has_relation_rival = scope:actor
	add = -50
	desc = AI_YOUR_RIVAL
}
modifier = {
	has_relation_elder = scope:actor
	add = 20
	desc = AI_YOUR_DISCIPLE
}
modifier = {
	has_relation_disciple = scope:actor
	add = 5
	desc = AI_YOUR_ELDER
}
modifier = {
	scope:actor.house = {
		is_dominant_family = yes
	}
	add = 40
	desc = AI_DOMINANT_FAMILY
}
modifier = {
	scope:actor.house = {
		is_powerful_family = yes
	}
	add = 20
	desc = AI_POWERFUL_FAMILY
}
modifier = {
	scope:secondary_recipient ?= {
		martial > decent_skill_rating
	}
	add = {
		value = scope:secondary_recipient.martial
		subtract = decent_skill_rating
		multiply = -1
	}
	desc = AI_SECONDARY_RECIPIENT_MARTIAL_SKILL
}

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

What happens

If they accept

  • If played by the AI: Opinion: Grateful (+10)
  • If

    • You use a Hook
    • Has a usable Hook on the target

    Then

    • Use a Hook on the target
  • add_courtier = scope:secondary_recipient
  • The character you target: Influence +100

If they refuse

  • If played by the AI: Opinion: Disappointed (-20)
  • The character you target:
    • If

      • The option “dominant family” is chosen

      Then

      • Influence -60

Options when sending

  • Use a Hook
  • Leverage position of Dominant Family

• 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) (28 lines of game script)
is_available = government_has_flag = government_is_celestial
trigger_if = {
	limit = {
		is_ai = yes
	}
	vassal_contract_has_flag = celestial_military_appointment
	NOT = {
		has_variable = celestial_request_commander_cooldown
	}
}
OR = {
	top_liege ?= this
	has_title = title:e_minister_grand_marshal
	AND = {
		vassal_contract_has_flag = celestial_military_appointment
		OR = {
			liege ?= top_liege
			is_ai = no
		}
	}
}
is_shown = scope:actor = {
	this != scope:recipient
}
scope:actor.top_liege ?= scope:recipient.top_liege
scope:recipient = {
	has_title = title:e_minister_of_war
}

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

Can be sent when (is_valid…) (26 lines of game script)
scope:actor = {
	is_at_war_with_liege = no
	NOT = {
		is_at_war_with = scope:recipient
	}
}
custom_tooltip = {
	text = recipient_no_commanders_available_desc
	scope:recipient = {
		any_courtier = {
			trigger_if = {
				limit = {
					exists = house
				}
				this != scope:recipient
			}
			NOT = {
				is_close_family_of = scope:recipient
			}
			can_be_commander_basic_trigger = {
				ARMY_OWNER = scope:actor
			}
		}
	}
}

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

Effects (on_send, on_accept, on_decline) (66 lines of game script)
on_send = 
on_accept = scope:actor = {
	if = {
		limit = {
			is_ai = yes
		}
		add_opinion = {
			target = scope:recipient
			modifier = grateful_opinion
			opinion = 10
		}
	}
	if = {
		limit = {
			scope:hook = yes
			has_usable_hook = scope:recipient
		}
		use_hook = scope:recipient
	}
	send_interface_toast = {
		type = event_toast_effect_good
		title = celestial_request_commander_interaction_accepted_t
		left_icon = scope:secondary_recipient
		right_icon = scope:recipient
		add_courtier = scope:secondary_recipient
	}
}
scope:recipient = {
	change_influence = major_influence_value
}
on_decline = scope:actor = {
	if = {
		limit = {
			is_ai = yes
		}
		add_opinion = {
			target = scope:recipient
			modifier = disappointed_opinion
			opinion = -20
		}
		if = {
			limit = {
				NOT = {
					has_variable = celestial_request_commander_cooldown
				}
			}
			set_variable = {
				name = celestial_request_commander_cooldown
				years = 10
			}
		}
	}
	send_interface_toast = {
		type = event_toast_effect_good
		title = celestial_request_commander_interaction_declined_t
		right_icon = scope:recipient
	}
}
scope:recipient = {
	if = {
		limit = {
			scope:dominant_family = yes
		}
		change_influence = medium_influence_loss
	}
}

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

Category
Vassal actions
Cost: Treasury
varies
Cooldown
5 years
In the menu
under More…
ID
celestial_request_commander_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?