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

Scripted trigger

build_murder_targets_trigger

build_murder_targets_trigger = yes

game/common/scripted_triggers/00_scheme_triggers.txt, line 226 (194 lines). No parameters.

build_murder_targets_trigger is a scripted trigger in Crusader Kings III, written at line 226 of its file. It takes no parameters: build_murder_targets_trigger = yes (or no). The game's script calls it in 1 place, among them murder_scheme_maintenance.1 (event). Patch 1.20.1.2, from game/common/scripted_triggers/00_scheme_triggers.txt.

The comment above it in the file

This trigger is a bit contrived in some way to ensure absolutely everyone gets evaluated without any early-outing
It should always return true
We use "count = all" and trigger_ifs to ensure that all have to be evaluated, and that all return

What it checks

  • Every relation:
    • If

      • You:
        • If

          • has_relation_nemesis = prev

          Then

          • Ai honor at most 35

          Otherwise

          • Ai honor at most 20
        • can_start_scheme = { target_character = prev type = murder }

      Then

      • add_to_temporary_list = murder_targets
  • If ai greed at least 20:
  • If

    Then

    • Their liege › Every tax collector:
      • If

        • Any tax collector vassal:
        • tax_collector_aptitude = { target = clan_tax_slot value >= 3 }

        Then

        • add_to_temporary_list = murder_targets
  • If

    • Ai greed at least 0
    • Ai vengefulness at least 0
    • Ai compassion at most -35
    • Their house’s house head:
      • Is a ruler
      • Government is Clan
    • ai_wants_low_unity = yes

    Then

    • Their house › Every house member › If has the Trait: Extolled by House:
      • add_to_temporary_list = murder_targets
  • Every consort:
    • If

      Then

      • add_to_temporary_list = murder_targets
  • If

    • Highest held Title is more than Barony Rank
    • Their liege: Tyranny at least 40
    • Opinion of liege at most -60
    • Ai rationality at least 35

    Then

    • Their liege:
      • add_to_temporary_list = murder_targets
  • If

    • Is landed
    • primary_title.tier >= tier_duchy

    Then

    • Every targeting faction:
      • faction_type = claimant_faction
      • If

        a check the game hides

        Then

        • special_character = { add_to_temporary_list = murder_targets }
  • If

    • Ai compassion at most -20
    • Ai rationality at most 0
    • Is landed
    • Has the Trait: Paranoid
    • primary_title.tier >= tier_duchy

    Then

    • Every held title › Every claimant:
      • If

        a check the game hides

        Then

        • add_to_temporary_list = murder_targets
  • Every spouse:
    • If

      • Fertility less than 0.1
      • Is played by the AI
      • You:
        • Ai compassion at most 0
        • Ai honor at most 0
        • Fertility more than 0.1
        • is_playable_character = yes
        • None of these

          • Any child:
            • is_heir_of = root
        • can_start_scheme = { target_character = prev type = murder }

      Then

      • add_to_temporary_list = murder_targets

• 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)
build_murder_targets_trigger = {
	any_relation = { # Rivals are good targets for murder schemes
		type = rival
		count = all
		trigger_if = {
			limit = {
				root = {
					trigger_if = {
						limit = {
							has_relation_nemesis = prev
						}
						ai_honor <= medium_positive_ai_value
					}
					trigger_else = {
						ai_honor <= low_positive_ai_value
					}
					can_start_scheme = {
						target_character = prev
						type = murder
					}
				}
			}
			add_to_temporary_list = murder_targets
		}
	}
	trigger_if = { # Greedy people have no qualms murdering their way up the succession...
		limit = {
			ai_greed >= low_positive_ai_value
			exists = dynasty
		}
		dynasty = {
			any_dynasty_member = {
				count = all
				trigger_if = {
					limit = {
						is_good_familial_murder_target_trigger = yes
					}
					add_to_temporary_list = murder_targets
				}
			}
		}
		any_close_or_extended_family_member = {
			count = all
			trigger_if = {
				limit = {
					NOT = { is_in_list = murder_targets }
					is_good_familial_murder_target_trigger = yes
				}
				add_to_temporary_list = murder_targets
			}
		}
	}
	trigger_if = { # Greedy people want to murder their liege's high aptitude tax collector...
		limit = {
			ai_greed >= low_positive_ai_value
			top_liege != this
			government_has_flag = government_is_clan
			exists = liege
		}
		liege = {
			any_tax_collector = {
				count = all
				trigger_if = {
					limit = {
						any_tax_collector_vassal = {
							this = root
						}
						tax_collector_aptitude = {
							target = clan_tax_slot
							value >= 3
						}
					}
					add_to_temporary_list = murder_targets
				}
			}
		}
	}
	trigger_if = { # Some Clan members want to murder Extolled people out of pure spite and malice
		limit = {
			ai_greed >= 0
			ai_vengefulness >= 0
			ai_compassion <= medium_negative_ai_value
			house.house_head ?= {
				is_ruler = yes
				government_has_flag = government_is_clan
			}
			ai_wants_low_unity = yes
		}
		house = {
			any_house_member = {
				count = all
				trigger_if = {
					limit = { has_trait = extolled }
					add_to_temporary_list = murder_targets
				}
			}
		}
	}
	any_consort = { # Unfaithful spouses
		count = all
		trigger_if = {
			limit = {
				root = {
					ai_compassion <= 0
					can_start_scheme = {
						target_character = prev
						type = murder
					}
				}
				exposed_cheating_on_spouse_trigger = { SPOUSE = root }
			}
			add_to_temporary_list = murder_targets
		}
	}
	trigger_if = { # Certain vassals will plot against their liege under certain conditions
		limit = {
			highest_held_title_tier > tier_barony
			liege ?= {
				tyranny >= medium_tyranny
			}

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

The first 120 of its 194 lines; the rest is in game/common/scripted_triggers/00_scheme_triggers.txt from line 226.

Where it is used

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

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