Interaction · Hostile actions
Abduct (Scheme)
The recipient will soon be my prisoner!
What you need
You
To send it
can_start_scheme = { type = abduct target_character = scope:recipient }If
- You: Has “no scheming allowed var” (a variable the game's script sets)
Then
- You and … promised to not start Hostile Schemes against each other until …
To see it in the menu
- If played by the AI:
One of these
None of these
- The target is you
- The character you target: Is imprisoned by you
Not all of these
- Game rule set to “No Players”
- You: Is played by a person
- The character you target: Is played by a person
Not all of these
- Game rule set to “No Player Families”
- You: Is played by a person
- The character you target:
One of these
- Is played by a person
or
Any close family member:All of these
- Is played by a person
this != scope:actor
The character you target
- Does not have a Strong Hook on you
Abduct (Scheme) is a hostile character interaction in Crusader Kings III. The character you target needs: Does not have a Strong Hook on you. Accepted automatically. Patch 1.20.1.2, from game/common/character_interactions/00_scheme_interactions.txt.
Quick answers (2)
- What are the requirements for Abduct (Scheme) in CK3?
- The character you target: Does not have a Strong Hook on you. (patch 1.20.1.2)
- Will the AI accept Abduct (Scheme)?
- Yes: it is accepted automatically.
Will they accept?
The other character has no choice: the game accepts it automatically.
What happens
Effects
If
None of these
One of these
has_fulfillment_parameter = sp_hostile_schemes_minus_murder_no_sp_or_stress_lossor
has_fulfillment_parameter = sp_hostile_schemes_minus_murder_no_stress_loss
Then
- Stress and fulfillment impact: by trait: Compassionate +40, Honest +20, Just +20
If
- The option “agent focus success” is chosen
Then
- Start the Abduct scheme against the target
- The new scheme:
add_agent_slot = agent_thugadd_agent_slot = agent_muscleadd_agent_slot = agent_footpadadd_agent_slot = agent_lookoutIf
- The scheme launcher: Is played by the AI
Then
auto_assign_scheme_agents = yes
If
a check the game hides
Then
expose_scheme_to = scope:scheme_launcher.puppeteer
Else if
- The option “agent focus speed” is chosen
Then
- Start the Abduct scheme against the target
- The new scheme:
add_agent_slot = agent_footpadadd_agent_slot = agent_infiltratoradd_agent_slot = agent_thugadd_agent_slot = agent_lookoutIf
- The scheme launcher: Is played by the AI
Then
auto_assign_scheme_agents = yes
If
a check the game hides
Then
expose_scheme_to = scope:scheme_launcher.puppeteer
Else if
- The option “agent focus secrecy” is chosen
Then
- Start the Abduct scheme against the target
- The new scheme:
add_agent_slot = agent_lookoutadd_agent_slot = agent_decoyadd_agent_slot = agent_thugadd_agent_slot = agent_footpadIf
- The scheme launcher: Is played by the AI
Then
auto_assign_scheme_agents = yes
If
a check the game hides
Then
expose_scheme_to = scope:scheme_launcher.puppeteer
Otherwise
- Start the Abduct scheme against the target
- The new scheme:
add_agent_slot = agent_thugadd_agent_slot = agent_muscleadd_agent_slot = agent_footpadadd_agent_slot = agent_infiltratoradd_agent_slot = agent_lookoutIf
- The scheme launcher: Is played by the AI
Then
auto_assign_scheme_agents = yes
If
a check the game hides
Then
expose_scheme_to = scope:scheme_launcher.puppeteer
- The target:
If
Then
If
- Is close family of the owner
- Does not have the owner as nemesis
Then
If
- Any parent:
One of these
- Is played by the AI
or
All of these
- Is played by a person
- The owner: Is played by a person
- Is a ruler
- Highest held Title is at least scope:target.highest held title tier Rank
- Does not have the target as rival
- Is not at war with the target
- Does not have the Trait: Forgiving
- Does not have the Trait: Craven
- Does not have the owner as nemesis
Then
- Every Parent:
- Only some of them (the filter is in the script below)
- … (more in the script below)
- Any parent:
- … (more in the script below)
• 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) (61 lines of game script)
is_available = trigger_if = {
limit = {
is_ai = yes
}
is_diarch = yes
liege ?= {
has_diarchy_active_parameter = diarchy_is_co_rulership
}
ai_diarch_would_maim_execute_superior_if_got_chance_trigger = {
LIEGE = liege
}
}
is_shown = scope:puppet_or_actor ?= {
OR = {
has_perk = kidnapper_perk
domicile ?= {
has_domicile_parameter = camp_unlocks_abduct_scheme
}
AND = {
any_character_struggle = {
involvement = involved
has_struggle_phase_parameter = unlocks_abduct_for_all
is_secondary_character_involvement_involved_trigger = {
CHAR = scope:recipient
}
}
}
}
}
NOR = {
scope:recipient = scope:puppet_or_actor
scope:recipient = {
is_imprisoned_by = scope:puppet_or_actor
}
}
NAND = {
has_game_rule = no_players_multiplayer_murder_schemes
scope:actor = {
is_ai = no
}
scope:recipient = {
is_ai = no
}
}
NAND = {
has_game_rule = no_player_families_multiplayer_murder_schemes
scope:actor = {
is_ai = no
}
scope:recipient = {
OR = {
is_ai = no
any_close_family_member = {
AND = {
is_ai = no
this != scope:actor
}
}
}
}
}As written in game/common/character_interactions/00_scheme_interactions.txt.
Can be sent when (is_valid…) (33 lines of game script)
scope:puppet_or_actor = {
can_start_scheme = {
type = abduct
target_character = scope:recipient
}
}
scope:recipient = {
NOT = {
has_strong_hook = scope:puppet_or_actor
}
}
trigger_if = {
limit = {
scope:puppet_or_actor = {
has_government = landless_adventurer_government
}
}
ep3_laamp_diplo_range_trigger = {
TARGET = scope:recipient
LAAMP = scope:puppet_or_actor
}
}
trigger_if = {
limit = {
scope:puppet_or_actor = {
has_variable = no_scheming_allowed_var
}
}
custom_tooltip = {
text = no_scheming_allowed_var_tt
scope:puppet_or_actor.var:no_scheming_allowed_var != scope:recipient
}
}As written in game/common/character_interactions/00_scheme_interactions.txt.
Effects (on_send, on_accept, on_decline) (109 lines of game script)
on_send = scope:puppet_or_actor = {
if = {
limit = {
OR = {
has_character_modifier = pam_granted_indulgences_modifier
has_character_modifier = pam_granted_indulgences_modifier_small
}
}
change_spiritual_fulfillment = medium_spiritual_fulfillment_loss
}
}
on_accept = scope:puppet_or_actor = {
if = {
limit = {
NOT = {
sp_hostile_schemes_except_murder_no_stress_or_fulfillment_trigger = yes
}
}
stress_and_fulfillment_impact = {
compassionate = medium_stress_impact_gain
honest = minor_stress_impact_gain
just = minor_stress_impact_gain
}
}
send_interface_toast = {
type = event_toast_effect_neutral
title = start_abduct_notification
left_icon = scope:puppet_or_actor
right_icon = scope:recipient
if = {
limit = {
scope:agent_focus_success ?= yes
}
begin_scheme_with_agents_effect = {
SCHEME_TYPE = abduct
TARGET_TYPE = target_character
TARGET_SCOPE = scope:recipient
AGENT_1 = agent_thug
AGENT_2 = agent_thug
AGENT_3 = agent_muscle
AGENT_4 = agent_footpad
AGENT_5 = agent_lookout
}
}
else_if = {
limit = {
scope:agent_focus_speed ?= yes
}
begin_scheme_with_agents_effect = {
SCHEME_TYPE = abduct
TARGET_TYPE = target_character
TARGET_SCOPE = scope:recipient
AGENT_1 = agent_footpad
AGENT_2 = agent_footpad
AGENT_3 = agent_infiltrator
AGENT_4 = agent_thug
AGENT_5 = agent_lookout
}
}
else_if = {
limit = {
scope:agent_focus_secrecy ?= yes
}
begin_scheme_with_agents_effect = {
SCHEME_TYPE = abduct
TARGET_TYPE = target_character
TARGET_SCOPE = scope:recipient
AGENT_1 = agent_lookout
AGENT_2 = agent_lookout
AGENT_3 = agent_decoy
AGENT_4 = agent_thug
AGENT_5 = agent_footpad
}
}
else = {
begin_scheme_with_agents_effect = {
SCHEME_TYPE = abduct
TARGET_TYPE = target_character
TARGET_SCOPE = scope:recipient
AGENT_1 = agent_thug
AGENT_2 = agent_muscle
AGENT_3 = agent_footpad
AGENT_4 = agent_infiltrator
AGENT_5 = agent_lookout
}
}
}
}
if = {
limit = {
scope:is_puppet_action ?= yes
scope:actor != scope:recipient
}
scope:actor = {
send_interface_toast = {
type = event_toast_effect_neutral
title = start_abduct_notification_puppeteer
left_icon = scope:puppet_or_actor
right_icon = scope:recipient
}
}
}
scope:puppet_or_actor = {
save_scope_as = owner
}
scope:recipient = {
save_scope_as = target
}
abduction_rivalry_progress_tooltip_forecast_effect = yesAs written in game/common/character_interactions/00_scheme_interactions.txt.
- Category
- Hostile actions
- Starts the scheme
- Abduct
- In the menu
- under More…
- ID
start_abduct
Source: game/common/character_interactions/00_scheme_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.