Scripted effect
retract_vassal_interaction_effect
retract_vassal_interaction_effect = yesgame/common/scripted_effects/00_interaction_effects.txt, line 3365 (49 lines). No parameters.
retract_vassal_interaction_effect is a scripted effect in Crusader Kings III, written at line 3365 of its file. It takes no parameters: retract_vassal_interaction_effect = yes. The game's script calls it in 5 places, among them … Retract Vassal (interaction), Retract Vassal (interaction) and char_interaction.0220 (event). Patch 1.20.1.2, from game/common/scripted_effects/00_interaction_effects.txt.
What it does
scope:puppet_or_actor:vassal_revocation_tyranny_effect = yesIf
vassal_revocation_is_tyrannical_trigger = { VASSAL = scope:recipient }
Then
- Stress and fulfillment impact: by trait: Generous +40, Just +40
Otherwise
- Stress and fulfillment impact: by trait: Generous +40, Forgiving +20
consume_revoke_title_reason = scope:recipient
scope:secondary_recipient:change_liege = { liege = scope:puppet_or_actor change = scope:change }
- scope:recipient: Opinion: Retracted My Vassal
If
- Never
scope:puppet_or_actor:has_hook = scope:recipient
Then
scope:puppet_or_actor:use_hook = scope:recipient
• 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 (49 lines of game script)
retract_vassal_interaction_effect = {
scope:puppet_or_actor = {
vassal_revocation_tyranny_effect = yes
if = {
limit = {
vassal_revocation_is_tyrannical_trigger = { VASSAL = scope:recipient }
}
stress_and_fulfillment_impact = {
generous = medium_stress_impact_gain
just = medium_stress_impact_gain
}
}
else = {
stress_and_fulfillment_impact = {
generous = medium_stress_impact_gain
forgiving = minor_stress_impact_gain
}
}
consume_revoke_title_reason = scope:recipient
}
create_title_and_vassal_change = {
type = revoked
save_scope_as = change
add_claim_on_loss = no
}
scope:secondary_recipient = {
change_liege = {
liege = scope:puppet_or_actor
change = scope:change
}
}
resolve_title_and_vassal_change = scope:change
scope:recipient = {
add_opinion = {
target = scope:puppet_or_actor
modifier = retracted_vassal
}
}
if = {
limit = {
always = scope:hook
scope:puppet_or_actor ?= { has_hook = scope:recipient }
}
scope:puppet_or_actor = { use_hook = scope:recipient }
}
}As written in game/common/scripted_effects/00_interaction_effects.txt.
Where it is used
Every place in common/, events/ and history/ that calls retract_vassal_interaction_effect.
Character interactions (2)
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.