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

Scripted trigger · Khans of the Steppe files

mpo_overrunner_becomes_tribal_desc_trigger

mpo_overrunner_becomes_tribal_desc_trigger = yes

game/common/scripted_triggers/mpo_scripted_triggers.txt, line 404 (121 lines). No parameters.

mpo_overrunner_becomes_tribal_desc_trigger is a scripted trigger in Crusader Kings III, in the Khans of the Steppe files, written at line 404 of its file. It takes no parameters: mpo_overrunner_becomes_tribal_desc_trigger = yes (or no). The game's script calls it in 2 places, among them Overrun Kingdom (casus belli) and Overrun Kingdom (casus belli). Patch 1.20.1.2, from game/common/scripted_triggers/mpo_scripted_triggers.txt.

What it checks

  • Any in list:
    • Title tier exactly Kingdom
    • Any de jure county:
      • holder.top_liege = scope:defender
      • add_to_temporary_list = target_counties
  • One of these

    • All of these

      • Any in list:
        • Title tier exactly Kingdom
        • holder ?= scope:defender
      • scope:defender: Government is a Tribal-type Government
    • or

      All of these

      • scope:defender: Government is a Tribal-type Government
      • Every in list › Any county province:
        • One of these

          • has_holding_type = tribal_holding
          • or

            has_holding_type = nomad_holding
          • or

            has_holding_type = herder_holding
    • or

      If

      • Any in list:
        • Title tier exactly Kingdom
        • title_capital_county = { holder.top_liege = scope:defender }

      Then

      • Any in list:
        • Title tier exactly Kingdom
        • title_capital_county = { … }

      Else if

      • Any in list:
        • Title tier exactly Kingdom
        • Any direct de jure vassal title:
          • Title tier exactly Duchy
          • title_capital_county = { holder.top_liege = scope:defender }

      Then

      • Any in list:
        • Title tier exactly Kingdom
        • Every direct de jure vassal title:
          • Title tier exactly Duchy
          • title_capital_county = { … }

      Otherwise

      • Any in list:
        • Title tier exactly Kingdom
        • Every de jure county:
          • holder.top_liege = scope:defender
          • Any county province:
            • This is the County Capital
            • NOT = { has_holding_type = tribal_holding }
            • NOT = { has_holding_type = nomad_holding }
            • NOT = { has_holding_type = herder_holding }

• 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)
mpo_overrunner_becomes_tribal_desc_trigger = {
	any_in_list = {
		list = target_titles
		tier = tier_kingdom
		any_de_jure_county = {
			holder.top_liege = scope:defender
			add_to_temporary_list = target_counties
		}
	}
	OR = {
		#Defender is tribal and holds title
		AND = {
			any_in_list = {
				list = target_titles
				tier = tier_kingdom
				holder ?= scope:defender
			}
			scope:defender = {
				government_has_flag = government_is_tribal
			}
		}
		#Defender is tribal and all counties they hold are tribal
		AND = {
			scope:defender = {
				government_has_flag = government_is_tribal
			}
			any_in_list = {
				list = target_counties
				count >= all
				any_county_province = {
					OR = {
						has_holding_type = tribal_holding
						has_holding_type = nomad_holding
						has_holding_type = herder_holding
					}
				}
			}
		}
		#New capital county will be tribal
		trigger_if = {
			limit = {
				any_in_list = {
					list = target_titles
					tier = tier_kingdom
					title_capital_county = {
						holder.top_liege = scope:defender
					}
				}
			}
			any_in_list = {
				list = target_titles
				tier = tier_kingdom
				title_capital_county = {
					holder.top_liege = scope:defender
					any_county_province = {
						is_county_capital = yes
						OR = {
							has_holding_type = tribal_holding
							has_holding_type = nomad_holding
							has_holding_type = herder_holding
						}
					}
				}
			}
		}
		#New potential duchy capitals are tribal
		trigger_else_if = {
			limit = {
				any_in_list = {
					list = target_titles
					tier = tier_kingdom
					any_direct_de_jure_vassal_title = {
						tier = tier_duchy
						title_capital_county = {
							holder.top_liege = scope:defender
						}
					}
				}
			}
			any_in_list = {
				list = target_titles
				tier = tier_kingdom
				any_direct_de_jure_vassal_title = {
					count = all
					tier = tier_duchy
					title_capital_county = {
						holder.top_liege = scope:defender
						any_county_province = {
							is_county_capital = yes
							has_holding = yes
							NOR = {
								has_holding_type = tribal_holding
								has_holding_type = nomad_holding
								has_holding_type = herder_holding
							}
						}
					}
				}
			}
		}
		#Every county is tribal
		trigger_else = {
			any_in_list = {
				list = target_titles
				tier = tier_kingdom
				any_de_jure_county = {
					count >= all
					holder.top_liege = scope:defender
					any_county_province = {
						is_county_capital = yes
						NOR = {
							has_holding_type = tribal_holding
							has_holding_type = nomad_holding
							has_holding_type = herder_holding
						}
					}
				}
			}
		}
	}

As written in game/common/scripted_triggers/mpo_scripted_triggers.txt.

The first 120 of its 121 lines; the rest is in game/common/scripted_triggers/mpo_scripted_triggers.txt from line 404.

Where it is used

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

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