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

Scripted effect · Khans of the Steppe files

migration_fitting_vassal_lands_effect

migration_fitting_vassal_lands_effect = { LOWER_TIER = … UPPER_TIER = … }

game/common/scripted_effects/09_dlc_mpo_scripted_effects.txt, line 266 (70 lines). Parameters: $LOWER_TIER$, $UPPER_TIER$.

migration_fitting_vassal_lands_effect is a scripted effect in Crusader Kings III, in the Khans of the Steppe files, written at line 266 of its file. A call passes 2 parameters: LOWER_TIER and UPPER_TIER. The game's script calls it in 1 place, among them migration_title_and_vassal_change_effect (scripted effect). Patch 1.20.1.2, from game/common/scripted_effects/09_dlc_mpo_scripted_effects.txt.

What it does

  • If

    • scope:target_title.tier >= tier_$UPPER_TIER$
    • In list (at least 1):

    Then

    • while = { … }

• 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 (70 lines of game script)
migration_fitting_vassal_lands_effect = {
	if = {
		limit = {
			scope:target_title.tier >= tier_$UPPER_TIER$
			any_in_list = {
				variable = obedient_vassals
				count >= 1
			}
		}
		while = {
			limit = {
				any_realm_county = {
					NOR = {
						$LOWER_TIER$ = scope:actor.capital_province.$LOWER_TIER$
						holder = { is_in_list = settled_vassal }
					}
				}
				any_in_list = {
					variable = obedient_vassals
					count >= 1
				}
			}
			create_title_and_vassal_change = {
				type = granted
				save_scope_as = change4
			}
			ordered_realm_county = {
				limit = {
					NOR = {
						$LOWER_TIER$ = scope:actor.capital_province.$LOWER_TIER$
						holder = { is_in_list = settled_vassal }
					}
				}
				order_by = {
					value = 1
					every_de_jure_county = { add = 50 }
					$LOWER_TIER$.title_capital_county = { add = county_fertility }
					if = {
						limit = {
							this = $LOWER_TIER$.title_capital_county
						}
						add = 500
					}
				}
				migration_settle_down_obedient_vassal_effect = yes
				$LOWER_TIER$ = {
					if = {
						limit = {
							OR = {
								is_title_created = no
								holder ?= {
									NOT = { is_in_list = settled_vassal }
									OR = {
										liege = scope:actor
										top_liege = scope:actor
									}
								}
							}
						}
						change_title_holder = {
							holder = scope:current_vassal
							change = scope:change4
						}
					}
				}
			}
			resolve_title_and_vassal_change = scope:change4
		}
	}
}

As written in game/common/scripted_effects/09_dlc_mpo_scripted_effects.txt.

Where it is used

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

Source: game/common/scripted_effects/09_dlc_mpo_scripted_effects.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?