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

Scripted trigger

has_any_relation_trigger

has_any_relation_trigger = { CHARACTER = … }

game/common/scripted_triggers/00_relation_triggers.txt, line 531 (41 lines). Parameters: $CHARACTER$.

has_any_relation_trigger is a scripted trigger in Crusader Kings III, written at line 531 of its file. A call passes 1 parameter: CHARACTER. The game's script calls it in 14 places, among them Bring Me … Head (event laamp_base_contract_schemes.1004), Danger: On A Mountain Trail (event travel_danger_events.3000) and Donation: … (event holy_order.2030). Patch 1.20.1.2, from game/common/scripted_triggers/00_relation_triggers.txt.

The comment above it in the file

List of all localizable relations (e.g, My vassal Alex, My courtier Lisa, My liege Frank, My cousin Teddy, etc.)

What it checks

  • One of these

    • All of these

      • exists = $CHARACTER$.liege
      • this = $CHARACTER$.liege
    • or

      is_vassal_of = $CHARACTER$
    • or

      is_courtier_of = $CHARACTER$
    • or

      is_councillor_of = $CHARACTER$
    • or

      is_heir_of = $CHARACTER$
    • or

      is_consort_of = $CHARACTER$
    • or

      is_close_or_extended_family_of = $CHARACTER$
    • or

      All of these

      • exists = $CHARACTER$.faith.religious_head
      • this = $CHARACTER$.faith.religious_head
    • or

      has_relation_lover = $CHARACTER$
    • or

      has_relation_rival = $CHARACTER$
    • or

      has_relation_friend = $CHARACTER$
    • or

      has_relation_guardian = $CHARACTER$
    • or

      has_relation_ward = $CHARACTER$
    • or

      has_relation_elder = $CHARACTER$
    • or

      has_relation_disciple = $CHARACTER$
    • or

      All of these

      • Has employed any court position
      • Any court position holder:
        • this = $CHARACTER$

• 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 (41 lines of game script)
has_any_relation_trigger = {
	NOT = { this = $CHARACTER$ }
	OR = {
		# They are our liege
		AND = {
			exists = $CHARACTER$.liege
			this = $CHARACTER$.liege
		}
		# We are their liege
		is_vassal_of = $CHARACTER$
		is_courtier_of = $CHARACTER$
		is_councillor_of = $CHARACTER$

		# They are our heir/spouse/familyetc.
		is_heir_of = $CHARACTER$
		is_consort_of = $CHARACTER$
		is_close_or_extended_family_of = $CHARACTER$

		#They are the head of our faith
		AND = {
			exists = $CHARACTER$.faith.religious_head
			this = $CHARACTER$.faith.religious_head
		}

		# Other relations
		has_relation_lover = $CHARACTER$
		has_relation_rival = $CHARACTER$
		has_relation_friend = $CHARACTER$
		has_relation_guardian = $CHARACTER$
		has_relation_ward = $CHARACTER$
		has_relation_elder = $CHARACTER$
		has_relation_disciple = $CHARACTER$

		AND = {
			has_employed_any_court_position = yes
			any_court_position_holder = {
				this = $CHARACTER$
			}
		}
	}
}

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

Where it is used

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

Events (11)

5 more

Scripted triggers inside an event file (2)

  • bilingual_character_trigger
  • intrigue_scheme_ongoing_3003_hunter_trigger

Scripted modifiers (AI weights) (1)

  • laamp_weight_up_minor_chars_modifier

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