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

Scripted effect

ask_for_pardon_interaction_effect

ask_for_pardon_interaction_effect = yes

game/common/scripted_effects/00_interaction_effects.txt, line 3415 (96 lines). No parameters.

ask_for_pardon_interaction_effect is a scripted effect in Crusader Kings III, written at line 3415 of its file. It takes no parameters: ask_for_pardon_interaction_effect = yes. The game's script calls it in 2 places, among them Ask for Pardon (interaction) and vassal_interaction.0030 (event). Patch 1.20.1.2, from game/common/scripted_effects/00_interaction_effects.txt.

What it does

  • scope:puppet_or_actor:
    • Every liege or above:
      • If

        • has_imprisonment_reason = scope:puppet_or_actor

        Then

        • consume_imprisonment_reasons = scope:puppet_or_actor
      • If

        • has_banish_reason = scope:puppet_or_actor

        Then

        • consume_banish_reasons = scope:puppet_or_actor
      • If

        • has_execute_reason = scope:puppet_or_actor

        Then

        • consume_execute_reasons = scope:puppet_or_actor
      • If

        • has_revoke_title_reason = scope:puppet_or_actor

        Then

        • consume_revoke_title_reason = scope:puppet_or_actor
    • Stress and fulfillment impact: by trait: Stubborn +20
  • If

    • Never
    • scope:puppet_or_actor:
      • has_usable_hook = scope:recipient

    Then

    • scope:puppet_or_actor:
      • use_hook = scope:recipient
  • scope:puppet_or_actor:

• 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 (96 lines of game script)
ask_for_pardon_interaction_effect = {
	scope:puppet_or_actor = {
		every_liege_or_above = {
			if = {
				limit = { has_imprisonment_reason = scope:puppet_or_actor }
				send_interface_toast = {
					title = ask_for_pardon_interaction_accept_toast
					left_icon = scope:recipient
					consume_imprisonment_reasons = scope:puppet_or_actor
				}
			}
			if = {
				limit = { has_banish_reason = scope:puppet_or_actor }
				send_interface_toast = {
					title = ask_for_pardon_interaction_accept_toast
					left_icon = scope:recipient
					consume_banish_reasons = scope:puppet_or_actor
				}
			}
			if = {
				limit = { has_execute_reason = scope:puppet_or_actor }
				send_interface_toast = {
					title = ask_for_pardon_interaction_accept_toast
					left_icon = scope:recipient
					consume_execute_reasons = scope:puppet_or_actor
				}
			}
			if = {
				limit = { has_revoke_title_reason = scope:puppet_or_actor }
				send_interface_toast = {
					title = ask_for_pardon_interaction_accept_toast
					left_icon = scope:recipient
					consume_revoke_title_reason = scope:puppet_or_actor
				}
			}
		}
		stress_and_fulfillment_impact = {
			stubborn = minor_stress_impact_gain
		}
	}
	if = {
		limit = {
			always = scope:hook
			scope:puppet_or_actor = { # TO make sure you still have a hook on them
				has_usable_hook = scope:recipient
			}
		}
		scope:puppet_or_actor = {
			use_hook = scope:recipient
		}
	}
	scope:puppet_or_actor = {
		if = {
			limit = {
				tgp_is_any_minister = yes
			}
			if = {
				limit = {
					scope:recipient = {
						OR = {
							liege = {
								has_extra_criminal_reason_against_trigger = {
									CRIMINAL = scope:recipient
								}
							}
							is_close_or_extended_family_of = scope:puppet_or_actor
						}
					}
				}
				change_strife_opinion = massive_strife_gain
				if = {
					limit = {
						NOT = { scope:hook ?= yes }
					}
					situation:dynastic_cycle = {
						trigger_situation_catalyst = {
							catalyst = catalyst_minister_pardoned_dangerous_criminal
							character = scope:puppet_or_actor
						}
					}
				}
			}
			else = {
				if = {
					limit = {
						government_has_flag = government_has_influence
					}
					change_influence = {
						value = minor_influence_gain
						multiply = scope:recipient.highest_held_title_tier
					}
				}
			}
		}
	}
}

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

Where it is used

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

Character interactions (1)

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?