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

Interaction · Imprisonment actions

Torture

No costAccepted automatically

Torture the recipient

What you need

You

To send it

  • If

    • Your domicile:
      • is_domicile_type = camp

    Then

    • If

      • You are you

      Then

      • You must have a Barber's Tent Camp Upgrade with the Torturer's Tools upgrade

      Otherwise

      • … must have a Barber's Tent Camp Upgrade with the Torturer's Tools upgrade
  • The character you target:
    • If

      • Has “imprisoned by diarch” (a variable the game's script sets)
      • scope:recipient.var:imprisoned_by_diarch:
        • is_diarch_of_target = scope:recipient.liege

      Then

      • Cannot take any action that would release former Regent whilst current Regent is in office
  • This action may not be taken against the Ceremonial Monarch
  • … is currently being purged

To see it in the menu

The character you target

  • Is imprisoned by you
  • Is an Adult

Torture is an imprisonment character interaction in Crusader Kings III. You need: This action may not be taken against the Ceremonial Monarch. Accepted automatically. Patch 1.20.1.2, from game/common/character_interactions/00_prison_interactions.txt.

for a guide, post or blog
Quick answers (2)
What are the requirements for Torture in CK3?
You: This action may not be taken against the Ceremonial Monarch. (patch 1.20.1.2)
Will the AI accept Torture?
Yes: it is accepted automatically.

Will they accept?

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

What happens

Effects

  • You:
    • Might discover a Secret, if … has or knows about one
    • If

      • Has the target as rival

      Then

      Else if

      • Has the Trait: Zealous
      • Your faith is not the target’s

      Then

      Else if

      • Does not have the Trait: Sadistic
      • The character you target:
        • One of these

          • Is a child of you
          • or

            Is a grandchild of you
          • or

            is_great_grandchild_of = scope:puppet_or_actor

      Then

      • Stress and fulfillment impact: -30, and by trait: Compassionate +100, Craven +80, Just +40, Forgiving +80, Generous +40, Trusting +20, Content +20, Family Hierarch +20

      Otherwise

      • Stress and fulfillment impact: by trait: Sadistic -30, Compassionate +80, Craven +80, Just +40, Forgiving +40, Generous +40, Trusting +20, Content +20
    • If

      • The character you target:
        • One of these

          • Is a powerful vassal of you
          • or

            All of these

            • exists = primary_title
            • primary_title.tier >= tier_empire
          • or

            Is the liege (or above) of you
          • or

            scope:puppet_or_actor.faith.religious_head = scope:recipient

      Then

      • Dread +20

      Else if

      • The character you target:
        • One of these

          • All of these

            • Is a vassal of you
            • primary_title.tier > tier_barony
          • or

            All of these

            • exists = primary_title
            • primary_title.tier >= tier_kingdom

      Then

      • Dread +15

      Else if

      • The character you target:
        • One of these

          • You › Any vassal: Is close family of the target
          • or

            You › Any liege or above: Is close family of the target
          • or

            All of these

            • exists = primary_title
            • primary_title.tier > tier_barony
            • liege ?= scope:puppet_or_actor.liege
          • or

            All of these

            • exists = primary_title
            • primary_title.tier >= tier_duchy

      Then

      • Dread +10

      Else if

      • The character you target:
        • One of these

          • Is your spouse
          • or

            Is family of you
          • or

            All of these

            • exists = primary_title
            • primary_title.tier >= tier_county
          • or

            You › Any vassal: Is extended family of the target
          • or

            You › Any liege or above: Is extended family of the target

      Then

      • Dread +5
    • The character you target:
      • Opinion: Tortured Me
      • If

        • Has the opinion “Grateful” of you

        Then

        • Loses the opinion “Grateful” of you
      • If

        • In list (exactly 1):
          • always = yes

        Then

        Else if

        • In list (more than 1):
          • always = yes

        Then

    • If

      Then

      • Gain -100 Piety
      • If

        • Any learning councillor: Opinion of recipient at least 0

        Then

        • One random learning councillor: Opinion: Impious (-10)

      Else if

      • … (more in the script below)
  • … (more in the script below)

Events it fires: prison.1001, prison.1010

• 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) (9 lines of game script)
is_shown = scope:puppet_or_actor ?= {
	is_adult = yes
}
scope:recipient = {
	is_imprisoned_by = scope:puppet_or_actor
}
scope:recipient = {
	is_adult = yes
}

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

Can be sent when (is_valid…) (52 lines of game script)
scope:puppet_or_actor = {
	trigger_if = {
		limit = {
			domicile ?= {
				is_domicile_type = camp
			}
		}
		trigger_if = {
			limit = {
				scope:actor = scope:puppet_or_actor
			}
			custom_tooltip = {
				text = laamp_torture_requires_tools_tt
				domicile = {
					has_domicile_parameter = camp_unlocks_torture_interaction
				}
			}
		}
		trigger_else = {
			custom_tooltip = {
				text = laamp_torture_requires_tools_tt_puppeteer
				domicile = {
					has_domicile_parameter = camp_unlocks_torture_interaction
				}
			}
		}
	}
}
scope:recipient = {
	custom_description = {
		text = currently_being_tortured
		NOT = {
			has_character_flag = is_being_tortured
		}
	}
}
cannot_release_former_regent_whilst_old_regent_holds_power_trigger = {
	PRISONER = scope:recipient
	REGENT = scope:recipient.var:imprisoned_by_diarch
}
tgp_blocked_action_against_tenno_trigger = {
	ACTOR = scope:puppet_or_actor
	TARGET = scope:recipient
}
custom_tooltip = {
	text = is_currently_being_purged_tt
	scope:recipient = {
		NOT = {
			has_character_flag = is_currently_being_purged
		}
	}
}

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

Effects (on_send, on_accept, on_decline) (118 lines of game script)
on_accept = scope:recipient = {
	add_character_flag = {
		flag = is_being_tortured
		months = 6
	}
}
scope:puppet_or_actor = {
	save_scope_as = bg_override_char
}
torture_interaction_actor_effect = yes
show_as_tooltip = {
	scope:recipient = {
		add_character_modifier = {
			modifier = recently_tortured
			years = 5
		}
	}
}
if = {
	limit = {
		scope:puppet_or_actor = {
			domicile ?= {
				has_domicile_parameter = estate_torture_grants_influence
			}
		}
	}
	scope:puppet_or_actor = {
		custom_tooltip = estate_torture_grants_influence_desc
	}
}
hidden_effect = {
	random_list = {
		3 = {
			save_scope_value_as = {
				name = torture_method
				value = flag:rack
			}
		}
		3 = {
			save_scope_value_as = {
				name = torture_method
				value = flag:whip
			}
		}
		1 = {
			save_scope_value_as = {
				name = torture_method
				value = flag:rats
			}
		}
		8 = {
			trigger = {
				scope:puppet_or_actor = {
					has_trait = lifestyle_poet
				}
			}
			save_scope_value_as = {
				name = torture_method
				value = flag:poetry
			}
		}
	}
	if = {
		limit = {
			scope:recipient = {
				OR = {
					any_secret = {
						torture_secret_trigger = {
							PARTICIPANT = scope:recipient
						}
					}
					any_known_secret = {
						secret_owner = {
							save_temporary_scope_as = torture_secret_owner
						}
						torture_secret_trigger = {
							PARTICIPANT = scope:torture_secret_owner
						}
					}
				}
			}
		}
		scope:recipient = {
			trigger_event = {
				id = prison.1001
				days = 1
			}
		}
	}
	else = {
		scope:puppet_or_actor = {
			trigger_event = {
				id = prison.1010
				days = 1
			}
		}
	}
}
if = {
	limit = {
		scope:puppet_or_actor = {
			has_perk = dark_insights_perk
		}
	}
	scope:puppet_or_actor = {
		dark_insights_skill_gain_roll_effect = yes
	}
}
scope:recipient.house ?= {
	change_house_relation_effect = {
		HOUSE = scope:puppet_or_actor.house
		VALUE = house_relation_damage_medium_value
		REASON = torture
		CHAR = scope:puppet_or_actor
		TARGET_CHAR = scope:recipient
		TITLE = scope:dummy_gender
	}
}

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

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

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