Scripted effect
imprison_character_effect_ignore_reason
imprison_character_effect_ignore_reason = { IMPRISONER = … TARGET = … }game/common/scripted_effects/00_prison_effects.txt, line 1810 (140 lines). Parameters: $IMPRISONER$, $TARGET$.
imprison_character_effect_ignore_reason is a scripted effect in Crusader Kings III, written at line 1810 of its file. A call passes 2 parameters: IMPRISONER and TARGET. The game's script calls it in 2 places, among them A Source of Trouble (event sibling.0005) and Out in the Open (event yearly.3005). 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
If
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: Tyranny changes
scope:imprisonment_target:imprison_hostage_tooltip_effect = { WHO = scope:imprisonment_target }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_ignore_reason = {
$TARGET$ = { save_temporary_scope_as = imprisonment_target }
$IMPRISONER$ = { save_temporary_scope_as = imprisoner }
if = {
limit = {
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
}
}
}
}
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
}
}
}
}
scope:imprisoner = {
add_tyranny = imprisonment_tyranny_gain
}
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 }
#Disband any scheme you have against them
scope:imprisoner = {
if = {
limit = {
any_scheme = {
is_scheme_target_type = character
scheme_target_character = scope:imprisonment_target
}
}
every_scheme = {
limit = {
is_scheme_target_type = character
scheme_target_character = scope:imprisonment_target
}
end_scheme = yes
}
}
}As written in game/common/scripted_effects/00_prison_effects.txt.
The first 120 of its 140 lines; the rest is in game/common/scripted_effects/00_prison_effects.txt from line 1810.
Where it is used
Every place in common/, events/ and history/ that calls imprison_character_effect_ignore_reason.
Events (2)
- A Source of Trouble
sibling.0005 - Out in the Open
yearly.3005
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.