Interaction · Diplomatic actions
Ask for Military Assistance
Offer Gold to the recipient for joining in one of your Wars, since you are both Involved in the same Struggle.
What you need
You
To send it
- You are already Assisting Militarily in a war
- The target:
- Is war leader in the war against you
- If any war attacker:
None of these
- Any war defender: Is allied to you
- Otherwise:
None of these
- Any war attacker: Is allied to you
The character you target
To send it
- Is not allied to you
- Not: Armies are raised
To see it in the menu
- Any character struggle:
involvement = involvedhas_struggle_phase_parameter = unlocks_contract_assistance_interaction
Which character you can pick
- The target: Is war leader in the war against you
Ask for Military Assistance is a diplomatic character interaction in Crusader Kings III. You need: You are already Assisting Militarily in a war. The character you target needs: Is not allied to you and Not: Armies are raised. The AI weighs it (the answer is partly random). Reasons the AI weighs include The recipient is not interested in help for this war (-500) and You past failures as a contractor (-50). Patch 1.20.1.2, from game/common/character_interactions/03_fp2_interactions.txt.
Quick answers (2)
- What are the requirements for Ask for Military Assistance in CK3?
- You: You are already Assisting Militarily in a war. The character you target: Is not allied to you and Not: Armies are raised. (patch 1.20.1.2)
- How do I get the AI to accept Ask for Military Assistance?
- The AI weighs it (the answer is partly random). Its reasons: Greed, The recipient has Gold to spend, The recipient is not interested in help for this war -500, The recipient finds your Martial Skill impressive, You past failures as a contractor -50, … Opinion of …, Greed, Boldness and Loyalty towards Ally.
Will they accept?
The AI adds these up and accepts above zero; near zero the answer is partly random (ai_maybe). Reasons in italics are the script's, with no label in the game.
| Reason | Amount |
|---|---|
| Base | 0 |
| Greed | varies |
The recipient has Gold to spendwhen
| varies |
The recipient is not interested in help for this warwhen
| -500 |
The recipient finds your Martial Skill impressivewhen
| your martial × 2 |
| You past failures as a contractor | -50 |
| … Opinion of … | varies |
Greedwhen
| varies |
Boldnesswhen
| varies |
Loyalty towards Allywhen
| varies |
Acceptance (ai_accept) (106 lines of game script)
base = 0
modifier = {
add = {
value = 25
if = {
limit = {
gold < 0
}
add = {
value = 25
multiply = debt_level
}
}
if = {
limit = {
OR = {
ai_greed <= -50
ai_vengefulness >= 50
}
}
multiply = 0.5
}
}
desc = AI_VALUE_MODIFIER_GREED
}
modifier = {
add = {
value = -25
if = {
limit = {
gold >= {
value = offer_assistance_interaction_gold_value
multiply = 2
}
}
add = -50
}
if = {
limit = {
gold >= {
value = offer_assistance_interaction_gold_value
multiply = 3
}
}
add = -50
}
}
gold >= offer_assistance_interaction_gold_value
desc = OA_AI_EXTRA_GOLD_REASON
}
modifier = {
add = -500
exists = scope:target
scope:target = {
OR = {
using_cb = peasant_war
using_cb = fp2_border_raid
}
}
desc = OA_AI_UNINTERESTED_WAR_REASON
}
modifier = {
add = {
value = scope:actor.martial
multiply = 2
}
scope:actor = {
martial >= 12
}
desc = OA_AI_MARTIAL_REASON
}
modifier = {
add = -50
scope:recipient = {
has_character_flag = fp2_contract_assistance_failure
}
desc = OA_AI_FAILURE_REASON
}
opinion_modifier = {
who = scope:recipient
opinion_target = scope:actor
multiplier = 0.25
desc = AI_OPINION_REASON
}
modifier = {
add = {
value = ai_greed
multiply = 0.2
}
ai_greed <= 0.5
desc = AI_VALUE_MODIFIER_GREED
}
modifier = {
add = {
value = ai_boldness
multiply = 0.2
}
NOT = {
ai_boldness = 0
}
desc = AI_VALUE_MODIFIER_BOLDNESS
}
fp2_contracting_ally_modifier = {
WARMONGER = scope:actor
WARJOINER = scope:recipient
}As written in game/common/character_interactions/03_fp2_interactions.txt.
What happens
If they accept
- The target:
If
is_attacker = scope:actor
Then
add_attacker = scope:recipient
Otherwise
add_defender = scope:recipient
- The character you target:
- Stress and fulfillment impact: by trait: Craven +40, Shy +20
If
- Any character struggle:
involvement = involvedphase_has_catalyst = catalyst_join_war_as_assisant- The character you target › Any character struggle:
involvement = involved
Then
- Every character struggle:
- Where:
phase_has_catalyst = catalyst_join_war_as_assisant- The character you target › Any character struggle:
involvement = involved
involvement = involvedactivate_struggle_catalyst = { catalyst = catalyst_join_war_as_assisant character = scope:recipient }
- Where:
- Any character struggle:
- Stress and fulfillment impact: by trait: Greedy +40, Arrogant +40
- If … War Contribution is at least … when the War ends:
- Pay 0 gold to the target
If
Then
- Your house:
add_unity_value = { … }
- Your house:
If they refuse
- Event char_interaction.0236
If
Then
- The target’s house:
add_unity_value = { … }
- The target’s house:
Events it fires: char_interaction.0236
• 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) (25 lines of game script)
is_available = is_at_war = yes
any_character_struggle = {
involvement = involved
has_struggle_phase_parameter = unlocks_contract_assistance_interaction
}
trigger_if = {
limit = {
is_ai = yes
}
gold >= ai_war_chest_desired_gold_value
is_at_war = no
is_imprisoned = no
}
is_shown = scope:actor = {
NOR = {
this = scope:recipient
is_at_war_with = scope:recipient
}
}
scope:recipient = {
any_character_struggle = {
involvement = involved
has_struggle_phase_parameter = unlocks_contract_assistance_interaction
}
}As written in game/common/character_interactions/03_fp2_interactions.txt.
Can be sent when (is_valid…) (32 lines of game script)
scope:recipient = {
NOT = {
is_allied_to = scope:actor
}
}
trigger_if = {
limit = {
exists = scope:recipient.liege
}
custom_description = {
text = join_war_interaction_recipient_warring_with_my_liege
subject = scope:actor
scope:recipient = {
NOT = {
any_liege_or_above = {
is_at_war_with = scope:actor
}
}
}
}
}
scope:recipient = {
has_raised_armies = no
}
custom_tooltip = {
text = contract_assistance_war_already_contracted_tt
scope:recipient = {
NOT = {
has_variable = owed_contract_assistance_war
}
}
}As written in game/common/character_interactions/03_fp2_interactions.txt.
Effects (on_send, on_accept, on_decline) (91 lines of game script)
on_accept = scope:target = {
hidden_effect = {
set_called_to = scope:recipient
}
if = {
limit = {
is_attacker = scope:actor
}
add_attacker = scope:recipient
}
else = {
add_defender = scope:recipient
}
}
scope:recipient = {
save_scope_as = contract_assistance_helper
set_variable = {
name = owed_contract_assistance_war
value = scope:target
}
set_variable = {
name = owed_contract_assistance_contribution
value = offer_assistance_interaction_war_contribution_value
}
set_variable = {
name = owed_contract_assistance_gold
value = offer_assistance_interaction_gold_value
}
stress_and_fulfillment_impact = {
craven = medium_stress_impact_gain
shy = minor_stress_impact_gain
}
if = {
limit = {
any_character_struggle = {
involvement = involved
activate_struggle_catalyst_secondary_character_involvement_involved_trigger = {
CATALYST = catalyst_join_war_as_assisant
CHAR = scope:recipient
}
}
}
every_character_struggle = {
involvement = involved
limit = {
activate_struggle_catalyst_secondary_character_involvement_involved_trigger = {
CATALYST = catalyst_join_war_as_assisant
CHAR = scope:recipient
}
}
activate_struggle_catalyst = {
catalyst = catalyst_join_war_as_assisant
character = scope:recipient
}
}
}
}
scope:actor = {
stress_and_fulfillment_impact = {
greedy = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
}
custom_description_no_bullet = {
text = contract_assistance_interaction_condition_tt
subject = scope:actor
object = scope:recipient
}
show_as_tooltip = {
pay_short_term_gold = {
target = scope:recipient
gold = offer_assistance_interaction_gold_value
}
}
}
add_clan_unity_interaction_effect = {
CHARACTER = scope:actor
TARGET = scope:recipient
VALUE = medium_unity_loss
DESC = clan_unity_request_assistance.desc
REVERSE_NON_HOUSE_TARGET = no
}
on_decline = scope:actor = {
trigger_event = char_interaction.0236
}
add_clan_unity_interaction_effect = {
CHARACTER = scope:recipient
TARGET = scope:actor
VALUE = minor_unity_gain
DESC = clan_unity_request_assistance_decline.desc
REVERSE_NON_HOUSE_TARGET = no
}As written in game/common/character_interactions/03_fp2_interactions.txt.
- Category
- Diplomatic actions
- Again on the same character
- after 5 years
- In the menu
- main list
- ID
request_contract_assistance_interaction
Source: game/common/character_interactions/03_fp2_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.