Interaction · Diplomatic actions
Join House Bloc
Ask the recipient's permission to join the …
What you need
You
To send it
- … must be House Head of a Noble Family Challenge your House Head for leadership, or use the Create Cadet Branch Decision
- … House has left or been removed from the … within the last 5 years (…)
- A Leading House cannot join another Bloc Leave your current Bloc, or give away Bloc Leadership
Not all of these
- Is played by the AI
To see it in the menu
- Your Government uses Blocs
- If played by the AI:
One of these
- Is landed
or
… are the Ceremonial Monarch
house.house_head ?= this- Is a ruler
- Your top liege: Government uses Blocs
- Highest held Title is at least County Rank
- Your top liege:
- The target is not you
If
- You: Is played by the AI
Then
- The character you target:
house.house_head ?= thisOne of these
- Is landed
or
… is the Ceremonial Monarch
The character you target
To send it
- … must be House Head of a Noble Family Challenge your House Head for leadership, or use the Create Cadet Branch Decision
To see it in the menu
Join House Bloc is a diplomatic character interaction in Crusader Kings III. You need: A Leading House cannot join another Bloc Leave your current Bloc, or give away Bloc Leadership. Accepted automatically in some cases; otherwise the AI weighs it. Reasons the AI weighs include Gold sent (+25), Spending Prestige (+25), Spending Influence (+25) and 4 more. It costs Influence (varies), Prestige (varies). Patch 1.20.1.2, from game/common/character_interactions/10_tgp_japan_interactions.txt.
Quick answers (3)
- What are the requirements for Join House Bloc in CK3?
- You: A Leading House cannot join another Bloc Leave your current Bloc, or give away Bloc Leadership. (patch 1.20.1.2)
- How do I get the AI to accept Join House Bloc?
- Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: Gold sent +25, Spending Prestige +25, Spending Influence +25, House Relation Level, Landed House members, Landless with no Military Power -75, Same House Aspiration +25, Different Government -250, Tier (Emperor) +200, Few Bloc Member House and Few Bloc members.
- How much does Join House Bloc cost?
- Influence (varies), Prestige (varies) (patch 1.20.1.2).
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 | -25 |
Gold sentwhen
| +25 |
Spending Prestigewhen
| +25 |
Spending Influencewhen
| +25 |
Their opinion of you × 0.5when
| varies |
House Relation Levelwhen
| varies |
| Landed House members | varies |
Landless with no Military Powerwhen
| -75 |
Same House Aspirationwhen
| +25 |
Different Governmentwhen
| -250 |
Tier (Emperor)when
| +200 |
A scripted reasonwhen
| +25 |
Few Bloc Member Housewhen
| varies |
Few Bloc memberswhen
| varies |
Acceptance (ai_accept) (139 lines of game script)
base = -25
modifier = {
scope:gold = yes
add = 25
desc = TRADE_GOLD_FOR_BETTER_AI_ACCEPTANCE_TT
}
modifier = {
scope:prestige = yes
add = 25
desc = PRESTIGE_INTERACTION_ACCEPTANCE_SEND_OPTION
}
modifier = {
scope:influence = yes
add = 25
desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION
}
opinion_modifier = {
who = scope:recipient
opinion_target = scope:actor
multiplier = 0.5
step = 5
max = 50
}
house_relation_ai_accept_modifiers = {
HOUSE_1_MEMBER = scope:recipient
HOUSE_2_MEMBER = scope:actor
MULTIPLIER = -1
}
modifier = {
add = {
scope:actor.house = {
every_house_member = {
limit = {
top_liege = root.top_liege
is_landed = yes
}
add = 25
}
}
}
desc = AI_LANDED_HOUSE_MEMBERS_REASON
}
modifier = {
scope:actor.house.house_head = {
is_landed = no
current_military_strength <= 0
}
add = -75
desc = AI_LANDLESS_REASON
}
modifier = {
scope:actor.house ?= {
has_same_house_aspiration_as = scope:recipient.house
}
add = 25
desc = AI_SAME_ASPIRATION_REASON
}
modifier = {
scope:actor = {
NOT = {
has_same_government = scope:recipient
}
}
add = -250
desc = AI_DIFFERENT_GOVERNMENT_REASON
}
modifier = {
scope:actor = {
has_title = title:e_japan
}
add = 200
desc = TIER_REASON_EMPEROR
}
modifier = {
scope:actor.house = {
any_house_member = {
is_landed = yes
any_held_county = {
is_landless_type_title = no
OR = {
any_neighboring_county = {
holder.house.house_confederation = scope:recipient.house.house_confederation
}
duchy ?= {
any_de_jure_county = {
holder.house.house_confederation = scope:recipient.house.house_confederation
}
}
}
}
}
}
add = 25
DESC = AI_NEARBY_BLOC_REASON
}
modifier = {
scope:recipient.house.house_confederation ?= {
any_confederation_member_house = {
count < 8
}
}
add = {
value = 25
if = {
limit = {
scope:recipient.house.house_confederation ?= {
any_confederation_member_house = {
count < 4
}
}
}
add = 25
}
}
desc = AI_BLOC_FEW_HOUSES_REASON
}
modifier = {
scope:recipient.top_liege = {
any_sub_realm_county = {
count < 12
holder.house.house_confederation = scope:recipient.house.house_confederation
}
}
add = {
value = 25
if = {
limit = {
scope:recipient.top_liege = {
any_sub_realm_county = {
count < 6
holder.house.house_confederation = scope:recipient.house.house_confederation
}
}
}
add = 25
}
}
desc = AI_BLOC_FEW_MEMBERS_REASON
}As written in game/common/character_interactions/10_tgp_japan_interactions.txt.
What happens
If they accept
- If you are a member of a Confederation › Your house:
house_confederation ?= { … }If
scope:leaver.house_head.house.house_confederation ?= scope:bloc
Then
If
- The bloc: Confederation member house (at most 2):
Then
- House … will leave the …
- The … will disband
Else if
- The leader is not the leaver
Then
- House … will leave the … and may not rejoin for 5 years
If
- The leader is the leaver
Then
- The bloc:
tgp_find_new_house_bloc_leader_effect = { }
Otherwise
If
flag:yes = flag:yes
Then
- The leader:
- Their house head:
If
- Has the opinion “Joined House Bloc”
Then
remove_opinion = { target = scope:leaver.house_head modifier = joined_house_bloc_opinion }
- Opinion: Left House Bloc (-15)
change_house_relation_effect = { … }
- Their house head:
- The target’s house:
- Your house:
Else if
If
a check the game hides
Then
- The old bloc is not the bloc
Then
- House … will join the …
If
flag:yes = flag:yes- The inviter is not the joiner
Then
- The inviter:
- Their house head › If played by the AI:
If
- Has the opinion “Left House Bloc”
Then
remove_opinion = { modifier = left_house_bloc_opinion target = scope:joiner.house_head }
- Opinion: Joined House Bloc (+15)
If
a check the game hides
Then
impact_house_relation = { target = scope:other_house steps = scope:steps description = house_relation_reason_joined_bloc_desc }
- Their house head › If played by the AI:
Options when sending
- Send Gold
- Impress with Prestige
- Offer Influence
- Use a Hook
• 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) (42 lines of game script)
is_available = government_has_flag = government_has_house_blocs
trigger_if = {
limit = {
is_ai = yes
}
OR = {
is_landed = yes
tgp_is_ceremonial_liege_trigger = yes
}
}
house.house_head ?= this
tgp_house_bloc_interaction_valid_trigger = yes
NOT = {
has_character_flag = recently_joined_bloc
}
is_shown = scope:recipient != scope:actor
scope:recipient = {
exists = house.house_confederation
tgp_house_bloc_interaction_valid_trigger = yes
trigger_if = {
limit = {
exists = scope:actor.house.house_confederation
}
NOT = {
house.house_confederation = scope:actor.house.house_confederation
}
}
}
trigger_if = {
limit = {
scope:actor = {
is_ai = yes
}
}
scope:recipient = {
house.house_head ?= this
OR = {
is_landed = yes
tgp_is_ceremonial_liege_trigger = yes
}
}
}As written in game/common/character_interactions/10_tgp_japan_interactions.txt.
Can be sent when (is_valid…) (43 lines of game script)
scope:actor = {
trigger_if = {
limit = {
is_at_war_with = scope:recipient
}
custom_tooltip = {
text = join_bloc_war_tt
any_character_war = {
using_cb = japan_install_bloc_member_cb
primary_attacker = scope:recipient
primary_defender = scope:actor
}
}
}
tgp_house_bloc_interaction_valid_showing_failures_trigger = yes
custom_tooltip = {
text = join_bloc_left_cooldown_tt
NOT = {
house = {
any_in_list = {
variable = left_bloc_cooldown
scope:recipient.house.house_confederation ?= this
}
}
}
}
custom_tooltip = {
text = join_bloc_already_leading_another_tt
exists = house
NOT = {
confederation.leading_house ?= house
}
}
NAND = {
is_ai = yes
scope:recipient = {
has_character_flag = join_house_bloc_ai_send_cooldown
}
}
}
scope:recipient = {
tgp_house_bloc_interaction_valid_showing_failures_trigger = yes
}As written in game/common/character_interactions/10_tgp_japan_interactions.txt.
Effects (on_send, on_accept, on_decline) (99 lines of game script)
on_send = if = {
limit = {
scope:actor = {
is_ai = yes
}
}
scope:recipient = {
add_character_flag = {
flag = join_house_bloc_ai_send_cooldown
months = 3
}
}
}
debug_log = join_house_bloc
debug_log_scopes = yes
on_accept = scope:actor = {
if = {
limit = {
scope:hook = yes
}
scope:actor = {
use_hook = scope:recipient
}
}
else = {
if = {
limit = {
scope:gold = yes
}
pay_short_term_gold = {
target = scope:recipient
gold = scope:recipient.medium_gold_value
}
}
if = {
limit = {
scope:prestige = yes
}
add_prestige = scope:recipient.medium_prestige_loss
scope:recipient = {
add_prestige = medium_prestige_value
}
}
if = {
limit = {
scope:influence = yes
}
change_influence = scope:recipient.medium_gold_value_negative
scope:recipient = {
change_influence = medium_gold_value
}
}
}
if = {
limit = {
is_confederation_member = yes
}
house = {
tgp_save_bloc_leaving_reason_effect = {
LEAVING_HOUSE = scope:actor.house
INVITING_HOUSE = scope:recipient.house
}
tgp_leave_house_bloc_effect = {
OPINION = flag:yes
TRUCE = flag:no
}
}
}
}
scope:recipient.house = {
if = {
limit = {
NOT = {
exists = house_confederation
}
}
tgp_create_house_bloc_effect = {
TYPE = none
}
}
}
scope:actor = {
house = {
tgp_join_house_bloc_effect ?= {
INVITER = scope:recipient.house
OPINION = flag:yes
}
}
if = {
limit = {
scope:hook = yes
}
add_character_flag = {
flag = forced_bloc_membership
years = 10
}
custom_tooltip = forced_bloc_membership_tt
}
}As written in game/common/character_interactions/10_tgp_japan_interactions.txt.
- Category
- Diplomatic actions
- Cost: Influence
- varies
- Cost: Prestige
- varies
- Again on the same character
- after 5 years
- In the menu
- main list
- ID
join_house_bloc_interaction
Source: game/common/character_interactions/10_tgp_japan_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. “…” marks words the game fills in at play time (a name, a title).