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_RelationToMe_relation

has_RelationToMe_relation = { CHARACTER = … }

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

has_RelationToMe_relation is a scripted trigger in Crusader Kings III, written at line 1136 of its file. A call passes 1 parameter: CHARACTER. The game's script calls it in 18 places, among them A Secret Exposed! (event secrets.0110), A Secret Exposed! (event secrets.0112) and A United Spain (event iberia_north_africa.0006). Patch 1.20.1.2, from game/common/scripted_triggers/00_relation_triggers.txt.

What it checks

  • One of these

    • is_close_or_extended_family_of = $CHARACTER$
    • or

      Any spouse:
      • this = $CHARACTER$
    • or

      Any spouse:
    • or

      $CHARACTER$ = { player_heir ?= scope:relation_check }
    • or

      is_heir_of = $CHARACTER$
    • or

      has_relation_rival = $CHARACTER$
    • or

      has_relation_lover = $CHARACTER$
    • or

      has_relation_friend = $CHARACTER$
    • or

      has_relation_bully = $CHARACTER$
    • or

      has_relation_victim = $CHARACTER$
    • or

      is_councillor_of = $CHARACTER$
    • or

      Any spouse › Any child:
      • this = $CHARACTER$
    • or

      Any parent › Any spouse:
      • this = $CHARACTER$
    • or

      Any parent › Any spouse › Any child:
      • this = $CHARACTER$
    • or

      liege ?= $CHARACTER$
    • or

      this:
      • is_tributary_of = $CHARACTER$
    • or

      Any courtier:
      • this = $CHARACTER$
    • or

      Any vassal or below:
      • this = $CHARACTER$
    • or

      All of these

      • Is an Independent Ruler
      • $CHARACTER$ = { top_liege != this }
      • liege = $CHARACTER$.liege
    • or

      All of these

      • faith = $CHARACTER$.faith
      • $CHARACTER$.capital_county.clerical_region_title.holder ?= scope:relation_check
    • or

      has_relation_crush = $CHARACTER$
    • or

      has_relation_ward = $CHARACTER$
    • or

      has_relation_guardian = $CHARACTER$
    • or

      has_relation_mentor = $CHARACTER$
    • or

      has_relation_student = $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$
    • or

      $CHARACTER$ = { is_sibling_in_law_of_root_trigger = yes }
    • or

      All of these

      • exists = dynasty
      • $CHARACTER$ = { exists = dynasty }
      • dynasty = $CHARACTER$.dynasty
    • or

      $CHARACTER$ = { … }
    • or

      is_imprisoned_by = $CHARACTER$
    • or

      $CHARACTER$ = { is_imprisoned_by = scope:relation_check }
    • or

      host ?= $CHARACTER$
    • or

      $CHARACTER$ = { host ?= scope:relation_check }
    • or

      superior ?= $CHARACTER$
    • or

      $CHARACTER$ = { superior ?= scope:relation_check }
    • or

      is_knight_of = $CHARACTER$
    • or

      All of these

      • is_female = yes
      • Any spouse:
        • is_child_of = root
    • or

      All of these

      • is_male = yes
      • Any spouse:
        • is_child_of = root

• 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 (111 lines of game script)
has_RelationToMe_relation = {
	save_temporary_scope_as = relation_check
	NOT = { this = $CHARACTER$ } # Don't print our relation to ourselves!
	OR = {
		is_close_or_extended_family_of = $CHARACTER$
		any_spouse = {
			even_if_dead = yes
			this = $CHARACTER$
		}
		any_spouse = {
			even_if_dead = yes
			this = $CHARACTER$
			is_concubine = yes
		}
		$CHARACTER$ = {
			player_heir ?= scope:relation_check
		}
		is_heir_of = $CHARACTER$
		has_relation_rival = $CHARACTER$
		has_relation_lover = $CHARACTER$
		has_relation_friend = $CHARACTER$
		has_relation_bully = $CHARACTER$
		has_relation_victim = $CHARACTER$
		is_councillor_of = $CHARACTER$
		any_spouse = { any_child = { this = $CHARACTER$ } }
		any_parent = { any_spouse = { this = $CHARACTER$ } }
		any_parent = { any_spouse = { any_child = { this = $CHARACTER$ } } }
		liege ?= $CHARACTER$
		this = { is_tributary_of = $CHARACTER$ }
		any_courtier = { this = $CHARACTER$ }
		any_vassal_or_below = { this = $CHARACTER$ }
		AND = {
			top_liege != this
			$CHARACTER$ = { top_liege != this }
			liege = $CHARACTER$.liege
		}
		AND = {
			faith = $CHARACTER$.faith
			$CHARACTER$.capital_county.clerical_region_title.holder ?= scope:relation_check
		}
		has_relation_crush = $CHARACTER$
		has_relation_ward = $CHARACTER$
		has_relation_guardian = $CHARACTER$
		has_relation_mentor = $CHARACTER$
		has_relation_student = $CHARACTER$
		has_relation_elder = $CHARACTER$
		has_relation_disciple = $CHARACTER$
		AND = {
			has_employed_any_court_position = yes
			any_court_position_holder = {
				this = $CHARACTER$
			}
		}
		$CHARACTER$ = { is_sibling_in_law_of_root_trigger = yes }
		AND = {
			exists = dynasty
			$CHARACTER$ = { exists = dynasty }
			dynasty = $CHARACTER$.dynasty
		}
		$CHARACTER$ = {
			any_owned_story = {
				type = story_peasant_affair
				var:peasant_character = {
					this = root
				}
			}
		}
		$CHARACTER$ = {
			is_courtier_of = scope:relation_check
			OR = {
				AND = {
					inspiration ?= {
						inspiration_sponsor = { this = scope:relation_check }
					}
				}
				AND = {
					exists = var:created_artifact_for
					var:created_artifact_for = scope:relation_check
				}
			}
		}
		$CHARACTER$ = {
			any_scheme = {
				scheme_is_character_agent = root
			}
		}
		is_imprisoned_by = $CHARACTER$
		$CHARACTER$ = { is_imprisoned_by = scope:relation_check }
		host ?= $CHARACTER$
		$CHARACTER$ = {
			host ?= scope:relation_check
		}
		superior ?= $CHARACTER$
		$CHARACTER$ = {
			superior ?= scope:relation_check
		}
		is_knight_of = $CHARACTER$
		AND = {
			is_female = yes
			any_spouse = {
				is_child_of = root
			}
		}
		AND = {
			is_male = yes
			any_spouse = {
				is_child_of = root
			}
		}
	}
}

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_RelationToMe_relation.

Events (8)

2 more

Scripted triggers inside an event file (1)

  • witch_3003_potential_guest_trigger

Customizable localization (9)

  • …
  • …
  • …
  • …
  • HerHisCharacterIntroduction
  • MyCharacterIntroduction
3 more
  • MyCharacterIntroductionPossessive
  • NamePossessiveCharacterIntroduction
  • YourCharacterIntroduction

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?