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

Interaction · Diplomatic actions

Ask to Promote Legend

No costThe AI weighs it (the answer is partly random)

Request that the recipient become a Promoter of your Legend.

What you need

You

To send it

  • … needs to either be of the … dynasty, be a Friend or Lover of …, owner of a County neighboring the Legend, or know the … language, to be able to spread the Legend

To see it in the menu

  • If played by the AI: Is available (not imprisoned, not incapable)
  • root.promoted_legend.legend_owner ?= scope:puppet_or_actor

The character you target

To send it

  • … is already spreading a Legend

To see it in the menu

  • Is landed
  • Is at least 12 years old
  • Is available (not imprisoned, not incapable)
  • Their government is not unplayable

Ask to Promote Legend is a diplomatic character interaction in Crusader Kings III. The AI weighs it (the answer is partly random). Reasons the AI weighs include Tier (Count) (-5), Tier (Duke) (-10), Tier (King) (-20) and 17 more. Patch 1.20.1.2, from game/common/character_interactions/00_ce1_interactions.txt.

for a guide, post or blog
Quick answers (1)
How do I get the AI to accept Ask to Promote Legend?
The AI weighs it (the answer is partly random). Its reasons: Tier (Count) -5, Tier (Duke) -10, Tier (King) -20, Tier (Emperor) -30, Illustrious Legend +10, Mythical Legend +20, Hook used +100, Gold sent +40, … Opinion of …, The recipient is Ambitious -15, The recipient is Content +5, The recipient is Stubborn -10, The recipient is Arrogant -10, The recipient is Humble +10, The recipient is Trusting +15, The recipient is Paranoid -10, Intimidated by you, Terrified of you, Fighting a War -50, Cost is higher than Income -100, Cost is higher than Income -100, Cost is higher than Income -100 and Is your Patron +25.

Will they accept?

The AI adds these up and accepts above zero; near zero the answer is partly random (ai_maybe). Reasons in italics are the script's, with no label in the game.

ReasonAmount
Base-10
Tier (Count)
when
  • The target’s primary title: Title tier exactly 2
-5
Tier (Duke)
when
  • The target’s primary title: Title tier exactly 3
-10
Tier (King)
when
  • The target’s primary title: Title tier exactly 4
-20
Tier (Emperor)
when
  • The target’s primary title: Title tier exactly 5
-30
Illustrious Legend
when
  • promoted_legend = { legend_quality = illustrious }
+10
Mythical Legend
when
  • promoted_legend = { legend_quality = mythical }
+20
Hook used
when
+100
Gold sent
when
  • The option “gold cost” is chosen
+40
… Opinion of …varies
The recipient is Ambitious
when
-15
The recipient is Content
when
+5
The recipient is Stubborn
when
-10
The recipient is Arrogant
when
-10
The recipient is Humble
when
+10
The recipient is Trusting
when
+15
The recipient is Paranoid
when
-10
Intimidated by you
when
  • The character you target:
    • has_dread_level_towards = { target = scope:puppet_or_actor level = 1 }
intimidated_halved_reason_value
Terrified of you
when
  • The character you target:
    • has_dread_level_towards = { target = scope:puppet_or_actor level = 2 }
cowed_halved_reason_value
Fighting a War
when
  • The character you target: Is at War
-50
Cost is higher than Income
when
  • root.promoted_legend = { legend_quality = famed }
  • The character you target:
    • monthly_character_income < famed_legend_promoter_cost
-100
Cost is higher than Income
when
  • root.promoted_legend = { legend_quality = illustrious }
  • The character you target:
    • monthly_character_income < illustrious_legend_promoter_cost
-100
Cost is higher than Income
when
  • root.promoted_legend = { legend_quality = mythical }
  • The character you target:
    • monthly_character_income < mythical_legend_promoter_cost
-100
Is your Patron
when
  • The character you target:
    • is_contact_of = scope:puppet_or_actor
+25
Acceptance (ai_accept) (180 lines of game script)
base = -10
modifier = {
	add = -5
	scope:recipient.primary_title = {
		tier = 2
	}
	desc = TIER_REASON_COUNT
}
modifier = {
	add = -10
	scope:recipient.primary_title = {
		tier = 3
	}
	desc = TIER_REASON_DUKE
}
modifier = {
	add = -20
	scope:recipient.primary_title = {
		tier = 4
	}
	desc = TIER_REASON_KING
}
modifier = {
	add = -30
	scope:recipient.primary_title = {
		tier = 5
	}
	desc = TIER_REASON_EMPEROR
}
modifier = {
	add = 10
	desc = REASON_ILLUSTRIOUS_LEGEND
	scope:puppet_or_actor = {
		promoted_legend = {
			legend_quality = illustrious
		}
	}
}
modifier = {
	add = 20
	desc = REASON_MYTHICAL_LEGEND
	scope:puppet_or_actor = {
		promoted_legend = {
			legend_quality = mythical
		}
	}
}
modifier = {
	trigger = {
		scope:hook ?= yes
	}
	add = 100
	desc = LEGEND_HOOK_USED
}
modifier = {
	trigger = {
		scope:gold_cost ?= yes
	}
	add = 40
	desc = TRADE_GOLD_FOR_BETTER_AI_ACCEPTANCE_TT
}
opinion_modifier = {
	who = scope:recipient
	opinion_target = scope:puppet_or_actor
	multiplier = 1
	desc = AI_OPINION_REASON
}
modifier = {
	desc = DEMAND_SUBMISSION_RECIPIENT_IS_AMBITIOUS
	add = -15
	scope:recipient = {
		has_trait = ambitious
	}
}
modifier = {
	desc = DEMAND_SUBMISSION_RECIPIENT_IS_CONTENT
	add = 5
	scope:recipient = {
		has_trait = content
	}
}
modifier = {
	desc = DEMAND_SUBMISSION_RECIPIENT_IS_STUBBORN
	add = -10
	scope:recipient = {
		has_trait = stubborn
	}
}
modifier = {
	desc = DEMAND_SUBMISSION_RECIPIENT_IS_ARROGANT
	add = -10
	scope:recipient = {
		has_trait = arrogant
	}
}
modifier = {
	desc = DEMAND_SUBMISSION_RECIPIENT_IS_HUMBLE
	add = 10
	scope:recipient = {
		has_trait = humble
	}
}
modifier = {
	desc = DEMAND_SUBMISSION_RECIPIENT_IS_TRUSTING
	add = 15
	scope:recipient = {
		has_trait = trusting
	}
}
modifier = {
	desc = DEMAND_SUBMISSION_RECIPIENT_IS_PARANOID
	add = -10
	scope:recipient = {
		has_trait = paranoid
	}
}
modifier = {
	add = intimidated_halved_reason_value
	scope:recipient = {
		has_dread_level_towards = {
			target = scope:puppet_or_actor
			level = 1
		}
	}
	desc = INTIMIDATED_REASON
}
modifier = {
	add = cowed_halved_reason_value
	scope:recipient = {
		has_dread_level_towards = {
			target = scope:puppet_or_actor
			level = 2
		}
	}
	desc = COWED_REASON
}
modifier = {
	add = -50
	scope:recipient = {
		is_at_war = yes
	}
	desc = HOSTAGE_AT_WAR_REASON
}
modifier = {
	add = -100
	scope:puppet_or_actor.promoted_legend = {
		legend_quality = famed
	}
	scope:recipient = {
		monthly_character_income < famed_legend_promoter_cost
	}
	desc = TOO_HIGH_PROMOTER_MAINTENANCE_REASON
}
modifier = {
	add = -100
	scope:puppet_or_actor.promoted_legend = {
		legend_quality = illustrious
	}
	scope:recipient = {
		monthly_character_income < illustrious_legend_promoter_cost
	}
	desc = TOO_HIGH_PROMOTER_MAINTENANCE_REASON
}
modifier = {
	add = -100
	scope:puppet_or_actor.promoted_legend = {
		legend_quality = mythical
	}
	scope:recipient = {
		monthly_character_income < mythical_legend_promoter_cost
	}
	desc = TOO_HIGH_PROMOTER_MAINTENANCE_REASON
}
modifier = {
	add = 25
	scope:recipient = {
		is_contact_of = scope:puppet_or_actor
	}
	desc = IS_CONTACT_REASON
}

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

What happens

If they accept

  • If

    Then

    • Use a Hook on the target
  • If

    • The option “gold cost” is chosen

    Then

    • Pay gold to the target
  • The character you target:
    • set_promoted_legend = scope:puppet_or_actor.promoted_legend

Options when sending

  • Send Gold
  • Use a Hook

• 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) (17 lines of game script)
is_available = trigger_if = {
	limit = {
		is_ai = yes
	}
	is_physically_able = yes
}
is_shown = scope:puppet_or_actor.promoted_legend.legend_owner ?= scope:puppet_or_actor
exists = scope:puppet_or_actor
scope:puppet_or_actor != scope:recipient
scope:recipient = {
	is_landed = yes
	age >= 12
	is_physically_able = yes
	NOT = {
		government_has_flag = government_is_herder
	}
}

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

Can be sent when (is_valid…) (31 lines of game script)
scope:recipient = {
	custom_tooltip = {
		text = recipient_already_promoting_legend_tt
		NOT = {
			exists = promoted_legend
		}
	}
}
custom_tooltip = {
	text = recipient_close_or_neighbor_tt
	OR = {
		scope:recipient.dynasty = scope:puppet_or_actor.dynasty
		scope:recipient = {
			knows_language_of_culture = scope:puppet_or_actor.culture
		}
		scope:puppet_or_actor = {
			has_any_moderate_good_relationship_with_character_trigger = {
				CHARACTER = scope:recipient
			}
		}
		scope:recipient = {
			any_character_to_title_neighboring_county = {
				any_county_province = {
					any_province_legend = {
						this = scope:puppet_or_actor.promoted_legend
					}
				}
			}
		}
	}
}

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

Effects (on_send, on_accept, on_decline) (72 lines of game script)
on_accept = scope:puppet_or_actor.promoted_legend = {
	save_scope_as = promoted_legend
}
scope:puppet_or_actor = {
	send_interface_toast = {
		type = event_toast_effect_good
		title = ce1_ask_to_promote_legend_acceptance_tt
		left_icon = scope:puppet_or_actor
		right_icon = scope:recipient
		if = {
			limit = {
				scope:hook = yes
			}
			use_hook = scope:recipient
		}
		if = {
			limit = {
				scope:gold_cost = yes
			}
			pay_short_term_gold = {
				target = scope:recipient
				gold = medium_gold_value
			}
			promoted_legend = {
				add_to_variable_list = {
					name = accepted_promote_legend_var
					target = scope:recipient
					years = 10
				}
			}
		}
		scope:recipient = {
			set_promoted_legend = scope:puppet_or_actor.promoted_legend
		}
	}
}
if = {
	limit = {
		scope:is_puppet_action ?= yes
		scope:actor != scope:recipient
	}
	scope:actor = {
		send_interface_toast = {
			type = event_toast_effect_good
			title = ce1_ask_to_promote_legend_acceptance_tt_puppeteer
			left_icon = scope:puppet_or_actor
			right_icon = scope:recipient
		}
	}
}
on_decline = scope:puppet_or_actor = {
	send_interface_toast = {
		type = event_toast_effect_bad
		title = ce1_ask_to_promote_legend_decline_tt
		left_icon = scope:puppet_or_actor
		right_icon = scope:recipient
	}
}
if = {
	limit = {
		scope:is_puppet_action ?= yes
		scope:actor != scope:recipient
	}
	scope:actor = {
		send_interface_toast = {
			type = event_toast_effect_bad
			title = ce1_ask_to_promote_legend_decline_tt_puppeteer
			left_icon = scope:puppet_or_actor
			right_icon = scope:recipient
		}
	}
}

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

Category
Diplomatic actions
Again on the same character
after 5 years
In the menu
under More…
ID
ce1_ask_to_promote_legend_interaction

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