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_trigger

mpo_overrunner_becomes_tribal_trigger = yes

game/common/scripted_triggers/mpo_scripted_triggers.txt, line 221 (107 lines). No parameters.

mpo_overrunner_becomes_tribal_trigger is a scripted trigger in Crusader Kings III, in the Khans of the Steppe files, written at line 221 of its file. It takes no parameters: mpo_overrunner_becomes_tribal_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

  • scope:target › Any de jure county:
    • holder.top_liege = scope:defender
    • add_to_temporary_list = target_counties
  • One of these

    • All of these

      • scope:target:
        • 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

      • scope:target:
        • title_capital_county = { holder.top_liege = scope:defender }

      Then

      • scope:target:
        • title_capital_county = { … }

      Else if

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

      Then

      • scope:target › Every direct de jure vassal title:
        • Title tier exactly Duchy
        • title_capital_county = { … }

      Otherwise

      • scope:target › 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 (107 lines of game script)
mpo_overrunner_becomes_tribal_trigger = {
	scope:target = {
		any_de_jure_county = {
			holder.top_liege = scope:defender
			add_to_temporary_list = target_counties
		}
	}
	OR = {
		#Defender is tribal and holds title
		AND = {
			scope:target = {
				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 = {
				scope:target = {
					title_capital_county = {
						holder.top_liege = scope:defender
					}
				}
			}
			scope:target = {
				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 = {
				scope:target = {
					any_direct_de_jure_vassal_title = {
						tier = tier_duchy
						title_capital_county = {
							holder.top_liege = scope:defender
						}
					}
				}
			}
			scope:target = {
				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 = {
			scope:target = {
				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.

Where it is used

Every place in common/, events/ and history/ that calls mpo_overrunner_becomes_tribal_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?