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

Request Incursion

variesGoldThe AI weighs it

Seek the aid of a … warlord to invade and destabilize this ruler

What you need

You

The character you target

  • Is a ruler
  • One of these

    • Cannot play landless rulers without having an Estate
    • or

      If

      • One of these

        • Is landed
        • or

          Government is a Theocratic-type Government

      Then

    • or

      All of these

      • Their liege:
        • All of these

          • Holds China
          • Government is Celestial
          • Their government has the government uses ministry budget flag
      • One of these

    • or

      Has “laamp transition” (a variable the game's script sets)
  • 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
    • Is an Independent Ruler
  • 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.

for a guide, post or blog
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.

ReasonAmount
Base0
They is your Rival
when
  • The other character:
    • Has you as rival
    • Does not have you as nemesis
-10
They is your Nemesis
when
  • The other character: Has you as nemesis
-100
They belongs to your Dynasty
when
  • The other character: Is of the same dynasty as you
+10
The other character’s opinion of you × 0.25varies
Has your support
when
  • The option “war support” is chosen
varies
They is much weaker than the recipient
when
  • scope:secondary_recipient.max_military_strength <= scope:recipient.purchase_truce_interaction_recipient_far_weaker_value
-100
They is somewhat weaker than the recipient
when
  • 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
-75
They is roughly equal in strength to the recipient
when
  • 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
+10
They is somewhat stronger than the recipient
when
  • 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
+50
They is much stronger than the recipient
when
  • scope:secondary_recipient.max_military_strength > scope:recipient.purchase_truce_interaction_recipient_far_stronger_value
+75
Is in Debt
when
  • Debt level at least 0
varies
… is pacifist
when
  • The other character’s faith: Has a Doctrine or Tenet with pacifist
-25
… is pacifist
when
  • The other character’s culture: Their Culture has the Cost for converting to a pacifist faith: -25% Tradition
-25
The other character is far away
when
  • 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
-25
The other character is very far away
when
  • scope:secondary_recipient.capital_province.squared_distance(scope:recipient.capital_province) >= squared_distance_almost_massive
-75
You have high Movement Power
when
  • root.var:movement_power >= very_high_movement_power_value
+20
Gold is Good
when
  • The option “financial support” is chosen
+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

    • 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 }

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:recipient

As 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).

Spotted a mistake on this page?