Interaction · Friendly actions
Share Secrets
Exchange known Secrets with the recipient: reveal yours and learn their
What you need
You
To send it
- You feel there are no suitable secrets to share
To see it in the menu
- If played by the AI:
- Your dynasty: The Dynasty has the Shared Information Legacy
- Prestige more than 350
- Your dynasty: The Dynasty has the Shared Information Legacy
- Is of the same house as the target
Share Secrets is a friendly character interaction in Crusader Kings III. You need: You feel there are no suitable secrets to share. Accepted automatically in some cases; otherwise the AI weighs it. Reasons the AI weighs include Weak Hook used (+100), Intrigue Education Trait (+20), Honest (-100) and 5 more. Patch 1.20.1.2, from game/common/character_interactions/03_fp2_interactions.txt.
Quick answers (2)
- What are the requirements for Share Secrets in CK3?
- You: You feel there are no suitable secrets to share. (patch 1.20.1.2)
- How do I get the AI to accept Share Secrets?
- Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: Weak Hook used +100, Intrigue Education Trait +20, Honest -100, Just -50, Paranoid -50, Fickle +100, Deceitful +100 and Ambitious +25.
Will they accept?
Accepted automatically when:
- They use their Hook on …
Otherwise the AI adds these up and accepts above zero. Reasons in italics are the script's, with no label in the game.
| Reason | Amount |
|---|---|
| Base | +10 |
Weak Hook usedwhen
| +100 |
Intrigue Education Traitwhen
| +20 |
| Honest | -100 |
| Just | -50 |
| Paranoid | -50 |
| Fickle | +100 |
| Deceitful | +100 |
| Ambitious | +25 |
Acceptance (ai_accept) (45 lines of game script)
base = 10
modifier = {
trigger = {
always = scope:hook
}
add = 100
desc = SCHEME_WEAK_HOOK_USED
}
modifier = {
trigger = {
has_education_intrigue_trigger = yes
}
add = 20
desc = INTERACTION_INTRIGUE_EDUCATION
}
modifier = {
add = -100
has_trait = honest
desc = INTERACTION_HONEST
}
modifier = {
add = -50
has_trait = just
desc = INTERACTION_JUST
}
modifier = {
add = -50
has_trait = paranoid
desc = INTERACTION_PARANOID
}
modifier = {
add = 100
has_trait = fickle
desc = INTERACTION_FICKLE
}
modifier = {
add = 100
has_trait = deceitful
desc = INTERACTION_DECEITFUL
}
modifier = {
add = 25
has_trait = ambitious
desc = INTERACTION_AMBITIOUS
}As written in game/common/character_interactions/03_fp2_interactions.txt.
What happens
If they accept
- Stress and fulfillment impact: by trait: Honest +20, Just +20, Compassionate +20
- The character you target:
If
Then
- Your house:
add_unity_value = { … }
- Your house:
Options when sending
- 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) (15 lines of game script)
is_available = trigger_if = {
limit = {
is_ai = yes
}
dynasty ?= {
has_dynasty_perk = fp2_coterie_legacy_4
}
prestige > major_prestige_value
}
is_shown = scope:puppet_or_actor ?= {
dynasty ?= {
has_dynasty_perk = fp2_coterie_legacy_4
}
house ?= scope:recipient.house
}As written in game/common/character_interactions/03_fp2_interactions.txt.
Can be sent when (is_valid…) (22 lines of game script)
custom_tooltip = {
text = share_known_secrets_interaction.tt.no_secrets_to_share
scope:puppet_or_actor = {
any_known_secret = { }
}
OR = {
scope:puppet_or_actor = {
any_known_secret = {
NOT = {
is_known_by = scope:recipient
}
}
}
scope:recipient = {
any_known_secret = {
NOT = {
is_known_by = scope:puppet_or_actor
}
}
}
}
}As written in game/common/character_interactions/03_fp2_interactions.txt.
Effects (on_send, on_accept, on_decline) (237 lines of game script)
on_accept = scope:puppet_or_actor = {
if = {
limit = {
scope:recipient = {
any_known_secret = {
count >= 7
NOT = {
is_known_by = scope:puppet_or_actor
}
}
}
}
add_prestige = major_prestige_loss
custom_description = {
text = many_secrets_exchanged
}
}
else_if = {
limit = {
scope:recipient = {
any_known_secret = {
count >= 3
NOT = {
is_known_by = scope:puppet_or_actor
}
}
}
}
add_prestige = medium_prestige_loss
custom_description = {
text = several_secrets_exchanged
}
}
else = {
add_prestige = minor_prestige_loss
custom_description = {
text = few_secrets_exchanged
}
}
stress_and_fulfillment_impact = {
honest = minor_stress_impact_gain
just = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
}
}
scope:recipient = {
if = {
limit = {
scope:puppet_or_actor = {
any_known_secret = {
count >= 7
NOT = {
is_known_by = scope:recipient
}
OR = {
NOR = {
secret_owner = scope:recipient
AND = {
exists = secret_target
secret_target = scope:recipient
}
}
scope:recipient = {
OR = {
has_trait = dull
has_trait = intellect_bad
has_trait = contrite
}
}
}
}
}
}
add_prestige = major_prestige_loss
custom_description = {
text = many_secrets_exchanged
}
}
else_if = {
limit = {
scope:puppet_or_actor = {
any_known_secret = {
count >= 3
NOT = {
is_known_by = scope:recipient
}
OR = {
NOR = {
secret_owner = scope:puppet_or_actor
AND = {
exists = secret_target
secret_target = scope:puppet_or_actor
}
}
scope:puppet_or_actor = {
OR = {
has_trait = dull
has_trait = intellect_bad
has_trait = contrite
}
}
}
}
}
}
add_prestige = medium_prestige_loss
custom_description = {
text = several_secrets_exchanged
}
}
else = {
add_prestige = minor_prestige_loss
custom_description = {
text = few_secrets_exchanged
}
}
stress_and_fulfillment_impact = {
honest = minor_stress_impact_gain
just = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
}
}
hidden_effect = {
scope:recipient = {
save_scope_as = END_TARGET
}
scope:puppet_or_actor = {
if = {
limit = {
scope:recipient = {
any_known_secret = {
NOT = {
is_known_by = scope:puppet_or_actor
}
OR = {
NOR = {
secret_owner = scope:recipient
AND = {
exists = secret_target
secret_target = scope:recipient
}
}
scope:recipient = {
OR = {
has_trait = dull
has_trait = intellect_bad
has_trait = contrite
}
}
}
count = 0
}
}
}
send_interface_message = {
type = event_intrigue_bad_with_text
title = share_known_secrets_interaction_outcome_notif_title
desc = share_known_secrets_interaction_recipient_had_no_secrets
left_icon = scope:recipient
}
if = {
limit = {
scope:is_puppet_action ?= yes
scope:actor != scope:recipient
}
scope:actor = {
send_interface_message = {
type = event_intrigue_bad_with_text
title = share_known_secrets_interaction_outcome_notif_title_puppeteer
desc = share_known_secrets_interaction_recipient_had_no_secrets_puppeteer
left_icon = scope:recipient
right_icon = scope:puppet_or_actor
}
}
}
}
else = {
send_interface_message = {
type = event_intrigue_good_with_text
title = share_known_secrets_interaction_outcome_notif_title
desc = share_known_secrets_interaction_desc_intro
left_icon = scope:recipient
scope:recipient = {
every_known_secret = {
limit = {
NOT = {
is_known_by = scope:puppet_or_actor
}
OR = {
NOR = {
secret_owner = scope:recipient
AND = {
exists = secret_target
secret_target = scope:recipient
}
}
scope:recipient = {
OR = {
has_trait = dull
has_trait = intellect_bad
has_trait = contrite
}
}
}
}
reveal_to = scope:puppet_or_actor
}
}
}
if = {
limit = {
scope:is_puppet_action ?= yes
scope:actor != scope:recipient
}
scope:actor = {
send_interface_message = {
type = event_intrigue_good_with_text
title = share_known_secrets_interaction_outcome_notif_title_puppeteer
desc = share_known_secrets_interaction_desc_intro_puppeteer
left_icon = scope:recipient
right_icon = scope:puppet_or_actor
}
}
}
}
}
scope:puppet_or_actor = {
save_scope_as = END_TARGET
}
scope:recipient = {
if = {
limit = {
scope:puppet_or_actor = {
any_known_secret = {
NOT = {
# … (cut here; the rest is in the file)As written in game/common/character_interactions/03_fp2_interactions.txt.
- Category
- Friendly actions
- In the menu
- main list
- ID
share_known_secrets_interaction
Source: game/common/character_interactions/03_fp2_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.