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

Scripted effect

torture_blind_castrate_disfigure_opinion_effect

torture_blind_castrate_disfigure_opinion_effect = { VERB = … }

game/common/scripted_effects/00_interaction_effects.txt, line 92 (69 lines). Parameters: $VERB$.

torture_blind_castrate_disfigure_opinion_effect is a scripted effect in Crusader Kings III, written at line 92 of its file. A call passes 1 parameter: VERB. The game's script calls it in 8 places, among them Blind (interaction), Castrate Prisoner (interaction) and Negotiate Release (interaction). Patch 1.20.1.2, from game/common/scripted_effects/00_interaction_effects.txt.

What it does

  • scope:recipient:
    • Opinion: $VERB$ me
    • If

      • has_opinion_modifier = { modifier = grateful_opinion target = scope:puppet_or_actor }

      Then

      • remove_opinion = { modifier = grateful_opinion target = scope:puppet_or_actor }
    • If

      • In list (exactly 1):
        • always = yes

      Then

      • Every in list: Opinion: $VERB$ family member

      Else if

      • In list (more than 1):
        • always = yes

      Then

• 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 (69 lines of game script)
torture_blind_castrate_disfigure_opinion_effect = {
	if = {
		limit = { NOT = { exists = scope:puppet_or_actor } }
		scope:actor = { save_scope_as = puppet_or_actor }
	}
	scope:recipient = {
		add_opinion = {
			modifier = $VERB$_me
			target = scope:puppet_or_actor
		}
		if = {
			limit = {
				has_opinion_modifier = {
					modifier = grateful_opinion
					target = scope:puppet_or_actor
				}
			}
			remove_opinion = {
				modifier = grateful_opinion
				target = scope:puppet_or_actor
			}
		}

		if = {
			limit = {
				primary_spouse ?= { is_alive = yes }
				NOT = { primary_spouse = { this = scope:puppet_or_actor } }
			}
			primary_spouse = { add_to_list = family_of_tortured }
		}
		every_close_family_member = {
			limit = { this != scope:puppet_or_actor }
			add_to_list = family_of_tortured
		}
		if = {
			limit = {
				any_in_list = {
					list = family_of_tortured
					count = 1
					always = yes
				}
			}
			every_in_list = {
				list = family_of_tortured
				add_opinion = {
					target = scope:puppet_or_actor
					modifier = $VERB$_family_member
				}
			}
		}
		else_if = {
			limit = {
				any_in_list = {
					list = family_of_tortured
					count > 1
					always = yes
				}
			}
			every_in_list = {
				list = family_of_tortured
				custom = all_close_family_and_spouses
				add_opinion = {
					target = scope:puppet_or_actor
					modifier = $VERB$_family_member
				}
			}
		}
	}
}

As written in game/common/scripted_effects/00_interaction_effects.txt.

Where it is used

Every place in common/, events/ and history/ that calls torture_blind_castrate_disfigure_opinion_effect.

Events (3)

Source: game/common/scripted_effects/00_interaction_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?