﻿
namespace = loaa_contract_event

scripted_effect loaa_set_contract_scopes_effect = {
	scope:task_contract.task_contract_taker ?= {
		save_scope_as = task_contract_taker
	}
	scope:task_contract.task_contract_employer ?= {
		save_scope_as = task_contract_employer
	}
	if = {
		limit = {
			exists = scope:task_contract.task_contract_destination
		}
		scope:task_contract.task_contract_destination = {
			save_scope_as = task_contract_destination
		}
	}
	else = {
		scope:task_contract.var:task_contract_destination ?= {
			save_scope_as = task_contract_destination
		}
	}
	if = {
		limit = {
			exists = scope:task_contract.task_contract_target
		}
		scope:task_contract.task_contract_target ?= {
			save_scope_as = task_contract_target
		}
	}
	else = {
		scope:task_contract.var:task_contract_target ?= {
			save_scope_as = task_contract_target
		}
	}
	scope:task_contract.var:task_contract_war ?= {
		save_scope_as = task_contract_war
	}
	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
		}
	}
}

scripted_effect start_contract_travel_without_domicile = {
	start_travel_plan = {
		destination = scope:task_contract_destination
		on_arrival_destinations = all
	}
}

scripted_effect start_contract_travel_with_domicile = {
	start_travel_plan = {
		destination = scope:task_contract_destination
		travel_with_domicile = yes
		return_trip = no
		on_arrival_destinations = all
	}
}

# Contract Target reacts
loaa_contract_event.0001 = {
	type = letter_event
	sender = scope:task_contract_target
	trigger = {
		scope:task_contract_target != root
	}
	opening = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract_outcome ?= flag:failure }
				desc = loaa_contract_event.0001.opening_failure
			}
			desc = loaa_contract_event.0001.opening
		}
	}
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract_outcome ?= flag:failure }
				desc = loaa_contract_event.0001.desc_failure
			}
			triggered_desc = {
				trigger = { exists = scope:reputation_contract }
				desc = loaa_contract_event.0001.desc_reputation
			}
			triggered_desc = {
				trigger = { exists = scope:protection_contract }
				desc = loaa_contract_event.0001.desc_protect
			}
			desc = loaa_contract_event.0001.desc
		}
	}

	immediate = {
		scope:task_contract_target = {
			save_scope_as = contract_target
		}
		if = {

			limit = {
				scope:task_contract_outcome ?= flag:failure
			}
			root = {
				reverse_add_opinion = {
					opinion = -30
					modifier = hate_opinion
					target = scope:contract_target
				}
			}

		}
		else = {
			root = {
				reverse_add_opinion = {
					opinion = 30
					modifier = grateful_opinion
					target = scope:contract_target
				}
			}
		}
	}

	option = {
		name = {
			trigger = { scope:task_contract_outcome ?= flag:failure }
			text = loaa_contract_event.0001.b
		}
		name = {
			trigger = { NOT = { exists = scope:task_contract_outcome } }
			text = loaa_contract_event.0001.a
		}
	}
}

# Raid for Captives contract, starting a war
loaa_contract_event.0003 = {
	type = character_event
	title = ep3_contract_event.0003.t
	desc = ep3_contract_event.0003.desc
	theme = war
	#task_contract_taker, you
	left_portrait = {
		character = root
		animation = personality_compassionate
	}
	#character giving you the contract
	lower_right_portrait = {
		character = scope:task_contract_employer
	}
	#character you have to fight in a war
	lower_left_portrait = {
		character = scope:task_contract_target
	}

	immediate = {
		loaa_set_contract_scopes_effect = yes
	}

	#take the contract and start raiding
	option = {
		name = ep3_contract_event.0003.a
		start_war = {
			cb = ep3_laamp_raid_contract_cb
			target = scope:task_contract_target
		}
		random_character_war = {
			limit = {
				using_cb = ep3_laamp_raid_contract_cb
				primary_attacker = root
				primary_defender = scope:task_contract_target
			}
			save_scope_as = new_war
		}
		scope:task_contract = {
			set_variable = {
				name = task_contract_war
				value = scope:new_war
			}
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
		}
	}
	#invalidate the contract
	option = {
		name = ep3_contract_event.0001.invalidate
		scope:task_contract = {
			invalidate_contract = yes
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 0
		}
	}
}

# Raid for Captives - complete contract letter event, triggered in the cb on war end
loaa_contract_event.0004 = {
	type = letter_event
	sender = scope:task_contract_employer
	opening = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract_outcome ?= flag:failure }
				desc = ep3_contract_event.0004.opening_failure
			}
			desc = ep3_contract_event.0004.opening
		}
	}
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract_outcome ?= flag:failure }
				desc = ep3_contract_event.0004.desc_failure
			}
			desc = ep3_contract_event.0004.desc
		}
	}

	immediate = {
		loaa_set_contract_scopes_effect = yes
		if = {
			limit = {
				scope:task_contract_outcome ?= flag:failure
			}
			add_prestige = task_contract_failure_prestige_loss_full_value
			reverse_add_opinion = {
				opinion = -50
				modifier = hate_opinion
				target = scope:task_contract_employer
			}
		}
		else = {
			scope:task_contract_employer = {
				custom_tooltip = ep3_contract_event.0004.success
				every_prisoner = {
					limit = {
						has_character_flag = captured_in_ep3_laamp_raid_contract_cb
					}
					#doing this here instead of in the war effects to show a neat list of the prisoners in the tooltip
					add_opinion = {
						modifier = abductor_opinion
						target = root
						years = 5
					}
					root = {
						if = {
							limit = { NOT = { exists = local_var:temp_ransom } }
							set_local_variable = {
								name = temp_ransom
								value = prev.ransom_cost
							}
						}
						else = {
							change_local_variable = {
								name = temp_ransom
								add = prev.ransom_cost
							}
						}
					}
				}
				trigger_event = loaa_contract_event.0005
			}
		}
	}

	option = {
		name = {
			trigger = { scope:task_contract_outcome ?= flag:failure }
			text = ep3_contract_event.0004.b
		}
		name = {
			trigger = { NOT = { exists = scope:task_contract_outcome } }
			text = ep3_contract_event.0004.a
		}
		if = {
			limit = {
				scope:task_contract_outcome ?= flag:failure
			}
		}
		else = {
			save_scope_value_as = {
				name = gold
				value = {
					value = local_var:temp_ransom
					if = {
						limit = {
							domicile = { has_domicile_parameter = camp_improved_mercenary_contract_rewards }
						}
						multiply = camp_improved_mercenary_contract_rewards_value
					}
					if = {
						limit = {
							has_perk = hard_rule_perk
						}
						multiply = adventurer_hard_rule_contract_rewards_value
					}
				}
			}
			scope:task_contract_employer ?= {
				pay_short_term_gold = {
					gold = scope:gold
					target = root
				}
				hidden_effect = {
					employer_contract_completed_info_effect = yes
				}
			}
			# add_gold = {
			# 	value = local_var:temp_ransom
			# 	if = {
			# 		limit = {
			# 			domicile = { has_domicile_parameter = camp_improved_mercenary_contract_rewards }
			# 		}
			# 		multiply = camp_improved_mercenary_contract_rewards_value
			# 	}
			# 	if = {
			# 		limit = {
			# 			has_perk = hard_rule_perk
			# 		}
			# 		multiply = adventurer_hard_rule_contract_rewards_value
			# 	}
			# }
			if = {
				limit = {
					faith != scope:defender.faith
				}
				add_piety = minor_piety_gain
			}
		}
	}
}

# Raid for Captives contract finished, employer side
loaa_contract_event.0005 = {
	type = character_event
	title = loaa_contract_event.0005.t
	desc = loaa_contract_event.0005.desc
	theme = war

	override_background = { reference = throne_room }
	# employer, you
	left_portrait = {
		character = root
		animation = personality_bold
	}
	# adventurer
	right_portrait = {
		character = scope:adventurer
		animation = steward
	}
	# target
	lower_right_portrait = {
		character = scope:task_contract_target
	}
	# captured  chaaracter
	lower_left_portrait = {
		character = scope:flavor_captured
		animation = prisondungeon
	}

	immediate = {
		random_prisoner = {
			limit = {
				has_character_flag = captured_in_ep3_laamp_raid_contract_cb
			}
			save_scope_as = flavor_captured
		}
	}

	option = {
		name = loaa_contract_event.0005.a
		scope:task_contract_target = {
			add_opinion = {
				opinion = -50
				target = root
				modifier = raided_me_opinion
			}
			if = {
				limit = {
					is_vassal_of = root
				 }
				 root = { add_tyranny = medium_tyranny_gain }
			}
		}

		every_prisoner = {
			limit = {
				has_character_flag = captured_in_ep3_laamp_raid_contract_cb
			}
			show_as_tooltip = {
				root = {
					imprison = {
						target = prev
						type = dungeon
					}
				}
			}
			remove_character_flag = captured_in_ep3_laamp_raid_contract_cb
		}
	}
}

# Treasury Heist success, "employer" side
loaa_contract_event.3041 = {
	type = character_event
	title = loaa_contract_event.3041.t
	desc = loaa_contract_event.3041.desc
	theme = intrigue

	override_background = { reference = throne_room }

	left_portrait = {
		character = root
		animation = anger
	}

	right_portrait = {
		character = scope:guard
		animation = shame
	}

	immediate = {
		play_music_cue = mx_cue_murder
		create_character = {
			template = bandit_character
			location = root.location
			dynasty = none
			gender_female_chance = root_soldier_female_chance
			culture = root.capital_province.culture
			faith = root.capital_province.faith
			save_scope_as = guard
		}
		scope:guard ?= {
			add_character_flag = need_military_outfit
		}
		show_as_tooltip = {
			if = {
				limit = {
					exists = scope:adventurer
					scope:adventurer ?= { has_variable = heist_contract_gold }
				}
				remove_short_term_gold = scope:adventurer.var:heist_contract_gold
			}
			if = {
				limit = {
					exists = scope:actual_stolen_gold
				}
				remove_short_term_gold = scope:actual_stolen_gold
			}
			add_character_modifier = {
				modifier = laamp_base_3041_success_employer_modifier
				years = 10
			}
		}
	}

	option = {
		name = loaa_contract_event.3041.a
		scope:guard = {
			death = {
				killer = root
				death_reason = death_execution
			}
		}
		add_dread = 15
		stress_impact = {
			just = minor_stress_impact_loss
			wrathful = medium_stress_impact_loss
			compassionate = massive_stress_impact_gain
		}
	}
	option = {
		name = loaa_contract_event.3041.b
		stress_impact = {
			wrathful = massive_stress_impact_gain
			compassionate = medium_stress_impact_loss
		}
		imprison = {
			target = scope:guard
			type = dungeon
		}
	}
	after = {
		scope:guard ?= {
			remove_character_flag = need_military_outfit
		}
	}
}

# Treasury Heist failure, "employer" side
loaa_contract_event.3042 = {
	type = character_event
	title = loaa_contract_event.3042.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { NOT = { exists = scope:caught_thief } }
				desc = loaa_contract_event.3042.desc_not_caught
			}
			desc = loaa_contract_event.3042.desc
		}
	}
	theme = intrigue

	override_background = { reference = throne_room }

	left_portrait = {
		character = root
		animation = disapproval
	}

	right_portrait = {
		character = scope:caught_thief
		animation = prisondungeon
	}

	immediate = {
		scope:adventurer = {
			save_scope_as = task_contract_taker
		}
		if = {
			limit = {
				scope:adventurer = {
					is_imprisoned_by = root
				}
			}
			scope:adventurer = {
				save_scope_as = caught_thief
			}
			show_as_tooltip = {
				pay_short_term_gold = {
					target = scope:caught_thief
					gold = scope:caught_thief.var:heist_contract_gold
				}
			}
		}
		if = {
			limit = { exists = scope:caught_thief }
			show_as_tooltip = {
				every_in_list = {
				list = former_agents_list
				save_scope_as = char_temp
					rightfully_imprison_character_less_verbose_effect = {
						TARGET = scope:char_temp
						IMPRISONER = scope:employer
					}
				}
			}
		}
		show_as_tooltip = {
			add_character_modifier = {
				modifier = laamp_base_3041_failure_employer_modifier
				years = 10
			}
		}
	}

	option = {
		name = loaa_contract_event.3042.a
		if = {
			limit = {
				exists = scope:caught_thief
				scope:caught_thief ?= { has_variable = heist_contract_gold }
			}
			scope:caught_thief = {
				pay_short_term_gold = {
					target = root
					gold = var:heist_contract_gold
				}
			}
		}
		stress_impact = {
			paranoid = medium_stress_impact_gain
			just = medium_stress_impact_loss
			greedy = medium_stress_impact_loss
		}
	}
}

# Adventurer cleanup
loaa_contract_event.3043 = {
	hidden = yes
	immediate = {
		if = {
			limit = { has_variable = heist_contract_gold }
			remove_variable = heist_contract_gold
		}
	}
}

# Perform Census, employer side
loaa_contract_event.0020 = {
	type = character_event
	title = loaa_contract_event.0020.t
	desc = loaa_contract_event.0020.desc
	theme = realm

	override_background = { reference = throne_room }

	left_portrait = {
		character = root
		animation = reading
	}

	right_portrait = {
		character = scope:adventurer
		animation = steward
	}

	option = {
		name = loaa_contract_event.0020.a
		add_character_modifier = {
			modifier = loaa_conducted_census_modifier_1
			years = 10
		}
	}

	option = {
		name = loaa_contract_event.0020.b
		add_character_modifier = {
			modifier = loaa_conducted_census_modifier_2
			years = 10
		}
	}

	option = {
		name = loaa_contract_event.0020.c
		add_character_modifier = {
			modifier = loaa_conducted_census_modifier_3
			years = 10
		}
	}
}

# Support faction start, employer side
loaa_contract_event.0030 = {
	type = character_event
	title = loaa_contract_event.0030.t
	desc = loaa_contract_event.0030.desc

	theme = war

	widget = {
		gui = "loaa_event_window_select_faction_target"
		container = "custom_widgets_container"
	}

	left_portrait = {
		character = root
		animation = thinking
	}

	right_portrait = {
		character = scope:task_contract_taker
		animation = inspect_weapon
	}

	lower_right_portrait = {
		character = scope:task_contract_target
	}

	immediate = {
		loaa_set_contract_scopes_effect = yes
		scope:task_contract_target = {
			every_targeting_faction = {
				limit = {
					faction_is_at_war = no
					# scope:task_contract_taker = { can_join_faction = prev }
				}
				root = {
					add_to_variable_list = {
						name = loaa_target_list
						target = prev
					}
				}
			}
		}
		ordered_in_list = {
			list = loaa_target_list
			root = {
				set_variable = {
					name = loaa_selected_target
					value = prev
				}
			}

		}
	}

	option = {
		name = loaa_contract_event.0030.a
		custom_tooltip = loaa_contract_event.0030.a_tt
		if = {
			limit = { has_variable = loaa_selected_target  }
			var:loaa_selected_target ?= {
				save_scope_as = task_contract_faction
			}
			scope:task_contract = {
				set_variable = {
					name = task_contract_faction
					value = scope:task_contract_faction
				}
			}
			scope:task_contract_taker ?= {
				trigger_event = loaa_contract_event.0031
			}
		}
		clear_variable_list = loaa_target_list
		remove_variable = loaa_selected_target

		ai_chance = {
			base = 100
		}
	}

}

# Support Faction, adventurer side
loaa_contract_event.0031 = {
	type = character_event
	title = ep3_contract_event.0070.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:task_contract_faction = {
						faction_is_type = nation_fracturing_faction
					}
				}
				desc = ep3_contract_event.0070.desc_nation_fracturing_faction
			}
			desc = {
				first_valid = {
					triggered_desc = {
						trigger = {
							scope:task_contract_faction = {
								faction_is_type = liberty_faction
							}
						}
						desc = loaa_contract_event.0031.desc_liberty_faction
					}
					triggered_desc = {
						trigger = {
							scope:task_contract_faction = {
								faction_is_type = independence_faction
							}
						}
						desc = loaa_contract_event.0031.desc_independence_faction
					}
					triggered_desc = {
						trigger = {
							scope:task_contract_faction = {
								faction_is_type = claimant_faction
							}
						}
						desc = ep3_contract_event.0070.desc_claimant_faction
					}
					desc = loaa_contract_event.0031.desc_fallback_faction
				}
				first_valid = {
					desc = ep3_contract_event.0070.desc_liege_fallback
				}
			}
		}
		desc = ep3_contract_event.0070.desc_outro
	}
	theme = war
	#task_contract_taker, you
	left_portrait = {
		character = root
		animation = inspect_weapon
	}
	#commander, an envoy from employer
	right_portrait = {
		character = scope:commander
		animation = storyteller
	}
	#character giving you the contract
	lower_right_portrait = {
		character = scope:task_contract_employer
	}
	#character you have to fight in a war
	lower_left_portrait = {
		character = scope:task_contract_target
	}

	immediate = {
		loaa_set_contract_scopes_effect = yes
		scope:task_contract_employer = {
			random_knight = {
				save_scope_as = commander
			}
		}
		scope:task_contract.var:task_contract_faction = {
			save_scope_as = task_contract_faction
		}
	}
	#take the contract and join the faction
	option = {
		name = ep3_contract_event.0070.b
		join_faction_forced = {
		 	faction = scope:task_contract.var:task_contract_faction
		 	forced_by = scope:task_contract.task_contract_employer
		 	years = 2
		}

		open_view = {
			view = factions_window
			player = root
		}
		if = {
			limit = { is_ai = yes }
			trigger_event = {
				id = loaa_contract_event.0032
				months = 1
			}
			trigger_event = {
				id = loaa_contract_event.0033
				years = 2
			}
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
		}
	}
	#invalidate the contract
	option = {
		name = ep3_contract_event.0001.invalidate
		scope:task_contract = {
			set_variable = {
				name = suppress_invalidation_event
				value = yes
			}
			invalidate_contract = yes
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 0
		}
	}
}

loaa_contract_event.0032 = {
	hidden = yes
	trigger = {
		exists = scope:task_contract
		exists = scope:task_contract_faction
		scope:task_contract_target ?= { is_ai = yes }
		scope:task_contract_taker ?= { is_ai = yes }
		scope:task_contract_faction ?= { faction_is_at_war = no }
	}
	immediate = {
		add_joined_faction_discontent = major_discontent_gain
	}
}

loaa_contract_event.0033 = {
	hidden = yes
	trigger = {
		exists = scope:task_contract
		scope:task_contract_target ?= { is_ai = yes }
		scope:task_contract_taker ?= { is_ai = yes }
		scope:task_contract_faction ?= { faction_is_at_war = no }
	}
	immediate = {
		scope:task_contract ?= {
			complete_task_contract = failure_standard
		}
	}
}

# Deliver artifact, start (Choose the artifact)
loaa_contract_event.0040 = {
	type = character_event
	theme = realm
	title = loaa_contract_event.0040.t
	desc = loaa_contract_event.0040.desc

	override_background = { reference = throne_room }
	left_portrait = {
		character = root
		animation = thinking
	}
	right_portrait = {
		character = scope:adventurer
	}
	lower_right_portrait = {
		character = scope:task_contract_target
	}
	trigger = {
		scope:adventurer ?= { is_alive = yes }
	}

	widget = {
		gui = "loaa_event_window_select_artifact_target"
		container = "custom_widgets_container"
	}
	immediate = {
		every_character_artifact = {
			limit = {
				loaa_artifact_acceptance_trigger = {
					CONTRACT_TARGET = scope:task_contract_target
					ARTIFACT = this
					CONTRACT_EMPLOYER = root
				}
				NOR = {
					has_variable = 1025_treasure_map
					has_variable = ungiftable
				}
			}
			root = {
				add_to_variable_list = {
					name = loaa_target_list
					target = prev
				}
			}
		}
		random_in_list = {
			variable = loaa_target_list
			save_scope_as = loaa_selected_target
		}
		set_variable = {
			name = loaa_selected_target
			value = scope:loaa_selected_target
		}
	}
	option = {
		name = loaa_contract_event.0040.a
		custom_tooltip = loaa_contract_event.0040.a_tt
		if = {
			limit = { has_variable = loaa_selected_target  }
			var:loaa_selected_target = { save_scope_as = escorted_artifact }
		}
		scope:task_contract = {
			set_variable = {
				name = escorted_artifact
				value = scope:escorted_artifact
			}
		}
		scope:task_contract_target = {
			capital_province = {
				save_scope_as = task_contract_destination
			}
		}
		clear_variable_list = loaa_target_list
		remove_variable = loaa_selected_target
		scope:adventurer = {
			trigger_event = loaa_contract_event.0041
		}
	}
}

loaa_contract_event.0041 = {
	type = character_event
	title = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = loaa_deliver_artifact_contract } }
				desc = ep3_contract_event.0001.t_artifact
			}
		}
	}
	desc = {
		first_valid = {
			desc = ep3_contract_event.0001.desc
		}
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_artifact } }
				desc = ep3_contract_event.0001.desc_artifact
			}
		}
	}
	theme = landless_adventurer
	override_background = { reference = terrain }
	#task_contract_taker, you
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_vip } }
			animation = personality_honorable
		}
		triggered_animation = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_ward } }
			animation = personality_compassionate
		}
		triggered_animation = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_explorer } }
			animation = interested_left
		}
		triggered_animation = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_artifact } }
			animation = personality_bold
		}
		triggered_animation = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_gold } }
			animation = stunned
		}
		triggered_animation = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_animal } }
			animation = love
		}
		triggered_animation = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_construction_contract } }
			animation = personality_rational
		}
	}
	#character you have to escort, if exists
	right_portrait = {
		character = scope:right_portrait
		triggered_animation = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_vip } }
			animation = personality_rational
		}
		triggered_animation = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_ward } }
			animation = clutching_toy
		}
		triggered_animation = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_explorer } }
			animation = eccentric
		}
		triggered_animation = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_artifact } }
			animation = personality_compassionate
		}
		triggered_animation = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_gold } }
			animation = personality_compassionate
		}
		triggered_animation = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_animal } }
			animation = personality_compassionate
		}
		triggered_animation = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_construction_contract } }
			animation = personality_bold
		}
	}
	#character giving you the contract, if it's not the chracter you have to escort
	lower_right_portrait = {
		trigger = {
			NOR = {
				scope:task_contract_object ?= scope:task_contract_target
				scope:task_contract_object ?= scope:task_contract_employer
			}
		}
		character = scope:task_contract_employer
	}
	#character you have to go to, if exists
	lower_left_portrait = {
		trigger = {
			exists = scope:task_contract_target
			NOT = { scope:task_contract_target = scope:task_contract_employer }
		}
		character = scope:task_contract_target
	}
	#artifact you have to escort, if exists
	artifact = {
		trigger = { exists = scope:escorted_artifact }
        target = scope:escorted_artifact
        position = lower_center_portrait
	}

	immediate = {
		loaa_set_contract_scopes_effect = yes
		if = {
			limit = {
				exists = scope:task_contract_object
			}
			scope:task_contract_object = {
				save_scope_as = right_portrait
			}
		}
		else = {
			scope:task_contract_employer = {
				save_scope_as = right_portrait
			}
		}
		set_variable = {
			name = task_contract_destination
			value = scope:task_contract_target.capital_province
		}
	}

	#take the contract and start the travel without domicile
	option = {
		name = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_vip } }
			text = ep3_contract_event.0001.vip
		}
		name = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_ward } }
			text = ep3_contract_event.0001.child
		}
		name = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_explorer } }
			text = ep3_contract_event.0001.explorer
		}
		name = {
			trigger = { scope:task_contract = { has_task_contract_type = loaa_deliver_artifact_contract } }
			text = ep3_contract_event.0001.artifact
		}
		name = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_gold } }
			text = ep3_contract_event.0001.gold
		}
		name = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_animal } }
			text = ep3_contract_event.0001.animal
		}
		name = {
			trigger = { scope:task_contract = { has_task_contract_type = laamp_construction_contract } }
			text = ep3_contract_event.0001.construction
		}
		scope:task_contract = {
			 switch = {
				trigger = has_task_contract_type
				#escorting an artifact
				loaa_deliver_artifact_contract = {
					custom_tooltip = ep3_contract_event.0001.tt_artifact
					scope:escorted_artifact = {
						set_owner = root
						set_variable = {
							name = ungiftable
						}
					}
					root = {
						start_contract_travel_without_domicile = yes
					}
				}
			}
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 1
		}
	}
	#take the contract and start the travel with domicile
	option = {
		name = ep3_contract_event.0001.with_domicile
		scope:task_contract = {
			 switch = {
				trigger = has_task_contract_type
				#escorting an artifact
				loaa_deliver_artifact_contract = {
					custom_tooltip = ep3_contract_event.0001.tt_artifact
					scope:escorted_artifact = {
						set_owner = root
						set_variable = {
							name = ungiftable
						}
					}
					root = {
						start_contract_travel_with_domicile = yes
					}
				}
			}
		}
		custom_tooltip = ep3_contract_event.0001.with_domicile.tt
		#AI should always try to complete the contract
		ai_chance = {
			base = 0
		}
	}
	#invalidate the contract
	option = {
		name = ep3_contract_event.0001.invalidate
		scope:task_contract = {
			invalidate_contract = yes
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 0
		}
	}
}

# Transport contract completion event
loaa_contract_event.0042 = {
	type = character_event
	title = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = loaa_deliver_artifact_contract } }
				desc = ep3_contract_event.0011.t_artifact
			}
		}
	}
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = loaa_deliver_artifact_contract } }
				desc = ep3_contract_event.0011.desc_artifact
			}
		}
	}
	theme = landless_adventurer
	override_background = { reference = throne_room }
	left_portrait = {
		character = root
		animation = war_over_win
	}
	right_portrait = {
		trigger = { exists = scope:task_contract_target }
		character = scope:task_contract_target
		animation = personality_compassionate
	}
	lower_right_portrait = {
		trigger = {
			exists = scope:task_contract_employer
			NOT = { scope:task_contract_target ?= scope:task_contract_employer }
		}
		character = scope:task_contract_employer
	}
	lower_left_portrait = {
		trigger = {
			exists = scope:task_contract_object
			NOR = {
				scope:task_contract_target = scope:task_contract_object
				scope:task_contract_employer = scope:task_contract_object
			}
		}
		character = scope:task_contract_object
	}
	artifact = {
		trigger = { exists = scope:escorted_artifact }
        target = scope:escorted_artifact
        position = lower_center_portrait
	}

	immediate = {
		loaa_set_contract_scopes_effect = yes
		scope:task_contract = {
			switch = {
				trigger = has_task_contract_type
				loaa_deliver_artifact_contract = {
					scope:escorted_artifact = {
						set_owner = scope:task_contract_target
						set_variable = {
							name = ungiftable
						}
					}
					root = { loaa_give_artifact_effect = yes }
				}
			}
		}
	}

	option = {
		name = {
			trigger = {
				any_task_contract = {
					save_temporary_scope_as = temp_contract
					task_contract_taker ?= {
						this = root
					}
					root.current_travel_plan = {
						any_future_path_location = {
							this = scope:temp_contract.task_contract_destination
						}
					}
				}
			}
			text = ep3_contract_event.0011.d_continue
		}
		name = {
			trigger = {
				always = yes
			}
			text = ep3_contract_event.0011.d_end
		}
		if = {
			limit = {
				scope:task_contract = {
					has_task_contract_type = laamp_construction_contract
				}
			}
			scope:task_contract = {
				complete_task_contract = success_standard
			}
		}
		#AI should always complete the contract
		ai_chance = {
			base = 1
			modifier = {
				add = 1000
				#AI should keep going if other contracts are on the travel path
				any_task_contract = {
					save_temporary_scope_as = temp_contract
					task_contract_taker ?= {
						this = root
					}
					root.current_travel_plan = {
						any_future_path_location = {
							this = scope:temp_contract.task_contract_destination
						}
					}
				}
			}
		}
	}

	after = {
		scope:task_contract = {
			switch = {
				trigger = has_task_contract_type
				loaa_deliver_artifact_contract = {
					if = {
						limit = {
							OR = {
								NOT = { exists = scope:task_contract.var:escorted_artifact }
								scope:task_contract.var:escorted_artifact ?= {
									artifact_durability < 1
								}
							}
						}
						complete_task_contract = transport_destroyed
					}
					else_if = {
						limit = {
							time_since_contract_taken > 360
						}
						complete_task_contract = success_standard
					}
					else = {
						complete_task_contract = success_critical
					}
				}
			}
		}
		remove_variable = task_contract_destination
	}
}

# Improve Reputation, employer side
loaa_contract_event.0050 = {
	type = character_event
	title = loaa_contract_event.0050.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract_target = root }
				desc = loaa_contract_event.0050.desc_me
			}
			desc = loaa_contract_event.0050.desc
		}
	}
	theme = diplomacy

	override_background = { reference = throne_room }

	left_portrait = {
		character = root
		animation = toast_goblet
	}

	right_portrait = {
		character = scope:adventurer
		animation = lute_active
	}

	lower_right_portrait = {
		character = scope:task_contract_target_to_show
	}

	immediate = {
		if = {
			limit = { NOT = { scope:employer = scope:task_contract_target } }
			scope:task_contract_target = { save_scope_as = task_contract_target_to_show }
		}
		show_as_tooltip = {
			scope:task_contract_target = {
				add_character_modifier = {
					modifier = loaa_reputation_success_employer_modifier
					years = 10
				}
			}
		}
	}

	option = {
		name = loaa_contract_event.0050.a
	}
}

# Sabotage contract start, employer side
loaa_contract_event.0060 = {
	type = character_event
	title = loaa_contract_event.0060.t
	desc = loaa_contract_event.0060.desc

	theme = intrigue

	override_background = { reference = study }

	widget = {
		gui = "loaa_event_window_select_title_target"
		container = "custom_widgets_container"
	}

	left_portrait = {
		character = root
		animation = thinking
	}

	right_portrait = {
		character = scope:adventurer
		animation = spymaster
	}

	lower_right_portrait = {
		character = scope:task_contract_target
	}

	immediate = {
		loaa_set_contract_scopes_effect = yes
		scope:task_contract_target = {
			every_held_county = {
				root = {
					add_to_variable_list = {
						name = loaa_target_list
						target = prev
					}
				}

			}
		}
		ordered_in_list = {
			list = loaa_target_list
			root = {
				set_variable = {
					name = loaa_selected_target
					value = prev
				}
			}

		}
	}

	option = {
		name = loaa_contract_event.0060.a
		custom_tooltip = loaa_contract_event.0060.a_tt
		if = {
			limit = { has_variable = loaa_selected_target  }
			var:loaa_selected_target ?= {
				save_scope_as = target_county
				random_county_province = {
					save_scope_as = task_contract_destination
				}
			}
			scope:task_contract = {
				set_variable = {
					name = task_contract_destination
					value = scope:task_contract_destination
				}
			}
		}
		clear_variable_list = loaa_target_list
		remove_variable = loaa_selected_target

		trigger_event = loaa_contract_event.0061
		ai_chance = {
			base = 100
		}
	}

}

# Choose the type of sabotage, employer
loaa_contract_event.0061 = {
	type = character_event
	title = loaa_contract_event.0061.t
	desc = loaa_contract_event.0061.desc
	theme = intrigue
	override_background = { reference = study }

	left_portrait = {
		character = root
		animation = thinking
	}

	right_portrait = {
		character = scope:adventurer
		animation = spymaster
	}

	lower_right_portrait = {
		character = scope:task_contract_target
	}

	option = {
		name = loaa_contract_event.0061.a
		custom_tooltip = loaa_contract_event.0061.a_tt
		scope:task_contract = {
			set_variable = {
				name = sabotage_task
				value = flag:sow_dissent
			}
		}
	}

	option = {
		name = loaa_contract_event.0061.b
		custom_tooltip = loaa_contract_event.0061.b_tt
		scope:task_contract = {
			set_variable = {
				name = sabotage_task
				value = flag:destroy_equipment
			}
		}
	}

	option = {
		name = loaa_contract_event.0061.c
		custom_tooltip = loaa_contract_event.0061.c_tt
		scope:task_contract = {
			set_variable = {
				name = sabotage_task
				value = flag:burn_crops
			}
		}
	}

	after = {
		scope:task_contract_taker = { trigger_event = loaa_contract_event.0062 }
	}
}

#Sabotage - start travelling, adventurer
loaa_contract_event.0062 = {
	type = character_event
	title = loaa_contract_event.0062.t
	desc = {
		desc = loaa_contract_event.0062.desc
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:task_contract = {
						var:sabotage_task ?= flag:sow_dissent
					}
				}
				desc = loaa_contract_event.0062.desc_sow_dissent
			}
			triggered_desc = {
				trigger = {
					scope:task_contract = {
						var:sabotage_task ?= flag:destroy_equipment
					}
				}
				desc = loaa_contract_event.0062.desc_destroy_equipment
			}
			triggered_desc = {
				trigger = {
					scope:task_contract = {
						var:sabotage_task ?= flag:burn_crops
					}
				}
				desc = loaa_contract_event.0062.desc_burn_crops
			}
		}
	}
	theme = intrigue
	override_background = { reference = study }

	left_portrait = {
		character = root
		animation = spymaster
	}
	right_portrait = {
		character = scope:task_contract_employer
		animation = thinking
	}
	lower_right_portrait = {
		character = scope:task_contract_target
	}

	immediate = {
		loaa_set_contract_scopes_effect = yes
	}

	#take the contract and start the travel without domicile
	option = {
		name = ep3_contract_event.0043.a
		root = {
			start_contract_travel_without_domicile = yes
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 1
		}
	}
	#take the contract and start the travel with domicile
	option = {
		name = ep3_contract_event.0001.with_domicile
		root = {
			start_contract_travel_with_domicile = yes
		}
		custom_tooltip = ep3_contract_event.0001.with_domicile.tt
		#AI should always try to complete the contract
		ai_chance = {
			base = 0
		}
	}
	#invalidate the contract
	option = {
		name = ep3_contract_event.0001.invalidate
		scope:task_contract = {
			invalidate_contract = yes
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 0
		}
	}
}

# Sabotage - Scheme start event, adventurer
loaa_contract_event.0063 = {
	type = character_event
	title = loaa_contract_event.0063.t
	desc = {
		desc = loaa_contract_event.0063.desc
		triggered_desc = {
			trigger = {
				scope:task_contract = {
					var:sabotage_task ?= flag:sow_dissent
				}
			}
			desc = loaa_contract_event.0063.desc_sow_dissent
		}
		triggered_desc = {
			trigger = {
				scope:task_contract = {
					var:sabotage_task ?= flag:destroy_equipment
				}
			}
			desc = loaa_contract_event.0063.desc_destroy_equipment
		}
		triggered_desc = {
			trigger = {
				scope:task_contract = {
					var:sabotage_task ?= flag:burn_crops
				}
			}
			desc = loaa_contract_event.0063.desc_burn_crops
		}
	}
	theme = intrigue
	left_portrait = {
		character = root
		animation = lantern
	}
	lower_right_portrait = {
		character = scope:employer
		animation = personality_vengeful
	}
	lower_center_portrait = scope:target
	widget = {
		gui = "event_window_widget_scheme"
		container = "custom_widgets_container"
	}

	immediate = {
		random_character_active_contract = {
			limit = {
				has_task_contract_type = loaa_sabotage_contract
			}
			save_scope_as = task_contract
		}
		loaa_set_contract_scopes_effect = yes
		location.county ?= {
			save_scope_as = target_county
		}
		current_travel_plan ?= { pause_travel_plan = yes }
		start_scheme = {
			type = loaa_sabotage_contract_scheme
			contract = scope:task_contract
			target_character = scope:task_contract_target
		}
		# Make a note of what the scheme even is; we'll need this for the event too.
		scope:task_contract.scheme = { save_scope_as = scheme }
		scope:task_contract = {
			task_contract_employer = { save_scope_as = employer }
			var:task_contract_target = { save_scope_as = target }
		}
	}

	# Go for a balanced agent mix.
	option = {
		name = laamp_base_contract_schemes.3011.d
		reason = give_me_balanced_agents
		flavor = EVENT_WINDOW_OPTION_AGENTS_BALANCED

		scope:scheme = {
			# Success.
			add_agent_slot = agent_thug
			add_agent_slot = agent_thug
			# Speed.
			add_agent_slot = agent_infiltrator
			add_agent_slot = agent_footpad
			# Secrecy.
			add_agent_slot = agent_lookout
		}

		# No stress, we're just selecting our starter batch.
		# AI always selects balanced agents.
		ai_chance = { base = 1000 }
	}

	# Focus on success chance agents.
	option = {
		name = laamp_base_contract_schemes.3011.a
		reason = give_me_success_agents
		flavor = EVENT_WINDOW_OPTION_AGENTS_SUCCESS

		scope:scheme = {
			# Success.
			add_agent_slot = agent_thug
			add_agent_slot = agent_thug
			add_agent_slot = agent_thug
			# Speed.
			add_agent_slot = agent_infiltrator
			# Secrecy.
			add_agent_slot = agent_lookout
		}

		# No stress, we're just selecting our starter batch.
		# AI always picks the balanced config.
	}

	# Focus on speedy agents.
	option = {
		name = laamp_base_contract_schemes.3011.b
		reason = give_me_speed_agents
		flavor = EVENT_WINDOW_OPTION_AGENTS_SPEED

		scope:scheme = {
			# Speed.
			add_agent_slot = agent_infiltrator
			add_agent_slot = agent_infiltrator
			add_agent_slot = agent_footpad
			# Success.
			add_agent_slot = agent_thug
			# Secrecy.
			add_agent_slot = agent_lookout
		}

		# No stress, we're just selecting our starter batch.
		# AI always picks the balanced config.
	}

	# Focus on secrecy agents.
	option = {
		name = laamp_base_contract_schemes.3011.c
		reason = give_me_secrecy_agents
		flavor = EVENT_WINDOW_OPTION_AGENTS_SECRECY

		scope:scheme = {
			# Secrecy.
			add_agent_slot = agent_lookout
			add_agent_slot = agent_lookout
			add_agent_slot = agent_decoy
			# Success.
			add_agent_slot = agent_thug
			# Speed.
			add_agent_slot = agent_infiltrator
		}

		# No stress, we're just selecting our starter batch.
		# AI always picks the balanced config.
	}

	# Now show us the panel.
	after = {
		open_view = {
			view = intrigue_window
			player = root
		}
	}
}

# Sabotage - Results event, adventurer scheme
loaa_contract_event.0064 = {
	hidden = yes
	immediate = {
		save_scope_value_as = {
			name = contract_end_success
			value = event_id:loaa_sabotage_events.0001
		}
		save_scope_value_as = {
			name = contract_end_failure
			value = event_id:loaa_sabotage_events.0003
		}
		save_scope_value_as = {
			name = suppress_reroll_option
			value = yes
		}
		laamp_base_contract_schemes_set_up_outcome_immediate_effect = yes
		scope:task_contract.var:target ?= { save_scope_as = target }
		scope:scheme = {
			loaa_simple_generic_scheme_process_ending_effect = {
				SUCCESS_EVENT_TYPE = id
				SUCCESS_EVENT_ID = loaa_sabotage_events.0001
				FAILURE_EVENT_TYPE = id
				FAILURE_EVENT_ID = loaa_sabotage_events.0003
			}
		}
	}
}

# Sabotage - Success event, employer
loaa_contract_event.0065 = {
	type = character_event
	#window = scheme_successful_event
	title = loaa_contract_event.0065.t
	desc = {
		# Opening.
		# What was our plan?
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:task_contract = {
						var:sabotage_task ?= flag:sow_dissent
					}
				}
				desc = loaa_sabotage_events.0065.sow_dissent
			}
			triggered_desc = {
				trigger = {
					scope:task_contract = {
						var:sabotage_task ?= flag:destroy_equipment
					}
				}
				desc = loaa_sabotage_events.0065.destroy_equipment
			}
			triggered_desc = {
				trigger = {
					scope:task_contract = {
						var:sabotage_task ?= flag:burn_crops
					}
				}
				desc = loaa_sabotage_events.0065.burn_crops
			}
		}
		triggered_desc = {
			trigger = { exists = scope:scheme_discovered }
			desc = loaa_sabotage_events.0065.discovered
		}
	}
	theme = intrigue
	left_portrait = {
		character = root
		animation = drink_goblet
	}
	right_portrait = {
		character = scope:task_contract_taker
		animation =  inspect_weapon
	}
	lower_right_portrait = scope:target
	override_background = { reference = council_chamber }

	immediate = {
		show_as_tooltip = {
			scope:task_contract_taker = { scope:scheme.task_contract ?= { complete_task_contract = success_standard }
			}
		}
		show_as_tooltip = {
			scope:target_county = {
				switch = {
					trigger = scope:task_contract.var:sabotage_task
					flag:sow_dissent = {
						scope:target_county = {
							add_county_modifier = {
								modifier = loaa_sabotage_provoked_unrest_modifier
								years = 5
							}
						}
					}
					flag:destroy_equipment = {
						scope:target_county = {
							every_county_province = {
								add_province_modifier = {
									modifier = loaa_sabotage_empty_armories_modifier
									years = 5
								}
							}
						}
					}
					flag:burn_crops = {
						scope:target_county = {
							add_county_modifier = {
								modifier = loaa_sabotage_crops_burned_modifier
								years = 5
							}
						}
					}
				}

			}
			if = {
				limit = {
					scope:task_contract = {
							var:sabotage_task ?= flag:destroy_equipment
					}
				}
				scope:task_contract_taker = {
					add_character_modifier = {
						modifier = loaa_stolen_weapons_modifier
						years = 5
					}
				}
			}
		}
	}

	# Acknowledge.
	option = {
		name = {
			trigger = { NOT = { exists = scope:scheme_discovered } }
			text = loaa_sabotage_events.0065.a_success
		}
		name = {
			trigger = { exists = scope:scheme_discovered }
			text = loaa_sabotage_events.0065.a_success_discovered
		}
	}
}

# Murder, employer side
loaa_contract_event.0070 = {
	type = character_event
	title = loaa_contract_event.0070.t
	desc =  {
		desc = loaa_contract_event.0070.desc
		desc = loaa_contract_event.0070.desc_outro
	}
	theme = murder_scheme

	override_background = { reference = corridor_night }

	left_portrait = {
		character = root
		animation = throne_room_applaud_1
	}

	right_portrait = {
		character = scope:adventurer
		animation = spymaster
	}

	lower_right_portrait = {
		character = scope:task_contract_target
	}

	immediate = {
		loaa_set_contract_scopes_effect = yes
		show_as_tooltip = {
			scope:task_contract_target  = {
				death = {
					killer = scope:adventurer
					death_reason = death_mysterious
				}
			}
		}
	}

	option = {
		name = loaa_contract_event.0070.a
	}
}

# Abduct, employer side
loaa_contract_event.0080 = {
	type = character_event
	title = loaa_contract_event.0080.t
	desc = loaa_contract_event.0080.desc
	theme = intrigue

	override_background = { reference = dungeon }

	left_portrait = {
		character = root
		animation = throne_room_applaud_1
	}

	right_portrait = {
		character = scope:adventurer
		animation = steward
	}

	lower_right_portrait = {
		character = scope:task_contract_target
		animation = prisondungeon
	}

	immediate = {
	}

	option = {
		name = loaa_contract_event.0080.a
		hidden_effect = {
			scope:task_contract_target = {
				release_from_prison = yes
			}
		}
		imprison = {
			target = scope:task_contract_target
			type = dungeon
		}
		scope:task_contract_target = {
			add_opinion = {
				modifier = abductor_opinion
				target = root
				years = 5
			}
		}
	}
}

# AI Criminal Contract cd
loaa_contract_event.0100 = {
	hidden = yes
	immediate = {
		if = {
			limit = { has_character_flag = ai_laamp_criminal_contract_cd }
			remove_character_flag = ai_laamp_criminal_contract_cd
		}
		else = {
			add_character_flag = ai_laamp_criminal_contract_cd
			if = {
				limit = { has_game_rule = ai_criminal_contracts_cd_5 }
				trigger_event = {
					id = loaa_contract_event.0100
					years = 5
				}
			}
			else_if = {
				limit = { has_game_rule = ai_criminal_contracts_cd_10 }
				trigger_event = {
					id = loaa_contract_event.0100
					years = 10
				}
			}
			else_if = {
				limit = { has_game_rule = ai_criminal_contracts_cd_20 }
				trigger_event = {
					id = loaa_contract_event.0100
					years = 20
				}
			}
		}
	}
}

# Protect Domain start
loaa_contract_event.9000 = {
	type = character_event
	title = loaa_contract_event.9000.t
	desc = loaa_contract_event.9000.desc
	theme = war
	#task_contract_taker, you
	left_portrait = {
		character = root
		animation = personality_compassionate
	}

	#character giving you the contract
	lower_right_portrait = {
		character = scope:task_contract_employer
	}

	#character you have to assist in wars
	lower_left_portrait = {
		character = scope:task_contract_target
	}

	immediate = {
		random_character_active_contract = {
			limit = {
				has_task_contract_type = loaa_protect_domain
				#var:task_contract_target = scope:contract_target
			}
			save_scope_as = protect_contract
		}
		loaa_set_contract_scopes_effect = yes
		reverse_add_opinion = {
			modifier = event_negotiated_alliance_opinion
			target = scope:task_contract_target
		}
		add_opinion = {
			modifier = event_negotiated_alliance_opinion
			target = scope:task_contract_target
		}
		create_alliance = {
			target = scope:task_contract_target
			allied_through_owner = root
			allied_through_target = scope:task_contract_target
		}
	}

	option = {
		name = loaa_contract_event.9000.a

		scope:task_contract_target = {
			set_variable = {
				name = protect_domain_adventurer
				value = root
			}
			every_character_war = {
				limit = {
					NOT = {
						is_attacker = root
					}
					OR = {
						primary_attacker = scope:task_contract_target
					}
				}
				add_attacker = root
			}
			every_character_war = {
				limit = {
					NOT = {
						is_defender = root
					}
					OR = {
						primary_defender = scope:task_contract_target
					}
				}
				add_defender = root
			}
		}
		trigger_event = { id = loaa_contract_event.9001 years = loaa_protect_domain_term_value }
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
		}
	}
	#invalidate the contract
	option = {
		name = ep3_contract_event.0001.invalidate
		scope:task_contract = {
			invalidate_contract = yes
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 0
		}
	}
}

# Protect Domain end
loaa_contract_event.9001 = {
	type = letter_event
	sender = scope:task_contract_employer
	opening = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract_outcome ?= flag:failure }
				desc = loaa_contract_event.9001.opening_failure
			}
			desc = loaa_contract_event.9001.opening
		}
	}
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract_betrayal ?= flag:yes }
				desc = loaa_contract_event.9001.desc_betrayal
			}
			triggered_desc = {
				trigger = { scope:task_contract_outcome ?= flag:failure }
				desc = loaa_contract_event.9001.desc_failure
			}
			desc = loaa_contract_event.9001.desc
		}
	}

	immediate = {
		if = {
			limit = { NOT = { exists = scope:task_contract } }
			random_character_active_contract = {
				limit = {
					has_task_contract_type = loaa_protect_domain
				}
				save_scope_as = task_contract
			}
			# random_character_war = {
			# 	save_scope_as = last_war
			# }
			# scope:task_contract = {
			# 	set_variable = {
			# 		name = last_war
			# 		value = scope:last_war
			# 	}
			# }
		}

		loaa_set_contract_scopes_effect = yes

		if = {
			limit = {
				scope:task_contract_outcome ?= flag:failure
			}
			add_prestige = task_contract_failure_prestige_loss_full_value
			reverse_add_opinion = {
				opinion = -50
				modifier = hate_opinion
				target = scope:task_contract_employer
			}
		}
		else = {
			scope:task_contract_employer = {
				custom_tooltip = loaa_contract_event.9001.success

			}
		}
	}

	option = {
		name = {
			trigger = { scope:task_contract_betrayal ?= flag:yes }
			text = loaa_contract_event.9001.c
		}
		name = {
			trigger = { scope:task_contract_outcome ?= flag:failure }
			text = loaa_contract_event.9001.b
		}
		name = {
			trigger = { NOT = { exists = scope:task_contract_outcome } }
			text = loaa_contract_event.9001.a
		}
		scope:task_contract_target = {
			remove_opinion = {
				modifier = event_negotiated_alliance_opinion
				target = root
			}
			remove_variable = protect_domain_adventurer
		}
		scope:task_contract ?= {
			every_in_list = {
				variable = protect_domain_wars
				limit = {
					NOT = {
						any_war_participant = {
							is_at_war_with = root
						}
					}
				}
				remove_participant = root
			}
		}

	}
	after = {
		scope:task_contract ?= {
			if = {
				limit = { has_variable = protect_domain_wars  }
				clear_variable_list = protect_domain_wars
				remove_variable = protect_domain_wars
			}
		}
		if = {
			limit = {
				NOT = { scope:task_contract_outcome ?= flag:failure }
			}
			scope:task_contract ?= {
				complete_task_contract ?= success_standard
			}
		}
		else = {
			scope:task_contract ?= {
				complete_task_contract = failure_standard
			}
		}
	}
}

# Pillage start
loaa_contract_event.9100 = {
	type = character_event
	title = loaa_contract_event.9100.t
	desc = loaa_contract_event.9100.desc
	theme = war
	#task_contract_taker, you
	left_portrait = {
		character = root
		animation = personality_compassionate
	}

	#character giving you the contract
	lower_right_portrait = {
		character = scope:task_contract_employer
	}

	#character you have to fight in a war
	lower_left_portrait = {
		character = scope:task_contract_target
	}

	immediate = {
		loaa_set_contract_scopes_effect = yes
	}

	#take the contract and start pillaging
	option = {
		name = ep3_contract_event.0003.a

		start_war = {
			cb = loaa_pillage_contract_cb
			target = scope:task_contract_target
			target_title = scope:task_contract_target.capital_county
		}
		random_character_war = {
			limit = {
				using_cb = loaa_pillage_contract_cb
				primary_attacker = root
				primary_defender = scope:task_contract_target
			}
			save_scope_as = new_war
		}
		scope:task_contract = {
			set_variable = {
				name = task_contract_war
				value = scope:new_war
			}
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
		}
	}
	#invalidate the contract
	option = {
		name = ep3_contract_event.0001.invalidate
		scope:task_contract = {
			invalidate_contract = yes
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 0
		}
	}
}

# Pillage end
loaa_contract_event.9101 = {
	type = letter_event
	sender = scope:task_contract_employer
	opening = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract_outcome ?= flag:failure }
				desc = ep3_contract_event.0004.opening_failure
			}
			desc = ep3_contract_event.0004.opening
		}
	}
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract_outcome ?= flag:failure }
				desc = ep3_contract_event.0004.desc_failure
			}
			desc = ep3_contract_event.0004.desc
		}
	}

	immediate = {
		loaa_set_contract_scopes_effect = yes
		random_character_active_contract = {
			limit = {
				has_task_contract_type = loaa_pillage_contract
				#var:task_contract_target = scope:contract_target
			}
			save_scope_as = pillage_contract
			task_contract_employer = {
				save_scope_as = task_contract_employer
			}
			task_contract_target = {
				save_scope_as = contract_target
			}
		}

		if = {
			limit = {
				scope:task_contract_outcome ?= flag:failure
			}
			add_prestige = task_contract_failure_prestige_loss_full_value
			reverse_add_opinion = {
				opinion = -50
				modifier = hate_opinion
				target = scope:task_contract_employer
			}
		}
		else = {
			scope:task_contract_employer = {
				trigger_event = loaa_contract_event.9102
			}
		}
	}

	option = {
		name = {
			trigger = { scope:task_contract_outcome ?= flag:failure }
			text = ep3_contract_event.0004.b
		}
		name = {
			trigger = { NOT = { exists = scope:task_contract_outcome } }
			text = loaa_contract_event.9101.a
		}
		if = {
			limit = {
				scope:task_contract_outcome ?= flag:failure
			}
		}
		else = {
			add_gold = {
				value = 10
				if = {
					limit = {
						domicile = { has_domicile_parameter = camp_improved_mercenary_contract_rewards }
					}
					multiply = camp_improved_mercenary_contract_rewards_value
				}
				if = {
					limit = {
						has_perk = hard_rule_perk
					}
					multiply = adventurer_hard_rule_contract_rewards_value
				}
			}
		}
	}
}

# Pillage end, employer side
loaa_contract_event.9102 = {
	type = character_event
	title = loaa_contract_event.9102.t
	desc = loaa_contract_event.9102.desc
	theme = war

	override_background = { reference = throne_room }

	left_portrait = {
		character = root
		animation = toast
	}

	right_portrait = {
		character = scope:adventurer
		animation = inspect_weapon
	}

	lower_right_portrait = {
		character = scope:task_contract_target
	}

	immediate = {
	}

	option = {
		name = loaa_contract_event.9102.a
	}
}