Interaction · Vassal actions
Request Commander
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 Commissionor
All of these
vassal_contract_has_flag = celestial_military_appointmentOne of these
liege ?= top_liegeor
Is played by a person
root.top_liege ?= scope:recipient.top_liege
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.
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:
- … is in the Pro-China Movement or supports your Favored Era
Otherwise the AI adds these up and accepts above zero. Reasons in italics are the script's, with no label in the game.
| Reason | Amount |
|---|---|
| Base | 0 |
Weak Hook usedwhen
| +40 |
| Their opinion of you × 0.5 | varies |
You … a Civilian Governorwhen
| -20 |
You and the recipient are members of the same Movementwhen
| varies |
You … the recipient's Movement Leaderwhen
| +20 |
| Generous | +20 |
| Greedy | -20 |
They is your Friendwhen
| +20 |
They is your Loverwhen
| +10 |
They is your Rivalwhen
| -50 |
They is your Disciplewhen
| +20 |
They is your Elderwhen
| +5 |
You belong to a Dominant Familywhen
| +40 |
You belong… to a Powerful Familywhen
| +20 |
The other character's Martial Skillwhen
| 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 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.