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.