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

Pay Ransom

No costAccepted automatically in some cases; otherwise the AI weighs it

Offer to pay the ransom for an Imprisoned Vassal or Courtier

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

To see it in the menu

  • If

    • Is played by the AI
    • NOT = { puppeteer ?= { is_ai = no } }

    Then

    • You have 25

The other character

  • Is imprisoned by the target
  • One of these

    • Is a direct vassal of you
    • or

      Is close family of you
    • or

      Their dynasty:
      • this ?= scope:puppet_or_actor.dynasty
    • or

      Any spouse:
      • One of these

        • Is close family of you
        • or

          Their dynasty:
          • this ?= scope:puppet_or_actor.dynasty
    • or

      Has you as lover
    • or

      Has you as friend

Pay Ransom 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 gets paid Gold (+50), They gets paid Gold (+25) and 15 more. Patch 1.20.1.2, from game/common/character_interactions/00_prison_interactions.txt.

for a guide, post or blog
Quick answers (1)
How do I get the AI to accept Pay Ransom?
Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: Clergy acting towards a secular Ruler +20, Relative Level of Devotion, They gets paid Gold +50, They gets paid Gold +25, They gets paid Gold +25, They gets a Hook +50, They has no use for a Hook 0, They wants more Gold 0, The other character is the recipient's Rival -55, The other character is the recipient's Nemesis -300, You are at War -300, The other character is a Prisoner of War -300, The other character is at war with the recipient -300, Weak Hook used +100, Intimidated by you +40, Terrified of you +100, Spending Influence +25, Spending Herd +25 and Spending Herd +10.

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.

ReasonAmount
Base0
Clergy acting towards a secular Ruler
when
+20
Relative Level of Devotion
when
  • Your Personal Tenets unlock tenet celestial hierarchy interaction acceptance
  • Your faith is the same as that of recipient
varies
They gets paid Gold
when
  • One of these

    • The option “gold” is chosen
    • or

      The option “extortionate gold” is chosen
+50
They gets paid Gold
when
  • The option “current gold” is chosen
  • You:
    • gold >= scope:secondary_recipient.half_ransom_cost_value
  • NOT = { scope:recipient.ai_greed >= medium_positive_ai_value }
+25
They gets paid Gold
when
  • The option “extortionate current gold” is chosen
  • You:
    • gold >= scope:secondary_recipient.half_increased_ransom_cost_value
  • NOT = { scope:recipient.ai_greed >= medium_positive_ai_value }
+25
They gets a Hook
when
  • The option “favor” is chosen
  • The target’s top liege is your
+50
They has no use for a Hook
when
  • The option “favor” is chosen
  • The target’s top liege is not your
0
They wants more Gold
when
  • One of these

    • The option “current gold” is chosen
    • or

      The option “extortionate current gold” is chosen
  • One of these

    • You:
      • gold < scope:secondary_recipient.half_ransom_cost_value
    • or

      scope:recipient.ai_greed >= medium_positive_ai_value
0
The other character is the recipient's Rival
when
  • The character you target: Has the other character as rival
-55
The other character is the recipient's Nemesis
when
  • The character you target: Has the other character as nemesis
-300
You are at War
when
  • The character you target: Is at war with you
-300
The other character is a Prisoner of War
when
  • The character you target:
    • Is at War
    • Any primary war enemy › The other character:
      • liege ?= prev
-300
The other character is at war with the recipient
when
  • The character you target: Is at war with the other character
-300
Weak Hook used
when
+100
Intimidated by you
when
  • The character you target:
    • Is a vassal (or below) of you
    • has_dread_level_towards = { target = scope:puppet_or_actor level = 1 }
+40
Terrified of you
when
  • The character you target:
    • Is a vassal (or below) of you
    • has_dread_level_towards = { target = scope:puppet_or_actor level = 2 }
+100
Spending Influence
when
  • The option “influence send option” is chosen
+25
Spending Herd
when
  • The option “herd send option” is chosen
+25
Spending Herd
when
  • The option “current herd” is chosen
+10
Acceptance (ai_accept) (151 lines of game script)
base = 0
celestial_hierarchy_acceptance_modifier = {
	ACTOR = scope:puppet_or_actor
	RECIPIENT = scope:recipient
}
modifier = {
	add = 50
	OR = {
		scope:gold = yes
		scope:extortionate_gold = yes
	}
	desc = GOLD_POSITIVE_REASON
}
modifier = {
	add = 25
	scope:current_gold = yes
	AND = {
		scope:puppet_or_actor = {
			gold >= scope:secondary_recipient.half_ransom_cost_value
		}
		NOT = {
			scope:recipient.ai_greed >= medium_positive_ai_value
		}
	}
	desc = GOLD_POSITIVE_REASON
}
modifier = {
	add = 25
	scope:extortionate_current_gold = yes
	AND = {
		scope:puppet_or_actor = {
			gold >= scope:secondary_recipient.half_increased_ransom_cost_value
		}
		NOT = {
			scope:recipient.ai_greed >= medium_positive_ai_value
		}
	}
	desc = GOLD_POSITIVE_REASON
}
modifier = {
	add = 50
	scope:favor = yes
	scope:recipient.top_liege = scope:puppet_or_actor.top_liege
	desc = FAVOR_POSITIVE_REASON
}
modifier = {
	add = 0
	scope:favor = yes
	scope:recipient.top_liege != scope:puppet_or_actor.top_liege
	desc = NO_USE_FOR_A_FAVOR_REASON
}
modifier = {
	add = 0
	OR = {
		scope:current_gold = yes
		scope:extortionate_current_gold = yes
	}
	OR = {
		scope:puppet_or_actor = {
			gold < scope:secondary_recipient.half_ransom_cost_value
		}
		scope:recipient.ai_greed >= medium_positive_ai_value
	}
	desc = WANTS_MORE_GOLD
}
modifier = {
	add = -55
	scope:recipient = {
		has_relation_rival = scope:secondary_recipient
	}
	desc = RIVAL_TO_ME_REASON
}
modifier = {
	add = -300
	scope:recipient = {
		has_relation_nemesis = scope:secondary_recipient
	}
	desc = NEMESIS_TO_ME_REASON
}
modifier = {
	add = -300
	scope:recipient = {
		is_at_war_with = scope:puppet_or_actor
	}
	desc = IS_AT_WAR_REASON
}
modifier = {
	add = -300
	scope:recipient = {
		is_at_war = yes
		any_primary_war_enemy = {
			scope:secondary_recipient = {
				liege ?= prev
			}
		}
	}
	desc = IS_POW_REASON
}
modifier = {
	add = -300
	scope:recipient = {
		is_at_war_with = scope:secondary_recipient
	}
	desc = IS_AT_WAR_WITH_TARGET_REASON
}
modifier = {
	scope:hook = yes
	add = 100
	desc = SCHEME_WEAK_HOOK_USED
}
modifier = {
	add = 40
	trigger = {
		scope:recipient = {
			target_is_liege_or_above = scope:puppet_or_actor
			has_dread_level_towards = {
				target = scope:puppet_or_actor
				level = 1
			}
		}
	}
	desc = INTIMIDATED_REASON
}
modifier = {
	add = 100
	trigger = {
		scope:recipient = {
			target_is_liege_or_above = scope:puppet_or_actor
			has_dread_level_towards = {
				target = scope:puppet_or_actor
				level = 2
			}
		}
	}
	desc = COWED_REASON
}
modifier = {
	add = 25
	scope:influence_send_option = yes
	desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION
}
modifier = {
	add = 25
	scope:herd_send_option = yes
	desc = HERD_INTERACTION_ACCEPTANCE_SEND_OPTION
}
modifier = {
	add = 10
	scope:current_herd = yes
	desc = HERD_INTERACTION_ACCEPTANCE_SEND_OPTION
}

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

What happens

If they accept

  • If

    • The other character: Is imprisoned by the target

    Then

    • The character you target:
      • If

        • Employs a Man-Haggler
        • One of these

          • The option “extortionate gold” is chosen
          • or

            The option “extortionate current gold” is chosen
          • or

            The option “gold” is chosen
          • or

            The option “current gold” is chosen

        Then

    • You:
      • If

        • Employs a Man-Haggler
        • One of these

          • The option “extortionate gold” is chosen
          • or

            The option “extortionate current gold” is chosen
          • or

            The option “gold” is chosen
          • or

            The option “current gold” is chosen

        Then

        • … Man-Haggler Aptitude: new ransom value
      • If

        • The prisoner:
          • None of these

            • Is a vassal of you
            • Is your consort
            • Is close family of you
            • Their dynasty:
              • this ?= scope:puppet_or_actor.dynasty
            • Any spouse:
              • One of these

                • Is close family of you
                • or

                  Their dynasty:
                  • this ?= scope:puppet_or_actor.dynasty
            • Has you as lover
            • Has you as friend

        Then

        • Stress and fulfillment impact: by trait: Compassionate -15, Generous -30

        Else if

        • The prisoner:
          • One of these

            • Is a vassal of you
            • or

              Is your consort
            • or

              Is close family of you
            • or

              Their dynasty:
              • this ?= scope:puppet_or_actor.dynasty
            • or

              Any spouse:
              • One of these

                • Is close family of you
                • or

                  Their dynasty:
                  • this ?= scope:puppet_or_actor.dynasty
            • or

              Has you as lover
            • or

              Has you as friend

        Then

        • Stress and fulfillment impact: by trait: Compassionate -30, Generous -15, Just -15
      • If

        • The prisoner: Has you as lover

        Then

        • Stress and fulfillment impact: by trait: Lustful -65
      • If

        • The prisoner:
          • One of these

            • Has you as friend
            • or

              Has you as lover

        Then

        • Stress and fulfillment impact: by trait: Loyal -65
      • If

        • The prisoner: Is close family of the payer

        Then

        • Stress and fulfillment impact: by trait: Family Hierarch -5
      • Event char_interaction.0140
    • The imprisoner:
      • The prisoner:
        • If

          a check the game hides

          Then

          • If

            • The payer: Is played by a person
            • The prisoner: Is played by the AI

            Then

            • Opinion: Ransomed Recently for 1 year
            • If

              • Is played by the AI
              • Ai honor at least 25
              • Ai greed at most 0

              Then

              • The payer:
                • If

                  • can_add_hook = { target = scope:prisoner type = favor_hook }

                  Then

                  • Gain a Indebted on the prisoner

              Otherwise

              • The payer:
                • progress_towards_hook_effect = { CHARACTER = scope:prisoner HOOK_TYPE = indebted_hook }
      • The payer:
        • Depending on always:
          • When always is scope:extortionate gold:
            • Pay gold to the imprisoner
            • The imprisoner:
              • Gain … Prestige
              • mandala_trickster_increment_gold_ransomed_effect = { GOLD_AMOUNT = scope:prisoner.increased_ransom_cost_value }
          • When always is scope:extortionate current gold:
            • Pay gold to the imprisoner
            • The imprisoner:
              • Gain … Prestige
              • mandala_trickster_increment_gold_ransomed_effect = { GOLD_AMOUNT = scope:ransom_saved_gold_value }
          • When always is scope:gold:
            • Pay gold to the imprisoner
            • The imprisoner:
              • mandala_trickster_increment_gold_ransomed_effect = { GOLD_AMOUNT = scope:prisoner.normal_ransom_cost_value }
          • When always is scope:current gold:
            • Pay gold to the imprisoner
            • The imprisoner:
              • mandala_trickster_increment_gold_ransomed_effect = { GOLD_AMOUNT = scope:ransom_saved_gold_value }
        • If

          • The option “favor” is chosen

          Then

          • If

            • The payer is the prisoner

            Then

            • Opinion: Demanded a Hook
          • The imprisoner: … (more in the script below)
        • … (more in the script below)
      • … (more in the script below)
    • … (more in the script below)
  • … (more in the script below)

If they refuse

Options when sending

  • Owe a Hook
  • Demand Influence
  • Use a Hook

Events it fires: char_interaction.0140, char_interaction.0141

• 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) (37 lines of game script)
is_shown = exists = scope:recipient
exists = scope:puppet_or_actor
scope:puppet_or_actor ?= {
	trigger_if = {
		limit = {
			is_ai = yes
			NOT = {
				puppeteer ?= {
					is_ai = no
				}
			}
		}
		gold >= 25
	}
}
scope:secondary_recipient ?= {
	this != scope:puppet_or_actor
	is_imprisoned_by = scope:recipient
	OR = {
		liege ?= scope:puppet_or_actor
		is_close_family_of = scope:puppet_or_actor
		dynasty ?= {
			this ?= scope:puppet_or_actor.dynasty
		}
		any_spouse = {
			OR = {
				is_close_family_of = scope:puppet_or_actor
				dynasty ?= {
					this ?= scope:puppet_or_actor.dynasty
				}
			}
		}
		has_relation_lover = scope:puppet_or_actor
		has_relation_friend = scope:puppet_or_actor
	}
}
scope:puppet_or_actor != scope:recipient

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

Can be sent when (is_valid…) (12 lines of game script)
scope:secondary_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
}

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

Effects (on_send, on_accept, on_decline) (213 lines of game script)
on_accept = if = {
	limit = {
		scope:secondary_recipient = {
			is_imprisoned_by = scope:recipient
		}
	}
	scope:secondary_recipient = {
		save_scope_as = prisoner
	}
	scope:recipient = {
		save_scope_as = imprisoner
		if = {
			limit = {
				employs_court_position = person_haggler_camp_officer
				is_asking_for_gold_in_ransom_trigger = yes
			}
			random_court_position_holder = {
				type = person_haggler_camp_officer
				save_scope_as = haggler
			}
			custom_tooltip = has_person_haggler_increase_ransom_cost
		}
	}
	scope:puppet_or_actor = {
		save_scope_as = payer
		if = {
			limit = {
				employs_court_position = person_haggler_camp_officer
				is_asking_for_gold_in_ransom_trigger = yes
			}
			random_court_position_holder = {
				type = person_haggler_camp_officer
				save_scope_as = haggler
			}
			scope:prisoner = {
				save_scope_value_as = {
					name = new_ransom_value
					value = haggler_ransom_cost_modifier
				}
			}
			custom_tooltip = has_person_haggler_decrease_ransom_cost
		}
		if = {
			limit = {
				scope:prisoner = {
					NOR = {
						is_vassal_of = scope:puppet_or_actor
						is_consort_of = scope:puppet_or_actor
						is_close_family_of = scope:puppet_or_actor
						dynasty ?= {
							this ?= scope:puppet_or_actor.dynasty
						}
						any_spouse = {
							OR = {
								is_close_family_of = scope:puppet_or_actor
								dynasty ?= {
									this ?= scope:puppet_or_actor.dynasty
								}
							}
						}
						has_relation_lover = scope:puppet_or_actor
						has_relation_friend = scope:puppet_or_actor
					}
				}
			}
			stress_and_fulfillment_impact = {
				compassionate = minor_stress_impact_loss
				generous = medium_stress_impact_loss
			}
		}
		else_if = {
			limit = {
				scope:prisoner = {
					OR = {
						is_vassal_of = scope:puppet_or_actor
						is_consort_of = scope:puppet_or_actor
						is_close_family_of = scope:puppet_or_actor
						dynasty ?= {
							this ?= scope:puppet_or_actor.dynasty
						}
						any_spouse = {
							OR = {
								is_close_family_of = scope:puppet_or_actor
								dynasty ?= {
									this ?= scope:puppet_or_actor.dynasty
								}
							}
						}
						has_relation_lover = scope:puppet_or_actor
						has_relation_friend = scope:puppet_or_actor
					}
				}
			}
			stress_and_fulfillment_impact = {
				compassionate = medium_stress_impact_loss
				generous = minor_stress_impact_loss
				just = minor_stress_impact_loss
			}
		}
		if = {
			limit = {
				scope:prisoner = {
					has_relation_lover = scope:puppet_or_actor
				}
			}
			stress_and_fulfillment_impact = {
				lustful = major_stress_impact_loss
			}
		}
		if = {
			limit = {
				scope:prisoner = {
					OR = {
						has_relation_friend = scope:puppet_or_actor
						has_relation_lover = scope:puppet_or_actor
					}
				}
			}
			stress_and_fulfillment_impact = {
				loyal = major_stress_impact_loss
			}
		}
		if = {
			limit = {
				scope:prisoner = {
					is_close_family_of = scope:payer
				}
			}
			stress_and_fulfillment_impact = {
				family_first = miniscule_stress_impact_loss
			}
		}
		if = {
			limit = {
				OR = {
					exists = scope:current_gold
					exists = scope:extortionate_current_gold
				}
			}
			save_scope_value_as = {
				name = ransom_saved_gold_value
				value = scope:payer.current_gold_value
			}
		}
		trigger_event = char_interaction.0140
	}
	hidden_effect = {
		scope:prisoner = {
			send_interface_toast = {
				type = event_toast_effect_good
				title = ransomed_by_someone
				left_icon = scope:payer
				show_as_tooltip = {
					scope:imprisoner = {
						ransom_interaction_effect = yes
					}
				}
			}
		}
		scope:prisoner = {
			if = {
				limit = {
					liege ?= {
						is_ai = no
						NOR = {
							this = scope:payer
							this = scope:imprisoner
						}
						OR = {
							is_close_or_extended_family_of = scope:prisoner
							is_consort_of = scope:prisoner
							has_relation_lover = scope:prisoner
							has_relation_friend = scope:prisoner
						}
					}
				}
				liege = {
					save_scope_as = prisoner_liege_scope
					send_interface_toast = {
						type = event_toast_effect_good
						title = ransomed_by_someone_third_party
						left_icon = scope:payer
						right_icon = scope:prisoner
						custom_tooltip = ransomed_by_someone_third_party_desc
					}
				}
			}
		}
	}
	scope:imprisoner = {
		send_interface_message = {
			type = interaction_prison_ransom
			title = recipient_released_from_prison
			right_icon = scope:prisoner
			left_icon = scope:imprisoner
			ransom_interaction_effect = yes
		}
		if = {
			limit = {
				any_character_struggle = {
					involvement = involved
					activate_struggle_catalyst_secondary_character_involvement_involved_trigger = {
						CATALYST = catalyst_ransom_important
						CHAR = scope:prisoner
					}
				}
			}
			every_character_struggle = {
				involvement = involved
				limit = {
					activate_struggle_catalyst_secondary_character_involvement_involved_trigger = {
						CATALYST = catalyst_ransom_impor
# … (cut here; the rest is in the file)

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

Category
Imprisonment actions
In the menu
under More…
ID
pay_ransom_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?