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

Scripted effect

revocation_tyranny_effect

revocation_tyranny_effect = { VASSAL = … }

game/common/scripted_effects/00_interaction_effects.txt, line 998 (114 lines). Parameters: $VASSAL$.

revocation_tyranny_effect is a scripted effect in Crusader Kings III, written at line 998 of its file. A call passes 1 parameter: VASSAL. The game's script calls it in 3 places, among them Retire Governor (interaction), Revoke Title (interaction) and revoke_title_interaction_effect (scripted effect). Its body carries 5 texts of the game's own for the player. Patch 1.20.1.2, from game/common/scripted_effects/00_interaction_effects.txt.

What it does

  • If

    a check the game hides

    Then

    • If

      • has_revoke_title_reason = $VASSAL$

      Then

      • consume_revoke_title_reason = $VASSAL$

      Otherwise

      • change_strife_opinion = major_strife_gain

    Else if

    Then

    • Tyranny +20
    • If

      • Has Legitimacy
      • None of these

        • scope:landed_title:
          • duchy = scope:liege_temp_scope.capital_county.duchy

      Then

    • If

      • NOT = { culture = $VASSAL$.culture }

      Then

      • $VASSAL$.culture = { … }

    Otherwise

    • If

      Then

      • Because … … a Governor, they can revoke … titles without being viewed as a Tyrant

      Else if

      • has_claim_on = scope:landed_title

      Then

      • You have a Claim on the Title, allowing you to revoke it without being viewed as a Tyrant

      Else if

      • has_revoke_title_reason = scope:recipient

      Then

      • … … a known Criminal (…), allowing … to revoke … Title without being viewed as a Tyrant

      Else if

      • Their rite:
        • One of these

          • The rite has Can revoke landed titles from Evil infidels without incurring Tyranny
          • or

            The rite has Can revoke landed titles from Hostile and Evil infidels without incurring Tyranny
      • Their faith:
        • faith_hostility_level = { target = scope:recipient.faith value >= faith_hostile_level }

      Then

      • If

        • Their rite: The rite has Can revoke landed titles from Hostile and Evil infidels without incurring Tyranny
        • Their faith:
          • faith_hostility_level = { target = scope:recipient.faith value = faith_hostile_level }

        Then

        • Because you consider ⟨faith⟩ to be Hostile, you can revoke … titles without being viewed as a Tyrant

        Otherwise

        • Because you consider ⟨faith⟩ to be Evil, you can revoke … titles without being viewed as a Tyrant
      • Every ⟨faith⟩ vassal:
        • Where: Their faith is the same as that of recipient
        • Opinion: Angry (-20)

• 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 (114 lines of game script)
revocation_tyranny_effect = {
	save_scope_as = liege_temp_scope
	if = {
		limit = { exists = scope:use_strife_not_tyranny }
		# If you have revocation reason, we allow that.
		if = {
			limit = { has_revoke_title_reason = $VASSAL$ }
			consume_revoke_title_reason = $VASSAL$
		}
		else = { change_strife_opinion = major_strife_gain }
	}
	else_if = {
		limit = {
			title_revocation_is_tyrannical_trigger = { VASSAL = $VASSAL$ }
		}
		add_tyranny = revoke_title_tyranny_gain
		# Special Legitimacy loss if you're revoking without a reason
		if = {
			limit = {
				has_legitimacy = yes
				NOT = {
					scope:landed_title ?= {
						duchy = scope:liege_temp_scope.capital_county.duchy
					}
				}
			}
			add_legitimacy = medium_legitimacy_loss
		}

		#If my culture is different from the recipients
		if = {
			limit = {
				NOT = { culture = $VASSAL$.culture }
			}
			$VASSAL$.culture = {
				change_cultural_acceptance = {
					target = scope:liege_temp_scope.culture
					value = revoke_title_culture_acceptance_impact
					desc = cultural_acceptance_loss_revokation
				}
			}
		}
	}
	else = {
		if = {
			limit = {
				title_revocation_is_admin_governor_trigger = { VASSAL = $VASSAL$ }
			}
			custom_description = {
				text = IS_ALLOWED_TO_REVOKE_ADMIN_GOVERNMENT
				subject = scope:liege_temp_scope
				object = $VASSAL$
			}
		}
		else_if = {
			limit = {
				exists = scope:landed_title
				has_claim_on = scope:landed_title
			}
			custom_tooltip = IS_ALLOWED_TO_REVOKE_TITLE_FOR_CLAIM_DESC
		}
		else_if = {
			limit = {
				has_revoke_title_reason = scope:recipient
			}
			custom_tooltip = IS_ALLOWED_TO_REVOKE_TITLE_DESC
		}
		else_if = {
			limit = {
				rite = {
					OR = {
						rite_has_parameter = pluralism_righteous_revocation_tyranny_reduced
						rite_has_parameter = pluralism_fundamentalist_revocation_tyranny_minimal
					}
				}
				faith = {
					faith_hostility_level = {
						target = scope:recipient.faith
						value >= faith_hostile_level
					}
				}
			}
			if = {
				limit = {
					rite = { rite_has_parameter = pluralism_fundamentalist_revocation_tyranny_minimal }
					faith = {
						faith_hostility_level = {
							target = scope:recipient.faith
							value = faith_hostile_level
						}
					}
				}
				custom_tooltip = IS_ALLOWED_TO_REVOKE_HOSTILE_INFIDEL_TITLE
			}
			else = {
				custom_tooltip = IS_ALLOWED_TO_REVOKE_EVIL_INFIDEL_TITLE
			}
			every_vassal = {
				limit = {
					faith = scope:recipient.faith
				}
				custom = INFIDEL_REVOCATION_OPINION
				add_opinion = {
					modifier = angry_opinion
					target = scope:puppet_or_actor
					opinion = {
						value = revoke_title_tyranny_gain
						multiply = -1
					}
				}
			}
		}
	}
}

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

Where it is used

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