CK3 DatabaseCrusader Kings III · 1.20.1.2 “Crozier” · unofficial
Silk & Silverout Tue, Nov 17What's free, what needs the DLC, price →

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:

    Then

    • scope:imprisoner:
      • imprison = { target = scope:new_target type = house_arrest }
      • If

        • is_close_family_of = $IMPRISONER$
        • Does not have the Trait: Forgiving
        • Does not have the Trait: Craven
        • Ai honor less than 20

        Then

    Otherwise

    • scope:imprisoner:
      • imprison = { target = scope:new_target type = dungeon }
      • If

        • is_close_family_of = $IMPRISONER$
        • Does not have the Trait: Forgiving
        • Does not have the Trait: Craven
        • Ai honor less than 20

        Then

  • 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)

26 more

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

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.

Spotted a mistake on this page?