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

Scripted trigger

vassal_would_join_rebel_faction_tyranny_trigger

vassal_would_join_rebel_faction_tyranny_trigger = yes

game/common/scripted_triggers/00_faction_triggers.txt, line 328 (80 lines). No parameters.

vassal_would_join_rebel_faction_tyranny_trigger is a scripted trigger in Crusader Kings III, written at line 328 of its file. It takes no parameters: vassal_would_join_rebel_faction_tyranny_trigger = yes (or no). The game's script calls it in 4 places, among them war_for_imprison_effect (scripted effect), war_for_retraction_effect (scripted effect) and war_for_revoke_effect (scripted effect). Patch 1.20.1.2, from game/common/scripted_triggers/00_faction_triggers.txt.

What it checks

  • None of these

    • has_relation_lover = scope:liege_temp
    • has_relation_friend = scope:liege_temp
    • is_allied_to = scope:liege_temp
    • is_primary_heir_of = scope:liege_temp
    • scope:liege_temp:
      • has_strong_hook = prev
    • has_dread_level_towards = { target = scope:liege_temp level = 2 }
    • Their faith:
      • faith_hostility_level = { target = scope:rebel_temp.faith value >= faith_hostile_level }
  • One of these

    • Ai honor at least 50
    • or

      scope:liege_temp: Has the Trait: Kinslayers
    • or

      If

      • is_child_of = scope:liege_temp

      Then

      • is_child_of = scope:rebel_temp

      Else if

      • is_close_family_of = scope:liege_temp

      Then

      • is_close_family_of = scope:rebel_temp

      Else if

      • scope:liege_temp.house ?= house

      Then

      • scope:rebel_temp.house ?= house

      Otherwise

      • always = yes
  • One of these

    • Ai honor at least 25
    • or

      If

      • Game rule set to “Very Hard”
      • scope:liege_temp: Is played by a person

      Then

      • Opinion of rebel_temp at least 0

      Else if

      • Game rule set to “Hard”
      • scope:liege_temp: Is played by a person

      Then

      • Opinion of rebel_temp at least 20

      Otherwise

      • Opinion of rebel_temp at least 40

• 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 (80 lines of game script)
vassal_would_join_rebel_faction_tyranny_trigger = {
	NOR = {
		# Isn't lover of liege
		has_relation_lover = scope:liege_temp
		# Isn't friend of liege
		has_relation_friend = scope:liege_temp
		# Isn't ally of liege
		is_allied_to = scope:liege_temp
		# Isn't heir of liege
		is_primary_heir_of = scope:liege_temp
		# Isn't hooked by liege
		scope:liege_temp = { has_strong_hook = prev }
		# Not cowed
		has_dread_level_towards = {
			target = scope:liege_temp
			level = 2
		}
		# Doesn't hate rebel's faith
		faith = {
			faith_hostility_level = {
				target = scope:rebel_temp.faith
				value >= faith_hostile_level
			}
		}
	}
	OR = {
		# it's not legal!
		ai_honor >= high_positive_ai_value
		# who cares? I believe this will not happen on me
		scope:liege_temp = {
			has_trait = kinslayer
		}
		trigger_if = {
			limit = { is_child_of = scope:liege_temp }
			is_child_of = scope:rebel_temp
		}
		trigger_else_if = {
			limit = { is_close_family_of = scope:liege_temp }
			is_close_family_of = scope:rebel_temp
		}
		trigger_else_if = {
			limit = { exists = house scope:liege_temp.house ?= house }
			scope:rebel_temp.house ?= house
		}
		trigger_else = {
			always = yes
		}
	}
	OR = {
		# Is an honorable person
		ai_honor >= 25
		# Doesn't hate the rebel
		trigger_if = {
			limit = {
				has_game_rule = very_hard_difficulty
				scope:liege_temp = { is_ai = no }
			}
			opinion = {
				target = scope:rebel_temp
				value >= 0
			}
		}
		trigger_else_if = {
			limit = {
				has_game_rule = hard_difficulty
				scope:liege_temp = { is_ai = no }
			}
			opinion = {
				target = scope:rebel_temp
				value >= 20
			}
		}
		trigger_else = {
			opinion = {
				target = scope:rebel_temp
				value >= 40
			}
		}
	}
}

As written in game/common/scripted_triggers/00_faction_triggers.txt.

Where it is used

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

Script values (1)

  • revoke_refusal_war_rising_strength_value

Source: game/common/scripted_triggers/00_faction_triggers.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?