Interaction · Diplomatic actions
Demand as Tributary
Demand that the recipient becomes your Tributary
What you need
You
To send it
NOT = { has_truce = scope:recipient }- Must be a Neighboring Ruler (excluding disconnected Tributaries)
- In some cases (on a condition the game doesn't show) › You: You have 75
Also needed: available (not imprisoned, not incapable, not in an army) · none of the traits Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux · not busy in an Activity · not planning another Activity · not busy in a Mandala succession
To see it in the menu
- If played by the AI:
has_realm_law_flag = can_have_tributaries- Is an Independent Ruler
- Your government is not unplayable
One of these
- Government allows: obedience
or
All of these
- Your Government is Celestial
- Highest held Title is exactly Hegemony Rank
or
Your Government uses the Mandala Capital Temple Complex Great Project and Great Building
- Is landed
If
- You: Your Government uses the Mandala Capital Temple Complex Great Project and Great Building
Then
- Never
Otherwise
has_realm_law_flag = can_have_tributaries- Is an Independent Ruler
- Your government is not unplayable
One of these
- Government allows: obedience
or
All of these
- Your Government is Celestial
- Highest held Title is exactly Hegemony Rank
or
Your Government uses the Mandala Capital Temple Complex Great Project and Great Building
- Highest held Title is less than Hegemony Rank
NOT = { top_suzerain ?= scope:recipient.top_suzerain }- Any land neighboring realm with tributaries owner:
If
- You: Is played by the AI
Then
current_military_strength >= scope:recipient.one_and_a_half_times_current_military_strengthprimary_title.tier >= scope:recipient.primary_title.tier
None of these
- You:
- Has “had mpo temujin flavor 0010” (a variable the game's script sets)
- Had mpo temujin flavor 0010 is scope:recipient
- You:
The character you target
To send it
- Is not a Tributary
- Is at not War
- … is still angry about the last time you demanded … become your Tributary
- Is not a member of a Confederation
To see it in the menu
- Highest held Title is at least County Rank
- Is landed
- Is an Independent Ruler
- Their government does not have the cannot be vassal or liege flag
- Their government does not have the government is mandala flag
- Their government is not unplayable
Demand as Tributary is a diplomatic character interaction in Crusader Kings III. You need: Is available (not imprisoned, not incapable, not in an army), Has none of the traits: Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux, You are currently busy … and 3 more. The character you target needs: Is not a Tributary, Is at not War and Is not a member of a Confederation. Accepted automatically in some cases; otherwise the AI weighs it. Reasons the AI weighs include You hold… the … (+100), The recipient … a … Government (+25), You have True Ruler (+20) and 24 more. It costs Prestige (from 75). Patch 1.20.1.2, from game/common/character_interactions/00_tributary_interactions.txt.
Quick answers (3)
- What are the requirements for Demand as Tributary in CK3?
- You: Is available (not imprisoned, not incapable, not in an army), Has none of the traits: Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux, You are currently busy …, You are already planning another Activity, You are currently busy in a Mandala succession and Must be a Neighboring Ruler (excluding disconnected Tributaries). The character you target: Is not a Tributary, Is at not War and Is not a member of a Confederation. (patch 1.20.1.2)
- How do I get the AI to accept Demand as Tributary?
- Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: You hold… the … +100, The recipient … a … Government +25, You have True Ruler +20, Prostrating Rags +5, Prostrating Rags +10, Prostrating Rags +15, The recipient's Boldness, The recipient's Greed, The recipient is Obedient to you +40, You … the Gurkhan +20, The Steppe Season is a Zud +25, Holds no Casus Belli -200, Threat from held Claims, Similar Military Power (current), Relative Military Power, Relative Military Power, Military Power including Allies, Military Power including Allies, The recipient … of the the recipient Tier -100, The recipient … of the the recipient Tier -200, Difference in Dominance -20, Difference in Dominance +20, You are a Meritocratic Khanate +60, You … a filthy Nomadic Horse Lord, They is your Rival -100, They is your Nemesis -200, They belongs to your Dynasty +10, You are of a different Faith, Encircled by your Realm +30, Cultural Acceptance, You speak the … Language +5, Your low Legitimacy -15, Your low Legitimacy -25, Your low Legitimacy -50, Your low Legitimacy -75, Your high Legitimacy +25, Your high Legitimacy +50 and Your high Legitimacy +75.
- How much does Demand as Tributary cost?
- Prestige (from 75) (patch 1.20.1.2).
Will they accept?
Accepted automatically when:
- Is a Herder
Otherwise 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 | -60 |
| You hold… the … | +100 |
The recipient … a … Governmentwhen
| +25 |
You have True Rulerwhen
| +20 |
Prostrating Ragswhen
| +5 |
Prostrating Ragswhen
| +10 |
Prostrating Ragswhen
| +15 |
The recipient's Boldnesswhen
| varies |
The recipient's Greedwhen
| varies |
The recipient is Obedient to youwhen
| +40 |
You … the Gurkhanwhen
| +20 |
The Steppe Season is a Zudwhen
| +25 |
Holds no Casus Belliwhen
| -200 |
Threat from held Claimswhen
| varies |
Similar Military Power (current)when
| varies |
Relative Military Powerwhen
| varies |
Relative Military Powerwhen
| varies |
Military Power including Allieswhen
| varies |
Military Power including Allieswhen
| varies |
| The recipient … of the the recipient Tier | -100 |
| The recipient … of the the recipient Tier | -200 |
Difference in Dominancewhen
| -20 |
Difference in Dominancewhen
| +20 |
You are a Meritocratic Khanatewhen
| +60 |
You … a filthy Nomadic Horse Lordwhen
| varies |
They is your Rivalwhen
| -100 |
They is your Nemesiswhen
| -200 |
They belongs to your Dynastywhen
| +10 |
You are of a different Faithwhen
| varies |
Encircled by your Realmwhen
| +30 |
Cultural Acceptancewhen
| varies |
You speak the … Languagewhen
| +5 |
Your low Legitimacywhen
| -15 |
Your low Legitimacywhen
| -25 |
Your low Legitimacywhen
| -50 |
Your low Legitimacywhen
| -75 |
Your high Legitimacywhen
| +25 |
Your high Legitimacywhen
| +50 |
Your high Legitimacywhen
| +75 |
| Their opinion of you | varies |
A scripted reasonwhen
| +200 |
Acceptance (ai_accept) (240 lines of game script)
base = -60
modifier = {
trigger = {
scope:puppet_or_actor ?= {
highest_held_title_tier >= tier_hegemony
}
}
add = 100
desc = tributary_interaction_aibehavior_actor_hegemon_tier_tt
}
modifier = {
scope:puppet_or_actor ?= {
primary_title = title:h_china
}
government_has_flag = government_is_meritocratic
add = 25
desc = tributary_interaction_aibehavior_recipient_confucian_government_tt
}
modifier = {
desc = offer_vassalization_true_ruler_perk_tt
trigger = {
scope:puppet_or_actor ?= {
has_perk = true_ruler_perk
}
}
add = true_ruler_value
}
modifier = {
desc = tributary_yurt_02_domicile_building
trigger = {
scope:puppet_or_actor.domicile ?= {
has_domicile_parameter = nomad_yurt_increased_tributary_acceptance_lvl_1
}
}
add = 5
}
modifier = {
desc = tributary_yurt_02_domicile_building
trigger = {
scope:puppet_or_actor.domicile ?= {
has_domicile_parameter = nomad_yurt_increased_tributary_acceptance_lvl_2
}
}
add = 10
}
modifier = {
desc = tributary_yurt_02_domicile_building
trigger = {
scope:puppet_or_actor.domicile ?= {
has_domicile_parameter = nomad_yurt_increased_tributary_acceptance_lvl_3
}
}
add = 15
}
modifier = {
NOT = {
ai_boldness = 0
}
add = {
value = ai_boldness
multiply = -1
divide = 2
}
desc = TRIBUTARY_BOLDNESS_REASON
}
modifier = {
ai_greed > 0
add = {
value = ai_greed
multiply = -1
divide = 4
}
desc = TRIBUTARY_GREED_REASON
}
modifier = {
exists = scope:puppet_or_actor
is_obedient_to = scope:puppet_or_actor
add = 40
desc = obedient_interaction_reason
}
modifier = {
scope:puppet_or_actor ?= {
is_gurkhan = yes
}
scope:recipient = {
government_has_flag = government_is_nomadic
}
add = 20
desc = gurkhan_interaction_reason
}
modifier = {
exists = scope:puppet_or_actor
any_character_situation = {
any_situation_sub_region = {
has_sub_region_phase_parameter = the_great_steppe_easier_tributaries
any_situation_sub_region_participant_group = {
participant_group_type = nomad_rulers_capital
participant_group_has_character = scope:puppet_or_actor
}
}
}
scope:recipient = {
government_has_flag = government_is_nomadic
}
add = 25
desc = zud_season_reason
}
ai_military_threat_modifier_with_cbs = {
SENDER = scope:recipient
RECEIVER = scope:puppet_or_actor
MULTIPLIER = 1
}
modifier = {
desc = tributary_interaction_aibehavior_recipient_tier_tt
trigger = {
scope:recipient = {
highest_held_title_tier = tier_kingdom
}
}
add = -100
}
modifier = {
desc = tributary_interaction_aibehavior_recipient_tier_tt
trigger = {
scope:recipient = {
highest_held_title_tier >= tier_empire
}
}
add = -200
}
modifier = {
desc = demand_tributary_interaction_aibehavior_dominance_tt
trigger = {
scope:puppet_or_actor ?= {
government_has_flag = government_is_nomadic
}
scope:recipient = {
government_has_flag = government_is_nomadic
}
scope:recipient.dominance_value > scope:puppet_or_actor.dominance_value
}
add = -20
}
modifier = {
desc = demand_tributary_interaction_aibehavior_dominance_tt
trigger = {
scope:puppet_or_actor ?= {
government_has_flag = government_is_nomadic
}
scope:recipient = {
government_has_flag = government_is_nomadic
}
scope:puppet_or_actor.dominance_value > scope:recipient.dominance_value
}
add = 20
}
modifier = {
desc = demand_tributary_interaction_steppe_admin
trigger = {
scope:puppet_or_actor ?= {
government_has_flag = government_is_steppe_admin
}
scope:recipient = {
government_has_flag = government_is_nomadic
}
}
add = 60
}
modifier = {
desc = AI_FILTHY_HORSE_LORD_REASON
trigger = {
scope:puppet_or_actor ?= {
government_has_flag = government_is_nomadic
}
scope:recipient = {
NOT = {
government_has_flag = government_is_nomadic
}
}
}
add = {
value = -50
if = {
limit = {
scope:recipient = {
government_has_flag = government_is_tribal
}
}
multiply = 0.5
}
}
}
modifier = {
desc = offer_vassalization_interaction_aibehavior_rival_tt
trigger = {
exists = scope:puppet_or_actor
scope:recipient = {
has_relation_rival = scope:puppet_or_actor
NOT = {
has_relation_nemesis = scope:puppet_or_actor
}
}
}
add = -100
}
modifier = {
desc = offer_vassalization_interaction_aibehavior_nemesis_tt
trigger = {
exists = scope:puppet_or_actor
scope:recipient = {
has_relation_nemesis = scope:puppet_or_actor
}
}
add = -200
}
modifier = {
desc = offer_vassalization_interaction_aibehavior_dynasty_tt
trigger = {
exists = scope:puppet_or_actor
scope:recipient = {
dynasty = scope:puppet_or_actor.dynasty
}
}
add = 10
}
modifier = {
desc = offer_vassalization_interaction_aibehavior_differentfaith_tt
trigger = {
scope:puppet_or_actor ?= {
NOT = {
has_trait = nomadic_philosophy
scope:recipient = {
has_trait = nomadic_philosophy
}
}
NOR = {
faith = scope:recipient.faith
rite = {
rite_has_doctrine = doctrine_pluralism
# … (cut here; the rest is in the file)As written in game/common/character_interactions/00_tributary_interactions.txt.
What happens
If they accept
- In some cases (on a condition the game doesn't show) › You:
add_prestige = { … }
If
One of these
All of these
- You: Has a Mandala Government
- The character you target: Has a Mandala Government
or
All of these
- You: Has a Mandala Government
- The character you target: Government is a Tribal-type Government
If
a check the game hides
Then
- You:
- Their house:
has_house_head_parameter = can_make_mandala_tributaries_via_war
If
a check the game hides
Then
- Their house: Has the house check as house head
- Their house:
- You:
Then
- The character you target:
- If government is a Tribal-type Government:
start_tributary = { contract_group = tributary_mandala_tribal suzerain = scope:puppet_or_actor }If
One of these
- The option “high obligations” is chosen
or
exists = scope:tributary_war
Then
- Tributary Contract starts with High Taxes
- Tributary Contract starts with High Prestige Contribution
- Tributary Contract starts with High Levy Contribution
Else if
- The option “low obligations” is chosen
Then
- Tributary Contract starts with Tax Exempt
- Tributary Contract starts with Low Prestige Contribution
- Tributary Contract starts with No Contribution
Otherwise
- Tributary Contract starts with Normal Taxes
- Tributary Contract starts with Normal Prestige Contribution
- Tributary Contract starts with Low Levy Contribution
- If a Tributary:
tributary_contract_set_obligation_level = { type = mandala_suzerain_war_participation_guarantee level = 1 }
- Otherwise:
start_tributary = { contract_group = tributary_mandala suzerain = scope:puppet_or_actor }If
One of these
- The option “high obligations” is chosen
or
exists = scope:tributary_war
Then
- Tributary Contract starts with High Taxes
- Tributary Contract starts with High Piety Contribution
- Tributary Contract starts with High Levy Contribution
Else if
- The option “low obligations” is chosen
Then
- Tributary Contract starts with Tax Exempt
- Tributary Contract starts with Low Piety Contribution
- Tributary Contract starts with No Contribution
Otherwise
- Tributary Contract starts with Normal Taxes
- Tributary Contract starts with Normal Piety Contribution
- Tributary Contract starts with Low Levy Contribution
- If a Tributary:
tributary_contract_set_obligation_level = { type = mandala_suzerain_war_participation_guarantee level = 1 }
- If government is a Tribal-type Government:
Else if
- You: Has a Wanua Government
- The character you target: Has a Wanua Government
Then
- The character you target:
start_tributary = { contract_group = tributary_wanua suzerain = scope:puppet_or_actor }If
One of these
- The option “high obligations” is chosen
or
exists = scope:tributary_war
Then
- Tributary Contract starts with High Barter Goods
- Tributary Contract starts with High Taxes
- Tributary Contract starts with Low Prestige Transfer
Else if
- The option “low obligations” is chosen
Then
- Tributary Contract starts with Low Barter Goods
- Tributary Contract starts with Low Taxes
- Tributary Contract starts with No Prestige Transfer
Otherwise
- Tributary Contract starts with Medium Barter Goods
- Tributary Contract starts with Low Taxes
- Tributary Contract starts with Low Prestige Transfer
Else if
- You: Has a Nomadic Government
Then
- The character you target:
If
One of these
- Has a Nomadic Government
or
Has a Herder Government
Then
start_tributary = { contract_group = tributary_nomadic suzerain = scope:puppet_or_actor }
Otherwise
start_tributary = { contract_group = tributary_settled suzerain = scope:puppet_or_actor }
If
- Does not have a Nomadic Government
- Does not have a Herder Government
Then
If
One of these
- The option “high obligations” is chosen
or
exists = scope:tributary_war
Then
- Tributary Contract starts with High Taxes
- Tributary Contract starts with High Levy Contribution
- Tributary Contract starts with High Prestige Transfer
Else if
- The option “low obligations” is chosen
Then
- Tributary Contract starts with Low Taxes
- Tributary Contract starts with Low Levy Contribution
- … (more in the script below)
- … (more in the script below)
- … (more in the script below)
- … (more in the script below)
If they refuse
- The character you target:
- Event char_interaction.0363
- If highest held Title is at least Hegemony Rank: Loses 50 Legitimacy
Events it fires: char_interaction.0362, char_interaction.0363
• 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) (58 lines of game script)
is_available = trigger_if = {
limit = {
is_ai = yes
}
highest_held_title_tier > 1
is_independent_ruler = yes
NOT = {
highest_held_title_tier >= tier_hegemony
}
}
is_shown = scope:puppet_or_actor ?= {
can_get_tributaries_peacefully_trigger = yes
is_landed = yes
trigger_if = {
limit = {
scope:puppet_or_actor ?= {
government_has_flag = government_is_mandala
}
}
always = no
}
trigger_else = {
can_get_tributaries_peacefully_trigger = yes
}
highest_held_title_tier < tier_hegemony
NOT = {
this = scope:recipient
top_suzerain ?= scope:recipient.top_suzerain
}
any_land_neighboring_realm_with_tributaries_owner = {
this = scope:recipient
}
trigger_if = {
limit = {
scope:actor = {
is_ai = yes
}
}
current_military_strength >= scope:recipient.one_and_a_half_times_current_military_strength
primary_title.tier >= scope:recipient.primary_title.tier
}
}
scope:recipient = {
highest_held_title_tier >= tier_county
is_landed = yes
is_independent_ruler = yes
NOR = {
government_has_flag = cannot_be_vassal_or_liege
government_has_flag = government_is_mandala
government_has_flag = government_is_holy_order
}
}
NOT = {
scope:puppet_or_actor ?= {
has_variable = had_mpo_temujin_flavor_0010
var:had_mpo_temujin_flavor_0010 ?= scope:recipient
}
}As written in game/common/character_interactions/00_tributary_interactions.txt.
Can be sent when (is_valid…) (36 lines of game script)
scope:puppet_or_actor = {
NOT = {
has_truce = scope:recipient
}
is_available_allow_travelling = yes
}
scope:recipient = {
is_tributary = no
is_at_war = no
custom_tooltip = {
text = demand_tributary_interaction_cooldown_active_tt
NOT = {
has_opinion_modifier = {
modifier = tributary_demanded_opinion
target = scope:puppet_or_actor
}
}
}
is_confederation_member = no
}
scope:puppet_or_actor = {
custom_tooltip = {
text = mpo_interaction_not_neighbouring_tt
any_land_neighboring_realm_with_tributaries_owner = {
this = scope:recipient
}
}
}
trigger_if = {
limit = {
scope:is_puppet_action ?= yes
}
scope:puppet_or_actor = {
prestige >= minor_prestige_value
}
}As written in game/common/character_interactions/00_tributary_interactions.txt.
Effects (on_send, on_accept, on_decline) (47 lines of game script)
on_accept = if = {
limit = {
scope:is_puppet_action ?= yes
}
scope:puppet_or_actor = {
add_prestige = {
value = {
add = minor_prestige_value
max = prestige
multiply = -1
}
}
}
}
start_tributary_interaction_effect = {
TRIBUTARY = scope:recipient
SUZERAIN = scope:puppet_or_actor
}
scope:puppet_or_actor = {
trigger_event = char_interaction.0362
}
scope:recipient = {
add_opinion = {
modifier = tributary_demanded_opinion
target = scope:puppet_or_actor
}
}
consume_all_criminal_reasons_effect = {
LIEGE = scope:puppet_or_actor
CRIMINAL = scope:recipient
}
on_decline = scope:recipient = {
add_opinion = {
modifier = tributary_demanded_opinion
target = scope:puppet_or_actor
}
custom_tooltip = demand_tributary_interaction_cooldown_tt
}
scope:puppet_or_actor = {
trigger_event = char_interaction.0363
if = {
limit = {
highest_held_title_tier >= tier_hegemony
}
add_legitimacy = -50
}
}As written in game/common/character_interactions/00_tributary_interactions.txt.
- Category
- Diplomatic actions
- Cost: Prestige
- from 75
- In the menu
- main list
- ID
demand_tributary_interaction
Source: game/common/character_interactions/00_tributary_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.