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

Scripted effect

war_for_revoke_effect

war_for_revoke_effect = { LIEGE = … REBEL = … }

game/common/scripted_effects/00_interaction_effects.txt, line 1113 (158 lines). Parameters: $LIEGE$, $REBEL$.

war_for_revoke_effect is a scripted effect in Crusader Kings III, written at line 1113 of its file. A call passes 2 parameters: LIEGE and REBEL. The game's script calls it in 2 places, among them Retire Governor (interaction) and Revoke Title (interaction). Patch 1.20.1.2, from game/common/scripted_effects/00_interaction_effects.txt.

What it does

• 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)
war_for_revoke_effect = {
	$LIEGE$ = { save_temporary_scope_as = liege_temp }
	$REBEL$ = {
		save_temporary_scope_as = rebel_temp
		save_scope_value_as = {
			name = war_for_revocation_flavour
			value = yes
		}
		start_war = {
			casus_belli = refused_liege_demand_war
			target = scope:liege_temp
		}
	}
	scope:liege_temp = {
		# Disgruntled vassals
		if = {
			limit = {
				NOT = { has_revoke_title_reason = scope:rebel_temp }
			}
			every_vassal = { #Vassals joining the rebel.
				custom = vassals_joining_war_tt
				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.
						AND = {
							# Special retraction 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
										}
									}
									trigger_if = {
										limit = { exists = scope:landed_title }
										has_claim_on = scope:landed_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 recipient).
						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 = {
								#default threshold
								opinion = {
									target = scope:liege_temp
									value <= -50
								}
								AND = {
									has_game_rule = hard_difficulty
									scope:liege_temp = { is_ai = no }
									opinion = {
										target = scope:liege_temp
										value <= -25
									}
								}
								AND = {
									has_game_rule = very_hard_difficulty
									scope:liege_temp = { is_ai = no }
									opinion = {
										target = scope:liege_temp
										value <= 0
									}
								}
								#If tyrannical, the default threshold will be reached if at this level
								AND = {
									scope:liege_temp = {
										title_revocation_is_tyrannical_trigger = { VASSAL = scope:rebel_temp }
									}
									OR = {
										opinion = {
											target = scope:liege_temp
											value <= -30 #revoke_title_tyranny_gain adds -20
										}
										AND = {
											has_game_rule = hard_difficulty
											scope:liege_temp = { is_ai = no }
											opinion = {
												target = scope:liege_temp
												value <= -10
											}
										}
										AND = {
											has_game_rule = very_hard_difficulty
											scope:liege_temp = { is_ai = no }
											opinion = {
												target = scope:liege_temp
												value <= 10
											}

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

The first 120 of its 158 lines; the rest is in game/common/scripted_effects/00_interaction_effects.txt from line 1113.

Where it is used

Every place in common/, events/ and history/ that calls war_for_revoke_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.

Spotted a mistake on this page?