Scripted trigger · Khans of the Steppe files
mpo_can_be_blood_brothers_trigger
mpo_can_be_blood_brothers_trigger = { CHARACTER_1 = … CHARACTER_2 = … }game/common/scripted_triggers/mpo_scripted_triggers.txt, line 937 (141 lines). Parameters: $CHARACTER_1$, $CHARACTER_2$.
mpo_can_be_blood_brothers_trigger is a scripted trigger in Crusader Kings III, in the Khans of the Steppe files, written at line 937 of its file. A call passes 2 parameters: CHARACTER_1 and CHARACTER_2. The game's script calls it in 1 place, among them Swear Blood Brotherhood (interaction). Its body carries 6 texts of the game's own for the player. Patch 1.20.1.2, from game/common/scripted_triggers/mpo_scripted_triggers.txt.
What it checks
If
$CHARACTER_1$ = { is_adult = no }
Then
$CHARACTER_1$ = { is_adult = yes }
If
$CHARACTER_2$ = { is_adult = no }
Then
$CHARACTER_2$ = { is_adult = yes }
NOT = { $CHARACTER_1$ = { is_spouse_of = $CHARACTER_2$ } }NOT = { $CHARACTER_1$ = { is_parent_of = $CHARACTER_2$ } }NOT = { $CHARACTER_1$ = { is_grandparent_of = $CHARACTER_2$ } }NOT = { $CHARACTER_1$ = { is_great_grandparent_of = $CHARACTER_2$ } }NOT = { $CHARACTER_1$ = { is_child_of = $CHARACTER_2$ } }NOT = { $CHARACTER_1$ = { is_grandchild_of = $CHARACTER_2$ } }NOT = { $CHARACTER_1$ = { is_great_grandchild_of = $CHARACTER_2$ } }NOT = { $CHARACTER_1$ = { is_uncle_or_aunt_of = $CHARACTER_2$ } }NOT = { $CHARACTER_1$ = { is_nibling_of = $CHARACTER_2$ } }NOT = { $CHARACTER_1$ = { is_sibling_of = $CHARACTER_2$ } }- You are already blood brothers.
If
NOT = { $CHARACTER_1$ = { has_relation_blood_brother = $CHARACTER_2$ } }
Then
- You already have a blood brother!
If
NOT = { $CHARACTER_2$ = { has_relation_blood_brother = $CHARACTER_1$ } }
Then
- … already has a blood brother
If
$CHARACTER_1$ = { is_at_war = yes }
Then
$CHARACTER_1$ = { … }
If
$CHARACTER_2$ = { is_at_war = yes }
Then
$CHARACTER_2$ = { … }
If
One of these
All of these
$CHARACTER_1$ = { is_male = yes }$CHARACTER_2$ = { is_female = yes }
or
All of these
$CHARACTER_2$ = { is_male = yes }$CHARACTER_1$ = { is_female = yes }
$CHARACTER_1$.rite = { … }
Then
- Blood Brothers of opposite gender must both be Rulers
• 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)
mpo_can_be_blood_brothers_trigger = {
#If one is a child, the other must be a child
trigger_if = {
limit = {
$CHARACTER_1$ = {
is_adult = no
}
}
$CHARACTER_1$ = {
is_adult = yes
}
}
trigger_if = {
limit = {
$CHARACTER_2$ = {
is_adult = no
}
}
$CHARACTER_2$ = {
is_adult = yes
}
}
#They can't be related enough to be allies
NOR = {
#Ruler is married to other ruler.
$CHARACTER_1$ = { is_spouse_of = $CHARACTER_2$ }
#Ruler is relative of other ruler
$CHARACTER_1$ = { is_parent_of = $CHARACTER_2$ }
$CHARACTER_1$ = { is_grandparent_of = $CHARACTER_2$ }
$CHARACTER_1$ = { is_great_grandparent_of = $CHARACTER_2$ }
$CHARACTER_1$ = { is_child_of = $CHARACTER_2$ }
$CHARACTER_1$ = { is_grandchild_of = $CHARACTER_2$ }
$CHARACTER_1$ = { is_great_grandchild_of = $CHARACTER_2$ }
$CHARACTER_1$ = { is_uncle_or_aunt_of = $CHARACTER_2$ }
$CHARACTER_1$ = { is_nibling_of = $CHARACTER_2$ }
$CHARACTER_1$ = { is_sibling_of = $CHARACTER_2$ }
}
# We can't do most of the standard checks for can_set_relation_best_friend_trigger, but we do the relevant ones individually.
custom_tooltip = {
text = make_blood_brother_interaction.tt.already_blood_brothers
$CHARACTER_1$ = {
NOT = { has_relation_blood_brother = $CHARACTER_2$ }
}
}
trigger_if = {
limit = {
NOT = {
$CHARACTER_1$ = { has_relation_blood_brother = $CHARACTER_2$ }
}
}
custom_tooltip = {
text = make_blood_brother_interaction.tt.actor_has_blood_brother
$CHARACTER_1$ = { num_of_relation_blood_brother = 0 }
}
}
trigger_if = {
limit = {
NOT = {
$CHARACTER_2$ = { has_relation_blood_brother = $CHARACTER_1$ }
}
}
custom_tooltip = {
text = make_blood_brother_interaction.tt.recipient_has_blood_brother
$CHARACTER_2$ = { num_of_relation_blood_brother = 0 }
}
}
trigger_if = {
limit = {
$CHARACTER_1$ = {
is_at_war = yes
}
}
$CHARACTER_1$ = {
NOR = {
is_at_war_with = $CHARACTER_2$
custom_tooltip = {
text = make_blood_brother_at_war_with_recipient_ally
any_war_enemy = {
is_allied_to = $CHARACTER_2$
}
}
}
}
}
trigger_if = {
limit = {
$CHARACTER_2$ = {
is_at_war = yes
}
}
$CHARACTER_2$ = {
NOR = {
is_at_war_with = $CHARACTER_1$
custom_tooltip = {
text = make_blood_brother_at_war_with_actor_ally
any_war_enemy = {
is_allied_to = $CHARACTER_1$
}
}
}
}
}
#Can only do intergender if gender laws are equal or both are rulers
trigger_if = {
limit = {
OR = {
AND = {
$CHARACTER_1$ = {
is_male = yes
}
$CHARACTER_2$ = {
is_female = yes
}
}
AND = {
$CHARACTER_2$ = {
is_male = yes
}
$CHARACTER_1$ = {As written in game/common/scripted_triggers/mpo_scripted_triggers.txt.
The first 120 of its 141 lines; the rest is in game/common/scripted_triggers/mpo_scripted_triggers.txt from line 937.
Where it is used
Every place in common/, events/ and history/ that calls mpo_can_be_blood_brothers_trigger.
Character interactions (1)
Source: game/common/scripted_triggers/mpo_scripted_triggers.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.