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

Scripted effect · Roads to Power files

ep3_adventurer_ai_contract_find_next_contract_effect

ep3_adventurer_ai_contract_find_next_contract_effect = yes

game/common/scripted_effects/07_dlc_ep3_story_cycle_adventurer_ai_scripted_effects.txt, line 174 (962 lines). No parameters.

ep3_adventurer_ai_contract_find_next_contract_effect is a scripted effect in Crusader Kings III, in the Roads to Power files, written at line 174 of its file. It takes no parameters: ep3_adventurer_ai_contract_find_next_contract_effect = yes. The game's script calls it in 1 place, among them story_adventurer_ai (story cycle). Patch 1.20.1.2, from game/common/scripted_effects/07_dlc_ep3_story_cycle_adventurer_ai_scripted_effects.txt.

What it does

  • story_owner = { … }
  • If

    a check the game hides

    Then

    • story_owner = { accept_task_contract = scope:contract }

• 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 (120 lines of game script)
ep3_adventurer_ai_contract_find_next_contract_effect = {
	save_scope_as = story
	story_owner = {
		location.barony.de_jure_liege.holder ?= { save_scope_as = new_employer }
		# Create new contract
		if = {
			limit = { exists = scope:new_employer }
			if = { # Mercenaries
				limit = {
					has_realm_law = camp_purpose_mercenaries
					NOR = {
						has_relation_rival = scope:new_employer
						scope:new_employer = {
							any_war_enemy = {
								OR = {
									is_consort_of = scope:story.story_owner
									is_close_family_of = scope:story.story_owner
									is_allied_to = scope:story.story_owner
									has_relation_friend = scope:story.story_owner
								}
							}
						}
					}
					can_create_task_contract = {
						type_name = laamp_join_war_contract
						employer = scope:new_employer
					}
				}
				create_task_contract = {
					task_contract_type = laamp_join_war_contract
					task_contract_tier = scope:new_employer.task_contract_tier_value
					location = scope:new_employer.capital_province
					task_contract_employer = scope:new_employer
				}
			}
			else = {
				random_list = {
					### DIPLOMACY
					10 = {
						trigger = {
							can_create_task_contract = {
								type_name = laamp_base_0001
								employer = scope:new_employer
							} 
						}
						modifier = {
							diplomacy != 0
							factor = diplomacy
						}
						create_task_contract = {
							task_contract_type = laamp_base_0001
							task_contract_tier = scope:new_employer.task_contract_tier_value
							location = scope:new_employer.capital_province
							task_contract_employer = scope:new_employer
						}
					}
					10 = {
						trigger = {
							can_create_task_contract = {
								type_name = laamp_base_0011
								employer = scope:new_employer
							} 
						}
						modifier = {
							diplomacy != 0
							factor = diplomacy
						}
						create_task_contract = {
							task_contract_type = laamp_base_0011
							task_contract_tier = scope:new_employer.task_contract_tier_value
							location = scope:new_employer.capital_province
							task_contract_employer = scope:new_employer
						}
					}
					10 = {
						trigger = {
							can_create_task_contract = {
								type_name = laamp_base_0021
								employer = scope:new_employer
							} 
						}
						modifier = {
							diplomacy != 0
							factor = diplomacy
						}
						create_task_contract = {
							task_contract_type = laamp_base_0021
							task_contract_tier = scope:new_employer.task_contract_tier_value
							location = scope:new_employer.capital_province
							task_contract_employer = scope:new_employer
						}
					}
					10 = {
						trigger = {
							can_create_task_contract = {
								type_name = laamp_base_0031
								employer = scope:new_employer
							} 
						}
						modifier = {
							diplomacy != 0
							factor = diplomacy
						}
						create_task_contract = {
							task_contract_type = laamp_base_0031
							task_contract_tier = scope:new_employer.task_contract_tier_value
							location = scope:new_employer.capital_province
							task_contract_employer = scope:new_employer
						}
					}
					10 = {
						trigger = {
							can_create_task_contract = {
								type_name = laamp_base_0041
								employer = scope:new_employer
							} 
						}
						modifier = {
							diplomacy != 0
							factor = diplomacy

As written in game/common/scripted_effects/07_dlc_ep3_story_cycle_adventurer_ai_scripted_effects.txt.

The first 120 of its 962 lines; the rest is in game/common/scripted_effects/07_dlc_ep3_story_cycle_adventurer_ai_scripted_effects.txt from line 174.

Where it is used

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

Story cycles (1)

  • story_adventurer_ai

Source: game/common/scripted_effects/07_dlc_ep3_story_cycle_adventurer_ai_scripted_effects.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?