CK3 DatabaseCrusader Kings III · 1.20.1.2 “Crozier” · unofficial
Silk & Silverout Tue, Nov 17What's free, what needs the DLC, price →

Interaction · Hostile actions

Steal Artifact (Scheme)

No costAccepted automatically

The recipient will no longer own what's rightfully mine!

What you need

You

To send it

  • If

    • You › Any character artifact › You:
      • has_artifact_claim = prev

    Then

    • I cannot Steal Artifact from at this time
  • If

    • You: Your Government is Adventurer
    • The character you target:
      • None of these

        • Any character artifact › You:
          • has_artifact_claim = prev

    Then

To see it in the menu

  • If played by the AI:
    • Intrigue at least 5
    • has_outstanding_artifact_claims = yes
    • None of these

      • Any scheme:
        • One of these

          • scheme_type = murder
          • or

            scheme_type = abduct
          • or

            scheme_type = claim_throne
          • or

            scheme_type = fabricate_hook
          • or

            scheme_type = steal_back_artifact
    • Ai greed at least -20
    • Is not imprisoned
  • None of these

    • The target is you
    • The character you target: Is imprisoned by you
  • One of these

    • The character you target › Any character artifact:
      • can_be_claimed_by = scope:puppet_or_actor
    • or

      All of these

      • The character you target:
        • has_any_artifact = yes
      • You:
        • One of these

          • Employs a Master Thief
          • or

            Any character active contract:
            • task_contract_type = laamp_steal_artifact_contract
            • Task contract target is scope:recipient

Which artifact you can pick

  • If

    • You:
      • None of these

        • Employs a Master Thief
        • Any character active contract:
          • task_contract_type = laamp_steal_artifact_contract
          • Task contract object is scope:target

    Then

    • You:
      • has_artifact_claim = scope:target
  • The target: Does not have “is tribute mission artifact” (a variable the game's script sets)

Steal Artifact (Scheme) is a hostile character interaction in Crusader Kings III. Accepted automatically. Patch 1.20.1.2, from game/common/character_interactions/00_artifact_interactions.txt.

for a guide, post or blog
Quick answers (1)
Will the AI accept Steal Artifact (Scheme)?
Yes: it is accepted automatically.

Will they accept?

The other character has no choice: the game accepts it automatically.

What happens

Effects

  • Stress and fulfillment impact: by trait: Vengeful -30, Honest +20, Just -15

• 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
	}
	intrigue >= low_skill_rating
	has_outstanding_artifact_claims = yes
	NOT = {
		any_scheme = {
			OR = {
				scheme_type = murder
				scheme_type = abduct
				scheme_type = claim_throne
				scheme_type = fabricate_hook
				scheme_type = steal_back_artifact
			}
		}
	}
	ai_greed >= low_negative_ai_value
	is_imprisoned = no
}
is_shown = exists = scope:puppet_or_actor
NOR = {
	scope:recipient = scope:puppet_or_actor
	scope:recipient = {
		is_imprisoned_by = scope:puppet_or_actor
	}
}
OR = {
	scope:recipient = {
		any_character_artifact = {
			can_be_claimed_by = scope:puppet_or_actor
		}
	}
	AND = {
		scope:recipient = {
			has_any_artifact = yes
		}
		scope:puppet_or_actor ?= {
			OR = {
				employs_court_position = master_thief_camp_officer
				any_character_active_contract = {
					task_contract_type = laamp_steal_artifact_contract
					var:task_contract_target ?= scope:recipient
				}
			}
		}
	}
}

As written in game/common/character_interactions/00_artifact_interactions.txt.

Can be sent when (is_valid…) (94 lines of game script)
trigger_if = {
	limit = {
		scope:puppet_or_actor = {
			any_character_artifact = {
				scope:puppet_or_actor = {
					has_artifact_claim = prev
				}
			}
		}
	}
	custom_description = {
		text = steal_back_artifact_can_start_scheme
		subject = scope:puppet_or_actor
		object = scope:recipient
		scope:puppet_or_actor = {
			can_start_scheme = {
				type = steal_back_artifact
				target_character = scope:recipient
			}
		}
		scope:recipient = {
			has_any_artifact = yes
		}
	}
}
trigger_if = {
	limit = {
		scope:puppet_or_actor = {
			NOR = {
				employs_court_position = master_thief_camp_officer
				any_character_task_contract = {
					task_contract_type = laamp_steal_artifact_contract
					var:task_contract_target ?= scope:recipient
				}
			}
		}
	}
	custom_description = {
		text = steal_back_artifact_must_have_claim_blocker
		subject = scope:puppet_or_actor
		object = scope:recipient
		scope:recipient = {
			any_character_artifact = {
				scope:puppet_or_actor = {
					has_artifact_claim = prev
				}
			}
		}
	}
}
custom_description = {
	object = scope:recipient
	text = you_have_been_caught_trying_to_steal_artifact_from_target
	scope:recipient = {
		NOT = {
			has_opinion_modifier = {
				target = scope:puppet_or_actor
				modifier = attempted_to_steal_artifact_from_me
			}
		}
	}
}
custom_description = {
	object = scope:recipient
	text = you_have_recently_stolen_artifact_from_target
	scope:recipient = {
		NOT = {
			has_opinion_modifier = {
				target = scope:puppet_or_actor
				modifier = stole_artifact_from_me
			}
		}
	}
}
trigger_if = {
	limit = {
		scope:puppet_or_actor = {
			is_landless_adventurer = yes
		}
		scope:recipient = {
			NOT = {
				any_character_artifact = {
					scope:puppet_or_actor = {
						has_artifact_claim = prev
					}
				}
			}
		}
	}
	ep3_laamp_diplo_range_trigger = {
		TARGET = scope:recipient
		LAAMP = scope:puppet_or_actor
	}
}

As written in game/common/character_interactions/00_artifact_interactions.txt.

Effects (on_send, on_accept, on_decline) (179 lines of game script)
on_accept = scope:puppet_or_actor = {
	stress_and_fulfillment_impact = {
		vengeful = medium_stress_impact_loss
		honest = minor_stress_impact_gain
		just = minor_stress_impact_loss
	}
}
hidden_effect = {
	scope:puppet_or_actor = {
		send_interface_toast = {
			type = event_toast_effect_neutral
			title = start_stealing_back_artifact_notification
			left_icon = scope:puppet_or_actor
			right_icon = scope:recipient
			if = {
				limit = {
					any_character_active_contract = {
						task_contract_type = laamp_steal_artifact_contract
						var:task_contract_target ?= scope:recipient
					}
				}
				random_character_active_contract = {
					task_contract_type = laamp_steal_artifact_contract
					limit = {
						var:task_contract_target ?= scope:recipient
					}
					save_scope_as = scheme_contract
				}
				if = {
					limit = {
						scope:agent_focus_success ?= yes
					}
					begin_contract_scheme_with_agents_effect = {
						SCHEME_TYPE = steal_back_artifact
						TARGET_TYPE = target_character
						TARGET_SCOPE = scope:recipient
						TASK_CONTRACT = scope:scheme_contract
						AGENT_1 = agent_thief
						AGENT_2 = agent_thief
						AGENT_3 = agent_thug
						AGENT_4 = agent_infiltrator
						AGENT_5 = agent_lookout
					}
				}
				else_if = {
					limit = {
						scope:agent_focus_speed ?= yes
					}
					begin_contract_scheme_with_agents_effect = {
						SCHEME_TYPE = steal_back_artifact
						TARGET_TYPE = target_character
						TARGET_SCOPE = scope:recipient
						TASK_CONTRACT = scope:scheme_contract
						AGENT_1 = agent_infiltrator
						AGENT_2 = agent_infiltrator
						AGENT_3 = agent_footpad
						AGENT_4 = agent_thief
						AGENT_5 = agent_lookout
					}
				}
				else_if = {
					limit = {
						scope:agent_focus_secrecy ?= yes
					}
					begin_contract_scheme_with_agents_effect = {
						SCHEME_TYPE = steal_back_artifact
						TARGET_TYPE = target_character
						TARGET_SCOPE = scope:recipient
						TASK_CONTRACT = scope:scheme_contract
						AGENT_1 = agent_lookout
						AGENT_2 = agent_alibi
						AGENT_3 = agent_decoy
						AGENT_4 = agent_thief
						AGENT_5 = agent_infiltrator
					}
				}
				else = {
					begin_contract_scheme_with_agents_effect = {
						SCHEME_TYPE = steal_back_artifact
						TARGET_TYPE = target_character
						TARGET_SCOPE = scope:recipient
						TASK_CONTRACT = scope:scheme_contract
						AGENT_1 = agent_thief
						AGENT_2 = agent_thief
						AGENT_3 = agent_infiltrator
						AGENT_4 = agent_infiltrator
						AGENT_5 = agent_lookout
					}
				}
			}
			else = {
				if = {
					limit = {
						scope:agent_focus_success ?= yes
					}
					begin_scheme_with_agents_effect = {
						SCHEME_TYPE = steal_back_artifact
						TARGET_TYPE = target_character
						TARGET_SCOPE = scope:recipient
						AGENT_1 = agent_thief
						AGENT_2 = agent_thief
						AGENT_3 = agent_thug
						AGENT_4 = agent_infiltrator
						AGENT_5 = agent_lookout
					}
				}
				else_if = {
					limit = {
						scope:agent_focus_speed ?= yes
					}
					begin_scheme_with_agents_effect = {
						SCHEME_TYPE = steal_back_artifact
						TARGET_TYPE = target_character
						TARGET_SCOPE = scope:recipient
						AGENT_1 = agent_infiltrator
						AGENT_2 = agent_infiltrator
						AGENT_3 = agent_footpad
						AGENT_4 = agent_thief
						AGENT_5 = agent_lookout
					}
				}
				else_if = {
					limit = {
						scope:agent_focus_secrecy ?= yes
					}
					begin_scheme_with_agents_effect = {
						SCHEME_TYPE = steal_back_artifact
						TARGET_TYPE = target_character
						TARGET_SCOPE = scope:recipient
						AGENT_1 = agent_lookout
						AGENT_2 = agent_alibi
						AGENT_3 = agent_decoy
						AGENT_4 = agent_thief
						AGENT_5 = agent_infiltrator
					}
				}
				else = {
					begin_scheme_with_agents_effect = {
						SCHEME_TYPE = steal_back_artifact
						TARGET_TYPE = target_character
						TARGET_SCOPE = scope:recipient
						AGENT_1 = agent_thief
						AGENT_2 = agent_thief
						AGENT_3 = agent_infiltrator
						AGENT_4 = agent_infiltrator
						AGENT_5 = agent_lookout
					}
				}
			}
			scope:new_scheme ?= {
				set_variable = {
					name = target_artifact
					value = scope:target
				}
			}
			show_as_tooltip = {
				stress_and_fulfillment_impact = {
					vengeful = medium_stress_impact_loss
					honest = minor_stress_impact_gain
					just = minor_stress_impact_loss
				}
			}
		}
	}
	if = {
		limit = {
			scope:is_puppet_action ?= yes
			scope:actor != scope:recipient
		}
		scope:actor = {
			send_interface_toast = {
				type = event_toast_effect_neutral
				title = start_stealing_back_artifact_notification_puppeteer
				left_icon = scope:puppet_or_actor
				right_icon = scope:recipient
			}
		}
	}
}

As written in game/common/character_interactions/00_artifact_interactions.txt.

Category
Hostile actions
Starts the scheme
Steal Artifact
In the menu
main list
ID
start_stealing_back_artifact

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.

Spotted a mistake on this page?