Scripted effect
imprison_character_effect
imprison_character_effect = { IMPRISONER = … TARGET = … }game/common/scripted_effects/00_prison_effects.txt, line 1644 (165 lines). Parameters: $IMPRISONER$, $TARGET$.
imprison_character_effect is a scripted effect in Crusader Kings III, written at line 1644 of its file. A call passes 2 parameters: IMPRISONER and TARGET. The game's script calls it in 62 places, among them Imprison (interaction), Negotiate Release (interaction) and Azariqa Rebellion (casus belli). Its body carries 2 texts of the game's own for the player. Patch 1.20.1.2, from game/common/scripted_effects/00_prison_effects.txt.
What it does
scope:imprisonment_target:imprison_hostage_tooltip_effect = { WHO = scope:imprisonment_target }If
- scope:imprisoner: Is not a landless ruler
scope:imprisonment_target:One of these
is_playable_character = yesor
is_close_or_extended_family_of = liegeor
is_spouse_of = liege
Then
scope:imprisoner:imprison = { target = scope:imprisonment_target type = house_arrest }scope:imprisonment_target:If
- Any close or extended family member:
NOT = { is_close_family_of = scope:imprisoner }NOT = { scope:imprisoner = this }
Then
- … Family members who are not Close Family of … lose 15 Opinion of …
- Any close or extended family member:
Otherwise
scope:imprisoner:imprison = { target = scope:imprisonment_target type = dungeon }scope:imprisonment_target:If
- Any close or extended family member:
NOT = { is_close_family_of = scope:imprisoner }NOT = { scope:imprisoner = this }
Then
- … Family members who are not Close Family of … lose 30 Opinion of …
- Any close or extended family member:
scope:imprisoner:imprison_tyranny_effect = yes
scope:imprisoner:If
- Any scheme:
is_scheme_target_type = characterscheme_target_character = scope:imprisonment_target
Then
- Every scheme:
- Where:
is_scheme_target_type = characterscheme_target_character = scope:imprisonment_target
end_scheme = yes
- Where:
- Any scheme:
scope:imprisoner:If
has_relation_lover = scope:imprisonment_targetNOT = { has_relation_rival = scope:imprisonment_target }
Then
- scope:imprisonment_target: Event lover.0101 (after 14–30 days)
imprison_remove_ward_guardian_effect = { IMPRISONER = scope:imprisoner PRISONER = scope:imprisonment_target }
• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists
“They” is whatever it runs on (the scope it is called in). The scripted triggers and effects it calls link to their own pages; $PARAMETERS$ stay as written: each call fills them in.
The script as written (120 lines of game script)
imprison_character_effect = {
$TARGET$ = { save_scope_as = imprisonment_target }
$IMPRISONER$ = { save_scope_as = imprisoner }
scope:imprisonment_target = {
if = {
limit = {
has_opinion_modifier = {
modifier = imprisoned_me_past
target = scope:imprisoner
}
}
hidden_effect = {
remove_opinion = {
target = scope:imprisoner
modifier = imprisoned_me
}
}
}
#Close family get closer to rivalling you
if = {
limit = {
is_close_family_of = $IMPRISONER$
NOR = {
has_trait = forgiving
has_trait = craven
}
}
progress_towards_rival_effect = {
CHARACTER = scope:imprisoner
REASON = rival_imprisoned_family
OPINION = 0
}
}
add_opinion = {
target = scope:imprisoner
modifier = imprisoned_me
}
}
imprison_hostage_tooltip_effect = { WHO = scope:imprisonment_target }
if = {
limit = {
scope:imprisoner = { is_landless_ruler = no }
scope:imprisonment_target = {
exists = liege
OR = {
is_playable_character = yes
is_close_or_extended_family_of = liege
is_spouse_of = liege
}
}
}
scope:imprisoner = {
imprison = {
target = scope:imprisonment_target
type = house_arrest
}
scope:imprisonment_target = {
if = {
limit = {
any_close_or_extended_family_member = {
NOR = {
is_close_family_of = scope:imprisoner
scope:imprisoner = this
}
}
}
custom_tooltip = IMPRISONMENT_RELATIVES_EFFECT_HOUSE_ARREST
hidden_effect = {
every_close_or_extended_family_member = {
limit = {
NOR = {
is_close_family_of = scope:imprisoner
scope:imprisoner = this
}
}
add_opinion = {
modifier = imprisoned_family_member
target = scope:imprisoner
}
}
}
}
}
}
}
else = {
scope:imprisoner = {
imprison = {
target = scope:imprisonment_target
type = dungeon
}
scope:imprisonment_target = {
if = {
limit = {
any_close_or_extended_family_member = {
NOR = {
is_close_family_of = scope:imprisoner
scope:imprisoner = this
}
}
}
custom_tooltip = IMPRISONMENT_RELATIVES_EFFECT_DUNGEON
hidden_effect = {
every_close_or_extended_family_member = {
limit = {
scope:imprisoner != this
}
add_opinion = {
modifier = imprisoned_family_member_dungeon
target = scope:imprisoner
}
}
}
}
}As written in game/common/scripted_effects/00_prison_effects.txt.
The first 120 of its 165 lines; the rest is in game/common/scripted_effects/00_prison_effects.txt from line 1644.
Where it is used
Every place in common/, events/ and history/ that calls imprison_character_effect.
Character interactions (2)
Casus belli (3)
Events (52)
- … Betrayal
adultery.4001 - …: Claim of Convenience
councillor_spouse_diplomacy.2004 - A Beautiful Rule
fp3_yearly.2030 - A Creeping Suspicion
yearly.1084 - A Creeping Suspicion
yearly.1085 - A Failed Elopement
elope.1012
46 more
- A Game of Riddles
fp1_yearly.0101 - A Grotesque Disappointment
travel_events.3001 - A Helpful Warning
yearly.3001 - A Land at War
hold_court.6100 - A Lecture on Lustfulness
court_yearly.0110 - A Secret Exposed!
secrets.0101 - A Secret Exposed!
secrets.0103 - A Secret Exposed!
secrets.0104 - A Secret Exposed!
secrets.0107 - A Secret Exposed!
secrets.0116 - A Shady Discussion
yearly.5040 - A Stop on the Way: The Banquet
tour_travel.3111 - An Arrow Astray
fp3_frontier_story_cycle.0006 - Balance of Power
clan.1101 - bp2_yearly.6203
- Concerns Among the Clans
coronation_events.1020 - Contractual Compromise
hold_court.8150 - Coveted Claim
bp1_yearly.8000 - Faction Organizing
stewardship_duty.4060 - False Conversion
fp2_yearly.9001 - Hostile Acquisitions: Success!
laamp_base_contract_schemes.3022 - Indirect Espionage
hold_court.1001 - Indiscreet Councillor
yearly.0002 - Mental Break: Ingratitude
stress_threshold.2001 - Murderer!
secrets.0118 - New Dawns, Old Dungeons
coronation_events_klank.1003 - Out in the Open
yearly.3004 - Pillow Talk
court_yearly.5021 - Raider Revealed
secrets.0142 - Religious Will Imposed
south_asia.0033 - Rogue Servant
stewardship_general.5041 - Royal Service: Final Straw
hold_court.8052 - Shadows Before the Throne
ach_coronation.0011 - Show Them Who You Are
intrigue_dread.2301 - Sticky Fingers
secrets.0122 - Stifled Commerce
hold_court.8001 - Suspicious Snickering
trait_specific.8501 - The … Peace
hold_court.8260 - The Allure of Al-Khul
fp3_h_yearly.0001 - The Game
bp2_yearly.8022 - The Last Day
yearly.7004 - The Map
intrigue_scheme_ongoing.3004 - The Republic of …
hold_court.8080 - Through with You
ep3_laamp_flavour_ewan.2031 - To Lands of Strife
bp2_yearly.6205 - Unfaithful
infidelity_confrontation.1000
Scripted effects inside an event file (2)
- infidelity_confrontation_demand_break_up_failure_effect
- yearly_1010_imprison_target_effect
Source: game/common/scripted_effects/00_prison_effects.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.