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

Scripted effect · All Under Heaven files

tgp_liege_change_bloc_management_effect

tgp_liege_change_bloc_management_effect = { VASSAL = … }

game/common/scripted_effects/10_dlc_tgp_japan_scripted_effects.txt, line 3272 (82 lines). Parameters: $VASSAL$.

tgp_liege_change_bloc_management_effect is a scripted effect in Crusader Kings III, in the All Under Heaven files, written at line 3272 of its file. A call passes 1 parameter: VASSAL. The game's script calls it in 2 places, among them on_apply_inherited_confederation (on action) and on_vassal_change (on action). Patch 1.20.1.2, from game/common/scripted_effects/10_dlc_tgp_japan_scripted_effects.txt.

What it does

Every line of it is script with no tooltip text: the script is below.

The script as written (82 lines of game script)
tgp_liege_change_bloc_management_effect = {
	$VASSAL$ = {
		if = { # Leave if not a valid member anymore
			limit = {
				OR = {
					exists = confederation.leading_house
					exists = house.house_confederation
				}
			}
			save_temporary_scope_as = vassal_temp
			house ?= { save_temporary_scope_as = vassal_house_temp }
			liege ?= { save_temporary_scope_as = new_liege }
			confederation ?= {
				save_temporary_scope_as = current_bloc_temp
				leading_house = { save_temporary_scope_as = current_bloc_leader_temp }
			}
			house.house_confederation ?= {
				save_temporary_scope_as = current_house_bloc_temp
				leading_house = { save_temporary_scope_as = current_house_bloc_leader_temp }
			}
			if = {
				limit = {
					exists = scope:current_bloc_temp
					exists =  scope:old_liege
					trigger_if = { # If a vassal
						limit = { is_independent_ruler = no }
						scope:new_liege.liege != scope:old_liege.liege
						scope:new_liege = {
							is_independent_ruler = no
						}
					}
					trigger_else = {
						NOT = { scope:vassal_temp = scope:old_liege.top_liege }
					}
				}
				scope:current_bloc_temp = {
					if = {
						limit = {
							scope:vassal_temp = {
								is_house_head = yes
								house.house_confederation = scope:current_bloc_temp
								scope:new_liege = {
									is_independent_ruler = no
								}
							}
						}
						scope:vassal_house_temp = {
							tgp_leave_house_bloc_effect = {
								OPINION = flag:no
								TRUCE = flag:yes
							}
						}
					}
					else_if = {
						limit = { scope:vassal_temp.confederation = scope:current_bloc_temp }
						remove_confederation_member = scope:vassal_temp
					}
				}
				debug_log = "Bloc liege change member leave"
				debug_log_scopes = yes
			}
			if = { # Join if not a member of valid
				limit = {
					is_house_head = no
					exists = scope:current_house_bloc_temp
					scope:vassal_house_temp.house_head.liege ?= liege
					NOT = { confederation = scope:vassal_house_temp.house_confederation }
				}
				confederation ?= {
					save_temporary_scope_as = current_bloc_temp
					remove_confederation_member = scope:vassal_temp
				}
				house.house_confederation = {
					save_temporary_scope_as = house_bloc_temp
					add_confederation_member = scope:vassal_temp
				}
				debug_log = "Bloc liege change member join"
				debug_log_scopes = yes
			}
		}
	}
}

As written in game/common/scripted_effects/10_dlc_tgp_japan_scripted_effects.txt.

Where it is used

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

On actions (the game's own hooks) (2)

  • on_apply_inherited_confederation
  • on_vassal_change

Source: game/common/scripted_effects/10_dlc_tgp_japan_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?