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

Interaction · Hostile actions

Expose a Secret

No costAccepted automatically

Exposing a secret destroys all Hooks given by selected Secret

What you need

The character you target

  • Any secret: Is known by you
  • Age more than 10

Expose a Secret is a hostile character interaction in Crusader Kings III. Accepted automatically. Patch 1.20.1.2, from game/common/character_interactions/00_character_interactions.txt.

for a guide, post or blog
Quick answers (1)
Will the AI accept Expose a Secret?
Yes: it is accepted automatically.

Will they accept?

The other character has no choice: the game accepts it automatically.

What happens

Effects

  • If

    Then

    • add_prestige = { … }
  • If a check the game hides passes: the same again (1 line)
    • The target:
      • expose_secret = scope:puppet_or_actor

    Otherwise

    • Every known secret:
      • Where:
        • secret_owner = scope:recipient
      • expose_secret = scope:puppet_or_actor
  • If

    • Holds Ministry of Justice
    • top_participant_group:dynastic_cycle:
      • NOT = { participant_group_type = other_rulers }
    • One of these

      • The character you target › top_participant_group:dynastic_cycle:
        • NOT = { participant_group_type = other_rulers }
      • or

        The target’s secret target › top_participant_group:dynastic_cycle:
        • NOT = { participant_group_type = other_rulers }

    Then

  • If

    • None of these

      • One of these

        • has_fulfillment_parameter = sp_hostile_schemes_minus_murder_no_sp_or_stress_loss
        • or

          has_fulfillment_parameter = sp_hostile_schemes_minus_murder_no_stress_loss

    Then

    • Stress and fulfillment impact: by trait: Honest -15, Just -15, Shy +10
  • The character you target: Stress and fulfillment impact: by trait: Honest -15, Just -15, Deceitful +20
  • If

    • You: Government is Clan
    • The character you target: Government is Clan
    • Your house is the target’s
    • If

      • You are not the target

      Then

      • You are not the target

    Then

    • Your house:
      • add_unity_value = { … }

    Else if

    • No
    • You: Government is Clan
    • Your house: Has you as house head
    • One of these

      • All of these

        • exists = scope:recipient.house
        • Your house is not the target’s
      • or

        The character you target: Is Lowborn

    Then

    • Your house:
      • add_unity_value = { … }

• 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) (8 lines of game script)
is_shown = exists = scope:puppet_or_actor
scope:recipient = {
	any_secret = {
		is_known_by = scope:puppet_or_actor
	}
	this != scope:puppet_or_actor
	age > 10
}

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

Effects (on_send, on_accept, on_decline) (107 lines of game script)
on_accept = scope:puppet_or_actor = {
	if = {
		limit = {
			is_landless_adventurer = yes
			has_perk = court_of_shadows_perk
		}
		add_prestige = {
			value = 100
			multiply = {
				value = scope:recipient.highest_held_title_tier
				add = 1
			}
			min = 50
		}
	}
	if = {
		limit = {
			exists = scope:target
		}
		scope:target = {
			expose_secret = scope:puppet_or_actor
		}
	}
	else = {
		every_known_secret = {
			limit = {
				secret_owner = scope:recipient
			}
			expose_secret = scope:puppet_or_actor
		}
	}
	if = {
		limit = {
			has_title = title:e_minister_of_justice
			top_participant_group:dynastic_cycle ?= {
				NOT = {
					participant_group_type = other_rulers
				}
			}
			OR = {
				scope:recipient = {
					top_participant_group:dynastic_cycle ?= {
						NOT = {
							participant_group_type = other_rulers
						}
					}
				}
				scope:target.secret_target = {
					top_participant_group:dynastic_cycle ?= {
						NOT = {
							participant_group_type = other_rulers
						}
					}
				}
			}
		}
		add_merit_if_relevant_effect = {
			MERIT = minor_merit_value
		}
		if = {
			limit = {
				government_has_flag = government_has_influence
			}
			change_influence = {
				value = minor_influence_gain
				multiply = scope:recipient.highest_held_title_tier
			}
		}
		situation:dynastic_cycle = {
			if = {
				limit = {
					situation_top_has_catalyst = catalyst_minister_exposed_secret
				}
				trigger_situation_catalyst = {
					catalyst = catalyst_minister_exposed_secret
					character = scope:puppet_or_actor
				}
			}
		}
	}
	if = {
		limit = {
			NOT = {
				sp_hostile_schemes_except_murder_no_stress_or_fulfillment_trigger = yes
			}
		}
		stress_and_fulfillment_impact = {
			honest = minor_stress_impact_loss
			just = minor_stress_impact_loss
			shy = miniscule_stress_impact_gain
		}
	}
}
scope:recipient = {
	stress_and_fulfillment_impact = {
		honest = minor_stress_impact_loss
		just = minor_stress_impact_loss
		deceitful = minor_stress_impact_gain
	}
}
add_clan_unity_interaction_effect = {
	CHARACTER = scope:puppet_or_actor
	TARGET = scope:recipient
	VALUE = major_unity_loss
	DESC = clan_unity_secret_exposure.desc
	REVERSE_NON_HOUSE_TARGET = no
}

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

Category
Hostile actions
In the menu
under More…
ID
expose_secret_interaction

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