Interaction · Diplomatic actions
Propose Alliance
Use strategic diplomacy to forge an Alliance with the recipient — not with blood, but with words!
What you need
You
To send it
- Your government is not Adventurer
- You can have one proposed Alliance active
- Is a ruler
One of these
- Is at not War
Also needed: not imprisoned
To see it in the menu
- If played by the AI:
- Is at not War
- Ally (less than 2):
- Has the Defensive Negotiations Perk
- Your government is not Adventurer
- Your government is not unplayable
NOT = { is_character_interaction_shown = { recipient = scope:recipient interaction = negotiate_alliance_interaction } }
The character you target
To send it
- Is not the liege (or above) of you
- Is not a vassal (or below) of you
- Is a ruler
One of these
- Is at not War
Also needed: not imprisoned
To see it in the menu
- Is not allied to you
- Is not the liege (or above) of you
- Is not a vassal (or below) of you
- Their government is not unplayable
- Is a ruler
primary_title.tier > tier_barony
Propose Alliance is a diplomatic character interaction in Crusader Kings III. You need: Your government is not Adventurer, You can have one proposed Alliance active, Is a ruler and 2 more. The character you target needs: Is not the liege (or above) of you, Is not a vassal (or below) of you, Is a ruler and 2 more. Accepted automatically in some cases; otherwise the AI weighs it. Reasons the AI weighs include You … the recipient's lover (+25), You … the recipient's friend (+25), Loyal (+20) and 17 more. Patch 1.20.1.2, from game/common/character_interactions/00_alliance.txt.
Quick answers (2)
- What are the requirements for Propose Alliance in CK3?
- You: Your government is not Adventurer, You can have one proposed Alliance active, Is a ruler, Is at not War and Is not imprisoned. The character you target: Is not the liege (or above) of you, Is not a vassal (or below) of you, Is a ruler, Is at not War and Is not imprisoned. (patch 1.20.1.2)
- How do I get the AI to accept Propose Alliance?
- Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: Difference in Rank, Difference in Rank, You … the recipient's lover +25, You … the recipient's friend +25, … Opinion of …, … Opinion of …, Loyal +20, Trusting +20, Craven +5, Paranoid -20, Arrogant -20, Ambitious -20, Disloyal -40, Fickle -10, The recipient is your Rival -100, The recipient is your Nemesis -300, Level of Splendor of the … Dynasty -5, Level of Splendor of the … Dynasty, The recipient's Faith Differs From …, You … their Liege +20, Difference in Military Strength, Is a Claimant, You … a Claimant +25, Same House +15, Declared War on me -100, You are at War -50, Astute Diplomats Tradition +50, House … Feud with House … -25, Your current amount of Alliances, The recipient's current amount of Alliances, Intimidated by you, Terrified of you, Intimidated by you, Terrified of you, Exerting Influence (based on your Level of Influence) and Wants to increase House Unity.
Will they accept?
Accepted automatically when:
- They use their Hook on …
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 | -25 |
Difference in Rankwhen
| varies |
Difference in Rankwhen
| varies |
You … the recipient's loverwhen
| +25 |
You … the recipient's friendwhen
| +25 |
… Opinion of …when
| varies |
… Opinion of …when
| varies |
| Loyal | +20 |
| Trusting | +20 |
| Craven | +5 |
| Paranoid | -20 |
| Arrogant | -20 |
| Ambitious | -20 |
| Disloyal | -40 |
| Fickle | -10 |
The recipient is your Rivalwhen
| -100 |
The recipient is your Nemesiswhen
| -300 |
Level of Splendor of the … Dynastywhen
| -5 |
Level of Splendor of the … Dynastywhen
| varies |
The recipient's Faith Differs From …when
| varies |
You … their Liegewhen
| +20 |
| Difference in Military Strength | varies |
Is a Claimantwhen
| varies |
You … a Claimantwhen
| +25 |
Same Housewhen
| +15 |
Declared War on mewhen
| -100 |
You are at Warwhen
| -50 |
| Astute Diplomats Tradition | +50 |
A scripted reasonwhen
| -5,000 |
House … Feud with House …when
| -25 |
Your current amount of Allianceswhen
| varies |
The recipient's current amount of Allianceswhen
| varies |
Intimidated by youwhen
| intimidated_reason_value |
Terrified of youwhen
| cowed_reason_value |
Intimidated by youwhen
| intimidated_external_reason_value |
Terrified of youwhen
| cowed_external_reason_value |
Exerting Influence (based on your Level of Influence)when
| varies |
Wants to increase House Unitywhen
| varies |
Acceptance (ai_accept) (5 lines of game script)
base = -25
negotiate_alliance_interaction_ai_acceptance = yes
evaluate_action_increasing_house_unity = {
VALUE = 10
}As written in game/common/character_interactions/00_alliance.txt.
What happens
If they accept
- … and I enter a mutual Alliance
- Event char_interaction.0235
create_alliance = { target = scope:recipient allied_through_owner = scope:puppet_or_actor allied_through_target = scope:recipient }- Stress and fulfillment impact: by trait: Shy +20
If
- The option “influence” is chosen
Then
- Influence -100
- The character you target: Opinion: Alliance Deal
If
Then
- Your house:
add_unity_value = { … }
- Your house:
When it is accepted automatically
- The character you target: Event char_interaction.0234
If they refuse
- Event char_interaction.0236
- Opinion: Refused Alliance
If
Then
- Your house:
add_unity_value = { … }
- Your house:
Options when sending
- Use a Hook
- Use Influence
Events it fires: char_interaction.0235, char_interaction.0236, char_interaction.0234
• 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) (31 lines of game script)
is_available = trigger_if = {
limit = {
is_ai = yes
}
is_at_war = no
any_ally = {
count < 2
}
}
is_shown = scope:puppet_or_actor ?= {
has_perk = defensive_negotiations_perk
is_landless_adventurer = no
NOR = {
government_has_flag = government_is_herder
is_character_interaction_shown = {
recipient = scope:recipient
interaction = negotiate_alliance_interaction
}
}
}
scope:recipient = {
NOR = {
this = scope:puppet_or_actor
is_allied_to = scope:puppet_or_actor
target_is_vassal_or_below = scope:puppet_or_actor
target_is_liege_or_above = scope:puppet_or_actor
government_has_flag = government_is_herder
}
is_ruler = yes
primary_title.tier > tier_barony
}As written in game/common/character_interactions/00_alliance.txt.
Can be sent when (is_valid…) (56 lines of game script)
scope:puppet_or_actor ?= {
is_landless_adventurer = no
}
scope:recipient = {
NOT = {
target_is_vassal_or_below = scope:puppet_or_actor
}
NOT = {
target_is_liege_or_above = scope:puppet_or_actor
}
}
custom_description = {
text = already_has_an_alliance_deal
subject = scope:recipient
scope:puppet_or_actor = {
NOT = {
any_ally = {
has_opinion_modifier = {
modifier = perk_negotiated_alliance_opinion
target = scope:puppet_or_actor
}
}
}
}
}
scope:recipient = {
is_playable_character = yes
is_at_war = no
is_imprisoned = no
}
scope:puppet_or_actor = {
is_playable_character = yes
is_at_war = no
is_imprisoned = no
}
custom_description = {
text = has_already_rejected_renegotiation
subject = scope:recipient
scope:puppet_or_actor = {
NOT = {
has_opinion_modifier = {
modifier = refused_alliance_opinion
target = scope:recipient
}
}
}
}
custom_description = {
text = has_sent_interaction_already
subject = scope:recipient
scope:puppet_or_actor = {
NOT = {
has_pending_interaction_of_type = perk_alliance_interaction
}
}
}As written in game/common/character_interactions/00_alliance.txt.
Effects (on_send, on_accept, on_decline) (60 lines of game script)
on_accept = save_scope_value_as = {
name = perk_alliance_interaction
value = yes
}
scope:puppet_or_actor = {
custom_tooltip = negotiate_alliance_effect_tooltip
trigger_event = char_interaction.0235
create_alliance = {
target = scope:recipient
allied_through_owner = scope:puppet_or_actor
allied_through_target = scope:recipient
}
stress_and_fulfillment_impact = {
shy = minor_stress_impact_gain
}
if = {
limit = {
scope:hook = yes
}
use_hook = scope:recipient
}
if = {
limit = {
scope:influence = yes
}
change_influence = major_influence_loss
}
}
scope:recipient = {
add_opinion = {
modifier = perk_negotiated_alliance_opinion
target = scope:puppet_or_actor
}
}
add_clan_unity_interaction_effect = {
CHARACTER = scope:puppet_or_actor
TARGET = scope:recipient
VALUE = medium_unity_gain
DESC = clan_unity_alliance.desc
REVERSE_NON_HOUSE_TARGET = no
}
on_decline = scope:puppet_or_actor = {
trigger_event = char_interaction.0236
}
scope:puppet_or_actor = {
add_opinion = {
modifier = refused_alliance_opinion
target = scope:recipient
}
}
add_clan_unity_interaction_effect = {
CHARACTER = scope:puppet_or_actor
TARGET = scope:recipient
VALUE = minor_unity_loss
DESC = clan_unity_alliance_refusal.desc
REVERSE_NON_HOUSE_TARGET = no
}
on_auto_accept = scope:recipient = {
trigger_event = char_interaction.0234
}As written in game/common/character_interactions/00_alliance.txt.
- Category
- Diplomatic actions
- In the menu
- under More…
- ID
perk_alliance_interaction
Source: game/common/character_interactions/00_alliance.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.