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

Scripted effect

save_good_character_effect

save_good_character_effect = { RELATION = … SCOPE = … }

game/common/scripted_effects/00_childhood_effects.txt, line 223 (268 lines). Parameters: $RELATION$, $SCOPE$.

save_good_character_effect is a scripted effect in Crusader Kings III, written at line 223 of its file. A call passes 2 parameters: RELATION and SCOPE. The game's script calls it in 1 place, among them on_birthday_childhood (on action). Patch 1.20.1.2, from game/common/scripted_effects/00_childhood_effects.txt.

The comment above it in the file

Save a relation scope for the child, use the arguments:
RELATION =
SCOPE =

What it does

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

The script as written (120 lines of game script)
save_good_character_effect = {
	#Make sure that this list prioritizes other child vassals/heirs when the child being bullied is a player or player heir.
	save_temporary_scope_value_as = {
		name = $SCOPE$_relation
		value = yes
	}
	if = {
		limit = {
			NOT = { exists = scope:$RELATION$ }
			is_playable_character = yes
		}
		every_vassal = {
			if = {
				limit = {
					save_good_$RELATION$_character_trigger_check = yes
				}
				add_to_list = good_child_relation_character
			}
			every_child = {
				limit = {
					save_good_$RELATION$_character_trigger_check = yes
				}
				add_to_list = good_child_relation_character
			}
			every_warden_hostage = {
				limit = {
					save_good_$RELATION$_character_trigger_check = yes
				}
				add_to_list = good_child_relation_character
			}
		}
	}
	if = {
		limit = {
			is_playable_character = yes
			NOT = { exists = scope:$RELATION$ }
		}
		every_courtier = {
			limit = {
				save_good_$RELATION$_character_trigger_check = yes
			}
			add_to_list = good_child_relation_character
		}
	}
	if = {
		limit = {
			is_playable_character = yes
			NOT = { exists = scope:$RELATION$ }
			exists = liege
			this != liege
		}
		liege = {
			if = {
				limit = {
					save_good_$RELATION$_character_trigger_check = yes
				}
				add_to_list = good_child_relation_character
			}
			every_vassal = {
				if = {
					limit = {
						save_good_$RELATION$_character_trigger_check = yes
					}
					add_to_list = good_child_relation_character
				}
				every_child = {
					limit = {
						save_good_$RELATION$_character_trigger_check = yes
					}
					add_to_list = good_child_relation_character
				}
				every_warden_hostage = {
					limit = {
						save_good_$RELATION$_character_trigger_check = yes
					}
					add_to_list = good_child_relation_character
				}
			}
			every_child = {
				limit = {
					save_good_$RELATION$_character_trigger_check = yes
				}
				add_to_list = good_child_relation_character
			}
			every_warden_hostage = {
				limit = {
					save_good_$RELATION$_character_trigger_check = yes
				}
				add_to_list = good_child_relation_character
			}
		}
	}
	if = {
		limit = {
			is_playable_character = no
			NOT = { exists = scope:$RELATION$ }
			exists = liege
			this != liege
		}
		liege = {
			if = {
				limit = {
					save_good_$RELATION$_character_trigger_check = yes
				}
				add_to_list = good_child_relation_character
			}
			every_vassal = {
				if = {
					limit = {
						save_good_$RELATION$_character_trigger_check = yes
					}
					add_to_list = good_child_relation_character
				}
				every_child = {
					limit = {
						save_good_$RELATION$_character_trigger_check = yes
					}
					add_to_list = good_child_relation_character
				}
				every_warden_hostage = {

As written in game/common/scripted_effects/00_childhood_effects.txt.

The first 120 of its 268 lines; the rest is in game/common/scripted_effects/00_childhood_effects.txt from line 223.

Where it is used

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

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

  • on_birthday_childhood

Source: game/common/scripted_effects/00_childhood_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?