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

Exact Tribute

No costAnswered by the other character

Request that … send Tribute to you

What you need

You

The character you target

To send it

  • … recently went on a Tribute Mission to you
  • 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 a person

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. Answered by the other character. Patch 1.20.1.2, from game/common/character_interactions/00_tributary_interactions.txt.

for a guide, post or blog
Quick answers (1)
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)

Will they accept?

The files give no acceptance reasons: the other character answers it themselves (a player, or an event).

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)
    • … will bring Tribute to ……
    • Otherwise:
      • error_log = Exacting tribute as an invalid actor!

If they refuse

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) (33 lines of game script)
is_shown = scope:recipient = {
	is_ai = 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_tributary = no
			is_independent_ruler = yes
			any_neighboring_top_liege_realm_owner = {
				primary_title = title:h_china
			}
		}
	}
}
trigger_else = {
	scope:actor = {
		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…) (56 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 = {
			NOR = {
				var:declined_requested_tribute_recently ?= scope:actor
				var:requested_tribute_mission ?= scope:actor
			}
		}
		custom_tooltip = {
			text = exact_tribute_interaction_no_tribute_tt
			OR = {
				has_gold_tribute_trigger = yes
				has_herd_tribute_trigger = yes
				has_artifact_tribute_trigger = yes
				AND = {
					any_courtier_or_guest = {
						can_become_concubine_of_character_valid_trigger = {
							CHARACTER = scope:actor
						}
					}
					scope:actor = {
						allowed_more_concubines = yes
					}
				}
				AND = {
					has_eunuch_tribute_trigger = yes
					scope:actor = {
						culture = {
							has_cultural_parameter = can_appoint_chief_eunuch
						}
					}
				}
			}
		}
	}
	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) (118 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
	}
	custom_tooltip = exact_tribute_player_interaction_accept_tt
	if = {
		limit = {
			scope:actor = {
				highest_held_title_tier >= tier_hegemony
			}
		}
		if = {
			limit = {
				scope:actor.primary_title = title:h_china
			}
			open_view_data = {
				view = decision_detail
				data = decision:tribute_mission_decision_china
				player = scope:recipient
			}
		}
		else_if = {
			limit = {
				scope:actor.primary_title = title:h_roman_empire
			}
			open_view_data = {
				view = decision_detail
				data = decision:tribute_mission_decision_roman_empire
				player = scope:recipient
			}
		}
		else_if = {
			limit = {
				scope:actor.primary_title = title:h_eastern_roman_empire
			}
			open_view_data = {
				view = decision_detail
				data = decision:tribute_mission_decision_eastern_roman_empire
				player = scope:recipient
			}
		}
		else_if = {
			limit = {
				scope:actor.primary_title = title:h_dar_al_islam
			}
			open_view_data = {
				view = decision_detail
				data = decision:tribute_mission_decision_dar_al_islam
				player = scope:recipient
			}
		}
		else_if = {
			limit = {
				scope:actor.primary_title = title:h_india
			}
			open_view_data = {
				view = decision_detail
				data = decision:tribute_mission_decision_india
				player = scope:recipient
			}
		}
	}
	else_if = {
		limit = {
			scope:actor = {
				government_has_flag = government_is_mandala
			}
		}
		open_view_data = {
			view = decision_detail
			data = decision:tribute_mission_decision_mandala
			player = scope:recipient
		}
	}
	else = {
		error_log = "Exacting tribute as an invalid actor!"
	}
}
on_decline = scope:recipient = {
	add_legitimacy = minor_legitimacy_loss
	set_variable = {
		name = declined_requested_tribute_recently
		value = scope:actor
		years = requested_tribute_mission_deadline_years
	}
}
scope:actor = {
	if = {
		limit = {
			is_ai = yes
		}
		add_opinion = {
			modifier = declined_tribute_mission_opinion
			opinion = -30
			target = scope:recipient
		}
	}
	if = {
		limit = {
			is_ai = no
		}
		trigger_event = tribute_mission.9000
	}
}

As written in game/common/character_interactions/00_tributary_interactions.txt.

Category
Vassal actions
In the menu
main list
ID
exact_tribute_player_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. “…” marks words the game fills in at play time (a name, a title).

Spotted a mistake on this page?