Interaction · Vassal actions
Release Tributary
Release the recipient from their Tributary Contract.
What you need
You
- In some cases (on a condition the game doesn't show) › You:
prestige >= release_tributary_interaction_prestige_cost_value
- In some cases (on a condition the game doesn't show) › You:
piety >= release_tributary_interaction_piety_cost_value
The character you target
suzerain ?= scope:puppet_or_actorOne of these
- You: Is played by a person
or
Is not obedient to you
Release Tributary is a vassal character interaction in Crusader Kings III. Accepted automatically. It costs Prestige (from 75), Piety (from 100). Patch 1.20.1.2, from game/common/character_interactions/00_tributary_interactions.txt.
Quick answers (2)
- Will the AI accept Release Tributary?
- Yes: it is accepted automatically.
- How much does Release Tributary cost?
- Prestige (from 75), Piety (from 100) (patch 1.20.1.2).
Will they accept?
The other character has no choice: the game accepts it automatically.
What happens
Effects
- In some cases (on a condition the game doesn't show) › You:
- If release tributary interaction prestige cost more than 0:
add_prestige = { … }
- If release tributary interaction piety cost more than 0:
add_piety = { … }
- If release tributary interaction prestige cost more than 0:
- The character you target:
end_tributary = yesadd_truce_both_ways = { … }- Opinion: Released Me from Tributary Contract (+25)
- Event char_interaction.0380
Events it fires: char_interaction.0380
• 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) (12 lines of game script)
is_shown = scope:recipient = {
this != scope:puppet_or_actor
suzerain ?= scope:puppet_or_actor
OR = {
scope:actor = {
is_ai = no
}
NOT = {
is_obedient_to = scope:puppet_or_actor
}
}
}As written in game/common/character_interactions/00_tributary_interactions.txt.
Can be sent when (is_valid…) (16 lines of game script)
trigger_if = {
limit = {
scope:is_puppet_action ?= yes
}
scope:puppet_or_actor = {
prestige >= release_tributary_interaction_prestige_cost_value
}
}
trigger_if = {
limit = {
scope:is_puppet_action ?= yes
}
scope:puppet_or_actor = {
piety >= release_tributary_interaction_piety_cost_value
}
}As written in game/common/character_interactions/00_tributary_interactions.txt.
Effects (on_send, on_accept, on_decline) (62 lines of game script)
on_accept = if = {
limit = {
scope:is_puppet_action ?= yes
}
scope:puppet_or_actor = {
if = {
limit = {
release_tributary_interaction_prestige_cost_value > 0
}
add_prestige = {
value = {
add = release_tributary_interaction_prestige_cost_value
max = prestige
multiply = -1
}
}
}
if = {
limit = {
release_tributary_interaction_piety_cost_value > 0
}
add_piety = {
value = {
add = release_tributary_interaction_piety_cost_value
max = piety
multiply = -1
}
}
}
}
}
scope:recipient = {
end_tributary = yes
save_scope_as = tributary_loc
scope:puppet_or_actor = {
save_scope_as = suzerain_loc
}
add_truce_both_ways = {
character = scope:puppet_or_actor
years = 5
override = yes
name = TRUCE_TRIBUTARY_STOPPED
}
add_opinion = {
target = scope:puppet_or_actor
modifier = tributary_released_opinion
opinion = 25
}
if = {
limit = {
scope:puppet_or_actor = {
government_has_flag = government_is_mandala
}
}
set_variable = {
name = recent_mandala_suzerain
value = scope:puppet_or_actor
years = 5
}
}
trigger_event = char_interaction.0380
}As written in game/common/character_interactions/00_tributary_interactions.txt.
- Category
- Vassal actions
- Cost: Prestige
- from 75
- Cost: Piety
- from 100
- In the menu
- under More…
- ID
release_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.