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

Scripted effect · Wards and Wardens files

adventurer_adopt_effect

adventurer_adopt_effect = { ADOPTER = … CHILD = … }

game/common/scripted_effects/05_dlc_bp2_effects.txt, line 1382 (157 lines). Parameters: $ADOPTER$, $CHILD$.

adventurer_adopt_effect is a scripted effect in Crusader Kings III, in the Wards and Wardens files, written at line 1382 of its file. A call passes 2 parameters: ADOPTER and CHILD. The game's script calls it in 2 places, among them Adopt as Successor (interaction) and adoption.0002 (event). Its body carries 2 texts of the game's own for the player. Patch 1.20.1.2, from game/common/scripted_effects/05_dlc_bp2_effects.txt.

The comment above it in the file

Adventurer Adoption effect

What it does

• 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 (120 lines of game script)
adventurer_adopt_effect = {
	$CHILD$ = { save_scope_as = adoptee }
	$ADOPTER$ = {
		save_scope_as = adopter
		hidden_effect = { adopt = scope:adoptee }
		scope:adoptee = {
			if = {
				limit = { exists = scope:adopter.house }
				hidden_effect = {
					set_house = scope:adopter.house
					found_cadet_house_decision_effect = {
						CHARACTER = scope:recipient
						PRESTIGE = 0
					}
				}
				custom_tooltip = adventurer_adoption_child_tt
			}
			# Remove bastard traits
			if = {
				limit = {
					has_any_bastard_trait_trigger = yes
				}
				remove_all_bastard_traits = yes
			}
			# Remove disinherited if you're the house head.
			if = {
				limit = {
					scope:adopter.house.house_head = scope:adopter
					has_trait = disinherited
				}
				remove_trait = disinherited
			}
		}
		# Your other children hate this
		every_child = {
			custom = every_non_content_child
			add_opinion = {
				modifier = angry_opinion
				opinion = -20
				target = scope:adopter
			}
		}
		# Player heirs *hate* you adopting someone to be your new heir
		if = {
			limit = {
				exists = player_heir
				OR = {
					player_heir.age < scope:adoptee.age
					player_heir = { has_trait = ambitious }
				}
				NOR = {
					player_heir = { has_trait = humble }
					player_heir = { has_trait = content }
					player_heir = { has_trait = forgiving }
				}
			}
			player_heir = {
				progress_towards_rival_effect = {
					CHARACTER = scope:adopter
					REASON = rival_adopted_another_heir
					OPINION = default_rival_opinion
				}
				set_relation_rival = {
					target = scope:adoptee
					reason = rival_stole_my_throne
				}
			}
		}
		# PAM Adoptionism personal tenet: spiritual fulfillment when you adopt a character
		if = {
			limit = { has_personal_tenet_flag = tenet_adoptionism_sp_on_adopt }
			send_interface_toast = {
				type = event_generic_good
				title = pam_adoptionism_adopt_sp_toast
				left_icon = scope:adoptee
				right_icon = scope:adopter
				add_piety = medium_piety_gain
				change_spiritual_fulfillment = medium_spiritual_fulfillment_value
			}
		}
	}
	#adopted child should travel to new parent
	scope:adoptee = {
		if = {
			limit = { exists = scope:adopter.capital_province } # Ward heads to landed Guardian
			scope:adopter.capital_province = { save_scope_as = destination_province }
		}
		else_if = { # Ward heads to Guardian's host
			limit = { exists = scope:adopter.host.capital_province }
			scope:adopter.host.capital_province = { save_scope_as = destination_province }
		}
		else = {
			scope:adopter.location = { save_scope_as = destination_province }
		}
		save_scope_as = adoptee
		scope:adopter = {
			save_scope_as = adopter
		}
		if = {
			limit = {
				any_relation = {
					type = guardian
					NOT = { this = scope:adopter }
				}
			}
			random_relation = {
				type = guardian
				limit = { NOT = { this = scope:adopter } }
				save_scope_as = old_guardian
			}
			remove_guardian_effect = {
				GUARDIAN = scope:old_guardian
				WARD = scope:adoptee
				RETURN_WARD = no
				HIDE_OPINION = no
			}
		}
		if = {
			limit = { NOT = { scope:destination_province = scope:adoptee.location } }
			set_variable = {

As written in game/common/scripted_effects/05_dlc_bp2_effects.txt.

The first 120 of its 157 lines; the rest is in game/common/scripted_effects/05_dlc_bp2_effects.txt from line 1382.

Where it is used

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

Character interactions (1)

Events (1)

Source: game/common/scripted_effects/05_dlc_bp2_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?