Interaction · Hostile actions
Challenge for Artifact
Challenge the recipient to a non-lethal duel for an Artifact you have a claim on
What you need
You
To send it
- You:
Also needed: not imprisoned
To see it in the menu
- If played by the AI:
has_outstanding_artifact_claims = yes- Ai greed at least -20
- Is an Adult
- Does not have the Trait: Pregnant
- Does not have the Trait: Incapable
- Does not have the Trait: Blind
- Has none of the traits: Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux
- Is not imprisoned
- Does not have the Trait: Craven
The character you target
To send it
To see it in the menu
If
a check the game hides
Then
None of these
- Their activity:
has_activity_type = activity_coronationactivity_host ?= scope:recipient
- Their activity:
Challenge for Artifact is a hostile character interaction in Crusader Kings III. You need: Is not imprisoned. The character you target needs: Is an Adult, Does not have the Trait: Pregnant, Does not have the Trait: Incapable and 3 more. The AI weighs it (the answer is partly random). Reasons the AI weighs include Rank Difference (+15), Rank Difference (+10), Rank Difference (+5) and 6 more. It costs Prestige (from 150). Patch 1.20.1.2, from game/common/character_interactions/00_artifact_interactions.txt.
Quick answers (3)
- What are the requirements for Challenge for Artifact in CK3?
- You: Is not imprisoned. The character you target: Is an Adult, Does not have the Trait: Pregnant, Does not have the Trait: Incapable, Does not have the Trait: Blind, Has none of the traits: Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux and Is not imprisoned. (patch 1.20.1.2)
- How do I get the AI to accept Challenge for Artifact?
- The AI weighs it (the answer is partly random). Its reasons: Relative Prowess, Relative Prowess, Rank Difference +15, Rank Difference +10, Rank Difference +5, Rank Difference -20, Rank Difference -30, Rank Difference -40, They is your Rival +30, They is your Nemesis +50, Cannot afford Prestige loss +30 and Wants to decrease House Unity.
- How much does Challenge for Artifact cost?
- Prestige (from 150) (patch 1.20.1.2).
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 | +50 |
Relative Prowesswhen
| varies |
Relative Prowesswhen
| varies |
| Their personality (AI values: boldness 1, vengefulness 0.75, honor 0.5, rationality -0.25, greed -0.5) | varies |
Rank Differencewhen
| +15 |
Rank Differencewhen
| +10 |
Rank Differencewhen
| +5 |
Rank Differencewhen
| -20 |
Rank Differencewhen
| -30 |
Rank Differencewhen
| -40 |
They is your Rivalwhen
| +30 |
They is your Nemesiswhen
| +50 |
Cannot afford Prestige losswhen
| +30 |
Wants to decrease House Unitywhen
| varies |
Acceptance (ai_accept) (115 lines of game script)
base = 50
modifier = {
desc = CTSC_RELATIVE_PROWESS
scope:actor.prowess < scope:recipient.prowess
add = {
value = scope:recipient.prowess
subtract = scope:actor.prowess
multiply = 2
}
}
modifier = {
desc = CTSC_RELATIVE_PROWESS
scope:recipient.prowess < scope:actor.prowess
add = {
value = scope:actor.prowess
subtract = scope:recipient.prowess
multiply = -2
}
}
ai_value_modifier = {
who = scope:recipient
ai_boldness = 1
ai_vengefulness = 0.75
ai_honor = 0.5
ai_rationality = -0.25
ai_greed = -0.5
}
modifier = {
desc = AI_REFUSAL_RANK_DIFFERENCE
scope:actor = {
tier_difference = {
target = scope:recipient
value >= 4
}
}
add = 15
}
modifier = {
desc = AI_REFUSAL_RANK_DIFFERENCE
scope:actor = {
tier_difference = {
target = scope:recipient
value = 3
}
}
add = 10
}
modifier = {
desc = AI_REFUSAL_RANK_DIFFERENCE
scope:actor = {
tier_difference = {
target = scope:recipient
value = 2
}
}
add = 5
}
modifier = {
desc = AI_REFUSAL_RANK_DIFFERENCE
scope:actor = {
tier_difference = {
target = scope:recipient
value = -2
}
}
add = -20
}
modifier = {
desc = AI_REFUSAL_RANK_DIFFERENCE
scope:actor = {
tier_difference = {
target = scope:recipient
value = -3
}
}
add = -30
}
modifier = {
desc = AI_REFUSAL_RANK_DIFFERENCE
scope:actor = {
tier_difference = {
target = scope:recipient
value <= -4
}
}
add = -40
}
modifier = {
desc = offer_vassalization_interaction_aibehavior_rival_tt
trigger = {
scope:recipient = {
has_relation_rival = scope:actor
}
}
add = 30
}
modifier = {
desc = offer_vassalization_interaction_aibehavior_nemesis_tt
trigger = {
scope:recipient = {
has_relation_nemesis = scope:actor
}
}
add = 50
}
modifier = {
desc = cannot_afford_prestige_loss_tt
trigger = {
scope:recipient.prestige < challenge_for_artifact_prestige_limit_value
}
add = 30
}
evaluate_action_decreasing_house_unity = {
VALUE = 100
}As written in game/common/character_interactions/00_artifact_interactions.txt.
What happens
If they accept
- A non-lethal Single Combat will commence immediately
- The Victor will keep or gain the Artifact
- The Loser will lose the Artifact or any Personal Artifact Claim
If
a check the game hides
Then
clear_saved_scope = sc_finished
If
- The sc attacker is not the sc defender
Then
- The sc attacker:
If
- Does not have “temporary signature weapon” (a variable the game's script sets)
- Any equipped character artifact:
artifact_slot_type = primary_armamentOne of these
artifact_type = axeor
artifact_type = hammeror
artifact_type = spearor
artifact_type = maceor
artifact_type = daggeror
artifact_type = sword
Then
- One random equipped character artifact:
- Where:
artifact_slot_type = primary_armamentOne of these
artifact_type = axeor
artifact_type = hammeror
artifact_type = spearor
artifact_type = maceor
artifact_type = daggeror
artifact_type = sword
clear_saved_scope = equipped_signature_weapon
- Where:
- The sc defender:
If
- Does not have “temporary signature weapon” (a variable the game's script sets)
- Any equipped character artifact:
artifact_slot_type = primary_armamentOne of these
artifact_type = axeor
artifact_type = hammeror
artifact_type = spearor
artifact_type = maceor
artifact_type = daggeror
artifact_type = sword
Then
- One random equipped character artifact:
- Where:
artifact_slot_type = primary_armamentOne of these
artifact_type = axeor
artifact_type = hammeror
artifact_type = spearor
artifact_type = maceor
artifact_type = daggeror
artifact_type = sword
clear_saved_scope = equipped_signature_weapon
- Where:
- The sc defender: Event single_combat.0001
Otherwise
error_log = debug_log.single_combat_setup.attacker_and_defender_same_person
If
Then
- Your house:
add_unity_value = { … }
- Your house:
If they refuse
If
Then
- Your house:
add_unity_value = { … }
- Your house:
- The character you target:
add_prestige = { value = 0 subtract = challenge_for_artifact_prestige_cost_value }
- Gain … Prestige
Events it fires: single_combat.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) (37 lines of game script)
is_available = trigger_if = {
limit = {
is_ai = yes
}
has_outstanding_artifact_claims = yes
ai_greed >= low_negative_ai_value
can_start_single_combat_trigger = yes
is_imprisoned = no
NOT = {
has_trait = craven
}
}
is_shown = scope:actor != scope:recipient
custom_description = {
text = challenge_for_artifact_interaction_valid_tt_1
scope:recipient = {
any_character_artifact = {
can_be_claimed_by = scope:actor
NOT = {
has_variable = is_tribute_mission_artifact
}
}
}
}
scope:recipient = {
trigger_if = {
limit = {
exists = involved_activity
}
NOT = {
involved_activity ?= {
has_activity_type = activity_coronation
activity_host ?= scope:recipient
}
}
}
}As written in game/common/character_interactions/00_artifact_interactions.txt.
Can be sent when (is_valid…) (24 lines of game script)
rival_single_combat_shown_and_not_invalid_trigger = yes
scope:recipient = {
can_start_single_combat_trigger = yes
}
scope:recipient = {
custom_description = {
text = fp1_tbc_recipient_banned_from_combat
can_start_single_combat_banned_checks_trigger = no
}
}
scope:recipient = {
is_imprisoned = no
}
scope:actor = {
is_imprisoned = no
}
scope:actor = {
custom_description = {
text = character_interactions_hostile_actions_disabled_delay
NOT = {
has_character_flag = flag_hostile_actions_disabled_delay
}
}
}As written in game/common/character_interactions/00_artifact_interactions.txt.
Effects (on_send, on_accept, on_decline) (65 lines of game script)
on_send = scope:actor = {
add_character_flag = {
flag = flag_hostile_actions_disabled_delay
days = 10
}
}
on_accept = scope:actor = {
remove_character_flag = flag_hostile_actions_disabled_delay
}
scope:actor = {
custom_tooltip = challenge_to_single_combat_interaction.enter_non_lethal_bout.tt
custom_tooltip = challenge_to_artifact_combat_interaction_victor_gets.tt
custom_tooltip = challenge_to_artifact_combat_interaction_loser_gets.tt
}
configure_start_single_combat_effect = {
SC_INITIATOR = scope:actor
SC_ATTACKER = scope:actor
SC_DEFENDER = scope:recipient
FATALITY = no
FIXED = no
LOCALE = terrain_scope
OUTPUT_EVENT = artifact.2001
INVALIDATION_EVENT = fp1_tbc.0021
}
add_clan_unity_interaction_effect = {
CHARACTER = scope:actor
TARGET = scope:recipient
VALUE = major_unity_loss
DESC = clan_unity_challenge_artifact.desc
REVERSE_NON_HOUSE_TARGET = no
}
on_decline = add_clan_unity_interaction_effect = {
CHARACTER = scope:actor
TARGET = scope:recipient
VALUE = minor_unity_gain
DESC = clan_unity_challenge_artifact_refusal.desc
REVERSE_NON_HOUSE_TARGET = no
}
scope:actor = {
send_interface_toast = {
type = event_toast_effect_neutral
title = challenge_to_single_combat_interaction.challenge_rejected.t
left_icon = scope:recipient
right_icon = scope:actor
scope:recipient = {
add_prestige = {
value = 0
subtract = challenge_for_artifact_prestige_cost_value
}
}
show_as_tooltip = {
add_prestige = challenge_for_artifact_prestige_cost_value
}
}
hidden_effect = {
add_prestige_no_experience = challenge_for_artifact_prestige_cost_value
remove_interaction_cooldown = challenge_for_artifact_interaction
}
if = {
limit = {
has_character_flag = flag_hostile_actions_disabled_delay
}
remove_character_flag = flag_hostile_actions_disabled_delay
}
}As written in game/common/character_interactions/00_artifact_interactions.txt.
- Category
- Hostile actions
- Cost: Prestige
- from 150
- Cooldown
- 2 years
- Again on the same character
- after 5 years
- In the menu
- main list
- ID
challenge_for_artifact_interaction
Source: game/common/character_interactions/00_artifact_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.