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

Scripted trigger · Roads to Power files

ep3_adventurer_ai_valid_war_target_trigger

ep3_adventurer_ai_valid_war_target_trigger = { ADVENTURER = … }

game/common/scripted_triggers/07_ep3_triggers.txt, line 1363 (102 lines). Parameters: $ADVENTURER$.

ep3_adventurer_ai_valid_war_target_trigger is a scripted trigger in Crusader Kings III, in the Roads to Power files, written at line 1363 of its file. A call passes 1 parameter: ADVENTURER. The game's script calls it in 3 places, among them story_adventurer_ai (story cycle), on_adventurer_ai_war_target_arrival (on action) and ep3_adventurer_ai_war_find_target_effect (scripted effect). Patch 1.20.1.2, from game/common/scripted_triggers/07_ep3_triggers.txt.

What it checks

  • Is landed
  • Opinion from $ADVENTURER$ at most 0
  • in_diplomatic_range = $ADVENTURER$
  • NOT = { is_at_war_with = $ADVENTURER$ }
  • NOT = { is_allied_to = $ADVENTURER$ }
  • Current strength with allies less than $ADVENTURER$.current strength with allies seventy five percent value
  • If government is a Tribal-type Government:
    • One of these

      • $ADVENTURER$.culture.culture_head ?= { government_has_flag = government_is_tribal }
      • or

        Their capital county’s culture › Any parent culture or above:
        • this = $ADVENTURER$.culture
      • or

        $ADVENTURER$.culture = { … }
  • $ADVENTURER$ = { … }

• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists

“They” is whatever it runs on (the scope it is called in). The scripted triggers and effects it calls link to their own pages; $PARAMETERS$ stay as written: each call fills them in.

The script as written (102 lines of game script)
ep3_adventurer_ai_valid_war_target_trigger = {
	is_landed = yes
	reverse_opinion = {
		target = $ADVENTURER$
		value <= 0
	}
	in_diplomatic_range = $ADVENTURER$
	NOR = {
		is_at_war_with = $ADVENTURER$
		is_allied_to = $ADVENTURER$
	}
	current_strength_with_allies_value < $ADVENTURER$.current_strength_with_allies_seventy_five_percent_value
	save_temporary_scope_as = war_target_temp
	trigger_if = {
		limit = { government_has_flag = government_is_tribal }
		OR = {
			$ADVENTURER$.culture.culture_head ?= { government_has_flag = government_is_tribal }
			capital_county.culture = {
				any_parent_culture_or_above = { this = $ADVENTURER$.culture }
			}
			$ADVENTURER$.culture = {
				any_parent_culture_or_above = { this = scope:war_target_temp.capital_county.culture }
			}
		}
	}
	$ADVENTURER$ = {
		trigger_if = {
			limit = { has_realm_law = camp_purpose_legitimists }
			any_claim = {
				tier >= tier_kingdom
				holder = scope:war_target_temp
				save_temporary_scope_as = claim_temp
			}
			can_declare_war = {
				defender = scope:war_target_temp
				casus_belli = claim_cb
				claimant = $ADVENTURER$
				target_titles = { scope:claim_temp }
			}
		}
		trigger_else = {
			OR = {
				AND = {
					scope:war_target_temp = {
						any_held_title = {
							count >= 1
							title_tier = empire
							save_temporary_scope_as = war_target_title_temp
						}
					}
					can_declare_war = {
						defender = scope:war_target_temp
						casus_belli = ep3_laamp_adventurer_empire_invasion
						target_titles = { scope:war_target_title_temp }
					}
				}
				AND = {
					scope:war_target_temp = {
						any_held_title = {
							count >= 1
							title_tier = kingdom
							save_temporary_scope_as = war_target_title_temp
						}
					}
					can_declare_war = {
						defender = scope:war_target_temp
						casus_belli = ep3_laamp_adventurer_kingdom_invasion
						target_titles = { scope:war_target_title_temp }
					}
				}
				AND = {
					scope:war_target_temp = {
						any_held_title = {
							count >= 1
							title_tier = duchy
							save_temporary_scope_as = war_target_title_temp
						}
					}
					can_declare_war = {
						defender = scope:war_target_temp
						casus_belli = ep3_laamp_adventurer_duchy_invasion
						target_titles = { scope:war_target_title_temp }
					}
				}
				AND = {
					scope:war_target_temp = {
						any_held_title = {
							count >= 1
							title_tier = county
							save_temporary_scope_as = war_target_title_temp
						}
					}
					can_declare_war = {
						defender = scope:war_target_temp
						casus_belli = ep3_laamp_adventurer_county_invasion
						target_titles = { scope:war_target_title_temp }
					}
				}
			}
		}
	}
}

As written in game/common/scripted_triggers/07_ep3_triggers.txt.

Where it is used

Every place in common/, events/ and history/ that calls ep3_adventurer_ai_valid_war_target_trigger.

Story cycles (1)

  • story_adventurer_ai

On actions (the game's own hooks) (1)

  • on_adventurer_ai_war_target_arrival

Source: game/common/scripted_triggers/07_ep3_triggers.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.

Spotted a mistake on this page?