Interaction · Diplomatic actions
Invite House to Bloc
What you need
You
To send it
- Is at not War
- … must be House Head of a Noble Family Challenge your House Head for leadership, or use the Create Cadet Branch Decision
Otherwise
- You must be a Ruler and a House Head
To see it in the menu
- Your Government uses Blocs
One of these
- Is landed
or
… are the Ceremonial Monarch
house.house_head ?= this- If played by the AI:
One of these
- Is landed
or
… are the Ceremonial Monarch
If
NOT = { house.house_confederation.leading_house.house_head ?= this }
Then
None of these
- Any confederation:
leading_house.house_head.top_liege ?= root.top_liegeleading_house ?= { has_same_house_aspiration_as = root.house }has_leading_house = yes
- Any confederation:
If a check the game hides passes: the same again (2 lines)
- Confederation (less than 5):
has_leading_house = yesleading_house.house_head.top_liege ?= root.top_liege
- Confederation (less than 5):
- Is a ruler
- Your top liege: Government uses Blocs
- Highest held Title is at least County Rank
- Your top liege:
top_liege ?= scope:recipient.top_liegeIf
a check the game hides
Then
NOT = { scope:recipient.house.house_confederation ?= house.house_confederation }
The character you target
To send it
- Is at not War
- … must be House Head of a Noble Family Challenge your House Head for leadership, or use the Create Cadet Branch Decision
- Vassal Houses cannot join a Bloc without their Liege in it
- … House has left or been removed from the … within the last 5 years (…)
- You cannot invite a Bloc Leader to your Bloc
- Houses cannot join another Bloc within 5 years of joining (… remaining)
If
- You: Is played by the AI
Then
- Is landed
Invite House to Bloc is a diplomatic character interaction in Crusader Kings III. You need: Is at not War. The character you target needs: Is at not War, Vassal Houses cannot join a Bloc without their Liege in it, You cannot invite a Bloc Leader to your Bloc and 1 more. 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 15 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 Invite House to Bloc in CK3?
- You: Is at not War. The character you target: Is at not War, Vassal Houses cannot join a Bloc without their Liege in it, You cannot invite a Bloc Leader to your Bloc and Houses cannot join another Bloc within 5 years of joining (… remaining). (patch 1.20.1.2)
- How do I get the AI to accept Invite House to Bloc?
- Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: Gold sent +25, Spending Prestige +25, Spending Influence +25, I get a Hook +20, I get a Strong Hook +50, Tier (Emperor) +50, Relative Level of Fame, Relative Level of Influence, Relative House Military Power, Different Government -200, Vulnerable Government +50, Same Dynasty +10, Same House +1,000, Relative Level of Splendor, Relative Family Rating +50, Relative Family Rating -25, Ten'nō Distrusts Sōryō -100, Same House Aspiration as Bloc Leading House +25, Higher House Aspiration level, Different House Aspiration to Bloc Leading House -40, Bloc Size, Bloc Size, Relative Bloc Military Power, Low Bloc Cohesion, Distant Manor -20, Bloc Cohesion, Relative Bloc Cohesion, Threatened by Sōryō Rulers, Dynastic Duty +25, Forced Vassalage +15 and House Relation Level.
- How much does Invite House to 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 | -50 |
Gold sentwhen
| +25 |
Spending Prestigewhen
| +25 |
Spending Influencewhen
| +25 |
I get a Hookwhen
| +20 |
I get a Strong Hookwhen
| +50 |
Tier (Emperor)when
| +50 |
The joiner temp’s opinion of the inviter temp × 0.5when
| varies |
The joiner temp’s opinion of the inviter temp’s confederation’s leading house’s house head × 0.5when
| varies |
The joiner temp’s opinion of the joiner temp’s confederation’s leading house’s house head × -0.5when
| varies |
Relative Level of Famewhen
| varies |
| Relative Level of Influence | varies |
| Relative House Military Power | varies |
| A scripted reason | -25 |
Different Governmentwhen
| -200 |
Vulnerable Governmentwhen
| +50 |
A scripted reasonwhen
| +25 |
Same Dynastywhen
| +10 |
Same Housewhen
| +1,000 |
| Relative Level of Splendor | varies |
Relative Family Ratingwhen
| +50 |
Relative Family Ratingwhen
| -25 |
Ten'nō Distrusts Sōryōwhen
| -100 |
Same House Aspiration as Bloc Leading Housewhen
| +25 |
Higher House Aspiration levelwhen
| varies |
Different House Aspiration to Bloc Leading Housewhen
| -40 |
Bloc Sizewhen
| varies |
Bloc Sizewhen
| varies |
| Relative Bloc Military Power | varies |
Low Bloc Cohesionwhen
| varies |
Distant Manorwhen
| -20 |
Bloc Cohesionwhen
| varies |
Relative Bloc Cohesionwhen
| varies |
A scripted reasonwhen
| -25 |
A scripted reasonwhen
| -75 |
Threatened by Sōryō Rulerswhen
| varies |
Dynastic Dutywhen
| +25 |
Forced Vassalagewhen
| +15 |
House Relation Levelwhen
| varies |
Acceptance (ai_accept) (45 lines of game script)
base = -50
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
}
modifier = {
add = 20
scope:offer_hook = yes
exists = scope:recipient
desc = SCHEME_WITH_OFFER_HOOK
}
modifier = {
add = 50
scope:offer_hook_strong = yes
exists = scope:recipient
desc = SCHEME_WITH_OFFER_HOOK_STRONG
}
modifier = {
add = 50
scope:actor = {
has_title = title:e_japan
}
desc = TIER_REASON_EMPEROR
}
house_bloc_desire_to_join_modifiers = {
JOINER = scope:recipient
INVITER = scope:actor
MULTIPLIER = 1
}
house_relation_ai_accept_modifiers = {
HOUSE_1_MEMBER = scope:actor
HOUSE_2_MEMBER = scope:recipient
MULTIPLIER = 1
}As written in game/common/character_interactions/10_tgp_japan_interactions.txt.
What happens
If they accept
- The character you target › Their 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:
Otherwise
If
- The option “gold” is chosen
Then
- Pay gold to the target
If
- The option “influence” is chosen
Then
- Influence changes
- The character you target: Influence +60
- Your house:
- The character you target:
- Their 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:
- … will not be able to leave the Bloc for 10 years
- Their house:
Options when sending
- Send Gold
- Impress with Prestige
- Offer Influence
- Offer a Hook on yourself
- Offer a Strong Hook on yourself
- 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) (60 lines of game script)
is_available = government_has_flag = government_has_house_blocs
OR = {
is_landed = yes
tgp_is_ceremonial_liege_trigger = yes
}
house.house_head ?= this
trigger_if = {
limit = {
is_ai = yes
}
OR = {
is_landed = yes
tgp_is_ceremonial_liege_trigger = yes
}
trigger_if = {
limit = {
NOT = {
house.house_confederation.leading_house.house_head ?= this
}
}
NOT = {
any_confederation = {
leading_house.house_head.top_liege ?= root.top_liege
leading_house ?= {
has_same_house_aspiration_as = root.house
}
has_leading_house = yes
}
}
}
trigger_if = {
limit = {
this != top_liege
NOT = {
exists = house.house_confederation
}
}
any_confederation = {
count < 5
has_leading_house = yes
leading_house.house_head.top_liege ?= root.top_liege
}
}
}
tgp_house_bloc_interaction_valid_trigger = yes
is_shown = scope:actor = {
this != scope:recipient
top_liege ?= scope:recipient.top_liege
trigger_if = {
limit = {
exists = house.house_confederation
}
NOT = {
scope:recipient.house.house_confederation ?= house.house_confederation
}
}
}
scope:recipient = {
tgp_house_bloc_interaction_valid_trigger = yes
}As written in game/common/character_interactions/10_tgp_japan_interactions.txt.
Can be sent when (is_valid…) (95 lines of game script)
scope:actor = {
is_at_war = no
tgp_house_bloc_interaction_valid_showing_failures_trigger = yes
trigger_if = {
limit = {
exists = confederation
}
custom_tooltip = {
text = invite_to_house_bloc_leader_tt
confederation.leading_house = house
}
}
trigger_else = {
custom_tooltip = {
text = invite_to_house_bloc_tt
is_house_head = yes
is_ruler = yes
}
}
}
scope:recipient = {
is_at_war = no
tgp_house_bloc_interaction_valid_showing_failures_trigger = yes
custom_tooltip = {
text = join_bloc_vassal_house_tt
trigger_if = {
limit = {
is_independent_ruler = no
trigger_if = {
limit = {
exists = scope:secondary_recipient
}
NOT = {
scope:secondary_recipient = scope:recipient.liege
}
}
}
OR = {
liege = scope:actor.liege
liege = scope:actor
AND = {
liege.liege = scope:actor
scope:actor = {
highest_held_title_tier < tier_empire
}
}
liege = {
house.house_confederation = scope:actor.house.house_confederation
}
}
}
}
custom_tooltip = {
text = join_bloc_left_cooldown_recipient_tt
NOT = {
house = {
any_in_list = {
variable = left_bloc_cooldown
scope:actor.house.house_confederation ?= this
save_temporary_scope_as = bloc_cooldown_temp
}
}
}
}
custom_tooltip = {
text = join_bloc_bloc_leader_tt
trigger_if = {
limit = {
exists = scope:recipient.house.house_confederation
}
NOT = {
scope:recipient.house.house_confederation.leading_house.house_head ?= scope:recipient
}
}
}
custom_tooltip = {
text = join_bloc_recent_house_join_tt
NOT = {
scope:recipient.house = {
has_variable = recently_joined_bloc
}
}
}
trigger_if = {
limit = {
scope:actor = {
is_ai = yes
NOT = {
exists = house.house_confederation
}
}
}
is_landed = yes
}
}As written in game/common/character_interactions/10_tgp_japan_interactions.txt.
Effects (on_send, on_accept, on_decline) (151 lines of game script)
on_accept = scope:recipient = {
house = {
if = {
limit = {
exists = house_confederation
}
switch = {
trigger = yes
scope:hook = {
set_variable = {
name = bloc_leaving_reason
value = flag:reason_bribe_hook
days = 4
}
}
scope:gold = {
set_variable = {
name = bloc_leaving_reason
value = flag:reason_bribe_gold
days = 4
}
}
scope:prestige = {
set_variable = {
name = bloc_leaving_reason
value = flag:reason_bribe_prestige
days = 4
}
}
scope:influence = {
set_variable = {
name = bloc_leaving_reason
value = flag:reason_bribe_influence
days = 4
}
}
scope:influence = {
set_variable = {
name = bloc_leaving_reason
value = flag:reason_bribe_influence
days = 4
}
}
fallback = {
tgp_save_bloc_leaving_reason_effect = {
LEAVING_HOUSE = scope:recipient.house
INVITING_HOUSE = scope:actor.house
}
}
}
}
tgp_leave_house_bloc_effect = {
OPINION = flag:yes
TRUCE = flag:no
}
}
add_character_flag = {
flag = invited_to_bloc_recently
years = 2
}
}
scope:actor = {
if = {
limit = {
scope:hook = yes
}
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_influence_loss
scope:recipient = {
change_influence = medium_influence_gain
}
}
if = {
limit = {
scope:offer_hook = yes
}
scope:recipient = {
add_hook = {
type = favor_hook
target = scope:actor
}
}
}
if = {
limit = {
scope:offer_hook_strong = yes
}
scope:recipient = {
add_hook = {
type = strong_favor_hook
target = scope:actor
}
}
}
}
house = {
if = {
limit = {
NOT = {
exists = house_confederation
}
}
tgp_create_house_bloc_effect = {
TYPE = none
}
}
}
}
scope:recipient = {
house ?= {
tgp_join_house_bloc_effect = {
INVITER = scope:actor.house
OPINION = flag:yes
}
}
custom_tooltip = forced_bloc_membership_tt
add_character_flag = {
flag = forced_bloc_membership
years = 10
}
}
on_decline = scope:recipient = {
add_character_flag = {
flag = invited_to_bloc_recently
years = 4
}
}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
invite_to_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).