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

Promote … Culture

No costThe AI weighs it

Ask the recipient to adopt the … Culture

What you need

You

To send it

  • … does not have the Nomadic or Herder Government
  • If a check the game hides passes: the same again (1 line)
    • … … Culture is not a Parent Culture of …

    Otherwise

    • … … Culture is not a Parent Culture of …

To see it in the menu

  • If played by the AI:
  • Your domicile:
    • domicile_culture ?= scope:actor.culture
    • domicile_uses_culture_and_faith = yes
  • Your culture:
    • One of these

      • is_divergent_culture = yes
      • or

        is_hybrid_culture = yes

The character you target

To send it

  • Is not imprisoned by you
  • Does not have a Strong Hook on you
  • Is not at war with you

To see it in the menu

  • If

    • Their domicile:
      • domicile_uses_culture_and_faith = yes

    Then

    • domicile.domicile_culture != scope:actor.culture

    Otherwise

    • Their culture is the same as that of actor
  • One of these

    • Is a tributary of you or of your suzerains
    • or

      Is a vassal (or below) of you

Promote … Culture is a diplomatic character interaction in Crusader Kings III. The character you target needs: Is not imprisoned by you, Does not have a Strong Hook on you and Is not at war with you. The AI weighs it. Reasons the AI weighs include They is Obedient to you (+1,000), Your Dominance (+20), Your Dominance (+50) and 5 more. Patch 1.20.1.2, from game/common/character_interactions/09_mpo_interactions.txt.

for a guide, post or blog
Quick answers (2)
What are the requirements for Promote … Culture in CK3?
The character you target: Is not imprisoned by you, Does not have a Strong Hook on you and Is not at war with you. (patch 1.20.1.2)
How do I get the AI to accept Promote … Culture?
The AI weighs it. Its reasons: They is Obedient to you +1,000, … Opinion of …, Your Dominance +20, Your Dominance +50, Your Dominance +100, Spending Herd +60, Spending Prestige +60, Hook used +1,000 and The recipient is a Herder +100.

Will they accept?

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
They is Obedient to you
when
  • The character you target: Is obedient to you
+1,000
… Opinion of …varies
Your Dominance
when
+20
Your Dominance
when
+50
Your Dominance
when
+100
Spending Herd
when
  • The option “herd send option” is chosen
+60
Spending Prestige
when
  • The option “prestige send option” is chosen
+60
Hook used
when
+1,000
The recipient is a Herder
when
  • The character you target: Government is unplayable
+100
Acceptance (ai_accept) (67 lines of game script)
base = -50
modifier = {
	add = 1000
	scope:recipient = {
		is_obedient_to = scope:actor
	}
	desc = MIGRATION_INTERACTION_OBEDIENT_ACCEPTANCE
}
opinion_modifier = {
	opinion_target = scope:actor
	who = scope:recipient
	multiplier = 1
	desc = AI_OPINION_REASON
}
modifier = {
	add = 20
	desc = NOMADIC_AUTHORITY_POSITIVE_REASON
	trigger = {
		scope:actor = {
			has_realm_law = nomadic_authority_3
		}
	}
}
modifier = {
	add = 50
	desc = NOMADIC_AUTHORITY_POSITIVE_REASON
	trigger = {
		scope:actor = {
			has_realm_law = nomadic_authority_4
		}
	}
}
modifier = {
	add = 100
	desc = NOMADIC_AUTHORITY_POSITIVE_REASON
	trigger = {
		scope:actor = {
			has_realm_law = nomadic_authority_5
		}
	}
}
modifier = {
	add = 60
	scope:herd_send_option = yes
	desc = HERD_INTERACTION_ACCEPTANCE_SEND_OPTION
}
modifier = {
	add = 60
	scope:prestige_send_option = yes
	desc = PRESTIGE_INTERACTION_ACCEPTANCE_SEND_OPTION
}
modifier = {
	trigger = {
		scope:hook ?= yes
	}
	add = 1000
	desc = LEGEND_HOOK_USED
}
modifier = {
	add = 100
	desc = CONFEDERATION_HERDER_REASON
	trigger = {
		scope:recipient = {
			government_has_flag = government_is_herder
		}
	}
}

As written in game/common/character_interactions/09_mpo_interactions.txt.

What happens

If they accept

  • The character you target:
    • If

      • Their domicile:
        • domicile_uses_culture_and_faith = yes

      Then

      Otherwise

    • If their culture is the same as that of actor: Adopts the … Culture
    • Opinion: Respect (+10)
  • If

    • The option “prestige send option” is chosen

    Then

  • If

    • The option “herd send option” is chosen

    Then

    • You:
      • pay_herd = { target = scope:recipient value = domicile.minor_herd_value }
  • If

    Then

    • Use a Hook on the target

Options when sending

  • Use a Hook
  • Gift with Herd
  • Impress with Prestige

• 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) (34 lines of game script)
is_available = trigger_if = {
	limit = {
		is_ai = yes
	}
	highest_held_title_tier >= tier_duchy
	government_has_flag = government_is_nomadic
}
is_shown = scope:actor.domicile ?= {
	domicile_culture ?= scope:actor.culture
	domicile_uses_culture_and_faith = yes
}
scope:actor.culture ?= {
	OR = {
		is_divergent_culture = yes
		is_hybrid_culture = yes
	}
}
scope:recipient = {
	trigger_if = {
		limit = {
			domicile ?= {
				domicile_uses_culture_and_faith = yes
			}
		}
		domicile.domicile_culture != scope:actor.culture
	}
	trigger_else = {
		culture != scope:actor.culture
	}
	OR = {
		is_tributary_of_suzerain_or_above = scope:actor
		is_vassal_or_below_of = scope:actor
	}
}

As written in game/common/character_interactions/09_mpo_interactions.txt.

Can be sent when (is_valid…) (40 lines of game script)
scope:recipient = {
	NOR = {
		is_imprisoned_by = scope:actor
		has_strong_hook = scope:actor
		is_at_war_with = scope:actor
	}
}
NOT = {
	custom_tooltip = {
		text = not_a_nomad_or_herder_tt
		scope:recipient = {
			NOT = {
				government_has_flag = government_is_in_steppe
			}
		}
	}
}
trigger_if = {
	limit = {
		exists = scope:recipient.domicile
	}
	custom_tooltip = {
		text = not_a_parent_culture_of_domicile_tt
		scope:actor.culture = {
			any_parent_culture_or_above = {
				this = scope:recipient.domicile.domicile_culture
			}
		}
	}
}
trigger_else = {
	custom_tooltip = {
		text = not_a_parent_culture_tt
		scope:actor.culture = {
			any_parent_culture_or_above = {
				this = scope:recipient.culture
			}
		}
	}
}

As written in game/common/character_interactions/09_mpo_interactions.txt.

Effects (on_send, on_accept, on_decline) (107 lines of game script)
on_accept = scope:actor = {
	send_interface_toast = {
		type = event_toast_effect_good
		title = promote_culture_accepted_tt
		left_icon = scope:recipient
		scope:recipient = {
			if = {
				limit = {
					domicile ?= {
						domicile_uses_culture_and_faith = yes
					}
				}
				custom_tooltip = {
					text = family_and_lands_convert_domicile_tt
					every_held_title = {
						limit = {
							tier = tier_county
							is_landless_type_title = no
							culture = scope:recipient.domicile.domicile_culture
						}
						add_to_list = counties_to_convert
					}
					every_close_or_extended_family_member = {
						limit = {
							is_courtier_of = scope:recipient
							culture = scope:recipient.domicile.domicile_culture
						}
						add_to_list = spouses_and_family_to_convert
					}
					domicile = {
						set_domicile_culture = scope:actor.culture
					}
				}
			}
			else = {
				custom_tooltip = {
					text = family_and_lands_convert_tt
					every_held_title = {
						limit = {
							tier = tier_county
							is_landless_type_title = no
							culture = scope:recipient.culture
						}
						add_to_list = counties_to_convert
					}
					every_close_or_extended_family_member = {
						limit = {
							is_courtier_of = scope:recipient
							culture = scope:recipient.culture
						}
						add_to_list = spouses_and_family_to_convert
					}
				}
			}
			if = {
				limit = {
					culture != scope:actor.culture
				}
				set_culture = scope:actor.culture
			}
			hidden_effect = {
				every_in_list = {
					list = counties_to_convert
					set_county_culture = scope:actor.culture
				}
				every_in_list = {
					list = spouses_and_family_to_convert
					set_culture = scope:actor.culture
				}
			}
			add_opinion = {
				modifier = respect_opinion
				opinion = 10
				target = scope:actor
			}
		}
	}
	if = {
		limit = {
			scope:prestige_send_option = yes
		}
		scope:actor = {
			add_prestige = scope:actor.minor_prestige_loss
		}
		scope:recipient = {
			add_prestige = scope:actor.minor_prestige_value
		}
	}
	if = {
		limit = {
			scope:herd_send_option = yes
		}
		scope:actor = {
			pay_herd = {
				target = scope:recipient
				value = domicile.minor_herd_value
			}
		}
	}
	if = {
		limit = {
			scope:hook = yes
		}
		use_hook = scope:recipient
	}
}
on_decline = scope:actor = { }

As written in game/common/character_interactions/09_mpo_interactions.txt.

Category
Diplomatic actions
In the menu
main list
ID
promote_divergent_or_hybrid_culture_interaction

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