Interaction · Imprisonment actions
Negotiate Release
Negotiate the release of the recipient from your Prison
What you need
You
To send it
- 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
- … is currently being purged
To see it in the menu
If
- Is played by the AI
NOT = { puppeteer ?= { is_ai = no } }
Then
has_prisoners = yes
The character you target
- Is imprisoned by you
Negotiate Release is an imprisonment character interaction in Crusader Kings III. Accepted automatically in some cases; otherwise the AI weighs it. Reasons the AI weighs include Clergy acting towards a secular Ruler (+20), They wants Freedom (+100), The recipient is Ambitious (-20) and 28 more. It costs Prestige (varies). Patch 1.20.1.2, from game/common/character_interactions/00_prison_interactions.txt.
Quick answers (2)
- How do I get the AI to accept Negotiate Release?
- Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: Clergy acting towards a secular Ruler +20, Relative Level of Devotion, They wants Freedom +100, The recipient is Ambitious -20, The recipient … a Head of Rite -120, The recipient will never convert willingly -1,500, They is reluctant to Convert -20, They is reluctant to Convert, They will lose Claims -25, They will lose Claims -50, They will lose Claims -75, They will lose Claims -95, They will be stained by the trade of Execution -50, They fears Banishment -50, Legalistic Customs +20, Reluctant to give Hook, They is reluctant to become a Monk -30, They is Lustful -30, They is Rakish -30, They is a Fornicator -30, They is a Seducer -30, They is a Deviant -30, They has Sinful Traits, They is Cynical -30, They is reluctant to be Recruited -10, They doesn't want to become Difigured, They doesn't want to become Difigured -75, They doesn't want to become Blind -100, They doesn't want to become Blind -75, They doesn't want to be Castrated -75, They doesn't want to be Castrated -100, They has no Children and doesn't want to be Castrated -100, They is Lustful -100, They is reluctant to becoming Bureaucratic -20, They is reluctant to becoming Bureaucratic -50 and They is reluctant to becoming Bureaucratic -100.
- How much does Negotiate Release cost?
- Prestige (varies) (patch 1.20.1.2).
Will they accept?
Accepted automatically when:
- The option “demand conversion” is not chosen
- The option “renounce claims” is not chosen
- The option “banish” is not chosen
- The option “gain hook” is not chosen
- The option “take vows” is not chosen
- The option “recruit” is not chosen
- The option “disfigure” is not chosen
- The option “blind” is not chosen
- The option “castrate” is not chosen
- The option “demand admin” is not chosen
- The option “become executioner” is not chosen
- The option “change prison” is not chosen
- The option “make puppet” is not chosen
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 | 0 |
| Clergy acting towards a secular Ruler | +20 |
Relative Level of Devotionwhen
| varies |
| They wants Freedom | +100 |
| The recipient is Ambitious | -20 |
The recipient … a Head of Ritewhen
| -120 |
The recipient will never convert willinglywhen
| -1,500 |
They is reluctant to Convertwhen
| -20 |
They is reluctant to Convertwhen
| varies |
They will lose Claimswhen
| -25 |
They will lose Claimswhen
| -50 |
They will lose Claimswhen
| -75 |
They will lose Claimswhen
| -95 |
| They will be stained by the trade of Execution | -50 |
| They fears Banishment | -50 |
| Legalistic Customs | +20 |
Reluctant to give Hookwhen
| varies |
They is reluctant to become a Monkwhen
| -30 |
| They is Lustful | -30 |
| They is Rakish | -30 |
They is a Fornicatorwhen
| -30 |
| They is a Seducer | -30 |
| They is a Deviant | -30 |
They has Sinful Traitswhen
| varies |
| They is Cynical | -30 |
| They is reluctant to be Recruited | -10 |
They doesn't want to become Difiguredwhen
| varies |
They doesn't want to become Difiguredwhen
| -75 |
| They doesn't want to become Blind | -100 |
| They doesn't want to become Blind | -75 |
They doesn't want to be Castratedwhen
| -75 |
They doesn't want to be Castratedwhen
| -100 |
They has no Children and doesn't want to be Castratedwhen
| -100 |
| They is Lustful | -100 |
They is reluctant to becoming Bureaucraticwhen
| -20 |
| They is reluctant to becoming Bureaucratic | -50 |
| They is reluctant to becoming Bureaucratic | -100 |
A scripted reasonwhen
| varies |
Acceptance (ai_accept) (321 lines of game script)
base = 0
celestial_hierarchy_acceptance_modifier = {
ACTOR = scope:puppet_or_actor
RECIPIENT = scope:recipient
}
modifier = {
add = 100
desc = WANTS_FREEDOM_REASON
}
modifier = {
trigger = {
has_trait = ambitious
}
add = -20
desc = RECIPIENT_IS_AMBITIOUS
}
modifier = {
trigger = {
scope:recipient = {
rite.head_of_rite ?= this
}
}
add = -120
desc = RECIPIENT_IS_HEAD_OF_RITE_REASON
}
modifier = {
trigger = {
scope:demand_conversion = yes
scope:recipient = {
has_character_flag = ai_will_not_convert
}
}
add = -1500
desc = ASK_FOR_CONVERSION_RECIPIENT_WILL_NOT_ACCEPT
}
modifier = {
trigger = {
scope:recipient = {
ai_zeal <= 20
}
scope:demand_conversion = yes
}
add = -20
desc = CONVERSION_NEGATIVE_REASON
}
modifier = {
trigger = {
scope:recipient = {
ai_zeal > 20
}
scope:demand_conversion = yes
}
add = {
value = ai_zeal
if = {
limit = {
scope:recipient.faith = {
faith_hostility_level = {
target = scope:puppet_or_actor.faith
value = faith_astray_level
}
}
}
multiply = -1
}
else = {
multiply = -2
}
}
desc = CONVERSION_NEGATIVE_REASON
}
modifier = {
add = -25
trigger = {
scope:renounce_claims = yes
ai_greed < 0
}
desc = RENOUNCE_CLAIMS_REASON
}
modifier = {
add = -50
trigger = {
scope:renounce_claims = yes
ai_greed >= 0
ai_greed < 26
}
desc = RENOUNCE_CLAIMS_REASON
}
modifier = {
add = -75
trigger = {
scope:renounce_claims = yes
ai_greed >= 26
ai_greed < 51
}
desc = RENOUNCE_CLAIMS_REASON
}
modifier = {
add = -95
trigger = {
scope:renounce_claims = yes
ai_greed >= 51
}
desc = RENOUNCE_CLAIMS_REASON
}
modifier = {
add = -50
trigger = {
scope:become_executioner = yes
NOR = {
has_trait = sadistic
has_trait = callous
}
}
desc = BECOME_EXECUTIONER_REASON
}
modifier = {
add = -50
trigger = {
scope:banish = yes
}
NOT = {
scope:puppet_or_actor = {
has_imprisonment_reason = scope:recipient
culture = {
has_cultural_parameter = vassals_more_likely_accept_punishments
}
}
}
desc = BANISH_NEGATIVE_REASON
}
modifier = {
add = legalistic_vassal_punishment_acceptance
trigger = {
scope:banish = yes
}
scope:puppet_or_actor = {
has_imprisonment_reason = scope:recipient
culture = {
has_cultural_parameter = vassals_more_likely_accept_punishments
}
}
desc = tradition_legalistic_name
}
modifier = {
add = {
value = -50
if = {
limit = {
scope:recipient = {
ai_vengefulness > 0
}
}
subtract = ai_vengefulness
}
}
trigger = {
scope:gain_hook = yes
}
desc = GAIN_HOOK_NEGATIVE_REASON
}
modifier = {
add = -30
trigger = {
scope:take_vows = yes
}
desc = TAKE_VOWS_NEGATIVE_REASON
}
modifier = {
add = -30
trigger = {
scope:take_vows = yes
has_trait = lustful
}
desc = TAKE_VOWS_LUSTFUL_REASON
}
modifier = {
add = -30
trigger = {
scope:take_vows = yes
has_trait = rakish
}
desc = TAKE_VOWS_RAKISH_REASON
}
modifier = {
add = -30
trigger = {
scope:take_vows = yes
has_trait = fornicator
}
desc = TAKE_VOWS_FORNICATOR_REASON
}
modifier = {
add = -30
trigger = {
scope:take_vows = yes
has_trait = seducer
}
desc = TAKE_VOWS_SEDUCER_REASON
}
modifier = {
add = -30
trigger = {
scope:take_vows = yes
has_trait = deviant
}
desc = TAKE_VOWS_DEVIANT_REASON
}
modifier = {
add = {
value = -15
multiply = num_sinful_traits
}
trigger = {
scope:take_vows = yes
num_sinful_traits > 1
}
desc = TAKE_VOWS_SINS_REASON
}
modifier = {
add = -30
trigger = {
scope:take_vows = yes
has_trait = cynical
}
desc = TAKE_VOWS_CYNICAL_REASON
}
modifier = {
add = -10
trigger = {
scope:recruit = yes
NOT = {
scope:puppet_or_actor = {
culture = {
has_cultural_parameter = can_recruit_prisoners_easily
}
}
}
}
desc = RECRUITMET_NEGATIVE_REASON
}
modifier = {
add = {
value = -100
if = {
limit = {
has_trait = beauty_good
}
multiply = 2
}
}
trigger = {
scope:disfigure = yes
OR = {
NOR = {
has_trait = maimed
has_trait = beauty_bad
ai_sociability < -75
}
has_trait = beauty_good
}
}
desc = DISFIGURE_NEGATIVE_REASON
}
modifier = {
add = -75
trigger = {
scope:disfigure = yes
OR = {
has_trait = maimed
has_trait = beauty_bad
ai_sociability < -75
}
NOT = {
has_trait = beauty_good
}
}
desc = DISFIGURE_NEGATIVE_REASON
}
modifier = {
add = -100
trigger = {
scope:blind = yes
NOR = {
has_trait = one_eyed
has_trait = infirm
has_trait = clouded_eyes
}
}
desc = BLIND_NEGATIVE_REASON
}
modifier = {
add = -75
trigger = {
scope:blind = yes
OR = {
has_trait = one_eyed
has_trait = infirm
has_trait = clouded_eyes
}
}
desc = BLIND_NEGATIVE_REASON
}
modifier = {
add = -75
trigger = {
scope:castrate = yes
any_child = {
count > 0
}
ai_boldness < -50
}
desc = CASTRATE_NEGATIVE_REASON
}
modifier = {
add = -100
trigger = {
scope:castrate = yes
any_child = {
count >
# … (cut here; the rest is in the file)As written in game/common/character_interactions/00_prison_interactions.txt.
What happens
If they accept
If
- The character you target: Has the Modifier: Allowed to go Outside
Then
- The character you target: Loses “Allowed to go Outside”
If
- The character you target: Has the Modifier: Diet of Moldy Gruel
Then
- The character you target: Loses “Diet of Moldy Gruel”
If
- The character you target: Is imprisoned by you
Then
- The character you target:
If
- Is imprisoned
- The option “disfigure” is not chosen
- The option “blind” is not chosen
- The option “castrate” is not chosen
Then
release_from_prison = yes
If
- The option “demand conversion” is chosen
Then
If
- You: Confession penalty var is scope:recipient
Then
- You: Loses “Confession Penalty”
- You › If government uses the Mandala Capital Temple Complex Great Project and Great Building:
- If has the Reverence Decree Law:
add_piety = { add = medium_piety_gain multiply = 1.5 }
- Otherwise: Gain +100 Piety
- If has the Reverence Decree Law:
- Every in list:
If
- No
- Their faith is the same as that of recipient
Then
If
a check the game hides
Then
convert_to_rite_with_consequences_effect = { RITE = scope:conversion_rite }
Otherwise
convert_to_rite_with_consequences_effect = { RITE = scope:puppet_or_actor.rite }
make_character_crypto_religionist_effect = { CRYPTO_RELIGION = scope:old_faith }- Every in list:
If
prev != this
Then
- The crypto religionist secret:
reveal_to_without_events_effect = { CHARACTER = prev }
Otherwise
If
a check the game hides
Then
convert_to_rite_with_consequences_effect = { RITE = scope:conversion_rite }
Otherwise
convert_to_rite_with_consequences_effect = { RITE = scope:puppet_or_actor.rite }
- The character you target:
bastard_to_wild_oat_conversion_interaction_effect = { }
If
- The character you target:
is_important_or_vip_struggle_character = { }
- You › Any character struggle:
involvement = involvedactivate_struggle_catalyst_secondary_character_involvement_involved_trigger = { CATALYST = catalyst_demanding_important_conversion CHAR = scope:recipient }
Then
- You › Every character struggle:
- Where:
activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { CATALYST = catalyst_demanding_important_conversion CHAR = scope:recipient }
involvement = involvedactivate_struggle_catalyst = { catalyst = catalyst_demanding_important_conversion character = scope:puppet_or_actor }
- Where:
- The character you target:
- Every in list:
If
- Their faith is the same as that of recipient
NOT = { has_crypto_religionist_secret_known_by_character_trigger = { CHARACTER = scope:puppet_or_actor } }
Then
- … may continue to practice … in secret
- The character you target: Event false_conversion.0900
- Opinion: Demanded My Conversion
If
- You › Any character struggle:
involvement = involvedphase_has_catalyst = catalyst_demanding_important_conversion- The character you target › Any character struggle:
involvement = involved
Then
- You › Every character struggle:
- Where:
phase_has_catalyst = catalyst_demanding_important_conversion- The character you target › Any character struggle:
involvement = involved
involvement = involvedactivate_struggle_catalyst = { catalyst = catalyst_demanding_important_conversion character = scope:puppet_or_actor }
- Where:
- You › Any character struggle:
If
- The option “banish” is chosen
- The character you target:
One of these
- Is landed
or
All of these
- they has administrative government mechanic
- Is not landed
is_house_head = { }- Has a domicile
or
All of these
- Their liege:
tgp_has_access_to_ministry_trigger = { }
tgp_has_minister_title = { }
- Their liege:
or
All of these
- Is a ruler
- Government is a Theocratic-type Government
Then
banish = yesIf
- The allow imprisoned landless:
If
Not all of these
- … (more in the script below)
- … (more in the script below)
- The allow imprisoned landless:
- … (more in the script below)
- … (more in the script below)
If they refuse
- Event char_interaction.0161
Options when sending
- Demand Conversion
- Renounce ClaimsThe recipient loses all Claims on Titles in your Realm
- Banish
- Gain Weak Hook
- Take the Vows
- Move to Puppeteer's Prison
- Make Puppet
- Employ Executioner
- Recruit
- Disfigure
- Blind
- Castrate
- Become …
Events it fires: false_conversion.0900, ep3_laamps.0021, lover.0101, char_interaction.0161
• 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_shown = exists = scope:puppet_or_actor
scope:puppet_or_actor ?= {
trigger_if = {
limit = {
is_ai = yes
NOT = {
puppeteer ?= {
is_ai = no
}
}
}
has_prisoners = yes
}
}
scope:recipient = {
is_imprisoned_by = scope:puppet_or_actor
}As written in game/common/character_interactions/00_prison_interactions.txt.
Can be sent when (is_valid…) (20 lines of game script)
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
}
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) (259 lines of game script)
on_accept = if = {
limit = {
scope:recipient = {
has_character_modifier = allowed_to_go_outside
}
}
scope:recipient = {
remove_character_modifier = allowed_to_go_outside
}
}
if = {
limit = {
scope:recipient = {
has_character_modifier = moldy_gruel_diet
}
}
scope:recipient = {
remove_character_modifier = moldy_gruel_diet
}
}
if = {
limit = {
scope:recipient = {
is_imprisoned_by = scope:puppet_or_actor
}
}
scope:recipient = {
if = {
limit = {
is_imprisoned = yes
scope:disfigure = no
scope:blind = no
scope:castrate = no
}
release_from_prison = yes
}
if = {
limit = {
scope:demand_conversion = yes
}
demand_conversion_interaction_effect = yes
add_opinion = {
modifier = demanded_my_conversion_opinion
target = scope:puppet_or_actor
}
if = {
limit = {
scope:puppet_or_actor = {
any_character_struggle = {
involvement = involved
activate_struggle_catalyst_secondary_character_involvement_involved_trigger = {
CATALYST = catalyst_demanding_important_conversion
CHAR = scope:recipient
}
}
}
}
scope:puppet_or_actor = {
every_character_struggle = {
involvement = involved
limit = {
activate_struggle_catalyst_secondary_character_involvement_involved_trigger = {
CATALYST = catalyst_demanding_important_conversion
CHAR = scope:recipient
}
}
activate_struggle_catalyst = {
catalyst = catalyst_demanding_important_conversion
character = scope:puppet_or_actor
}
}
}
}
}
if = {
limit = {
scope:banish = yes
scope:recipient = {
is_landed_or_landless_administrative_or_theocratic = yes
}
}
banish_effect = {
BANISHER = scope:puppet_or_actor
}
if = {
limit = {
NOT = {
scope:puppet_or_actor = {
has_banish_reason = scope:recipient
}
}
}
scope:puppet_or_actor = {
add_tyranny = banishment_tyranny_gain
}
}
add_opinion = {
modifier = banished_me
target = scope:puppet_or_actor
}
}
else_if = {
limit = {
AND = {
scope:banish = yes
scope:recipient = {
is_landless_adventurer = no
is_pool_character = no
}
}
}
if = {
limit = {
this.gold > 0
has_none_of_variables = {
name = realm_priest
name = was_bookmaker
}
}
pay_short_term_gold = {
target = scope:puppet_or_actor
gold = this.gold
}
}
if = {
limit = {
has_any_artifact = yes
}
every_character_artifact = {
limit = {
NOT = {
has_variable = artifact_prevent_transfer
}
}
set_owner = {
target = scope:puppet_or_actor
history = {
location = scope:recipient.location
actor = scope:recipient
recipient = scope:puppet_or_actor
type = stolen
}
}
scope:puppet_or_actor = {
if = {
limit = {
NOT = {
has_variable = stolen_artifact
}
}
set_variable = {
name = stolen_artifact
value = 1
}
}
else = {
change_variable = {
name = stolen_artifact
add = 1
}
}
}
}
}
banish = yes
add_opinion = {
modifier = banished_me
target = scope:puppet_or_actor
}
}
else_if = {
limit = {
AND = {
scope:banish = yes
scope:recipient = {
is_playable_character = no
is_pool_character = yes
}
}
}
if = {
limit = {
this.gold > 0
}
pay_short_term_gold = {
target = scope:puppet_or_actor
gold = this.gold
}
}
add_opinion = {
modifier = banished_me
target = scope:puppet_or_actor
}
}
if = {
limit = {
scope:recruit = yes
}
if = {
limit = {
scope:puppet_or_actor = {
culture = {
has_cultural_parameter = can_recruit_prisoners_easily
}
}
}
add_opinion = {
modifier = loyal_servant
target = scope:puppet_or_actor
}
scope:puppet_or_actor = {
if = {
limit = {
can_add_hook = {
target = scope:recipient
type = loyalty_hook
}
}
add_hook = {
type = loyalty_hook
target = scope:recipient
}
}
}
}
else = {
add_opinion = {
modifier = demanded_recruitment
target = scope:puppet_or_actor
}
}
scope:puppet_or_actor = {
if = {
limit = {
AND = {
scope:puppet_or_actor.rite = {
rite_has_tenet = tenet_communal_possessions
}
scope:recipient = {
has_trait = peasant_leader
}
}
}
scope:puppet_or_actor = {
add_piety = medium_piety_gain
}
}
}
scope:puppet_or_actor = {
add_courtier = scope:recipient
}
}
if = {
limit = {
scope:renounce_claims = yes
}
add_opinion = {
modifier = demand
# … (cut here; the rest is in the file)As written in game/common/character_interactions/00_prison_interactions.txt.
- Category
- Imprisonment actions
- Cost: Prestige
- varies
- In the menu
- main list
- ID
release_from_prison_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.