Interaction · Landless adventurer actions
Travel to Complete a Contract
What you need
You
To send it
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
- Any character active contract:
One of these
One of these
has_task_contract_type = laamp_transport_vipor
has_task_contract_type = laamp_transport_artifactor
has_task_contract_type = laamp_transport_goldor
has_task_contract_type = laamp_transport_wardor
has_task_contract_type = laamp_transport_exploreror
has_task_contract_type = laamp_transport_animalor
has_task_contract_type = laamp_construction_contract
or
has_task_contract_type = laamp_help_increase_control_contract
One of these
task_contract_employer ?= scope:recipientor
task_contract_destination.province_owner ?= scope:recipientor
task_contract_target ?= scope:recipientor
Task contract object is scope:recipient
Travel to Complete a Contract is a landless adventurer 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 2 more. Accepted automatically. It needs Roads to Power. Patch 1.20.1.2, from game/common/character_interactions/06_ep3_laamp_interactions.txt.
Quick answers (2)
- What are the requirements for Travel to Complete a Contract 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 and You are currently busy in a Mandala succession. (patch 1.20.1.2)
- Will the AI accept Travel to Complete a Contract?
- Yes: it is accepted automatically.
Will they accept?
The other character has no choice: the game accepts it automatically.
What happens
Effects
- The task contract › Depending on has task contract type:
- When has task contract type is laamp transport vip › You: You will Travel to … escorting … to the Court of …
- When has task contract type is laamp transport ward › You: You will Travel to … ensuring … begins … education.
- When has task contract type is laamp transport explorer › You: You will Travel to … alongside the explorer, …
- When has task contract type is laamp transport artifact › You: You will Travel to … and gift … … to …
- When has task contract type is laamp transport gold › You: You will Travel to …, delivering … gift to ….
- When has task contract type is laamp transport animal › You: You will Travel to … escorting …
- When has task contract type is laamp construction contract › You: You will Travel to … and deliver building materials to …
- When has task contract type is laamp help increase control contract › You: You will Travel to a … County with County Corruption or low County Control
- Depending on yes:
- When yes is scope:with domicile:
- Sets out on a journey (a travel plan)
- Moving your Camp to … will cost Provisions
- When yes is scope:without domicile: Sets out on a journey (a travel plan)
- When yes is scope:with domicile:
• 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) (15 lines of game script)
is_shown = has_ep3_dlc_trigger = yes
scope:actor = {
any_character_active_contract = {
OR = {
ep3_transport_contract_trigger = yes
has_task_contract_type = laamp_help_increase_control_contract
}
OR = {
task_contract_employer ?= scope:recipient
task_contract_destination.province_owner ?= scope:recipient
task_contract_target ?= scope:recipient
var:task_contract_object ?= scope:recipient
}
}
}As written in game/common/character_interactions/06_ep3_laamp_interactions.txt.
Can be sent when (is_valid…) (3 lines of game script)
scope:actor = {
is_available = yes
}As written in game/common/character_interactions/06_ep3_laamp_interactions.txt.
Effects (on_send, on_accept, on_decline) (146 lines of game script)
on_accept = scope:actor = {
random_character_active_contract = {
limit = {
OR = {
ep3_transport_contract_trigger = yes
has_task_contract_type = laamp_help_increase_control_contract
}
OR = {
task_contract_employer ?= scope:recipient
task_contract_destination.province_owner ?= scope:recipient
task_contract_target ?= scope:recipient
var:task_contract_object ?= scope:recipient
}
}
save_scope_as = task_contract
}
if = {
limit = {
exists = scope:task_contract.var:task_contract_employer
}
scope:task_contract.var:task_contract_employer ?= {
save_scope_as = task_contract_employer
}
}
if = {
limit = {
scope:task_contract = {
has_task_contract_type = laamp_help_increase_control_contract
}
}
scope:task_contract.var:task_contract_councillor_liege ?= {
save_scope_as = task_contract_councillor_liege
}
}
if = {
limit = {
exists = scope:task_contract.var:task_contract_destination
}
scope:task_contract.var:task_contract_destination = {
save_scope_as = task_contract_destination
}
}
if = {
limit = {
exists = scope:task_contract.var:task_contract_target
}
scope:task_contract.var:task_contract_target ?= {
save_scope_as = task_contract_target
}
}
if = {
limit = {
exists = scope:task_contract.var:task_contract_object
}
scope:task_contract.var:task_contract_object = {
save_scope_as = task_contract_object
}
}
if = {
limit = {
exists = scope:task_contract.var:escorted_artifact
}
scope:task_contract.var:escorted_artifact = {
save_scope_as = escorted_artifact
}
}
if = {
limit = {
exists = scope:task_contract.var:escorted_gold
}
scope:task_contract.var:escorted_gold = {
save_scope_as = escorted_gold
}
}
if = {
limit = {
exists = scope:task_contract.var:escorted_story
}
scope:task_contract.var:escorted_story = {
save_scope_as = escorted_story
}
}
scope:task_contract = {
switch = {
trigger = has_task_contract_type
laamp_transport_vip = {
scope:actor = {
custom_tooltip = ep3_contract_event.0001.tt_vip
}
}
laamp_transport_ward = {
scope:actor = {
custom_tooltip = ep3_contract_event.0001.tt_ward
}
}
laamp_transport_explorer = {
scope:actor = {
custom_tooltip = ep3_contract_event.0001.tt_explorer
}
}
laamp_transport_artifact = {
scope:actor = {
custom_tooltip = ep3_contract_event.0001.tt_artifact
}
}
laamp_transport_gold = {
scope:actor = {
custom_tooltip = ep3_contract_event.0001.tt_gold
}
}
laamp_transport_animal = {
scope:actor = {
custom_tooltip = ep3_contract_event.0001.tt_animal
}
}
laamp_construction_contract = {
scope:actor = {
custom_tooltip = ep3_contract_event.0001.tt_construction
}
}
laamp_help_increase_control_contract = {
scope:actor = {
custom_tooltip = ep3_contract_event.0001.tt_increase_control
}
}
}
}
switch = {
trigger = yes
scope:with_domicile = {
start_travel_plan = {
destination = scope:task_contract_destination
travel_with_domicile = yes
return_trip = no
on_arrival_destinations = all
}
custom_tooltip = ep3_contract_event.0001.with_domicile.tt
}
scope:without_domicile = {
start_travel_plan = {
destination = scope:task_contract_destination
on_arrival_destinations = all
}
}
}
}As written in game/common/character_interactions/06_ep3_laamp_interactions.txt.
- Category
- Landless adventurer actions
- DLC
- Roads to Power
- In the menu
- main list
- ID
complete_task_contract_interaction
Source: game/common/character_interactions/06_ep3_laamp_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.