Interaction · Vassal actions
Exact Tribute
Request that the recipient send Tribute to you
What you need
You
One of these
- Highest held Title is at least Hegemony Rank
or
All of these
- Your Government uses the Mandala Capital Temple Complex Great Project and Great Building
- The character you target: Is a tributary of you
The character you target
To send it
- … recently went on a Tribute Mission to you
If
- You: Your Government uses the Mandala Capital Temple Complex Great Project and Great Building
Then
can_execute_decision = tribute_mission_decision_mandala
Else if
root.primary_title = title:h_china
Then
can_execute_decision = tribute_mission_decision_china
Else if
root.primary_title = title:h_roman_empire
Then
can_execute_decision = tribute_mission_decision_roman_empire
Else if
root.primary_title = title:h_eastern_roman_empire
Then
can_execute_decision = tribute_mission_decision_eastern_roman_empire
Else if
root.primary_title = title:h_dar_al_islam
Then
can_execute_decision = tribute_mission_decision_dar_al_islam
Else if
root.primary_title = title:h_india
Then
can_execute_decision = tribute_mission_decision_india
Otherwise
- Never
If
Then
- The character you target:
Otherwise
- Is an Independent Ruler
- Highest held Title is less than Hegemony Rank
- Is not a Tributary
- … nor any of … Tributaries are neighboring …
Otherwise
- You: Your Government uses the Mandala Capital Temple Complex Great Project and Great Building
- The character you target: Is a tributary of you
- The character you target:
If
- Declined requested tribute recently is not scope:actor
- Requested tribute mission is not scope:actor
Then
- … does not have any suitable Tribute to send
- … has recently refused to perform a Tribute Mission
- … is already preparing a Tribute Mission
Also needed: available (an adult, not in an army, not imprisoned, not incapable) · none of the traits Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux · not busy in an Activity · not planning another Activity
To see it in the menu
- Is played by the AI
Exact Tribute is a vassal character interaction in Crusader Kings III. The character you target needs: Is available (an adult, not in an army, not imprisoned, not incapable), Has none of the traits: Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux, Busy participating in an Activity and 1 more. The AI weighs it (the answer is partly random). Reasons the AI weighs include Base (-25), You … in an Unstable Cycle (-50), You … not meet Expected Legitimacy (-25) and 6 more. Patch 1.20.1.2, from game/common/character_interactions/00_tributary_interactions.txt.
Quick answers (2)
- What are the requirements for Exact Tribute in CK3?
- The character you target: Is available (an adult, not in an army, not imprisoned, not incapable), Has none of the traits: Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux, Busy participating in an Activity and You are already planning another Activity. (patch 1.20.1.2)
- How do I get the AI to accept Exact Tribute?
- The AI weighs it (the answer is partly random). Its reasons: Base -25, The recipient hold… the …, You … in an Unstable Cycle -50, You … not meet Expected Legitimacy -25, You exceed… Expected Legitimacy +25, The recipient's Boldness, The recipient's Greed, You … the recipient's Rival -30, You … the recipient's Nemesis -100, They belongs to the recipient's Dynasty +10, Suzerain Mandala has Prosperity Decree +15, Your Level of Devotion is … +10, Your Mandala Radiance (max +200), Threat from held Claims, Similar Military Power (current), Relative Military Power, Relative Military Power, Military Power including Allies and Military Power including Allies.
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 |
Basewhen
| -25 |
| The recipient hold… the … | varies |
You … in an Unstable Cyclewhen
| -50 |
You … not meet Expected Legitimacywhen
| -25 |
You exceed… Expected Legitimacywhen
| +25 |
The recipient's Boldnesswhen
| varies |
The recipient's Greedwhen
| varies |
You … the recipient's Rivalwhen
| -30 |
You … the recipient's Nemesiswhen
| -100 |
They belongs to the recipient's Dynastywhen
| +10 |
Suzerain Mandala has Prosperity Decreewhen
| +15 |
Your Level of Devotion is …when
| +10 |
Your Mandala Radiance (max +200)when
| your mandala radiance value × 2 |
| Their opinion of you | varies |
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 |
Acceptance (ai_accept) (150 lines of game script)
base = 0
modifier = {
government_has_flag = government_is_mandala
add = -25
desc = base_with_value
}
modifier = {
scope:actor = {
highest_held_title_tier >= tier_hegemony
}
add = {
add = 25
if = {
limit = {
OR = {
NOT = {
scope:recipient.primary_title = title:h_china
}
government_has_flag = government_is_meritocratic
}
}
add = 25
}
}
desc = tributary_interaction_aibehavior_recipient_hegemon_tier_tt
}
modifier = {
scope:actor = {
highest_held_title_tier >= tier_hegemony
}
situation:dynastic_cycle ?= {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_instability
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
}
}
add = -50
desc = tributary_interaction_aibehavior_actor_unstable_cycle_tt
}
modifier = {
scope:actor = {
highest_held_title_tier >= tier_hegemony
legitimacy_level < dynastic_cycle_legitimacy_expectation
}
situation:dynastic_cycle ?= {
NOR = {
situation_current_phase = situation_dynastic_cycle_phase_instability
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
}
}
add = -25
desc = tributary_interaction_aibehavior_actor_low_legitimacy_tt
}
modifier = {
scope:actor = {
highest_held_title_tier >= tier_hegemony
legitimacy_level > dynastic_cycle_legitimacy_expectation
}
situation:dynastic_cycle ?= {
NOR = {
situation_current_phase = situation_dynastic_cycle_phase_instability
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
}
}
add = 25
desc = tributary_interaction_aibehavior_actor_high_legitimacy_tt
}
modifier = {
NOT = {
ai_boldness = 0
}
add = {
value = ai_boldness
multiply = -1
divide = 4
}
desc = TRIBUTARY_BOLDNESS_REASON
}
modifier = {
ai_greed > 0
add = {
value = ai_greed
multiply = -1
divide = 4
}
desc = TRIBUTARY_GREED_REASON
}
modifier = {
desc = embrace_tributarization_interaction_aibehavior_rival_tt
trigger = {
scope:recipient = {
has_relation_rival = scope:actor
NOT = {
has_relation_nemesis = scope:actor
}
}
}
add = -30
}
modifier = {
desc = embrace_tributarization_interaction_aibehavior_nemesis_tt
trigger = {
scope:recipient = {
has_relation_nemesis = scope:actor
}
}
add = -100
}
modifier = {
desc = embrace_tributarization_interaction_aibehavior_dynasty_tt
trigger = {
scope:recipient = {
dynasty = scope:actor.dynasty
}
}
add = 10
}
modifier = {
desc = is_prosperity_mandala_tributary
scope:recipient = {
is_tributary = yes
suzerain = {
has_realm_law = mandala_decree_prosperity
}
}
add = 15
}
mandala_devaraja_piety_level_add_weight_modifier = {
DEVARAJA = scope:actor
}
modifier = {
scope:actor = {
has_unruined_mandala_capital_trigger = yes
}
add = {
value = scope:actor.mandala_radiance_value
multiply = 2
}
desc = actor_positive_mandala_radiance
}
opinion_modifier = {
who = scope:recipient
opinion_target = scope:actor
multiplier = 1
}
ai_military_threat_modifier = {
SENDER = scope:recipient
RECEIVER = scope:actor
MULTIPLIER = 1
}As written in game/common/character_interactions/00_tributary_interactions.txt.
What happens
If they accept
- If played by a person: Event tribute_mission.9010
- The character you target:
- Event tribute_mission.9500 (after requested_tribute_mission_deadline_years years)
- Depending on yes:
If
- You: Your Government uses the Mandala Capital Temple Complex Great Project and Great Building
Then
execute_decision = tribute_mission_decision_mandala
Else if
root.primary_title = title:h_china
Then
execute_decision = tribute_mission_decision_china
Else if
root.primary_title = title:h_roman_empire
Then
execute_decision = tribute_mission_decision_roman_empire
Else if
root.primary_title = title:h_eastern_roman_empire
Then
execute_decision = tribute_mission_decision_eastern_roman_empire
Else if
root.primary_title = title:h_dar_al_islam
Then
execute_decision = tribute_mission_decision_dar_al_islam
Else if
root.primary_title = title:h_india
Then
execute_decision = tribute_mission_decision_india
If they refuse
- The character you target:
- If has Legitimacy: Loses 50 Legitimacy
- If played by the AI: Opinion: Declined Tribute Mission (-30)
- If played by the AI: Opinion: Declined Tribute Mission (-30)
- If played by a person: Event tribute_mission.9000
Options when sending
- Request Gold as Tribute
- Request Herd as Tribute
- Request an Artifact as Tribute
- Request a Concubine as Tribute
- Request a Eunuch as Tribute
Events it fires: tribute_mission.9010, tribute_mission.9500, tribute_mission.9000
• 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) (14 lines of game script)
is_shown = scope:recipient = {
is_ai = yes
}
scope:actor = {
OR = {
highest_held_title_tier >= tier_hegemony
AND = {
government_has_flag = government_is_mandala
scope:recipient = {
is_tributary_of = scope:actor
}
}
}
}As written in game/common/character_interactions/00_tributary_interactions.txt.
Can be sent when (is_valid…) (117 lines of game script)
scope:recipient = {
is_available_adult = yes
custom_tooltip = {
text = exact_tribute_interaction_recently_tribute_missioned_tt
NOT = {
var:tribute_mission_grace ?= scope:actor
}
}
trigger_if = {
limit = {
scope:actor = {
government_has_flag = government_is_mandala
}
}
can_execute_decision = tribute_mission_decision_mandala
}
trigger_else_if = {
limit = {
scope:actor.primary_title = title:h_china
}
can_execute_decision = tribute_mission_decision_china
}
trigger_else_if = {
limit = {
scope:actor.primary_title = title:h_roman_empire
}
can_execute_decision = tribute_mission_decision_roman_empire
}
trigger_else_if = {
limit = {
scope:actor.primary_title = title:h_eastern_roman_empire
}
can_execute_decision = tribute_mission_decision_eastern_roman_empire
}
trigger_else_if = {
limit = {
scope:actor.primary_title = title:h_dar_al_islam
}
can_execute_decision = tribute_mission_decision_dar_al_islam
}
trigger_else_if = {
limit = {
scope:actor.primary_title = title:h_india
}
can_execute_decision = tribute_mission_decision_india
}
trigger_else = {
always = no
}
trigger_if = {
limit = {
scope:actor = {
highest_held_title_tier >= tier_hegemony
}
}
scope:recipient = {
trigger_if = {
limit = {
is_tributary_of = scope:actor
}
subject_standing < exact_tribute_subject_standing_value
}
trigger_else = {
is_independent_ruler = yes
highest_held_title_tier < tier_hegemony
is_tributary = no
custom_tooltip = {
text = exact_tribute_interaction_hegemony_not_neighbor_tt
any_neighboring_realm_with_tributaries_owner = {
this = scope:actor
}
}
}
}
}
trigger_else = {
scope:actor = {
government_has_flag = government_is_mandala
}
scope:recipient = {
is_tributary_of = scope:actor
}
}
trigger_if = {
limit = {
NOR = {
var:declined_requested_tribute_recently ?= scope:actor
var:requested_tribute_mission ?= scope:actor
}
}
custom_tooltip = {
text = exact_tribute_interaction_no_tribute_tt
OR = {
tribute_mission_decision_generic_trigger = yes
tribute_mission_decision_concubine_trigger = {
OVERLORD = scope:actor
}
tribute_mission_decision_eunuch_trigger = {
OVERLORD = scope:actor
}
}
}
}
custom_tooltip = {
text = exact_tribute_interaction_recently_refused_tt
NOT = {
var:declined_requested_tribute_recently ?= scope:actor
}
}
custom_tooltip = {
text = exact_tribute_interaction_already_engaged_tt
NOR = {
var:requested_tribute_mission ?= scope:actor
has_variable = tribute_mission_type
}
}
}As written in game/common/character_interactions/00_tributary_interactions.txt.
Effects (on_send, on_accept, on_decline) (230 lines of game script)
on_accept = scope:actor = {
if = {
limit = {
is_ai = no
}
trigger_event = tribute_mission.9010
}
}
scope:recipient = {
set_variable = {
name = requested_tribute_mission
value = scope:actor
years = requested_tribute_mission_deadline_years
}
trigger_event = {
id = tribute_mission.9500
years = requested_tribute_mission_deadline_years
}
switch = {
trigger = yes
scope:gold ?= {
set_variable = {
name = requested_tribute_mission_type_gold
years = requested_tribute_mission_deadline_years
}
custom_tooltip = exact_tribute_interaction_gold_tt
}
scope:herd ?= {
set_variable = {
name = requested_tribute_mission_type_herd
years = requested_tribute_mission_deadline_years
}
custom_tooltip = exact_tribute_interaction_herd_tt
}
scope:artifact ?= {
set_variable = {
name = requested_tribute_mission_type_artifact
years = requested_tribute_mission_deadline_years
}
custom_tooltip = exact_tribute_interaction_artifact_tt
random_character_artifact = {
limit = {
is_suitable_artifact_tribute_trigger = yes
}
scope:recipient = {
set_variable = {
name = predetermined_artifact_tribute
value = prev
}
}
}
}
scope:concubine ?= {
set_variable = {
name = requested_tribute_mission_type_concubine
years = requested_tribute_mission_deadline_years
}
custom_tooltip = exact_tribute_interaction_concubine_tt
every_courtier_or_guest = {
limit = {
can_be_offered_as_concubine_to_character_trigger = {
GIVER = scope:recipient
CHARACTER = scope:actor
}
tribute_mission_is_available_concubine_trigger = yes
}
add_to_list = potential_concubine_tribute_list
random_in_list = {
list = potential_concubine_tribute_list
weight = {
base = 0
modifier = {
add = 10
NOR = {
is_councillor = yes
has_any_court_position = yes
}
}
modifier = {
add = 5
is_knight = no
}
modifier = {
add = 20
NOT = {
exists = inspiration
}
}
modifier = {
add = 15
NOT = {
is_close_or_extended_family_of = scope:recipient
}
}
modifier = {
add = 20
NOT = {
has_relation_friend = scope:recipient
}
}
modifier = {
add = 25
NOT = {
is_child_of = scope:recipient
}
}
}
scope:recipient = {
set_variable = {
name = predetermined_concubine_tribute
value = prev
}
}
}
}
}
scope:eunuch ?= {
set_variable = {
name = requested_tribute_mission_type_eunuch
years = requested_tribute_mission_deadline_years
}
custom_tooltip = exact_tribute_interaction_eunuch_tt
every_courtier = {
limit = {
tribute_mission_is_available_eunuch_trigger = yes
NAND = {
rite = {
rite_has_doctrine = doctrine_theocracy_temporal
}
this = scope:actor.cp:councillor_court_chaplain
}
has_any_disease_trigger = no
}
add_to_list = potential_eunuch_tribute_list
random_in_list = {
list = potential_eunuch_tribute_list
weight = {
base = 0
modifier = {
add = 10
NOR = {
is_councillor = yes
has_any_court_position = yes
}
}
modifier = {
add = 5
is_knight = no
}
modifier = {
add = 20
NOT = {
exists = inspiration
}
}
modifier = {
add = 15
NOT = {
is_close_or_extended_family_of = scope:recipient
}
}
modifier = {
add = 20
NOT = {
has_relation_friend = scope:recipient
}
}
modifier = {
add = 25
NOT = {
is_child_of = scope:recipient
}
}
}
scope:recipient = {
set_variable = {
name = predetermined_eunuch_tribute
value = prev
}
}
}
}
}
}
if = {
limit = {
scope:actor = {
government_has_flag = government_is_mandala
}
}
execute_decision = tribute_mission_decision_mandala
}
else_if = {
limit = {
scope:actor.primary_title = title:h_china
}
execute_decision = tribute_mission_decision_china
}
else_if = {
limit = {
scope:actor.primary_title = title:h_roman_empire
}
execute_decision = tribute_mission_decision_roman_empire
}
else_if = {
limit = {
scope:actor.primary_title = title:h_eastern_roman_empire
}
execute_decision = tribute_mission_decision_eastern_roman_empire
}
else_if = {
limit = {
scope:actor.primary_title = title:h_dar_al_islam
}
execute_decision = tribute_mission_decision_dar_al_islam
}
else_if = {
limit = {
scope:actor.primary_title = title:h_india
}
execute_decision = tribute_mission_decision_india
}
}
on_decline = scope:recipient = {
if = {
limit = {
has_legitimacy = yes
}
add_legitimacy = minor_legitima
# … (cut here; the rest is in the file)As written in game/common/character_interactions/00_tributary_interactions.txt.
- Category
- Vassal actions
- In the menu
- under More…
- ID
exact_tribute_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.