Interaction · Diplomatic actions
Demand Artifact
Demand an Artifact from the recipient that you have an Artifact Claim on
What you need
You
To send it
- Is not at war with the target
Also needed: not imprisoned
The character you target
If
a check the game hides
Then
None of these
- Their activity:
has_activity_type = activity_coronationactivity_host ?= scope:recipient
- Their activity:
Demand Artifact is a diplomatic character interaction in Crusader Kings III. You need: Is not at war with the target and Is not imprisoned. Accepted automatically in some cases; otherwise the AI weighs it. Reasons the AI weighs include Artifacts are rare and precious (-50), The recipient's military is weaker than yours (+70), The recipient's military is stronger than yours (-70) and 5 more. Patch 1.20.1.2, from game/common/character_interactions/00_artifact_interactions.txt.
Quick answers (2)
- What are the requirements for Demand Artifact in CK3?
- You: Is not at war with the target and Is not imprisoned. (patch 1.20.1.2)
- How do I get the AI to accept Demand Artifact?
- Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: Artifacts are rare and precious -50, The recipient's military is weaker than yours +70, The recipient's military is stronger than yours -70, The recipient could claim the artifact -50, The recipient's Boldness, The recipient is your Rival -50, The recipient is your Nemesis -80, You are the recipient's Liege +50, Weak Hook used +100 and Wants to decrease House Unity.
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 | 0 |
| Artifacts are rare and precious | -50 |
The recipient's military is weaker than yourswhen
| +70 |
The recipient's military is stronger than yourswhen
| -70 |
The recipient could claim the artifactwhen
| -50 |
The recipient's Boldnesswhen
| varies |
The recipient is your Rivalwhen
| -50 |
The recipient is your Nemesiswhen
| -80 |
You are the recipient's Liegewhen
| +50 |
Weak Hook usedwhen
| +100 |
Wants to decrease House Unitywhen
| varies |
Acceptance (ai_accept) (62 lines of game script)
base = 0
modifier = {
add = -50
desc = ARTIFACT_REASON
}
modifier = {
add = 70
scope:puppet_or_actor.max_military_strength > scope:recipient.max_military_strength
desc = ARTIFACT_MILITARY_STRONGER_REASON
}
modifier = {
add = -70
scope:puppet_or_actor.max_military_strength < scope:recipient.max_military_strength
desc = ARTIFACT_MILITARY_WEAKER_REASON
}
modifier = {
add = -50
scope:target = {
can_be_claimed_by = scope:recipient
}
desc = ARTIFACT_CLAIM_REASON
}
modifier = {
add = {
value = ai_boldness
multiply = -1
divide = 2
}
NOT = {
ai_boldness = 0
}
desc = ARTIFACT_BOLDNESS_REASON
}
modifier = {
add = -50
scope:puppet_or_actor = {
has_relation_rival = scope:recipient
}
desc = ARTIFACT_RIVAL_REASON
}
modifier = {
add = -80
scope:puppet_or_actor = {
has_relation_nemesis = scope:recipient
}
desc = ARTIFACT_NEMESIS_REASON
}
modifier = {
add = 50
scope:recipient = {
target_is_liege_or_above = scope:puppet_or_actor
}
desc = ARTIFACT_LIEGE_REASON
}
modifier = {
scope:hook = yes
add = 100
desc = SCHEME_WEAK_HOOK_USED
}
evaluate_action_decreasing_house_unity = {
VALUE = 100
}As written in game/common/character_interactions/00_artifact_interactions.txt.
What happens
If they accept
- The target:
set_owner = scope:puppet_or_actor
- The character you target: Opinion: Insulted (-10)
If
- The character you target:
- Does not have you as friend
- Does not have you as best friend
- Does not have you as rival
- Does not have you as nemesis
- Does not have you as potential rival
Then
- The character you target:
set_relation_potential_rival = scope:puppet_or_actor
- The character you target:
If
- You: Is played by the AI
Then
- You: Opinion: Pleased (+30)
If
Then
- Your house:
add_unity_value = { … }
- Your house:
If they refuse
Options when sending
- 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) (48 lines of game script)
is_available = trigger_if = {
limit = {
is_ai = yes
}
has_outstanding_artifact_claims = yes
is_at_war = no
ai_greed >= low_negative_ai_value
is_adult = yes
}
is_shown = scope:recipient != scope:puppet_or_actor
custom_description = {
text = demand_artifact_interaction_valid_tt_1
scope:recipient = {
any_character_artifact = {
can_be_claimed_by = scope:puppet_or_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
}
}
}
}
scope:puppet_or_actor ?= {
OR = {
scope:actor = {
is_ai = no
}
max_military_strength >= {
value = {
value = scope:recipient.max_military_strength
multiply = 1.3
}
}
highest_held_title_tier > scope:recipient.highest_held_title_tier
}
}As written in game/common/character_interactions/00_artifact_interactions.txt.
Can be sent when (is_valid…) (23 lines of game script)
scope:puppet_or_actor = {
NOT = {
is_at_war_with = scope:recipient
}
}
trigger_if = {
limit = {
scope:puppet_or_actor = {
has_variable = demanded_this_artifact_interaction_recently
}
}
custom_description = {
text = demand_artifact_interaction_is_valid_tt_2
exists = scope:demanded_artifact
scope:puppet_or_actor = {
has_variable = demanded_this_artifact_interaction_recently
var:demanded_this_artifact_interaction_recently = scope:demanded_artifact
}
}
}
scope:puppet_or_actor = {
is_imprisoned = no
}As written in game/common/character_interactions/00_artifact_interactions.txt.
Effects (on_send, on_accept, on_decline) (140 lines of game script)
on_accept = scope:target = {
save_scope_as = demanded_artifact
}
if = {
limit = {
exists = scope:demanded_artifact
}
scope:puppet_or_actor = {
set_variable = {
name = demanded_this_artifact_interaction_recently
value = scope:demanded_artifact
years = 5
}
}
}
scope:puppet_or_actor = {
send_interface_toast = {
type = event_toast_effect_neutral
title = demand_artifact_interaction_notification
left_icon = scope:recipient
right_icon = scope:target
scope:target = {
set_owner = scope:puppet_or_actor
}
scope:recipient = {
add_opinion = {
target = scope:puppet_or_actor
modifier = insult_opinion
opinion = -10
}
}
if = {
limit = {
scope:recipient = {
can_set_relation_potential_rival_trigger = {
CHARACTER = scope:puppet_or_actor
}
}
}
scope:recipient = {
set_relation_potential_rival = scope:puppet_or_actor
}
}
}
}
if = {
limit = {
scope:is_puppet_action ?= yes
scope:actor != scope:recipient
}
scope:actor = {
send_interface_toast = {
type = event_toast_effect_neutral
title = demand_artifact_interaction_notification_puppeteer
left_icon = scope:puppet_or_actor
right_icon = scope:recipient
}
}
}
if = {
limit = {
scope:actor = {
is_ai = yes
}
}
scope:puppet_or_actor = {
add_opinion = {
target = scope:recipient
modifier = pleased_opinion
opinion = 30
}
}
}
add_clan_unity_interaction_effect = {
CHARACTER = scope:puppet_or_actor
TARGET = scope:recipient
VALUE = minor_unity_loss
DESC = clan_unity_demanded_artifact.desc
REVERSE_NON_HOUSE_TARGET = no
}
on_decline = scope:target = {
save_scope_as = demanded_artifact
}
if = {
limit = {
exists = scope:demanded_artifact
}
scope:puppet_or_actor = {
set_variable = {
name = demanded_this_artifact_interaction_recently
value = scope:demanded_artifact
years = 5
}
}
}
scope:puppet_or_actor = {
send_interface_toast = {
type = event_toast_effect_bad
title = demand_artifact_interaction_notification
left_icon = scope:recipient
right_icon = scope:target
custom_tooltip = demand_artifact_interaction_notification_refused
scope:recipient = {
add_opinion = {
target = scope:puppet_or_actor
modifier = insult_opinion
opinion = -10
}
}
}
}
if = {
limit = {
scope:is_puppet_action ?= yes
scope:actor != scope:recipient
}
scope:actor = {
send_interface_toast = {
type = event_toast_effect_bad
title = demand_artifact_interaction_notification_puppeteer
left_icon = scope:puppet_or_actor
right_icon = scope:recipient
custom_tooltip = demand_artifact_interaction_notification_refused_puppeteer
}
}
}
if = {
limit = {
scope:actor = {
is_ai = yes
}
}
scope:puppet_or_actor = {
add_opinion = {
target = scope:recipient
modifier = refusal_opinion
opinion = -10
}
}
}As written in game/common/character_interactions/00_artifact_interactions.txt.
- Category
- Diplomatic actions
- In the menu
- main list
- ID
demand_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.