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_join_historical_house_bloc_effect

tgp_join_historical_house_bloc_effect = { JOINER = … }

game/common/scripted_effects/10_dlc_tgp_house_bloc_scripted_effects.txt, line 687 (36 lines). Parameters: $JOINER$.

tgp_join_historical_house_bloc_effect is a scripted effect in Crusader Kings III, in the All Under Heaven files, written at line 687 of its file. A call passes 1 parameter: JOINER. The game's script calls it in 1 place, among them tgp_setup_historical_house_bloc_effect (scripted effect). Patch 1.20.1.2, from game/common/scripted_effects/10_dlc_tgp_house_bloc_scripted_effects.txt.

The comment above it in the file

Add a house to this Japanese Bloc
In addition to adding the house (and thereby all eligible rulers in it),
a friendly relation will be established between the involved houses.
root: the leading house of the bloc
JOINER: the house to add

What it does

  • If

    a check the game hides

    Then

    • scope:joiner_temp:
      • If

        a check the game hides

        Then

    • clear_saved_scope = leader_temp
    • clear_saved_scope = historical_bloc_temp
    • clear_saved_scope = joiner_temp

• 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 (36 lines of game script)
tgp_join_historical_house_bloc_effect = {
	if = {
		limit = { exists = house_confederation }
		save_temporary_scope_as = leader_temp
		house_confederation = { save_temporary_scope_as = historical_bloc_temp }
		$JOINER$ = { save_temporary_scope_as = joiner_temp }
		scope:joiner_temp ?= {
			if = {
				limit = {
					exists = house_head
					NOT = { exists = house_confederation }
					exists = scope:leader_temp
					exists = scope:historical_bloc_temp
				}
				scope:historical_bloc_temp = { add_confederation_member_house = scope:joiner_temp }
				scope:leader_temp = {
					tgp_set_historical_house_relation_effect = {
						OTHER_HOUSE = scope:joiner_temp
						LEVEL = cordial
					}
				}
				if = {
					limit = { NOT = { exists = scope:joiner_temp.house_confederation } }
					assert_if = {
						limit = { always = yes }
						text = "tgp_join_historical_house_bloc_effect: joiner did not join!"
					}
					debug_log = "tgp_join_historical_house_bloc_effect: joiner did not join!"
				}
			}
		}
		clear_saved_scope = leader_temp
		clear_saved_scope = historical_bloc_temp
		clear_saved_scope = joiner_temp
	}
}

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

Where it is used

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

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