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

Interaction · Uncategorized actions

Select Concubine Tribute

No costAccepted automatically in some cases; otherwise the AI weighs itnot in the character menu

What you need

The files set no condition the game shows: it is in the menu for anyone you can interact with.

Which character you can pick

Select Concubine Tribute is an uncategorized character interaction in Crusader Kings III. Accepted automatically in some cases; otherwise the AI weighs it. Reasons the AI weighs include The character you send is Noble (+50), Your Candidate is Lowborn with no positive Congenital Traits (-50), The recipient's Faith does not accept Same-Sex Relations (-1,000) and 15 more. Patch 1.20.1.2, from game/common/character_interactions/tgp_tribute_mission_interactions.txt.

for a guide, post or blog
Quick answers (1)
How do I get the AI to accept Select Concubine Tribute?
Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: Positive Congenital Traits, The character you send is Noble +50, Negative Congenital Traits, Your Candidate is Lowborn with no positive Congenital Traits -50, … Opinion of …, … Opinion of …, Age Considerations, The recipient's Faith does not accept Same-Sex Relations -1,000, The recipient has no Heir, and the union will have no Fertility -200, The recipient is attracted to the other character +50, Rank Difference +20, Rank Difference +30, Rank Difference +40, Rank Difference +50, Rank Difference +60, Rank Difference -20, Rank Difference -30, Rank Difference -40, Rank Difference -50, Rank Difference -60, The character you send has a sexually transmitted disease -250, The character you send has a contagious disease -250, The character you send is infertile -5,000 and Wants to increase House Unity.

Will they accept?

Accepted automatically when:

  • One of these

    • You: Subject Standing at least 0
    • or

      The character you target: Is played by a person

Otherwise the AI adds these up and accepts above zero. Reasons in italics are the script's, with no label in the game.

ReasonAmount
Base+50
Positive Congenital Traits
when
  • The other character:
    • Num of good genetic traits more than 0
    • If

      • is_female = yes

      Then

      • Not all of these

varies
The character you send is Noble
when
  • The other character:
    • Not: Is Lowborn
    • If

      • is_female = yes

      Then

      • Not all of these

+50
Negative Congenital Traits
when
  • The other character:
    • One of these

      • Num of bad genetic traits more than 0
    • If

      • is_female = yes

      Then

      • Not all of these

varies
Your Candidate is Lowborn with no positive Congenital Traits
when
  • The other character:
    • Is Lowborn
    • num_of_good_genetic_traits = 0
    • If

      • is_female = yes

      Then

      • Not all of these

-50
… Opinion of …varies
… Opinion of …varies
Age Considerations
when
  • step = 1
  • offset = -29
  • The other character:
    • Not all of these

    • is_female = yes
age
The recipient's Faith does not accept Same-Sex Relations
when
  • The character you target:
    • Not all of these

      • Game rule set to “Accepted”
      • Their rite: The rite has Same-sex relationships are fully accepted
    • sex_same_as = scope:secondary_recipient
-1,000
The recipient has no Heir, and the union will have no Fertility
when
  • The character you target:
    • Game rule set to “Accepted”
    • Their rite: The rite has Same-sex relationships are fully accepted
    • sex_same_as = scope:secondary_recipient
    • If

      • None of these

        • Any consort:
          • sex_opposite_of = scope:recipient
          • Fertility more than 0.1

      Then

      • Any child: Is your player heir

      Otherwise

      • Never
-200
The recipient is attracted to the other character
when
  • The character you target:
    • is_attracted_to_gender_of = scope:secondary_recipient
+50
Rank Difference
when
  • tier_difference = { target = scope:recipient value = 1 }
+20
Rank Difference
when
  • tier_difference = { target = scope:recipient value = 2 }
+30
Rank Difference
when
  • tier_difference = { target = scope:recipient value = 3 }
+40
Rank Difference
when
  • tier_difference = { target = scope:recipient value = 4 }
+50
Rank Difference
when
  • tier_difference = { target = scope:recipient value = 5 }
+60
Rank Difference
when
  • tier_difference = { target = scope:recipient value = -1 }
-20
Rank Difference
when
  • tier_difference = { target = scope:recipient value = -2 }
-30
Rank Difference
when
  • tier_difference = { target = scope:recipient value = -3 }
-40
Rank Difference
when
  • tier_difference = { target = scope:recipient value = -4 }
-50
Rank Difference
when
  • tier_difference = { target = scope:recipient value = -5 }
-60
The character you send has a sexually transmitted disease
when
-250
The character you send has a contagious disease
when
  • The other character: Has one of the traits: Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux, Holy Fire
-250
The character you send is infertile
when
  • The other character: Fertility at most 0
-5,000
Wants to increase House Unity
when
varies
Acceptance (ai_accept) (257 lines of game script)
base = 50
modifier = {
	add = {
		value = 50
		multiply = scope:secondary_recipient.num_of_good_genetic_traits
	}
	scope:secondary_recipient = {
		num_of_good_genetic_traits > 0
		trigger_if = {
			limit = {
				is_female = yes
			}
			is_aging_character = no
		}
	}
	desc = AI_POSITIVE_TRAIT_REASON
}
modifier = {
	add = {
		value = 50
	}
	scope:secondary_recipient = {
		is_lowborn = no
		trigger_if = {
			limit = {
				is_female = yes
			}
			is_aging_character = no
		}
	}
	desc = AI_DYNASTY_PRESTIGE_REASON_NOBLE
}
modifier = {
	add = {
		value = -50
		multiply = scope:secondary_recipient.num_of_bad_genetic_traits
	}
	scope:secondary_recipient = {
		OR = {
			num_of_bad_genetic_traits > 0
		}
		trigger_if = {
			limit = {
				is_female = yes
			}
			is_aging_character = no
		}
	}
	desc = AI_NEGATIVE_TRAIT_REASON
}
modifier = {
	add = {
		value = -50
	}
	scope:secondary_recipient = {
		is_lowborn = yes
		num_of_good_genetic_traits = 0
		trigger_if = {
			limit = {
				is_female = yes
			}
			is_aging_character = no
		}
	}
	desc = AI_DYNASTY_PRESTIGE_REASON_LOWBORN_NO_POSITIVE_TRAIT
}
opinion_modifier = {
	who = scope:recipient
	opinion_target = scope:actor
	multiplier = 1.0
	desc = AI_OPINION_REASON
}
opinion_modifier = {
	who = scope:recipient
	opinion_target = scope:secondary_recipient
	multiplier = 0.25
	desc = AI_OPINION_REASON
}
compare_modifier = {
	trigger = {
		scope:secondary_recipient = {
			is_young_character = no
			is_female = yes
		}
	}
	target = scope:secondary_recipient
	value = age
	multiplier = -5.0
	step = 1
	offset = -29
	desc = MARRY_AGE
}
modifier = {
	add = -1000
	scope:recipient = {
		allowed_to_marry_same_sex_trigger = no
		sex_same_as = scope:secondary_recipient
	}
	desc = SAME_SEX_MARRIAGE_FAITH_REASON_RECIPIENT
}
modifier = {
	add = -200
	scope:recipient = {
		allowed_to_marry_same_sex_trigger = yes
		sex_same_as = scope:secondary_recipient
		trigger_if = {
			limit = {
				NOT = {
					any_consort = {
						can_have_children_with = {
							CHARACTER = scope:recipient
						}
						fertility > 0.1
					}
				}
			}
			any_child = {
				is_player_heir_of = root
			}
		}
		trigger_else = {
			always = no
		}
	}
	desc = AI_NO_FERTILITY_REASON
}
modifier = {
	add = 50
	scope:recipient = {
		is_attracted_to_gender_of = scope:secondary_recipient
	}
	desc = AI_ATTRACTION_REASON
}
modifier = {
	add = 20
	scope:actor = {
		tier_difference = {
			target = scope:recipient
			value = 1
		}
	}
	desc = AI_RANK_DIFF
}
modifier = {
	add = 30
	scope:actor = {
		tier_difference = {
			target = scope:recipient
			value = 2
		}
	}
	desc = AI_RANK_DIFF
}
modifier = {
	add = 40
	scope:actor = {
		tier_difference = {
			target = scope:recipient
			value = 3
		}
	}
	desc = AI_RANK_DIFF
}
modifier = {
	add = 50
	scope:actor = {
		tier_difference = {
			target = scope:recipient
			value = 4
		}
	}
	desc = AI_RANK_DIFF
}
modifier = {
	add = 60
	scope:actor = {
		tier_difference = {
			target = scope:recipient
			value = 5
		}
	}
	desc = AI_RANK_DIFF
}
modifier = {
	add = -20
	scope:actor = {
		tier_difference = {
			target = scope:recipient
			value = -1
		}
	}
	desc = AI_RANK_DIFF
}
modifier = {
	add = -30
	scope:actor = {
		tier_difference = {
			target = scope:recipient
			value = -2
		}
	}
	desc = AI_RANK_DIFF
}
modifier = {
	add = -40
	scope:actor = {
		tier_difference = {
			target = scope:recipient
			value = -3
		}
	}
	desc = AI_RANK_DIFF
}
modifier = {
	add = -50
	scope:actor = {
		tier_difference = {
			target = scope:recipient
			value = -4
		}
	}
	desc = AI_RANK_DIFF
}
modifier = {
	add = -60
	scope:actor = {
		tier_difference = {
			target = scope:recipient
			value = -5
		}
	}
	desc = AI_RANK_DIFF
}
modifier = {
	add = -250
	scope:secondary_recipient = {
		has_std_trigger = yes
	}
	desc = AI_STD_REASON
}
modifier = {
	add = -250
	scope:secondary_recipient = {
		has_epidemic_disease_trigger = yes
	}
	desc = AI_CONTAGIOUS_REASON
}
modifier = {
	add = -5000
	scope:secondary_recipient = {
		fertility <= 0
	}
	desc = AI_FERTILITY_REASON
}
evaluate_action_increasing_house_unity = {
	VALUE = 100
}

As written in game/common/character_interactions/tgp_tribute_mission_interactions.txt.

What happens

If they accept

  • … will join … Court with the potential of becoming a Concubine
  • If your Government uses the Mandala Capital Temple Complex Great Project and Great Building:
    • overlord = { add_piety = minor_piety_gain }
  • Otherwise:
    • error_log = Tribute mission target scope variable not set on character intending to travel!
  • trigger_event = { on_action = tribute_mission_start }
  • If

    • location = scope:tribute_mission_target.capital_province

    Then

  • Else, if has “offered concubine” (a variable the game's script sets): Sets out on a journey (a travel plan)
  • Else, if has “offered eunuch” (a variable the game's script sets): Sets out on a journey (a travel plan)
  • Otherwise:
    • Start traveling to … Capital in …
    • Sets out on a journey (a travel plan)

Events it fires: tribute_mission.0002

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

Effects (on_send, on_accept, on_decline) (25 lines of game script)
on_accept = scope:actor = {
	set_variable = {
		name = tribute_mission_type
		value = flag:concubine_tribute
	}
	set_variable = {
		name = offered_concubine
		value = scope:secondary_recipient
	}
	scope:secondary_recipient = {
		add_character_flag = {
			flag = cannot_be_diarch
			years = 2
		}
		set_variable = {
			name = can_not_marry
			years = 2
		}
	}
	custom_tooltip = tribute_mission_concubine_interaction.tooltip
	show_as_tooltip = {
		tribute_mission_mandala_piety_effect = yes
	}
	tribute_mission_set_up_tribute_travel_effect = yes
}

As written in game/common/character_interactions/tgp_tribute_mission_interactions.txt.

Category
Uncategorized actions
In the menu
no (opened from elsewhere)
ID
tribute_mission_concubine_interaction

Source: game/common/character_interactions/tgp_tribute_mission_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?