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

Scripted effect · All Under Heaven files

tribute_mission_decision_effect

tribute_mission_decision_effect = { TARGET = … }

game/common/scripted_effects/tgp_tribute_mission_scripted_effects.txt, line 47 (416 lines). Parameters: $TARGET$.

tribute_mission_decision_effect is a scripted effect in Crusader Kings III, in the All Under Heaven files, written at line 47 of its file. A call passes 1 parameter: TARGET. The game's script calls it in 6 places, among them Kowtow to China (decision), Pay Tribute to … (decision) and Pay Tribute to Dar al-Islam (decision). Its body carries 8 texts of the game's own for the player. Patch 1.20.1.2, from game/common/scripted_effects/tgp_tribute_mission_scripted_effects.txt.

What it does

  • If subject Standing at least 0 › If a Tributary:
  • Otherwise:
  • If

    • Has “requested tribute mission” (a variable the game's script sets)
    • Is played by the AI

    Then

    • Depending on has variable:
      • When has variable is requested tribute mission type gold: Starts the interaction “Select Gold Tribute”
      • When has variable is requested tribute mission type herd: Starts the interaction “Select Herd Tribute”
      • When has variable is requested tribute mission type artifact:
      • When has variable is requested tribute mission type concubine: Starts the interaction “Select Concubine Tribute”
      • When has variable is requested tribute mission type eunuch: Starts the interaction “Select Eunuch Tribute”
  • Else, if played by the AI › Depending on yes:
    • When yes is scope:tribute mission gold: Starts the interaction “Select Gold Tribute”
    • When yes is scope:tribute mission herd: Starts the interaction “Select Herd Tribute”
    • When yes is scope:tribute mission artifact:
    • When yes is scope:tribute mission concubine:
      • If

        a check the game hides

        Then

        • create_character = { template = tgp_concubine_template location = root.location save_scope_as = decision_predetermined_concubine_tribute }
      • Starts the interaction “Select Concubine Tribute”
    • When yes is scope:tribute mission eunuch: Starts the interaction “Select Eunuch Tribute”
    • When yes is scope:tribute mission bunga mas:
  • Else, if played by a person › Depending on yes:
    • When yes is scope:tribute mission gold: Opens the interaction “Select Gold Tribute”
    • When yes is scope:tribute mission herd: Opens the interaction “Select Herd Tribute”
    • When yes is scope:tribute mission artifact: Opens the interaction “Select Artifact Tribute”
    • When yes is scope:tribute mission concubine: Opens the interaction “Select Concubine Tribute”
    • When yes is scope:tribute mission eunuch: Opens the interaction “Select Eunuch Tribute”
    • When yes is scope:tribute mission bunga mas: Opens the interaction “Select Bunga Mas Tribute”

• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists

“They” is whatever it runs on (the scope it is called in). The scripted triggers and effects it calls link to their own pages; $PARAMETERS$ stay as written: each call fills them in.

The script as written (120 lines of game script)
tribute_mission_decision_effect = {
	if = {
		#Are you a tributary of a Hegemon?
		limit = { subject_standing >= 0 }
		if = {
			limit = { is_tributary = yes }
			#If it's China, flavorize Imperial Grace
			if = {
				limit = { suzerain = { primary_title = title:h_china } }
				custom_tooltip = tribute_mission_interaction_anticipated_rewards_tt_imperial_grace
			}
			#Else standard stuff
			else = {
				custom_tooltip = tribute_mission_interaction_anticipated_rewards_tt_generic_hegemon
			}
		}
	}
	else = {
		if = {
			limit = { $TARGET$ = { primary_title = title:h_china } }
			custom_tooltip = tribute_mission_interaction_anticipated_rewards_tt_china
		}
		else_if = {
			limit = { $TARGET$ = { primary_title = title:h_roman_empire } }
			custom_tooltip = tribute_mission_interaction_anticipated_rewards_tt_roman_empire
		}
		else_if = {
			limit = { $TARGET$ = { primary_title = title:h_eastern_roman_empire } }
			custom_tooltip = tribute_mission_interaction_anticipated_rewards_tt_eastern_roman_empire
		}
		else_if = {
			limit = { $TARGET$ = { primary_title = title:h_dar_al_islam } }
			custom_tooltip = tribute_mission_interaction_anticipated_rewards_tt_dar_al_islam
		}
		else_if = {
			limit = { $TARGET$ = { primary_title = title:h_india } }
			custom_tooltip = tribute_mission_interaction_anticipated_rewards_tt_india
		}
		else = { custom_tooltip = tribute_mission_interaction_anticipated_rewards_tt }
	}

	hidden_effect = { 
		tribute_mission_clean_up_variables_effect = yes

		if = {
			limit = { is_tributary = yes }
			suzerain = { 
				save_scope_as = tribute_mission_target
				add_character_flag = {
					flag = pay_tribute_cooldown
					years = 3
				}
			}
		}
		else = {
			 $TARGET$ = {
				save_scope_as = tribute_mission_target
			}
		}

		set_variable = { # persist for later interactions
			name = tribute_mission_target_scope
			value = scope:tribute_mission_target
		}
	}
	# not all tribute decisions have this option
	if = {
		limit = { NOT = { exists = scope:tribute_mission_bunga_mas } }
		save_temporary_scope_value_as = { name = tribute_mission_bunga_mas value = no }
	}

	#Your Suzerain requested this specifically
	if = {
		limit = {	
			has_variable = requested_tribute_mission
			is_ai = yes
		}
		switch = {
			trigger = has_variable
			requested_tribute_mission_type_gold = { # Gold
				run_interaction = {
					interaction = tribute_mission_gold_interaction
					actor = root
					recipient = scope:tribute_mission_target
					execute_threshold = accept
				}
			}
			requested_tribute_mission_type_herd = { # Herd
				run_interaction = {
					interaction = tribute_mission_herd_interaction
					actor = root
					recipient = scope:tribute_mission_target
					execute_threshold = accept
				}
			}
			requested_tribute_mission_type_artifact = { # Artifact
				var:predetermined_artifact_tribute ?= { save_scope_as = predetermined_artifact_tribute_scope }
				#Do the things from the interaction
				scope:predetermined_artifact_tribute_scope = {
					set_variable = is_tribute_mission_artifact
				}
				#Save the Artifact
				set_variable = {
					name = tribute_mission_type
					value = flag:artifact_tribute
				}
				set_variable = {
					name = offered_artifact
					value = scope:predetermined_artifact_tribute_scope
				}
				#Travel
				tribute_mission_set_up_tribute_travel_effect = yes
			}
			requested_tribute_mission_type_concubine = { # Concubine
				var:predetermined_concubine_tribute ?= { 
					save_scope_as = predetermined_concubine_tribute_scope 
				}
				scope:predetermined_concubine_tribute_scope = {
					add_character_flag = {
						flag = cannot_be_diarch # just enough to make sure they don't succeed to the diarchy while en route

As written in game/common/scripted_effects/tgp_tribute_mission_scripted_effects.txt.

The first 120 of its 416 lines; the rest is in game/common/scripted_effects/tgp_tribute_mission_scripted_effects.txt from line 47.

Where it is used

Every place in common/, events/ and history/ that calls tribute_mission_decision_effect.

Source: game/common/scripted_effects/tgp_tribute_mission_scripted_effects.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.

Spotted a mistake on this page?