Scripted effect
rightfully_imprison_character_less_verbose_effect
rightfully_imprison_character_less_verbose_effect = { IMPRISONER = … TARGET = … }game/common/scripted_effects/00_prison_effects.txt, line 2203 (193 lines). Parameters: $IMPRISONER$, $TARGET$.
rightfully_imprison_character_less_verbose_effect is a scripted effect in Crusader Kings III, written at line 2203 of its file. A call passes 2 parameters: IMPRISONER and TARGET. The game's script calls it in 51 places, among them Great War of Defiance (casus belli), Greatest of Khans' Onslaught (casus belli) and Resist Capture (casus belli). Its body carries 4 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:new_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:new_target type = house_arrest }If
Then
progress_towards_rival_effect = { CHARACTER = scope:new_target REASON = rival_imprisoned_family OPINION = 0 }
Otherwise
scope:imprisoner:imprison = { target = scope:new_target type = dungeon }If
Then
progress_towards_rival_effect = { CHARACTER = scope:new_target REASON = rival_imprisoned_family OPINION = 0 }
imprison_hostage_tooltip_effect = { WHO = scope:new_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)
rightfully_imprison_character_less_verbose_effect = {
$TARGET$ = { save_scope_as = new_target }
$IMPRISONER$ = { save_scope_as = imprisoner }
if = {
limit = {
scope:new_target = {
exists = liege
OR = {
is_playable_character = yes
is_close_or_extended_family_of = liege
is_spouse_of = liege
}
}
}
scope:imprisoner = {
imprison = {
target = scope:new_target
type = house_arrest
}
#Close family get closer to rivalling you
if = {
limit = {
is_close_family_of = $IMPRISONER$
NOR = {
has_trait = forgiving
has_trait = craven
#Just characters know they deserve this
ai_honor >= low_positive_ai_value
}
}
progress_towards_rival_effect = {
CHARACTER = scope:new_target
REASON = rival_imprisoned_family
OPINION = 0
}
}
hidden_effect = {
scope:new_target = {
if = {
limit = {
any_close_or_extended_family_member = {
NOR = {
is_close_family_of = scope:imprisoner
scope:imprisoner = this
}
}
}
hidden_effect = {
every_close_or_extended_family_member = {
limit = {
NOR = {
is_close_family_of = scope:imprisoner
scope:imprisoner = this
}
}
add_opinion = {
target = scope:imprisoner
modifier = imprisoned_family_member
opinion = -15
}
}
}
custom_tooltip = IMPRISONMENT_RELATIVES_EFFECT_HOUSE_ARREST
}
}
}
}
}
else = {
scope:imprisoner = {
imprison = {
target = scope:new_target
type = dungeon
}
#Close family get closer to rivalling you
if = {
limit = {
is_close_family_of = $IMPRISONER$
NOR = {
has_trait = forgiving
has_trait = craven
#Just characters know they deserve this
ai_honor >= low_positive_ai_value
}
}
progress_towards_rival_effect = {
CHARACTER = scope:new_target
REASON = rival_imprisoned_family
OPINION = 0
}
}
hidden_effect = {
scope:new_target = {
if = {
limit = {
any_close_or_extended_family_member = {
NOR = {
is_close_family_of = scope:imprisoner
scope:imprisoner = this
}
}
}
hidden_effect = {
every_close_or_extended_family_member = {
limit = {
NOR = {
is_close_family_of = scope:imprisoner
scope:imprisoner = this
}
}
add_opinion = {
target = scope:imprisoner
modifier = imprisoned_family_member
opinion = -15
}
}As written in game/common/scripted_effects/00_prison_effects.txt.
The first 120 of its 193 lines; the rest is in game/common/scripted_effects/00_prison_effects.txt from line 2203.
Where it is used
Every place in common/, events/ and history/ that calls rightfully_imprison_character_less_verbose_effect.
Task contracts (1)
- hoarding_mayor
Events (32)
- … Blood
bp2_yearly.6080 - …: The Return
pet_animal.3011 - …s and Commoners
ach_coronation.0013 - A Bequest for the Church
pam_theocratic_ruler_events.0001 - A Holy Endeavor
pam_religious_artifact_events.0001 - A Party of Peasants
bp2_adult_education.9100
26 more
- A Spot of Larceny: Failure!
laamp_base_contract_schemes.3783 - A Whisper at the Feast
coronation_events.1004 - Banished
mpo_hunt.0030 - Down to Bottomless Perdition
chariot_race.4051 - Down...
chariot_race.4050 - Eminent Eunuch: A Very … Coup
ep3_story_cycle_admin_eunuch.6000 - Eminent Eunuch: Accusations
ep3_story_cycle_admin_eunuch.4000 - Eminent Eunuch: Indiscretions
ep3_story_cycle_admin_eunuch.4010 - Escaped Justice
governor_contract_events_tova.0056 - Fomenting Frontier
ep3_emperor_yearly.8060 - Forbidden Drinks
mpo_events_ariana.0030 - Grand Cathedral: A Higher Calling
pam_great_projects_events.0013 - Haunting Mockery
coronation_events.1000 - Ill-Advised: Interrogations
nomad_events.0006 - Missing Follower: …
ep3_laamp_flavour_ewan.9532 - Raising Rumors
legend_spread_events.0020 - Religious Matters
nomad_events.0260 - Shelter from the Storm
bp1_yearly.0100 - The Accident
feast_default.1020 - The Cangue-Wearer
mpo_nomad_events.1080 - The Mad Prophet
governor_contract_event.2091 - The Weakest Link
nomad_events.0180 - Tithes or Mercy
pam_theocratic_ruler_events.0006 - To Feed a Friend
ep3_camp_temperament.0001 - Unbidden Visitors
ep3_emperor_yearly.8050 - Unwelcome Attention
childhood.0005
Scripted effects inside an event file (8)
- ep3_story_cycle_admin_eunuch_award_boon_effect
- laamp_base_contract_schemes_3781_duel_failure_effect
- nomad_events_0009_imprison_effect
- nomad_events_0010_imprison_effect
- pam_challenge_hof_war_judge_imprison_effect
- raid_estate_failure_effect
2 more
- raid_estate_success_public_effect
- vizierate_1001_duel_for_vizierate_effect
Scripted effects (7)
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.