Interaction · Friendly actions
Challenge to Board Game
Play the recipient at a Board Game
What you need
You
To send it
- Is at least 8 years old
Also needed: available (not in an army, not imprisoned, not incapable) · none of the traits Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux · not busy in an Activity · not planning another Activity · not busy in a Mandala succession
To see it in the menu
One of these
- Has the Befriend Perk
or
Your culture: The Culture has the May always challenge other Characters to Board Games Traditionor
Has the Modifier: Chess-Playing Monkey
- Is at least 8 years old
- If played by the AI:
One of these
- Has the Befriend Perk
or
Your culture: The Culture has the May always challenge other Characters to Board Games Tradition
- Is not imprisoned
The character you target
- Is at least 8 years old
- Character cannot currently play a board game
Also needed: available (not in an army, not imprisoned, not incapable) · none of the traits Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux · not busy in an Activity · not planning another Activity · not busy in a Mandala succession
Challenge to Board Game is a friendly character interaction in Crusader Kings III. You need: Is available (not in an army, not imprisoned, not incapable), Has none of the traits: Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux, You are currently busy … and 3 more. The character you target needs: Is available (not in an army, not imprisoned, not incapable), Has none of the traits: Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux, Busy participating in an Activity and 4 more. The AI weighs it (the answer is partly random). Reasons the AI weighs include Low stakes (+20), Gregarious loves the idea of a Friendly Game (+40), Humble loves the idea of a Friendly Game (+40) and 41 more. Patch 1.20.1.2, from game/common/character_interactions/03_fp2_interactions.txt.
Quick answers (2)
- What are the requirements for Challenge to Board Game in CK3?
- You: Is available (not in an army, not imprisoned, not incapable), Has none of the traits: Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux, You are currently busy …, You are already planning another Activity, You are currently busy in a Mandala succession and Is at least 8 years old. The character you target: Is available (not in an army, not imprisoned, not incapable), Has none of the traits: Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux, Busy participating in an Activity, You are already planning another Activity, You are currently busy in a Mandala succession, Is at least 8 years old and Character cannot currently play a board game. (patch 1.20.1.2)
- How do I get the AI to accept Challenge to Board Game?
- The AI weighs it (the answer is partly random). Its reasons: … Opinion of …, My Skill, Low stakes +20, Gregarious loves the idea of a Friendly Game +40, Humble loves the idea of a Friendly Game +40, Shy likes the idea of a Friendly Game +20, Compassionate likes the idea of a Friendly Game +20, Callous dislikes the idea of a Friendly Game -20, Greedy hates the idea of just a Friendly Game -40, Arrogant hates the idea of just Friendly Game -40, Brave hungers to Wager Fame +40, Arrogant hungers to Wager Fame +40, Gregarious wishes to Wager Fame +20, Ambitious wishes to Wager Fame +20, Content does not wish to Wager Fame -20, Shy does not wish to Wager Fame -20, Humble wishes to Wager Fame -40, Craven wishes to Wager Fame -40, Profligate wishes to Wager Fortune +60, Greedy wishes to Wager Fortune +40, Ambitious wishes to Wager Fortune +20, Generous wishes to Wager Fortune +20, Lazy wishes to Wager Fortune +20, Diligent wishes to Wager Fortune -40, Profligate wishes to Wager Land +60, Arbitrary wishes to Wager Land +40, Ambitious wishes to Wager Land +20, Brave wishes to Wager Land +20, Craven does not wish to Wager Land -20, Content does not wish to Wager Land -20, Just thinks it would be illegal to Wager Land -60, We have a positive Special Relationship +20, We have a positive Special Relationship +40, We have a positive Special Relationship +60, We have a negative Special Relationship -20, We have a negative Special Relationship -40, We have a negative Special Relationship -60, I want to destroy you at games +20, I want to destroy you at games +40, I want to destroy you at games +60, Rank Difference +15, Rank Difference +10, Rank Difference +5, Rank Difference -10, Rank Difference -20 and Rank Difference -30.
Will they accept?
The AI adds these up and accepts above zero; near zero the answer is partly random (ai_maybe). Reasons in italics are the script's, with no label in the game.
| Reason | Amount |
|---|---|
| Base | 0 |
| Their personality (AI values: boldness (scripted), sociability (scripted)) | varies |
| Their personality (AI values: boldness (scripted), sociability (scripted)) | varies |
| … Opinion of … | varies |
| My Skill | varies |
| Low stakes | +20 |
Gregarious loves the idea of a Friendly Gamewhen
| +40 |
| Humble loves the idea of a Friendly Game | +40 |
| Shy likes the idea of a Friendly Game | +20 |
Compassionate likes the idea of a Friendly Gamewhen
| +20 |
| Callous dislikes the idea of a Friendly Game | -20 |
| Greedy hates the idea of just a Friendly Game | -40 |
| Arrogant hates the idea of just Friendly Game | -40 |
| Brave hungers to Wager Fame | +40 |
| Arrogant hungers to Wager Fame | +40 |
Gregarious wishes to Wager Famewhen
| +20 |
| Ambitious wishes to Wager Fame | +20 |
| Content does not wish to Wager Fame | -20 |
| Shy does not wish to Wager Fame | -20 |
| Humble wishes to Wager Fame | -40 |
| Craven wishes to Wager Fame | -40 |
Profligate wishes to Wager Fortunewhen
| +60 |
| Greedy wishes to Wager Fortune | +40 |
| Ambitious wishes to Wager Fortune | +20 |
| Generous wishes to Wager Fortune | +20 |
| Lazy wishes to Wager Fortune | +20 |
| Diligent wishes to Wager Fortune | -40 |
Profligate wishes to Wager Landwhen
| +60 |
| Arbitrary wishes to Wager Land | +40 |
| Ambitious wishes to Wager Land | +20 |
| Brave wishes to Wager Land | +20 |
| Craven does not wish to Wager Land | -20 |
| Content does not wish to Wager Land | -20 |
| Just thinks it would be illegal to Wager Land | -60 |
We have a positive Special Relationshipwhen
| +20 |
We have a positive Special Relationshipwhen
| +40 |
We have a positive Special Relationshipwhen
| +60 |
We have a negative Special Relationshipwhen
| -20 |
We have a negative Special Relationshipwhen
| -40 |
We have a negative Special Relationshipwhen
| -60 |
I want to destroy you at gameswhen
| +20 |
I want to destroy you at gameswhen
| +40 |
I want to destroy you at gameswhen
| +60 |
Rank Differencewhen
| +15 |
Rank Differencewhen
| +10 |
Rank Differencewhen
| +5 |
Rank Differencewhen
| -10 |
Rank Differencewhen
| -20 |
Rank Differencewhen
| -30 |
Acceptance (ai_accept) (305 lines of game script)
base = 0
ai_value_modifier = {
who = scope:recipient
trigger = {
has_trait = shy
}
ai_boldness = {
if = {
limit = {
scope:recipient = {
NOT = {
ai_boldness = 0
}
}
}
value = 1
}
}
ai_sociability = {
if = {
limit = {
scope:recipient = {
NOT = {
ai_honor = 0
}
}
}
value = -0.5
}
}
}
ai_value_modifier = {
who = scope:recipient
trigger = {
NOT = {
has_trait = shy
}
}
ai_boldness = {
if = {
limit = {
scope:recipient = {
NOT = {
ai_boldness = 0
}
}
}
value = 1
}
}
ai_sociability = {
if = {
limit = {
scope:recipient = {
NOT = {
ai_honor = 0
}
}
}
value = 0.5
}
}
}
opinion_modifier = {
who = scope:recipient
opinion_target = scope:actor
multiplier = 0.5
desc = AI_OPINION_REASON
}
modifier = {
add = {
add = scope:recipient.martial
add = scope:recipient.intrigue
add = scope:recipient.learning
}
desc = BG_OPINION_OWN_SKILL_ASSESSMENT
}
modifier = {
add = 20
always = scope:chess_friendly
scope:recipient = {
NOR = {
has_trait = callous
has_trait = greedy
has_trait = arrogant
}
}
desc = BG_OPINION_STAKES_ARE_LOW
}
modifier = {
add = 40
scope:recipient = {
has_trait = gregarious
}
always = scope:chess_friendly
desc = BG_OPINION_FRIENDLY_TRAIT_GREGARIOUS
}
modifier = {
add = 40
scope:recipient = {
has_trait = humble
}
always = scope:chess_friendly
desc = BG_OPINION_FRIENDLY_TRAIT_HUMBLE
}
modifier = {
add = 20
scope:recipient = {
has_trait = shy
}
always = scope:chess_friendly
desc = BG_OPINION_FRIENDLY_TRAIT_SHY
}
modifier = {
add = 20
scope:recipient = {
has_trait = compassionate
}
always = scope:chess_friendly
desc = BG_OPINION_FRIENDLY_TRAIT_COMPASSIONATE
}
modifier = {
add = -20
scope:recipient = {
has_trait = callous
}
always = scope:chess_friendly
desc = BG_OPINION_FRIENDLY_TRAIT_CALLOUS
}
modifier = {
add = -40
scope:recipient = {
has_trait = greedy
}
always = scope:chess_friendly
desc = BG_OPINION_FRIENDLY_TRAIT_GREEDY
}
modifier = {
add = -40
scope:recipient = {
has_trait = arrogant
}
always = scope:chess_friendly
desc = BG_OPINION_FRIENDLY_TRAIT_ARROGANT
}
modifier = {
add = 40
scope:recipient = {
has_trait = brave
}
always = scope:chess_prestige
desc = BG_OPINION_PRESTIGE_TRAIT_BRAVE
}
modifier = {
add = 40
scope:recipient = {
has_trait = arrogant
}
always = scope:chess_prestige
desc = BG_OPINION_PRESTIGE_TRAIT_ARROGANT
}
modifier = {
add = 20
scope:recipient = {
has_trait = gregarious
}
always = scope:chess_prestige
desc = BG_OPINION_PRESTIGE_TRAIT_GREGARIOUS
}
modifier = {
add = 20
scope:recipient = {
has_trait = ambitious
}
always = scope:chess_prestige
desc = BG_OPINION_PRESTIGE_TRAIT_AMBITIOUS
}
modifier = {
add = -20
scope:recipient = {
has_trait = content
}
always = scope:chess_prestige
desc = BG_OPINION_PRESTIGE_TRAIT_CONTENT
}
modifier = {
add = -20
scope:recipient = {
has_trait = shy
}
always = scope:chess_prestige
desc = BG_OPINION_PRESTIGE_TRAIT_SHY
}
modifier = {
add = -40
scope:recipient = {
has_trait = humble
}
always = scope:chess_prestige
desc = BG_OPINION_PRESTIGE_TRAIT_HUMBLE
}
modifier = {
add = -40
scope:recipient = {
has_trait = craven
}
always = scope:chess_prestige
desc = BG_OPINION_PRESTIGE_TRAIT_CRAVEN
}
modifier = {
add = 60
scope:recipient = {
has_trait = profligate
}
always = scope:chess_gold
desc = BG_OPINION_GOLD_TRAIT_PROFLIGATE
}
modifier = {
add = 40
scope:recipient = {
has_trait = greedy
}
always = scope:chess_gold
desc = BG_OPINION_GOLD_TRAIT_GREEDY
}
modifier = {
add = 20
scope:recipient = {
has_trait = ambitious
}
always = scope:chess_gold
desc = BG_OPINION_GOLD_TRAIT_AMBITIOUS
}
modifier = {
add = 20
scope:recipient = {
has_trait = generous
}
always = scope:chess_gold
desc = BG_OPINION_GOLD_TRAIT_GENEROUS
}
modifier = {
add = 20
scope:recipient = {
has_trait = lazy
}
always = scope:chess_gold
desc = BG_OPINION_GOLD_TRAIT_LAZY
}
modifier = {
add = -40
scope:recipient = {
has_trait = diligent
}
always = scope:chess_gold
desc = BG_OPINION_GOLD_TRAIT_DILIGENT
}
modifier = {
add = 60
scope:recipient = {
has_trait = profligate
}
always = scope:chess_land
desc = BG_OPINION_LAND_TRAIT_PROFLIGATE
}
modifier = {
add = 40
scope:recipient = {
has_trait = arbitrary
}
always = scope:chess_land
desc = BG_OPINION_LAND_TRAIT_ARBITRARY
}
modifier = {
add = 20
scope:recipient = {
has_trait = ambitious
}
always = scope:chess_land
desc = BG_OPINION_LAND_TRAIT_AMBITIOUS
}
modifier = {
add = 20
scope:recipient = {
has_trait = brave
}
always = scope:chess_land
desc = BG_OPINION_LAND_TRAIT_BRAVE
}
modifier = {
add = -20
scope:recipient = {
has_trait = craven
}
always = scope:chess_land
desc = BG_OPINION_LAND_TRAIT_CRAVEN
}
modifier = {
add = -20
scope:recipient = {
has_trait = content
}
always = scope:chess_land
de
# … (cut here; the rest is in the file)As written in game/common/character_interactions/03_fp2_interactions.txt.
What happens
If they accept
If
scope:bg_interaction_game_type = flag:pachisi
Then
- Else, if all of these hold:
- Conditions:
scope:bg_locale = flag:random_nice_day
- Then › 1 of 3 things will happen:
- 33%: Nothing else happens
- 33%: Nothing else happens
- 33%: Nothing else happens
- Conditions:
- The bg defender: Event board_games.0001
If
scope:bg_interaction_game_type = flag:hnefatafl
Then
- Else, if all of these hold:
- Conditions:
scope:bg_locale = flag:random_nice_day
- Then › 1 of 3 things will happen:
- 33%: Nothing else happens
- 33%: Nothing else happens
- 33%: Nothing else happens
- Conditions:
- The bg defender: Event board_games.0001
If
scope:bg_interaction_game_type = flag:tabula
Then
- Else, if all of these hold:
- Conditions:
scope:bg_locale = flag:random_nice_day
- Then › 1 of 3 things will happen:
- 33%: Nothing else happens
- 33%: Nothing else happens
- 33%: Nothing else happens
- Conditions:
- The bg defender: Event board_games.0001
If
scope:bg_interaction_game_type = flag:go
Then
- Else, if all of these hold:
- Conditions:
scope:bg_locale = flag:random_nice_day
- Then › 1 of 3 things will happen:
- 33%: Nothing else happens
- 33%: Nothing else happens
- 33%: Nothing else happens
- Conditions:
- The bg defender: Event board_games.0001
If
scope:bg_interaction_game_type = flag:fidchell
Then
- Else, if all of these hold:
- Conditions:
scope:bg_locale = flag:random_nice_day
- Then › 1 of 3 things will happen:
- 33%: Nothing else happens
- 33%: Nothing else happens
- 33%: Nothing else happens
- Conditions:
- The bg defender: Event board_games.0001
If
scope:bg_interaction_game_type = flag:chess
Then
- Else, if all of these hold:
- Conditions:
scope:bg_locale = flag:random_nice_day
- Then › 1 of 3 things will happen:
- 33%: Nothing else happens
- 33%: Nothing else happens
- 33%: Nothing else happens
- Conditions:
- The bg defender: Event board_games.0001
- A game of Chess will begin immediately
If
- The option “chess friendly” is chosen
Then
- 1 of 2 things will happen:
- 50% – If … the wager:
- 50% – If … the wager:
- … (more in the script below)
If they refuse
Options when sending
- Friendly Game
- Wager Fame
- Wager Fortune
- Wager Land
Events it fires: board_games.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) (23 lines of game script)
is_available = OR = {
has_perk = befriend_perk
culture ?= {
has_cultural_parameter = may_challenge_to_board_games
}
has_character_modifier = fp3_chess_playing_monkey_modifier
}
bg_can_start_board_game_trigger = yes
trigger_if = {
limit = {
is_ai = yes
}
OR = {
has_perk = befriend_perk
culture ?= {
has_cultural_parameter = may_challenge_to_board_games
}
}
is_imprisoned = no
}
is_shown = scope:actor = {
this != scope:recipient
}As written in game/common/character_interactions/03_fp2_interactions.txt.
Can be sent when (is_valid…) (25 lines of game script)
scope:actor = {
is_available = yes
can_start_board_game_eligibility_checks_trigger = yes
}
scope:recipient = {
is_available = yes
can_start_board_game_eligibility_checks_trigger = yes
}
scope:recipient = {
custom_description = {
text = fp2_bg_recipient_banned_from_board_games
bg_can_start_board_game_is_scope_banned_checks_trigger = no
}
}
trigger_if = {
limit = {
scope:actor = {
has_government = landless_adventurer_government
}
}
ep3_laamp_diplo_range_trigger = {
TARGET = scope:recipient
LAAMP = scope:actor
}
}As written in game/common/character_interactions/03_fp2_interactions.txt.
Effects (on_send, on_accept, on_decline) (232 lines of game script)
on_send = if = {
limit = {
always = scope:chess_land
}
challenge_to_2p_chess_interaction_lock_in_actor_stake_land_effect = yes
}
challenge_to_2p_chess_interaction_lock_in_game_type_effect = {
GAME_TYPE_SETTER = scope:actor
}
on_accept = if = {
limit = {
always = scope:chess_gold
}
save_scope_value_as = {
name = bg_stake_gold
value = challenge_to_chess_gold_change_value
}
}
if = {
limit = {
always = scope:chess_land
}
show_as_tooltip = {
challenge_to_2p_chess_interaction_lock_in_actor_stake_land_effect = yes
}
scope:recipient = {
save_temporary_scope_as = ordering_char_temp
ordered_held_title = {
limit = {
bg_stake_land_valid_neighbouring_county_to_trade_trigger = {
NEIGHBOUR = scope:actor
}
}
order_by = bg_stake_land_evaluate_appropriate_county_ordering_value
save_scope_as = bg_stake_land_recipient
set_variable = wagered_county
}
}
}
scope:actor = {
add_character_flag = taken_challenge_to_chess_interaction
show_as_tooltip = {
challenge_to_2p_chess_interaction_lock_in_game_type_effect = {
GAME_TYPE_SETTER = scope:actor
}
}
if = {
limit = {
scope:bg_interaction_game_type = flag:pachisi
}
configure_start_board_game_effect = {
BG_INITIATOR = scope:actor
BG_ATTACKER = scope:actor
BG_DEFENDER = scope:recipient
SYSTEM = pachisi
LOCALE = random_nice_day
OUTPUT_EVENT = perk_interaction.0121
INVALIDATION_EVENT = board_games.0021
}
}
if = {
limit = {
scope:bg_interaction_game_type = flag:hnefatafl
}
configure_start_board_game_effect = {
BG_INITIATOR = scope:actor
BG_ATTACKER = scope:actor
BG_DEFENDER = scope:recipient
SYSTEM = hnefatafl
LOCALE = random_nice_day
OUTPUT_EVENT = perk_interaction.0121
INVALIDATION_EVENT = board_games.0021
}
}
if = {
limit = {
scope:bg_interaction_game_type = flag:tabula
}
configure_start_board_game_effect = {
BG_INITIATOR = scope:actor
BG_ATTACKER = scope:actor
BG_DEFENDER = scope:recipient
SYSTEM = tabula
LOCALE = random_nice_day
OUTPUT_EVENT = perk_interaction.0121
INVALIDATION_EVENT = board_games.0021
}
}
if = {
limit = {
scope:bg_interaction_game_type = flag:go
}
configure_start_board_game_effect = {
BG_INITIATOR = scope:actor
BG_ATTACKER = scope:actor
BG_DEFENDER = scope:recipient
SYSTEM = go
LOCALE = sitting_room
OUTPUT_EVENT = perk_interaction.0121
INVALIDATION_EVENT = board_games.0021
}
}
if = {
limit = {
scope:bg_interaction_game_type = flag:fidchell
}
configure_start_board_game_effect = {
BG_INITIATOR = scope:actor
BG_ATTACKER = scope:actor
BG_DEFENDER = scope:recipient
SYSTEM = fidchell
LOCALE = random_nice_day
OUTPUT_EVENT = perk_interaction.0121
INVALIDATION_EVENT = board_games.0021
}
}
if = {
limit = {
scope:bg_interaction_game_type = flag:chess
}
configure_start_board_game_effect = {
BG_INITIATOR = scope:actor
BG_ATTACKER = scope:actor
BG_DEFENDER = scope:recipient
SYSTEM = chess
LOCALE = random_nice_day
OUTPUT_EVENT = perk_interaction.0121
INVALIDATION_EVENT = board_games.0021
}
}
}
custom_tooltip = challenge_to_2p_chess_interaction.accept.game_commences.tt
if = {
limit = {
always = scope:chess_friendly
}
show_as_tooltip = {
random_list = {
50 = {
show_chance = no
desc = fp2_bg_interaction.winner.actor
fp2_bg_stake_friendly_effect = {
VICTOR = scope:actor
LOSER = scope:recipient
}
}
50 = {
show_chance = no
desc = fp2_bg_interaction.winner.recipient
fp2_bg_stake_friendly_effect = {
VICTOR = scope:recipient
LOSER = scope:actor
}
}
}
}
}
if = {
limit = {
always = scope:chess_prestige
}
show_as_tooltip = {
random_list = {
50 = {
show_chance = no
desc = fp2_bg_interaction.winner.actor
fp2_bg_stake_fame_effect = {
VICTOR = scope:actor
LOSER = scope:recipient
}
}
50 = {
show_chance = no
desc = fp2_bg_interaction.winner.recipient
fp2_bg_stake_fame_effect = {
VICTOR = scope:recipient
LOSER = scope:actor
}
}
}
}
}
if = {
limit = {
always = scope:chess_gold
}
show_as_tooltip = {
random_list = {
50 = {
show_chance = no
desc = fp2_bg_interaction.winner.actor
fp2_bg_stake_fortune_effect = {
VICTOR = scope:actor
LOSER = scope:recipient
}
}
50 = {
show_chance = no
desc = fp2_bg_interaction.winner.recipient
fp2_bg_stake_fortune_effect = {
VICTOR = scope:recipient
LOSER = scope:actor
}
}
}
}
}
if = {
limit = {
always = scope:chess_land
}
show_as_tooltip = {
random_list = {
50 = {
show_chance = no
desc = fp2_bg_interaction.winner.actor
fp2_bg_stake_titles_effect = {
VICTOR = scope:actor
}
}
50 = {
show_chance = no
desc = fp2_bg_interaction.winner.recipient
fp2_bg_stake_titles_effect = {
VICTOR = scope:recipient
}
}
}
}
}
add_clan_unity_intera
# … (cut here; the rest is in the file)As written in game/common/character_interactions/03_fp2_interactions.txt.
- Category
- Friendly actions
- Cooldown
- 1 year
- Again on the same character
- after 10 years
- In the menu
- under More…
- ID
challenge_to_2p_chess_interaction
Source: game/common/character_interactions/03_fp2_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.