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

Scripted trigger

special_invasion_cb_seize_land_in_region_trigger

special_invasion_cb_seize_land_in_region_trigger = { TARGET_KINGDOM = … TARGET_REGION = … }

game/common/scripted_triggers/00_war_and_peace_triggers.txt, line 790 (53 lines). Parameters: $TARGET_KINGDOM$, $TARGET_REGION$.

special_invasion_cb_seize_land_in_region_trigger is a scripted trigger in Crusader Kings III, written at line 790 of its file. A call passes 2 parameters: TARGET_KINGDOM and TARGET_REGION. The game's script calls it in 3 places, among them Invasion (casus belli), Invasion (casus belli) and Migrate to Pannonia (casus belli). Patch 1.20.1.2, from game/common/scripted_triggers/00_war_and_peace_triggers.txt.

What it checks

  • One of these

    • All of these

      • Title tier exactly Duchy
      • One of these

        • capital_vassal = { … }
        • or

          All of these

          • holder ?= $TARGET_KINGDOM$.holder
          • kingdom = $TARGET_KINGDOM$
    • or

      All of these

      • Title tier exactly County
      • One of these

        • Their province: Is in the $TARGET REGION$ region
        • or

          All of these

          • holder ?= $TARGET_KINGDOM$.holder
          • kingdom = $TARGET_KINGDOM$
      • If

        • Their de jure liege:
          • One of these

            • capital_vassal = { … }
            • or

              All of these

              • holder ?= $TARGET_KINGDOM$.holder
              • kingdom = $TARGET_KINGDOM$

        Then

        • Never

• 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 (53 lines of game script)
special_invasion_cb_seize_land_in_region_trigger = {
	OR = {
		AND = { # For Duchies
			tier = tier_duchy
			OR = {
				# Title is in the specified region
				capital_vassal = {
					title_province = {
						geographical_region = $TARGET_REGION$
					}
				}
				# Title is owned by the current holder of the invasion's target kingdom
				AND = {
					holder ?= $TARGET_KINGDOM$.holder
					kingdom = $TARGET_KINGDOM$
				}
			}
		}
		AND = { # For Counties
			tier = tier_county
			OR = {
				# Title is in the specified region
				title_province = {
					geographical_region = $TARGET_REGION$
				}
				AND = {
					holder ?= $TARGET_KINGDOM$.holder
					kingdom = $TARGET_KINGDOM$
				}
			}
			trigger_if = {
				# If our de jure liege is an existing duchy that would have been seized in the duchy step, do not transfer the county (it has already been transferred).
				limit = {
					de_jure_liege ?= {
						exists = holder
						OR = {
							capital_vassal = {
								title_province = {
									geographical_region = $TARGET_REGION$
								}
							}
							AND = {
								holder ?= $TARGET_KINGDOM$.holder
								kingdom = $TARGET_KINGDOM$
							}
						}
					}
				}
				always = no
			}
		}
	}
}

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

Where it is used

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

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