Scripted effect
war_for_retraction_effect
war_for_retraction_effect = { LIEGE = … REBEL = … SUBVASSAL = … }game/common/scripted_effects/00_interaction_effects.txt, line 1272 (117 lines). Parameters: $LIEGE$, $REBEL$, $SUBVASSAL$.
war_for_retraction_effect is a scripted effect in Crusader Kings III, written at line 1272 of its file. A call passes 3 parameters: LIEGE, REBEL and SUBVASSAL. The game's script calls it in 1 place, among them Retract Vassal (interaction). Patch 1.20.1.2, from game/common/scripted_effects/00_interaction_effects.txt.
What it does
$REBEL$ = { … }bloc_member_join_war_effect = yes- Every in list:
- Every player:
- Where:
is_vassal_of = scope:liege_temp
- Event char_interaction.0232
- Where:
- scope:rebel_temp: Opinion: Attempted Arrest
• 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 (117 lines of game script)
war_for_retraction_effect = {
$LIEGE$ = { save_temporary_scope_as = liege_temp }
$SUBVASSAL$ = { save_temporary_scope_as = subvassal_temp }
$REBEL$ = {
save_temporary_scope_as = rebel_temp
save_scope_value_as = {
name = war_for_retraction_flavour
value = yes
}
start_war = {
casus_belli = refused_liege_demand_war
target = scope:liege_temp
}
}
scope:liege_temp = {
every_vassal = { #Vassals joining the rebel.
limit = {
vassal_would_join_rebel_faction_base_trigger = yes
OR = {
#Lovers and friends always back rebel (unless also lovers/friends of the liege)
vassal_would_join_rebel_faction_relation_trigger = yes
#Vassals that either like recipient or have high honor will rally if the liege is being tyrannical (taking away de jure vassal).
AND = {
# Special revocation checks
scope:liege_temp = {
NOR = {
has_revoke_title_reason = scope:rebel_temp
AND = {
government_has_mechanic = administrative
scope:rebel_temp = { is_governor = yes }
trigger_if = {
limit = { has_legitimacy = yes }
meets_legitimacy_expectation_of = prev
}
}
}
}
scope:rebel_temp = {
any_held_title = { is_de_jure_liege_or_above_target = scope:subvassal_temp.primary_title }
}
# If they can't join a faction against the liege they should not revolt
vassal_would_join_rebel_faction_tyranny_trigger = yes
}
#And finally, vassals that really hate their liege will join regardless (provided that they also do not hate rebel).
AND = {
OR = {
opinion = {
target = scope:rebel_temp
value >= -25
}
AND = {
has_game_rule = hard_difficulty
scope:liege_temp = { is_ai = no }
opinion = {
target = scope:rebel_temp
value >= -50
}
}
AND = {
has_game_rule = very_hard_difficulty
scope:liege_temp = { is_ai = no }
opinion = {
target = scope:rebel_temp
value >= -75
}
}
}
OR = {
opinion = {
target = scope:liege_temp
value <= -40
}
AND = {
has_game_rule = hard_difficulty
scope:liege_temp = { is_ai = no }
opinion = {
target = scope:liege_temp
value <= -20
}
}
AND = {
has_game_rule = very_hard_difficulty
scope:liege_temp = { is_ai = no }
opinion = {
target = scope:liege_temp
value <= 0
}
}
}
}
}
# TGP bloc members follow their leader
trigger_if = {
limit = { exists = house.house_confederation.leading_house.house_head }
house.house_confederation.leading_house.house_head = this
}
}
add_to_list = joining_vassals
}
}
# Bloc members join despite legality
bloc_member_join_war_effect = yes
every_in_list = {
list = joining_vassals
vassal_join_rebel_war_effect = yes
}
every_player = {
limit = { is_vassal_of = scope:liege_temp }
trigger_event = char_interaction.0232
}
scope:rebel_temp = {
add_opinion = {
target = scope:liege_temp
modifier = attempted_arrest_opinion
}
}
}As written in game/common/scripted_effects/00_interaction_effects.txt.
Where it is used
Every place in common/, events/ and history/ that calls war_for_retraction_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.