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

Scripted trigger

should_mother_give_house_to_bastard_trigger

should_mother_give_house_to_bastard_trigger = yes

game/common/scripted_triggers/00_bastard_triggers.txt, line 3 (49 lines). No parameters.

should_mother_give_house_to_bastard_trigger is a scripted trigger in Crusader Kings III, written at line 3 of its file. It takes no parameters: should_mother_give_house_to_bastard_trigger = yes (or no). The game's script calls it in 2 places, among them set_parent_house_effect (scripted effect) and should_mother_give_house_to_bastard (scripted rules). Patch 1.20.1.2, from game/common/scripted_triggers/00_bastard_triggers.txt.

What it checks

  • If a check the game hides passes: the same again (1 line)
    • Never
    Else if a check the game hides passes: the same again (1 line)
    • Never
    Else if a check the game hides passes: the same again (1 line)
    • always = yes

    Else if

    • real_father = { is_ruler = yes }
    • Their mother: Is not a ruler

    Then

    • Never

    Else if

    • real_father = { is_ruler = no }
    • Their mother: Is a ruler

    Then

    • always = yes
    Else if a check the game hides passes: the same again (1 line)
    • Never

    Else if

    • real_father = { … }

    Then

    • always = yes

    Otherwise

    • always = yes

• 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 (49 lines of game script)
should_mother_give_house_to_bastard_trigger = {
	#Also governs the "should_mother_give_house_to_bastard" scripted rule
	trigger_if = {
		limit = { NOT = { exists = mother } }
		always = no
	}
	trigger_else_if = {
		limit = { NOT = { exists = mother.house } }
		always = no
	}
	trigger_else_if = {
		limit = { NOT = { exists = father } }
		always = yes
	}
	trigger_else_if = {
		limit = {
			real_father = { is_ruler = yes }
			mother = { is_ruler = no }
			exists = real_father.house
		}
		always = no
	}
	trigger_else_if = {
		limit = {
			real_father = { is_ruler = no }
			mother = { is_ruler = yes }
			exists = mother.house
		}
		always = yes
	}
	trigger_else_if = {
		limit = {
			mother = { NOT = { exists = house } }
			exists = real_father.house
		}
		always = no
	}
	trigger_else_if = {
		limit = {
			real_father = { NOT = { exists = house } }
			exists = mother.house
		}
		always = yes
	}
	# making the default behavior explicit if no other trigger_(else_)ifs are valid
	trigger_else = {
		always = yes
	}
}

As written in game/common/scripted_triggers/00_bastard_triggers.txt.

Where it is used

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

Scripted effects (1)

Scripted rules (1)

  • should_mother_give_house_to_bastard

Source: game/common/scripted_triggers/00_bastard_triggers.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?