Interaction · Diplomatic actions
Call House Member To War
House Head Interaction Call on the recipient to serve their House in war
What you need
You
To send it
- The target: Is war leader in the war against you
If
- The target: Has you as the war's attacker
Then
- The target:
primary_defender = { save_temporary_scope_as = primary_enemy }
Otherwise
- The target:
primary_attacker = { save_temporary_scope_as = primary_enemy }
To see it in the menu
- The target is not you
- Your religion is the same as that of recipient
- Is of the same house as the target
- Any character war: Is war leader in the war against you
The character you target
- Is a ruler
One of these
- Is not a vassal (or below) of you
Call House Member To War is a diplomatic character interaction in Crusader Kings III. Accepted automatically in some cases; otherwise the AI weighs it. Reasons the AI weighs include Won't partake in meaningless conflict (-1,000), Will not fight Heir (-1,000), Will not fight Spouse (-1,000) and 6 more. Patch 1.20.1.2, from game/common/character_interactions/00_house_head_interactions.txt.
Quick answers (1)
- How do I get the AI to accept Call House Member To War?
- Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: Won't partake in meaningless conflict -1,000, Will not fight Heir -1,000, Will not fight Spouse -1,000, … Opinion of …, Defensive War +50, Zeal against Infidels, Attack on Ally -50, War on another Ally -25, Attack on Religious Brethren -50, Unity +50 and Opposing Struggle Side -100.
Will they accept?
Accepted automatically when:
- They use their Hook on …
Otherwise the AI adds these up and accepts above zero. Reasons in italics are the script's, with no label in the game.
| Reason | Amount |
|---|---|
| Base | +20 |
Won't partake in meaningless conflictwhen
| -1,000 |
Will not fight Heirwhen
| -1,000 |
Will not fight Spousewhen
| -1,000 |
| … Opinion of … | varies |
| Their personality (AI values: honor 1) | varies |
Defensive Warwhen
| +50 |
Zeal against Infidelswhen
| ai_zeal |
Attack on Allywhen
| -50 |
War on another Allywhen
| -25 |
Attack on Religious Brethrenwhen
| -50 |
| Unity | +50 |
Opposing Struggle Sidewhen
| -100 |
Acceptance (ai_accept) (144 lines of game script)
base = 20
modifier = {
add = -1000
desc = WONT_FIGHT_MEANINGLESS_REASON
trigger_if = {
limit = {
exists = scope:target
}
scope:target = {
using_cb = fp2_border_raid
}
scope:recipient = {
NOR = {
has_trait = viking
has_trait = reaver
}
}
}
trigger_else = {
always = no
}
}
modifier = {
add = -1000
exists = scope:recipient.player_heir
trigger_if = {
limit = {
scope:target.casus_belli.primary_defender = scope:actor
}
scope:target.casus_belli.primary_attacker = scope:recipient.player_heir
}
trigger_else = {
scope:target.casus_belli.primary_defender = scope:recipient.player_heir
}
desc = WONT_FIGHT_HEIR_REASON
}
modifier = {
add = -1000
scope:recipient = {
trigger_if = {
limit = {
scope:target.casus_belli.primary_defender = scope:actor
}
any_spouse = {
this = scope:target.casus_belli.primary_attacker
}
}
trigger_else = {
any_spouse = {
this = scope:target.casus_belli.primary_defender
}
}
}
desc = WONT_FIGHT_SPOUSE_REASON
}
opinion_modifier = {
who = scope:recipient
opinion_target = scope:actor
multiplier = 1.0
desc = AI_OPINION_REASON
}
ai_value_modifier = {
ai_honor = 1
min = 0
}
modifier = {
add = 50
scope:target.casus_belli.primary_defender = scope:actor
desc = DEFENSIVE_WAR_REASON
}
compare_modifier = {
trigger = {
scope:recipient.faith = scope:actor.faith
OR = {
AND = {
scope:target.casus_belli.primary_attacker = {
this = scope:actor
faith = {
faith_hostility_level = {
target = scope:target.casus_belli.primary_defender.faith
value >= religious_cb_enabled_hostility_level
}
}
}
}
AND = {
scope:target.casus_belli.primary_defender = {
this = scope:actor
faith = {
faith_hostility_level = {
target = scope:target.casus_belli.primary_attacker.faith
value >= religious_cb_enabled_hostility_level
}
}
}
}
}
}
target = scope:recipient
value = ai_zeal
desc = ZEAL_AGAINST_INFIDELS
min = 0
multiplier = 0.5
}
modifier = {
add = -50
scope:target.casus_belli.primary_attacker = scope:actor
scope:recipient = {
is_allied_to = scope:target.casus_belli.primary_defender
}
desc = ATTACK_ON_ALLY_REASON
}
modifier = {
add = -25
scope:target.casus_belli.primary_defender = scope:actor
scope:recipient = {
is_allied_to = scope:target.casus_belli.primary_attacker
}
desc = WAR_WITH_ALLY_REASON
}
modifier = {
add = -50
scope:recipient.faith != scope:actor.faith
scope:target.casus_belli.primary_attacker = scope:actor
scope:target.casus_belli.primary_defender.faith = scope:recipient.faith
scope:target.casus_belli.war = {
OR = {
using_cb = minor_religious_war
using_cb = religious_war
using_cb = major_religious_war
using_cb = undirected_great_holy_war
using_cb = directed_great_holy_war
}
}
desc = WONT_ATTACK_RELIGIOUS_BRETHREN_REASON
}
modifier = {
add = 50
dynasty = {
has_dynasty_perk = fp2_coterie_legacy_3
}
desc = UNITY_PERK_BONUS
}
fp3_struggle_resist_allied_wars_modifier = yesAs written in game/common/character_interactions/00_house_head_interactions.txt.
What happens
If they accept
When it is accepted automatically
- The character you target: Event call_ally.0001
If they refuse
If
a check the game hides
Then
- The target:
Otherwise
- You: Opinion: Rejected Call to a Defensive War
- You: Event call_ally.0101
If
Then
- Your house:
add_unity_value = { … }
- Your house:
- The target:
Options when sending
- Use a Hook
Events it fires: call_ally.0100, call_ally.0101, call_ally.0001
• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists
Who can use it and sees it (is_available, is_shown) (26 lines of game script)
is_available = OR = {
is_house_head = yes
AND = {
exists = dynasty
dynasty ?= {
has_dynasty_perk = fp2_coterie_legacy_3
}
has_fp2_dlc_trigger = yes
}
}
is_shown = scope:recipient != scope:actor
scope:actor = {
religion ?= scope:recipient.religion
house ?= scope:recipient.house
any_character_war = {
is_war_leader = scope:actor
}
}
scope:recipient = {
is_playable_character = yes
}
scope:recipient = {
NOT = {
target_is_liege_or_above = scope:actor
}
}As written in game/common/character_interactions/00_house_head_interactions.txt.
Can be sent when (is_valid…) (15 lines of game script)
custom_description = {
text = is_already_in_all_wars
scope:actor = {
any_character_war = {
NOR = {
is_participant = scope:recipient
was_called = scope:recipient
}
OR = {
primary_attacker = scope:actor
primary_defender = scope:actor
}
}
}
}As written in game/common/character_interactions/00_house_head_interactions.txt.
Effects (on_send, on_accept, on_decline) (66 lines of game script)
on_accept = call_house_member_to_war_interaction_effect = yes
save_scope_value_as = {
name = call_house_member_to_war_interaction
value = yes
}
if = {
limit = {
exists = scope:target
}
scope:actor = {
trigger_event = call_ally.0100
}
}
scope:actor = {
if = {
limit = {
NOT = {
is_house_head = yes
}
}
add_prestige = medium_prestige_loss
}
}
if = {
limit = {
scope:actor.dynasty = {
has_dynasty_perk = fp2_coterie_legacy_3
}
}
scope:recipient = {
add_prestige = medium_prestige_gain
}
}
on_decline = if = {
limit = {
exists = scope:target
}
scope:target = {
if = {
limit = {
is_attacker = scope:actor
}
scope:actor = {
add_opinion = {
modifier = rejected_call_to_offensive_war
target = scope:recipient
}
}
}
else = {
scope:actor = {
add_opinion = {
modifier = rejected_call_to_defensive_war
target = scope:recipient
}
}
}
scope:actor = {
trigger_event = call_ally.0101
}
}
refuse_call_to_arms_add_clan_unity_effect = yes
}
on_auto_accept = scope:recipient = {
trigger_event = call_ally.0001
}As written in game/common/character_interactions/00_house_head_interactions.txt.
- Category
- Diplomatic actions
- In the menu
- under More…
- ID
call_house_member_to_war_interaction
Source: game/common/character_interactions/00_house_head_interactions.txt and the English localisation, Crusader Kings III 1.20.1.2. “You” is the character who sends it (scope:actor, or a puppet acting for you); “the character you target” is the recipient.