Interaction · Hostile actions
Request Incursion
Seek the aid of a … warlord to invade and destabilize this ruler
What you need
You
One of these
All of these
- Has the Trait: Detractor of the Caliphate
- Any character struggle:
is_struggle_type = persian_struggle
or
top_participant_group:dynastic_cycle:participant_group_type = expansion_movement
- If played by the AI:
- Ai greed at most 25
One of these
- Has the Trait: Detractor of the Caliphate
or
All of these
vassal_contract_has_flag = celestial_military_appointmenttop_participant_group:dynastic_cycle:participant_group_type = expansion_movement
None of these
- Your culture: The Culture has the Turkic Cultural Pillar
Not all of these
One of these
All of these
- Ai zeal more than 0
- Ai energy more than 0
One of these
has_focus = learning_theology_focusor
Has the Trait: Zealousor
Has the Trait: Forgivingor
Has the Trait: Improvidentor
Has the Trait: Humbleor
Has the Trait: Patientor
Has the Trait: Diligentor
Has the Trait: Generousor
Has the Modifier: Temple Builderor
Your Government uses the Mandala Capital Temple Complex Great Project and Great Building
- Num virtuous traits at least 1
The character you target
- Is a ruler
One of these
- Is landed
If
- You › top_participant_group:dynastic_cycle:
participant_group_type = expansion_movement
Then
top_liege = scope:actor.top_liege
Otherwise
One of these
- Any character struggle:
is_struggle_type = persian_struggle
or
title:d_sunni.holder ?= this
- Any character struggle:
- Is an Independent Ruler
- You › top_participant_group:dynastic_cycle:
- Is played by the AI
Request Incursion is a hostile character interaction in Crusader Kings III. The AI weighs it. Reasons the AI weighs include They is your Rival (-10), They is your Nemesis (-100), They belongs to your Dynasty (+10) and 11 more. It costs Gold (varies). Patch 1.20.1.2, from game/common/character_interactions/00_fp3_interactions.txt.
Quick answers (2)
- How do I get the AI to accept Request Incursion?
- The AI weighs it. Its reasons: They is your Rival -10, They is your Nemesis -100, They belongs to your Dynasty +10, Has your support, They is much weaker than the recipient -100, They is somewhat weaker than the recipient -75, They is roughly equal in strength to the recipient +10, They is somewhat stronger than the recipient +50, They is much stronger than the recipient +75, Is in Debt, … is pacifist -25, … is pacifist -25, The other character is far away -25, The other character is very far away -75, You have high Movement Power +20 and Gold is Good +85.
- How much does Request Incursion cost?
- Gold (varies) (patch 1.20.1.2).
Will they accept?
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 |
They is your Rivalwhen
| -10 |
They is your Nemesiswhen
| -100 |
They belongs to your Dynastywhen
| +10 |
| The other character’s opinion of you × 0.25 | varies |
Has your supportwhen
| varies |
They is much weaker than the recipientwhen
| -100 |
They is somewhat weaker than the recipientwhen
| -75 |
They is roughly equal in strength to the recipientwhen
| +10 |
They is somewhat stronger than the recipientwhen
| +50 |
They is much stronger than the recipientwhen
| +75 |
Is in Debtwhen
| varies |
| … is pacifist | -25 |
| … is pacifist | -25 |
The other character is far awaywhen
| -25 |
The other character is very far awaywhen
| -75 |
You have high Movement Powerwhen
| +20 |
Gold is Goodwhen
| +85 |
| Their personality (AI values: greed 0.5, boldness 0.25) | varies |
Acceptance (ai_accept) (124 lines of game script)
base = 0
modifier = {
desc = offer_vassalization_interaction_aibehavior_rival_tt_2
trigger = {
scope:secondary_recipient = {
has_relation_rival = scope:actor
NOT = {
has_relation_nemesis = scope:actor
}
}
}
add = -10
}
modifier = {
desc = offer_vassalization_interaction_aibehavior_nemesis_tt_2
trigger = {
scope:secondary_recipient = {
has_relation_nemesis = scope:actor
}
}
add = -100
}
modifier = {
desc = offer_vassalization_interaction_aibehavior_dynasty_tt_2
trigger = {
scope:secondary_recipient = {
dynasty = scope:actor.dynasty
}
}
add = 10
}
opinion_modifier = {
who = scope:secondary_recipient
opinion_target = scope:actor
multiplier = 0.25
}
modifier = {
add = {
value = scope:actor.max_military_strength
divide = 70
round = yes
}
desc = HAS_YOUR_SUPPORT_REASON
scope:war_support = yes
}
modifier = {
add = -100
scope:secondary_recipient.max_military_strength <= scope:recipient.purchase_truce_interaction_recipient_far_weaker_value
desc = fp3_RTI_AI_RECIPIENT_IS_MUCH_WEAKER
}
modifier = {
add = -75
scope:secondary_recipient.max_military_strength > scope:recipient.purchase_truce_interaction_recipient_far_weaker_value
scope:secondary_recipient.max_military_strength <= scope:recipient.purchase_truce_interaction_recipient_somewhat_weaker_value
desc = fp3_RTI_AI_RECIPIENT_IS_SOMEWHAT_WEAKER
}
modifier = {
add = 10
scope:secondary_recipient.max_military_strength > scope:recipient.purchase_truce_interaction_recipient_somewhat_weaker_value
scope:secondary_recipient.max_military_strength <= scope:recipient.purchase_truce_interaction_recipient_somewhat_stronger_value
desc = fp3_RTI_AI_RECIPIENT_IS_ROUGHLY_EQUAL
}
modifier = {
add = 50
scope:secondary_recipient.max_military_strength > scope:recipient.purchase_truce_interaction_recipient_somewhat_stronger_value
scope:secondary_recipient.max_military_strength <= scope:recipient.purchase_truce_interaction_recipient_far_stronger_value
desc = fp3_RTI_AI_RECIPIENT_IS_SOMEWHAT_STRONGER
}
modifier = {
add = 75
scope:secondary_recipient.max_military_strength > scope:recipient.purchase_truce_interaction_recipient_far_stronger_value
desc = fp3_RTI_AI_RECIPIENT_IS_MUCH_STRONGER
}
modifier = {
add = {
value = scope:secondary_recipient.debt_level
add = 1
multiply = 10
}
debt_level >= 0
desc = PT_AI_IS_IN_DEBT
}
modifier = {
add = -25
scope:secondary_recipient.faith = {
has_doctrine_parameter = pacifist
}
desc = PT_AI_IS_PACIFIST_FAITH_2
}
modifier = {
add = -25
scope:secondary_recipient.culture = {
has_cultural_parameter = reduced_cost_for_conversion_to_pacifist_faith
}
desc = PT_AI_IS_PACIFIST_CULTURE_2
}
modifier = {
add = -25
scope:secondary_recipient.capital_province.squared_distance(scope:recipient.capital_province) >= squared_distance_medium
scope:secondary_recipient.capital_province.squared_distance(scope:recipient.capital_province) < squared_distance_almost_massive
desc = PT_AI_IS_FAR_AWAY
}
modifier = {
add = -75
scope:secondary_recipient.capital_province.squared_distance(scope:recipient.capital_province) >= squared_distance_almost_massive
desc = PT_AI_IS_VERY_FAR_AWAY
}
modifier = {
add = 20
exists = scope:actor.var:movement_power
scope:actor.var:movement_power >= very_high_movement_power_value
desc = ACTOR_HIGH_MOVEMENT_POWER
}
modifier = {
add = 85
scope:financial_support = yes
desc = GOLD_REASON
}
ai_value_modifier = {
ai_greed = 0.5
ai_boldness = 0.25
min = 0
max = 25
}As written in game/common/character_interactions/00_fp3_interactions.txt.
What happens
If they accept
If
a check the game hides
Then
- The other character:
add_gold = { … }start_war = { casus_belli = fp3_turkic_invasion_cb target = scope:recipient target_title = scope:invasion_target_title.duchy }- If successful, a Duchy will be seized and given to one of … Courtiers and … will gain Foreign Incursions for 20 years
If
- The option “financial support” is chosen
Then
- Event fp3_misc_decisions.0006
If a check the game hides passes: the same again (1 line)
spawn_army = { … }
Otherwise
spawn_army = { … }
If
- The option “war support” is chosen
Then
- … join the invasion alongside …
- Event fp3_misc_decisions.0005
- You:
If
top_participant_group:dynastic_cycle:participant_group_type = expansion_movement
Then
add_secret = { target = scope:recipient type = secret_request_incursion }- The other character:
add_secret = { target = scope:recipient type = secret_request_incursion }
- The other character:
Options when sending
- Provide military supportJoin the invasion on the other character's side
- Offer proportional fundingProvide a sum of Gold relative to their reluctance, to make more warriors flock to the cause
Events it fires: fp3_misc_decisions.0006, fp3_misc_decisions.0005
• 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) (58 lines of game script)
is_available = OR = {
AND = {
has_trait = fp3_struggle_detractor
any_character_struggle = {
is_struggle_type = persian_struggle
}
}
top_participant_group:dynastic_cycle ?= {
participant_group_type = expansion_movement
}
}
trigger_if = {
limit = {
is_ai = yes
}
ai_greed <= 25
OR = {
has_trait = fp3_struggle_detractor
AND = {
vassal_contract_has_flag = celestial_military_appointment
top_participant_group:dynastic_cycle ?= {
participant_group_type = expansion_movement
}
}
}
NOT = {
culture = {
has_cultural_pillar = heritage_turkic
}
}
ai_has_builder_or_pious_builder_personality = no
is_at_war = no
}
is_shown = scope:recipient = {
is_playable_character = yes
is_landed = yes
trigger_if = {
limit = {
scope:actor = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = expansion_movement
}
}
}
top_liege = scope:actor.top_liege
}
trigger_else = {
OR = {
any_character_struggle = {
is_struggle_type = persian_struggle
}
title:d_sunni.holder ?= this
}
top_liege ?= this
}
is_ai = yes
}
scope:actor != scope:recipientAs written in game/common/character_interactions/00_fp3_interactions.txt.
Effects (on_send, on_accept, on_decline) (232 lines of game script)
on_accept = if = {
limit = {
exists = scope:secondary_recipient
}
scope:recipient = {
if = {
limit = {
scope:actor = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = expansion_movement
}
}
}
capital_county = {
save_scope_as = invasion_target_title
}
}
else = {
if = {
limit = {
any_realm_county = {
this != scope:recipient.capital_county
any_neighboring_county = {
holder.top_liege = scope:secondary_recipient.top_liege
}
any_county_province = {
geographical_region = world_persian_empire
}
NOR = {
holder = scope:actor
holder = {
is_vassal_or_below_of = scope:actor
}
}
}
}
random_realm_county = {
limit = {
this != scope:recipient.capital_county
any_neighboring_county = {
holder.top_liege = scope:secondary_recipient.top_liege
}
any_county_province = {
geographical_region = world_persian_empire
}
NOR = {
holder = scope:actor
holder = {
is_vassal_or_below_of = scope:actor
}
}
}
save_scope_as = invasion_target_title
}
}
else_if = {
limit = {
any_realm_county = {
this != scope:recipient.capital_county
any_neighboring_county = {
any_county_province = {
geographical_region = world_persian_empire
}
holder.top_liege != prev.holder.top_liege
}
NOR = {
holder = scope:actor
holder = {
is_vassal_or_below_of = scope:actor
}
}
}
}
random_realm_county = {
limit = {
this != scope:recipient.capital_county
any_neighboring_county = {
any_county_province = {
geographical_region = world_persian_empire
}
holder.top_liege != prev.holder.top_liege
}
NOR = {
holder = scope:actor
holder = {
is_vassal_or_below_of = scope:actor
}
}
}
save_scope_as = invasion_target_title
}
}
else_if = {
limit = {
any_realm_county = {
this != scope:recipient.capital_county
NOR = {
holder = scope:actor
holder = {
is_vassal_or_below_of = scope:actor
}
}
}
}
random_realm_county = {
limit = {
this != scope:recipient.capital_county
NOR = {
holder = scope:actor
holder = {
is_vassal_or_below_of = scope:actor
}
}
}
save_scope_as = invasion_target_title
}
}
else_if = {
limit = {
any_realm_county = {
NOR = {
holder = scope:actor
holder = {
is_vassal_or_below_of = scope:actor
}
}
}
}
random_realm_county = {
limit = {
NOR = {
holder = scope:actor
holder = {
is_vassal_or_below_of = scope:actor
}
}
}
save_scope_as = invasion_target_title
}
}
else = {
random_realm_county = {
save_scope_as = invasion_target_title
}
}
}
scope:invasion_target_title.duchy = {
save_scope_as = text_title
}
hidden_effect = {
add_opinion = {
modifier = fp3_incited_conflict
target = scope:actor
}
add_opinion = {
modifier = declared_war
target = scope:secondary_recipient
}
}
}
scope:secondary_recipient = {
add_gold = {
value = {
value = scope:secondary_recipient.max_military_strength
divide = 20
round = yes
}
add = {
if = {
limit = {
scope:financial_support = yes
}
add = fp3_request_invasion_troop_value_estimate
}
}
if = {
limit = {
scope:recipient = {
has_title = title:d_sunni
}
struggle:persian_struggle = {
has_struggle_phase_parameter = cheaper_incursions_vs_caliph
}
}
divide = 2
}
}
start_war = {
casus_belli = fp3_turkic_invasion_cb
target = scope:recipient
target_title = scope:invasion_target_title.duchy
}
custom_tooltip = fp3_turkic_invasion_cb_result_tt
if = {
limit = {
scope:financial_support = yes
}
trigger_event = fp3_misc_decisions.0006
if = {
limit = {
has_mpo_dlc_trigger = yes
}
show_as_tooltip = {
spawn_army = {
men_at_arms = {
type = horse_archers
stacks = fp3_request_invasion_troop_value_bonus_troops
}
men_at_arms = {
type = steppe_raiders
stacks = fp3_request_invasion_troop_value_bonus_troops
}
men_at_arms = {
type = light_horsemen
stacks = fp3_request_invasion_troop_value_bonus_troops
}
men_at_arms = {
type = nomadic_riders
stacks = fp3_request_invasion_troop_value_bonus_levy_nomads
}
location = capital_province
uses_supply = yes
inheritable = no
name = turkic_tribal_event_troops
}
}
}
else = {
show_as_tooltip = {
spawn_army = {
men_at_arms
# … (cut here; the rest is in the file)As written in game/common/character_interactions/00_fp3_interactions.txt.
- Category
- Hostile actions
- Cost: Gold
- varies
- Again on the same character
- after 2 years
- In the menu
- main list
- ID
fp3_request_turkic_invasion_interaction
Source: game/common/character_interactions/00_fp3_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. “…” marks words the game fills in at play time (a name, a title).