CK3 DatabaseCrusader Kings III · 1.20.1.2 “Crozier” · unofficial
Silk & Silverout Tue, Nov 17What's free, what needs the DLC, price →

Interaction · Vassal actions

Release Tributary

from 75Prestigefrom 100PietyAccepted automatically

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_actor
  • One 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.

for a guide, post or blog
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 = { … }
  • The character you target:

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.

Spotted a mistake on this page?