﻿###################################################
##	EP3 Contract Events
##
###################################################

namespace = ep3_contract_event

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

#taking a transport contract - triggered after you take a transport contract
ep3_contract_event.0001 = {
	type = character_event
	title = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_vip } }
				desc = ep3_contract_event.0001.t_vip
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_ward } }
				desc = ep3_contract_event.0001.t_child
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_explorer } }
				desc = ep3_contract_event.0001.t_explorer
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_artifact } }
				desc = ep3_contract_event.0001.t_artifact
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_gold } }
				desc = ep3_contract_event.0001.t_gold
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_animal } }
				desc = ep3_contract_event.0001.t_animal
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_construction_contract } }
				desc = ep3_contract_event.0001.t_construction
			}
		}
	}
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_explorer } }
				desc = ep3_contract_event.0001.desc_intro_explorer
			}
			desc = ep3_contract_event.0001.desc
		}
		#desc for the explorer contract type for differrent point of interests types
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract.var:travel_reason ?= flag:special_buildings_martial }
				desc = ep3_contract_event.0001.desc_special_buildings_martial
			}
			triggered_desc = {
				trigger = { scope:task_contract.var:travel_reason ?= flag:special_buildings_learning }
				desc = ep3_contract_event.0001.desc_special_buildings_learning
			}
			triggered_desc = {
				trigger = { scope:task_contract.var:travel_reason ?= flag:special_buildings_religious }
				desc = ep3_contract_event.0001.desc_special_buildings_religious
			}
			triggered_desc = {
				trigger = { scope:task_contract.var:travel_reason ?= flag:special_buildings_diplomatic }
				desc = ep3_contract_event.0001.desc_special_buildings_diplomatic
			}
			triggered_desc = {
				trigger = { scope:task_contract.var:travel_reason ?= flag:grand_city }
				desc = ep3_contract_event.0001.desc_grand_city
			}
			triggered_desc = {
				trigger = { scope:task_contract.var:travel_reason ?= flag:special_buildings_wonder }
				desc = ep3_contract_event.0001.desc_special_buildings_wonder
			}
			triggered_desc = {
				trigger = { scope:task_contract.var:travel_reason ?= flag:special_buildings_economic }
				desc = ep3_contract_event.0001.desc_special_buildings_economic
			}
			triggered_desc = {
				trigger = { scope:task_contract.var:travel_reason ?= flag:mausoleum_at_halicarnassus }
				desc = ep3_contract_event.0001.desc_mausoleum_at_halicarnassus
			}
			triggered_desc = {
				trigger = { scope:task_contract.var:travel_reason ?= flag:lighthouse_of_alexandria }
				desc = ep3_contract_event.0001.desc_lighthouse_of_alexandria
			}
			triggered_desc = {
				trigger = { scope:task_contract.var:travel_reason ?= flag:natural_feature }
				desc = ep3_contract_event.0001.desc_natural_feature
			}
			triggered_desc = {
				trigger = { scope:task_contract.var:travel_reason ?= flag:capitals }
				desc = ep3_contract_event.0001.desc_capitals
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_vip } }
				desc = ep3_contract_event.0001.desc_vip
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_ward } }
				desc = ep3_contract_event.0001.desc_child
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_explorer } }
				desc = ep3_contract_event.0001.desc_explorer
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_artifact } }
				desc = ep3_contract_event.0001.desc_artifact
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_gold } }
				desc = ep3_contract_event.0001.desc_gold
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_animal } }
				desc = ep3_contract_event.0001.desc_animal
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_construction_contract } }
				desc = ep3_contract_event.0001.desc_construction
			}
		}
	}
	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 
			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 = {
		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
			}
		}
	}

	#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 = laamp_transport_artifact } }
			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 a VIP
				laamp_transport_vip = {
					custom_tooltip = ep3_contract_event.0001.tt_vip
					scope:task_contract_object = {
						visit_court_of = root
						add_character_flag = blocked_from_leaving
					}
					root = {
						start_contract_travel_without_domicile = yes
					}
				}
				#escorting a ward to guardian
				laamp_transport_ward = {
					custom_tooltip = ep3_contract_event.0001.tt_ward
					scope:task_contract_object = {
						visit_court_of = root
						add_character_flag = blocked_from_leaving
					}
					root = {
						start_contract_travel_without_domicile = yes
					}
				}
				#escorting a random pool character to a random point of interest
				laamp_transport_explorer = {
					custom_tooltip = ep3_contract_event.0001.tt_explorer
					scope:task_contract_object = {
						if = {
							limit = {
								is_landed = no
							}
							visit_court_of = root
							add_character_flag = blocked_from_leaving
						}
					}
					root = {
						start_contract_travel_without_domicile = yes
					}
				}
				#escorting an artifact
				laamp_transport_artifact = {
					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
					}
				}
				#escorting a large sum of money
				laamp_transport_gold = {
					custom_tooltip = ep3_contract_event.0001.tt_gold
					scope:task_contract_employer = {
						pay_treasury_or_gold = {
							target = root
							value = scope:escorted_gold
						}
					}
					root = {
						start_contract_travel_without_domicile = yes
					}
				}
				#escorting a dog or a cat
				laamp_transport_animal = {
					custom_tooltip = ep3_contract_event.0001.tt_animal
					scope:task_contract_employer = {
						if = {
							limit = {
								scope:escorted_story ?= { story_type = story_cycle_pet_dog }
							}
							transfer_dog_story_cycle_to_effect = {
								CHARACTER = root
								STORY = scope:escorted_story
							}
						}
						else = {
							transfer_cat_story_cycle_to_effect = {
								CHARACTER = root
								STORY = scope:escorted_story
							}
						}
					}
					root = {
						start_contract_travel_without_domicile = yes
					}
				}
				#delivering materials for holding construcion
				laamp_construction_contract = {
					custom_tooltip = ep3_contract_event.0001.tt_construction
					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 a VIP
				laamp_transport_vip = {
					custom_tooltip = ep3_contract_event.0001.tt_vip
					scope:task_contract_object = {
						visit_court_of = root
						add_character_flag = blocked_from_leaving
					}
					root = {
						start_contract_travel_with_domicile = yes
					}
				}
				#escorting a ward to guardian
				laamp_transport_ward = {
					custom_tooltip = ep3_contract_event.0001.tt_ward
					scope:task_contract_object = {
						visit_court_of = root
						add_character_flag = blocked_from_leaving
					}
					root = {
						start_contract_travel_with_domicile = yes
					}
				}
				#escorting a random pool character to a random point of interest
				laamp_transport_explorer = {
					custom_tooltip = ep3_contract_event.0001.tt_explorer
					scope:task_contract_object = {
						if = {
							limit = {
								is_landed = no
							}
							visit_court_of = root
							add_character_flag = blocked_from_leaving
						}
					}
					root = {
						start_contract_travel_with_domicile = yes
					}
				}
				#escorting an artifact
				laamp_transport_artifact = {
					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
					}
				}
				#escorting a large sum of money
				laamp_transport_gold = {
					custom_tooltip = ep3_contract_event.0001.tt_gold
					scope:task_contract_employer = {
						pay_treasury_or_gold = {
							target = root
							value = scope:escorted_gold
						}
					}
					root = {
						start_contract_travel_with_domicile = yes
					}
				}
				#escorting a dog or a cat
				laamp_transport_animal = {
					custom_tooltip = ep3_contract_event.0001.tt_animal
					scope:task_contract_employer = {
						if = {
							limit = {
								scope:escorted_story ?= { story_type = story_cycle_pet_dog }
							}
							transfer_dog_story_cycle_to_effect = {
								CHARACTER = root
								STORY = scope:escorted_story
							}
						}
						else = {
							transfer_cat_story_cycle_to_effect = {
								CHARACTER = root
								STORY = scope:escorted_story
							}
						}
					}
					root = {
						start_contract_travel_with_domicile = yes
					}
				}
				#delivering materials for holding construcion
				laamp_construction_contract = {
					custom_tooltip = ep3_contract_event.0001.tt_construction
					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
		}
	}
}

scripted_trigger 0002_is_applicable_contract_trigger = {
	OR = {
		has_task_contract_group = laamp_contracts_transport_group
		#Treasure Map Contract
		AND = {
			root = { has_variable = ep3_laamp_decision_1000_is_excavating }
			exists = var:contract_treasure_location
		}
	}
}

#Event adding relevant characters to your travel entourage if you have an active transport contract
ep3_contract_event.0002 = {
	hidden = yes
	trigger = {
		has_government = landless_adventurer_government
	}
	immediate = {
		every_character_active_contract = {
			limit = {
				0002_is_applicable_contract_trigger = yes
				save_temporary_scope_as = temp_contract
				#task_contract_taker ?= root
				root.current_travel_plan = {
					#Treasure Map Contract
					trigger_if = {
						limit = { 
							scope:temp_contract = { exists = var:contract_treasure_location }
						}
						OR = {
							final_destination_province ?= scope:temp_contract.var:contract_treasure_location
							next_destination_province = scope:temp_contract.var:contract_treasure_location
							any_future_path_location = {
								this = scope:temp_contract.var:contract_treasure_location
							}
						}
					}
					trigger_else = {
						OR = {
							final_destination_province ?= scope:temp_contract.var:task_contract_destination
							next_destination_province = scope:temp_contract.var:task_contract_destination
							any_future_path_location = {
								this = scope:temp_contract.var:task_contract_destination
							}
						}
					}
				}
			}
			var:task_contract_object ?= { add_to_list = task_contract_companions }
			#Treasure Map Contract, add the scraggly old employer
			if = {
				limit = { has_task_contract_type = laamp_treasure_map_contract }
				task_contract_employer = { add_to_list = task_contract_companions }
			}
		}
		every_courtier_or_guest = {
			limit = {
				is_travelling = no
			}
			add_to_list = task_contract_companions
		}
		every_in_list = {
			list = task_contract_companions
			root.current_travel_plan = { add_companion = prev }
		}
	}
}

#Raid for Captives contract starting a war
ep3_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 = {
		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
ep3_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 = {
		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
							}
						}
					}
					remove_character_flag = captured_in_ep3_laamp_raid_contract_cb
				}
			}
		}
	}

	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 = {
			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 
			}
		}
	}
}

#Treasure Hunting Contract - start event
ep3_contract_event.0005 = {
	type = character_event
	title = ep3_contract_event.0005.t
	desc = ep3_contract_event.0005.desc
	theme = travel

	left_portrait = {
		character = root
		animation = personality_compassionate
	}
	lower_right_portrait = {
		character = scope:task_contract_employer
	}

	immediate = {
	}

	#go on a treasure hunting travel, opens decision to set target location
	option = {
		name = ep3_contract_event.0005.a
		custom_tooltip = ep3_contract_event.0005.a_tt
		decision:treasure_hunting_contract_decision = {
			open_view_data = {
				view = decision_detail
				player = root
			}
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 1
		}
	}
	#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
		}
	}
}

#Treasure Hunting Contract - event triggered when you reach a location chosen in the decision
ep3_contract_event.0006 = {
	type = character_event
	title = ep3_contract_event.0006.t
	desc = {
		desc = ep3_contract_event.0006.desc
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:task_contract_destination = {
						has_holding_type = church_holding
					}
				}
				desc = ep3_contract_event.0006.desc_locals_temple
			}
			triggered_desc = {
				trigger = {
					scope:task_contract_destination = {
						has_holding_type = city_holding
					}
				}
				desc = ep3_contract_event.0006.desc_locals_city
			}
			triggered_desc = {
				trigger = {
					scope:task_contract_destination = {
						has_holding_type = castle_holding
					}
				}
				desc = ep3_contract_event.0006.desc_locals_castle
			}
			desc = ep3_contract_event.0006.desc_locals
		}
	}
	theme = travel
	left_portrait = {
		character = root
		animation = eavesdrop
	}
	right_portrait = {
		character = scope:local_1
		animation = debating
	}
	lower_left_portrait = {
		character = scope:local_ruler
	}
	lower_right_portrait = {
		trigger = { exists = scope:local_2 }
		character = scope:local_2
	}
	#artifact you find
	artifact = {
        target = scope:newly_created_artifact
        position = lower_center_portrait
	}
	override_background = {
		trigger = { 
			scope:task_contract_destination = {
				has_holding_type = castle_holding
			}
		}
		reference = corridor_night
	}
	override_background = {
		trigger = { 
			scope:task_contract_destination = {
				has_holding_type = city_holding
			}
		}
		reference = market
	}
	override_background = {
		trigger = { 
			scope:task_contract_destination = {
				has_holding_type = church_holding
			}
		}
		reference = temple
	}
	override_background = {
		trigger = { 
			scope:task_contract_destination = {
				NOR = {
					has_holding_type = castle_holding
					has_holding_type = city_holding
					has_holding_type = church_holding
				}
			}
		}
		reference = tavern
	}

	trigger = {
		any_character_task_contract = {
			task_contract_type = laamp_treasure_hunting_contract
			var:task_contract_destination ?= root.location
		}
	}

	immediate = {
		random_character_task_contract = {
			task_contract_type = laamp_treasure_hunting_contract
			limit = {
				var:task_contract_destination ?= root.location
			}
			save_scope_as = task_contract
		}
		scope:task_contract.var:task_contract_destination = {
			save_scope_as = task_contract_destination
			county.holder = {
				save_scope_as = local_ruler
			}
		}
		scope:task_contract.task_contract_employer = {
			save_scope_as = inspiration_owner
			save_scope_as = task_contract_employer
		}
		if = {
			limit = {
				scope:task_contract_destination = {
					has_holding_type = church_holding
				}
			}
			if = {
				limit = {
					any_pool_character = {
						province = scope:task_contract_destination
						is_available_healthy_ai_adult = yes
					}
				}
				random_pool_character = {
					province = scope:task_contract_destination
					limit = {
						is_available_healthy_ai_adult = yes
					}
					save_scope_as = local_1
				}
			}
			else = {
				create_character = {
					template = fp1_trade_partner_priest
					location = scope:task_contract_destination
					culture = scope:task_contract_destination.county.culture
					faith = scope:task_contract_destination.county.faith
					#Set up the scope
					save_scope_as = local_1
				}
			}
			inspiration_adventure_create_artifact_effect = {
				OWNER = scope:local_1
				CREATOR = scope:local_1
			}
		}
		else_if = {
			limit = {
				scope:task_contract_destination = {
					has_holding_type = city_holding
				}
			}
			if = {
				limit = {
					any_pool_character = {
						province = scope:task_contract_destination
						is_available_healthy_ai_adult = yes
					}
				}
				random_pool_character = {
					province = scope:task_contract_destination
					limit = {
						is_available_healthy_ai_adult = yes
					}
					save_scope_as = local_1
				}
			}
			else = {
				create_character = {
					template = merchant_template
					location = scope:task_contract_destination
					culture = scope:task_contract_destination.county.culture
					faith = scope:task_contract_destination.county.faith
					#Set up the scope
					save_scope_as = local_1
				}
			}
			inspiration_adventure_create_artifact_effect = {
				OWNER = scope:local_1
				CREATOR = scope:local_1
			}
		}
		else = {
			if = {
				limit = {
					any_pool_character = {
						province = scope:task_contract_destination
						is_available_healthy_ai_adult = yes
					}
				}
				random_pool_character = {
					province = scope:task_contract_destination
					limit = {
						is_available_healthy_ai_adult = yes
					}
					save_scope_as = local_1
				}
			}
			else = {
				create_character = {
					template = fp3_tomb_raider
					location = scope:task_contract_destination
					culture = scope:task_contract_destination.county.culture
					faith = scope:task_contract_destination.county.faith
					#Set up the scope
					save_scope_as = local_1
				}
			}
			if = {
				limit = {
					any_pool_character = {
						province = scope:task_contract_destination
						is_available_healthy_ai_adult = yes
						this != scope:local_1
					}
				}
				random_pool_character = {
					province = scope:task_contract_destination
					limit = {
						is_available_healthy_ai_adult = yes
						this != scope:local_1
					}
					save_scope_as = local_2
				}
			}
			else = {
				create_character = {
					template = fp3_tomb_raider
					location = scope:task_contract_destination
					culture = scope:task_contract_destination.county.culture
					faith = scope:task_contract_destination.county.faith
					#Set up the scope
					save_scope_as = local_2
				}
			}
			if = {
				limit = {
					scope:task_contract_destination = {
						has_holding_type = castle_holding
					}
				}
				inspiration_adventure_create_artifact_effect = {
					OWNER = scope:local_ruler
					CREATOR = scope:local_ruler
				}
			}
			else = {
				inspiration_adventure_create_artifact_effect = {
					OWNER = scope:local_1
					CREATOR = scope:local_1
				}
			}
		}
		#Don't need no "Lost Court Artifact to [...]" errors for this
		scope:newly_created_artifact = {
			set_variable = {
				name = suppress_artifact_notifications
				value = yes
				days = 2
			}
		}
	}

	#go with the locals - castle only
	option = {
		name = ep3_contract_event.0006.castle
		trigger = {
			scope:task_contract_destination = {
				has_holding_type = castle_holding
			}
		}
		reason = castle_holding
		duel = {
			skills = { diplomacy intrigue }
			target = scope:local_1
			25 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					max = 50
				}
				desc = ep3_contract_event.0006.castle_won
				save_scope_value_as = {
					name = success_reason
					value = flag:castle
				}
				trigger_event = ep3_contract_event.0007
				show_as_tooltip = {
					scope:newly_created_artifact = {
						set_owner = root
					}
				}
			}
			25 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -1
					min = -49
				}
				modifier = {
					exists = scope:local_2
					add = scope:local_2.intrigue
					add = scope:local_2.diplomacy
				}
				desc = ep3_contract_event.0006.castle_lost_desc
				send_interface_toast = {
					type = event_toast_effect_bad
					title = ep3_contract_event.0006.castle_lost
					desc = ep3_contract_event.0006.castle_lost_desc
					left_icon = root
					right_icon = scope:local_1
					scope:newly_created_artifact = {
						set_owner = scope:local_1
					}
				}
			}
		}
		stress_impact = {
			compassionate = minor_stress_impact_gain
			deceitful = minor_stress_impact_loss
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
		}
	}
	#prove you're pious - church only
	option = {
		name = ep3_contract_event.0006.church
		trigger = {
			scope:task_contract_destination = {
				has_holding_type = church_holding
			}
		}
		reason = church_holding
		random_list = {
			4 = {
				modifier = {
					add = root.piety_level
				}
				modifier = {
					add = root.num_virtuous_traits
				}
				modifier = {
					add = {
						value = root.num_sinful_traits
						multiply = -1
					}
				}
				modifier = {
					add = root.learning
				}
				desc = ep3_contract_event.0006.church_won
				save_scope_value_as = {
					name = success_reason
					value = flag:church
				}
				trigger_event = ep3_contract_event.0007
				show_as_tooltip = {
					scope:newly_created_artifact = {
						set_owner = root
					}
				}
			}
			4 = {
				modifier = {
					add = scope:local_1.piety_level
				}
				modifier = {
					add = scope:local_1.num_virtuous_traits
				}
				modifier = {
					add = {
						value = scope:local_1.num_sinful_traits
						multiply = -1
					}
				}
				desc = ep3_contract_event.0006.church_lost_desc
				send_interface_toast = {
					type = event_toast_effect_bad
					title = ep3_contract_event.0006.church_lost
					desc = ep3_contract_event.0006.church_lost_desc
					left_icon = root
					right_icon = scope:local_1
					scope:newly_created_artifact = {
						set_owner = scope:local_1
					}
				}
			}
		}
		stress_impact = {
			cynical = minor_stress_impact_gain
			zealous = minor_stress_impact_loss
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
		}
	}
	#barter for lower price - city only
	option = {
		name = ep3_contract_event.0006.city
		trigger = {
			scope:task_contract_destination = {
				has_holding_type = city_holding
			}
		}
		reason = city_holding
		random_list = {
			1 = {
				modifier = {
					add = root.prestige_level
				}
				modifier = {
					add = root.dynasty.dynasty_prestige_level
				}
				modifier = {
					add = root.stewardship
				}
				desc = ep3_contract_event.0006.city_won
				save_scope_value_as = {
					name = success_reason
					value = flag:city
				}
				pay_short_term_gold = {
					target = scope:local_1
					gold = minor_gold_value
				}
				trigger_event = ep3_contract_event.0007
				show_as_tooltip = {
					scope:newly_created_artifact = {
						set_owner = root
					}
				}
			}
			1 = {
				modifier = {
					add = scope:local_1.prestige_level
				}
				modifier = {
					add = scope:local_1.dynasty.dynasty_prestige_level
				}
				desc = ep3_contract_event.0006.city_lost_desc
				send_interface_toast = {
					type = event_toast_effect_bad
					title = ep3_contract_event.0006.city_lost
					desc = ep3_contract_event.0006.city_lost_desc
					left_icon = root
					right_icon = scope:local_1
				}
			}
		}
		stress_impact = {
			generous = minor_stress_impact_gain
			greedy = minor_stress_impact_loss
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
			modifier = {
				factor = 0
				short_term_gold < minor_gold_value
			}
		}
	}
	#try to buy it - always
	option = {
		name = ep3_contract_event.0006.buy
		if = {
			limit = {
				scope:task_contract_destination = {
					has_holding_type = city_holding
				}
			}
			pay_short_term_gold = {
				target = scope:local_1
				gold = major_gold_value
			}
			save_scope_value_as = {
				name = success_reason
				value = flag:buy
			}
			trigger_event = ep3_contract_event.0007
			show_as_tooltip = {
				scope:newly_created_artifact = {
					set_owner = root
				}
			}
		}
		else = {
			duel = {
				skill = stewardship
				target = scope:local_1
				25 = {
					compare_modifier = {
						value = scope:duel_value
						multiplier = 2
						max = 50
					}
					desc = ep3_contract_event.0006.buy_won
					pay_short_term_gold = {
						target = scope:local_1
						gold = major_gold_value
					}
					save_scope_value_as = {
						name = success_reason
						value = flag:buy
					}
					trigger_event = ep3_contract_event.0007
					show_as_tooltip = {
						scope:newly_created_artifact = {
							set_owner = root
						}
					}
				}
				25 = {
					compare_modifier = {
						value = scope:duel_value
						multiplier = -1
						min = -49
					}
					modifier = {
						exists = scope:local_2
						add = scope:local_2.stewardship
					}
					desc = ep3_contract_event.0006.buy_lost_desc
					send_interface_toast = {
						type = event_toast_effect_bad
						title = ep3_contract_event.0006.buy_lost
						desc = ep3_contract_event.0006.buy_lost_desc
						left_icon = root
						right_icon = scope:local_1
						pay_short_term_gold = {
							target = scope:local_1
							gold = major_gold_value
						}
						scope:newly_created_artifact = {
							set_owner = scope:local_1
						}
					}
				}
			}
		}
		stress_impact = {
			greedy = minor_stress_impact_gain
			generous = minor_stress_impact_loss
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
			modifier = {
				factor = 0
				short_term_gold < major_gold_value
			}
		}
	}
	#intimidate them - freebooters and swords-for-hire only
	option = {
		name = ep3_contract_event.0006.intimidate
		trigger = {
			OR = {
				has_realm_law = camp_purpose_brigands
				has_realm_law = camp_purpose_mercenaries
			}
		}
		reason = purpose_brigands_and_mercenaries
		duel = {
			skills = { intrigue prowess }
			target = scope:local_1
			25 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					max = 50
				}
				desc = ep3_contract_event.0006.intimidate_won
				save_scope_value_as = {
					name = success_reason
					value = flag:intimidate
				}
				trigger_event = ep3_contract_event.0007
				show_as_tooltip = {
					scope:newly_created_artifact = {
						set_owner = root
					}
				}
			}
			25 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -1
					min = -49
				}
				modifier = {
					exists = scope:local_2
					add = scope:local_2.intrigue
					add = scope:local_2.prowess
				}
				desc = ep3_contract_event.0006.intimidate_lost_desc
				send_interface_toast = {
					type = event_toast_effect_bad
					title = ep3_contract_event.0006.intimidate_lost
					desc = ep3_contract_event.0006.intimidate_lost_desc
					left_icon = root
					right_icon = scope:local_1
					scope:newly_created_artifact = {
						set_owner = scope:local_1
					}
				}
			}
		}
		stress_impact = {
			compassionate = minor_stress_impact_gain
			wrathful = minor_stress_impact_loss
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
		}
	}
	#hit the local library - scholars and legitimists only
	option = {
		name = ep3_contract_event.0006.library
		trigger = {
			OR = {
				has_realm_law = camp_purpose_scholars
				has_realm_law = camp_purpose_legitimists
			}
		}
		reason = purpose_legitimists_and_scholars
		duel = {
			skill = learning
			value = decent_skill_rating
			25 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					max = 50
				}
				desc = ep3_contract_event.0006.library_won
				save_scope_value_as = {
					name = success_reason
					value = flag:library
				}
				hidden_effect = {
					destroy_artifact = scope:newly_created_artifact
				}
				custom_tooltip = ep3_contract_event.0006.library.tt
				trigger_event = ep3_contract_event.0007
			}
			25 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -49
				}
				desc = ep3_contract_event.0006.library_lost_desc
				send_interface_toast = {
					type = event_toast_effect_bad
					title = ep3_contract_event.0006.library_lost
					desc = ep3_contract_event.0006.library_lost_desc
					left_icon = root
					hidden_effect = {
						if = {
							limit = {
								exists = scope:newly_created_artifact
							}
							destroy_artifact = scope:newly_created_artifact
						}
					}
				}
			}
		}
		stress_impact = {
			impatient = minor_stress_impact_gain
			patient = minor_stress_impact_loss
			stubborn = minor_stress_impact_loss
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
		}
	}
	#go on your own - wanderers and explorers only
	option = {
		name = ep3_contract_event.0006.explore
		trigger = {
			OR = {
				has_realm_law = camp_purpose_wanderers
				has_realm_law = camp_purpose_explorers
			}
		}
		reason = purpose_explorers_and_wanderers
		duel = {
			skills = { diplomacy martial }
			value = decent_skill_rating
			25 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					max = 50
				}
				desc = ep3_contract_event.0006.explore_won
				save_scope_value_as = {
					name = success_reason
					value = flag:explore
				}
				hidden_effect = {
					destroy_artifact = scope:newly_created_artifact
				}
				custom_tooltip = ep3_contract_event.0006.explore.tt
				trigger_event = ep3_contract_event.0007
			}
			25 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -49
				}
				desc = ep3_contract_event.0006.explore_lost_desc
				send_interface_toast = {
					type = event_toast_effect_bad
					title = ep3_contract_event.0006.explore_lost
					desc = ep3_contract_event.0006.explore_lost_desc
					left_icon = root
					hidden_effect = {
						if = {
							limit = {
								exists = scope:newly_created_artifact
							}
							destroy_artifact = scope:newly_created_artifact
						}
					}
				}
			}
		}
		stress_impact = {
			impatient = minor_stress_impact_gain
			patient = minor_stress_impact_loss
			stubborn = minor_stress_impact_loss
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
		}
	}
}

scripted_effect change_treasure_type = {
	scope:newly_created_artifact = {
		if = {
			limit = {
				OR = {
					exists = scope:cupboard
					exists = scope:ark_covenant
					exists = scope:throne
					exists = scope:necklace_artifact
					exists = scope:armor_artifact
					exists = scope:weapon_artifact
					exists = scope:regalia_artifact
					#exists = scope:box
					#exists = scope:skull
					#exists = scope:goblet
					#exists = scope:animal_hide_size
					exists = scope:tapestry
				}
			}
			#do nothing, as they should already have the correct type
		}
		else_if = {
			limit = {
				OR = {
					has_variable = ascalon
					has_variable = staff_kakusandha
					has_variable = zomorrodnegar
					has_variable = aruval
					has_variable = sword_cid
					has_variable = sword_of_muhammad
					has_variable = mmaagha_kamalu
					has_variable = sword_attila
				}
			}
			reforge_artifact = { type = regalia }
		}
		else_if = {
			limit = { has_variable = iron_crown }
			reforge_artifact = { type = helmet }				
		}
		else_if = {
			limit = { artifact_type = pedestal }
			reforge_artifact = { type = miscellaneous }
		}
		set_owner = root
	}
}

#Treasure Hunting Contract - event triggered if you find an artifact in previous event ep3_contract_event.0006 to decide if you want to keep the artifact for yourself or complete the contract 
ep3_contract_event.0007 = {
	type = character_event
	title = ep3_contract_event.0007.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:success_reason = flag:castle
					scope:task_contract_destination = {
						has_holding_type = castle_holding
					}
				}
				desc = ep3_contract_event.0007.desc_castle_castle
			}
			triggered_desc = {
				trigger = {
					scope:success_reason = flag:church
					scope:task_contract_destination = {
						has_holding_type = church_holding
					}
				}
				desc = ep3_contract_event.0007.desc_church_church
			}
			triggered_desc = {
				trigger = {
					scope:success_reason = flag:city
					scope:task_contract_destination = {
						has_holding_type = city_holding
					}
				}
				desc = ep3_contract_event.0007.desc_city_city
			}
			triggered_desc = {
				trigger = {
					scope:success_reason = flag:buy
					scope:task_contract_destination = {
						has_holding_type = castle_holding
					}
				}
				desc = ep3_contract_event.0007.desc_castle_buy
			}
			triggered_desc = {
				trigger = {
					scope:success_reason = flag:buy
					scope:task_contract_destination = {
						has_holding_type = city_holding
					}
				}
				desc = ep3_contract_event.0007.desc_city_buy
			}
			triggered_desc = {
				trigger = {
					scope:success_reason = flag:buy
					scope:task_contract_destination = {
						has_holding_type = church_holding
					}
				}
				desc = ep3_contract_event.0007.desc_church_buy
			}
			triggered_desc = {
				trigger = {
					scope:success_reason = flag:intimidate
					scope:task_contract_destination = {
						has_holding_type = castle_holding
					}
				}
				desc = ep3_contract_event.0007.desc_castle_intimidate
			}
			triggered_desc = {
				trigger = {
					scope:success_reason = flag:intimidate
					scope:task_contract_destination = {
						has_holding_type = city_holding
					}
				}
				desc = ep3_contract_event.0007.desc_city_intimidate
			}
			triggered_desc = {
				trigger = {
					scope:success_reason = flag:intimidate
					scope:task_contract_destination = {
						has_holding_type = church_holding
					}
				}
				desc = ep3_contract_event.0007.desc_church_intimidate
			}
			triggered_desc = {
				trigger = { scope:success_reason = flag:library } 
				desc = ep3_contract_event.0007.desc_library
			}
			triggered_desc = {
				trigger = { scope:success_reason = flag:explore } 
				desc = ep3_contract_event.0007.desc_explore
			}
		}
	}
	theme = travel

	left_portrait = {
		character = root
		animation = happiness
	}
	right_portrait = {
		character = scope:local_1
		trigger = {
			NOR = {
				scope:success_reason = flag:library
				scope:success_reason = flag:explore
			}
		}
		animation = rage
	}
	lower_left_portrait = {
		character = scope:task_contract_employer
	}
	lower_right_portrait = {
		trigger = {
			exists = scope:local_2
			NOR = {
				scope:success_reason = flag:library
				scope:success_reason = flag:explore
			}
		}
		character = scope:local_2
	}
	#artifact you find
	artifact = {
        target = scope:newly_created_artifact
        position = lower_center_portrait
	}

	override_background = {
		trigger = { 
			OR = {
				scope:success_reason = flag:library
				scope:success_reason = flag:explore
			}
		}
		reference = wilderness
	}
	override_background = {
		trigger = { 
			scope:task_contract_destination = {
				has_holding_type = castle_holding
			}
		}
		reference = corridor_night
	}
	override_background = {
		trigger = { 
			scope:task_contract_destination = {
				has_holding_type = city_holding
			}
		}
		reference = market
	}
	override_background = {
		trigger = { 
			scope:task_contract_destination = {
				has_holding_type = church_holding
			}
		}
		reference = temple
	}
	override_background = {
		trigger = { 
			scope:task_contract_destination = {
				NOR = {
					has_holding_type = castle_holding
					has_holding_type = city_holding
					has_holding_type = church_holding
				}
			}
		}
		reference = tavern
	}

	immediate = {
		random_courtier = {
			limit = {
				is_adult = yes
			}
			save_scope_as = follower
		}
		if = {
			limit = {
				OR = {
					scope:success_reason = flag:library
					scope:success_reason = flag:explore
				}
			}
			inspiration_adventure_create_artifact_effect = {
				OWNER = root
				CREATOR = root
			}
			add_gold = major_gold_value
		}
		if = {
			limit = {
				scope:success_reason = flag:city	
			}
			change_treasure_type = yes
			scope:newly_created_artifact = {
				set_owner = root
			}
			inspiration_adventure_create_artifact_effect = {
				OWNER = scope:local_1
				CREATOR = scope:local_1
			}
		}
	}

	#give it back to locals so they join you
	option = {
		name = ep3_contract_event.0007.castle
		trigger = {
			scope:success_reason = flag:castle
		}
		scope:newly_created_artifact = {
			set_owner = scope:local_1
		}
		add_courtier = scope:local_1
		add_courtier = scope:local_2

		stress_impact = {
			greedy = minor_stress_impact_gain
			compassionate = minor_stress_impact_loss
		}
		#AI should always complete the contract
		ai_chance = {
			base = 0
		}
	}
	#pay them more so they join you
	option = {
		name = ep3_contract_event.0007.castle_buy
		trigger = {
			scope:success_reason = flag:buy
			scope:task_contract_destination = {
				has_holding_type = city_holding
			}
		}
		pay_short_term_gold = {
			target = scope:local_2
			gold = major_gold_value
		}
		add_courtier = scope:local_1
		add_courtier = scope:local_2

		stress_impact = {
			greedy = minor_stress_impact_gain
			compassionate = minor_stress_impact_loss
		}
		#AI should always complete the contract
		ai_chance = {
			base = 0
		}
	}
	#Buy everything for yourself
	option = {
		name = ep3_contract_event.0007.city_city
		trigger = {
			scope:success_reason = flag:city
		}
		pay_short_term_gold = {
			target = scope:local_1
			gold = major_gold_value
		}
		change_treasure_type = yes
		scope:newly_created_artifact = {
			set_owner = scope:local_1
		}

		stress_impact = {
			content = minor_stress_impact_gain
			greedy = minor_stress_impact_loss
		}
		#AI should always complete the contract
		ai_chance = {
			base = 0
		}
	}
	#after all, why wouldn't I take it for myself?
	option = {
		name = ep3_contract_event.0007.a
		if = {
			limit = {
				NOT = { scope:success_reason = flag:city }
			}
			change_treasure_type = yes
		}
		if = {
			limit = {
				scope:success_reason = flag:castle
			}
			set_relation_rival = {
				target = scope:local_1
				reason = rival_stole_artifact
			}
			set_relation_rival = {
				target = scope:local_2
				reason = rival_stole_artifact
			}
		}

		stress_impact = {
			content = minor_stress_impact_gain
			compassionate = minor_stress_impact_gain
			greedy = minor_stress_impact_loss
		}
		#AI should always complete the contract
		ai_chance = {
			base = 0
		}
	}
	#give it back to task_contract_employer to complete the contract
	option = {
		name = ep3_contract_event.0007.b
		scope:newly_created_artifact = {
			set_owner = scope:task_contract_employer
		}
		scope:task_contract = {
			complete_task_contract = success_standard
		}
		if = {
			limit = {
				scope:success_reason = flag:castle
			}
			set_relation_rival = {
				target = scope:local_1
				reason = rival_stole_artifact
			}
			set_relation_rival = {
				target = scope:local_2
				reason = rival_stole_artifact
			}
		}
		#AI should always complete the contract
		ai_chance = {
			base = 10
		}
	}
	after = {
		if = {
			limit = {
				can_set_relation_rival_trigger = { CHARACTER = scope:local_ruler }
				scope:success_reason = flag:castle
			}
			progress_towards_rival_effect = {
				REASON = rival_stole_artifact
				CHARACTER = scope:local_ruler
				OPINION = default_rival_opinion
			}
		}
	}
}

#Join war contract - joining the war
ep3_contract_event.0008 = {
	type = character_event
	title = ep3_contract_event.0008.t
	desc = ep3_contract_event.0008.desc
	theme = war
	#task_contract_taker, you
	left_portrait = {
		character = root
		animation = inspect_weapon
	}
	right_portrait = {
		character = scope:commander
		animation = personality_callous
	}
	#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 = {
		set_contract_scopes_effect = yes
		scope:task_contract_employer = {
			random_knight = {
				save_scope_as = commander
			}
		}
		scope:commander = {
			add_character_flag = need_military_outfit
		}
	}

	#take the contract and join the war
	option = {
		name = ep3_contract_event.0008.a
		highlight_portrait = scope:task_contract_employer
		scope:task_contract_war = {
			hidden_effect = { set_called_to = root }
			if = {
				limit = {
					is_attacker = scope:task_contract_employer
				}
				add_attacker = root
			}
			else = {
				add_defender = root
			}
		}
		custom_tooltip = join_war_contract.employer_military_strength
		custom_tooltip = join_war_contract.target_military_strength
		#AI should always complete the contract
		ai_chance = {
			base = 10
		}
	}
	#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
		}
	}
	after = {
		scope:commander = {
			remove_character_flag = need_military_outfit
		}
	}
}

#Reclaim Artifact contract - start event
ep3_contract_event.0009 = {
	type = character_event
	title = ep3_contract_event.0009.t
	desc = ep3_contract_event.0009.desc
	theme = intrigue
	#task_contract_taker, you
	left_portrait = {
		character = root
		animation = scheme
	}
	#character giving you the contract
	right_portrait = {
		character = scope:task_contract_employer
		animation = bribing
	}
	#character you have to steal from
	lower_right_portrait = {
		character = scope:task_contract_target
	}
	#artifact you have to steal
	artifact = {
        target = scope:task_contract_object
        position = lower_center_portrait
	}

	immediate = {
		set_contract_scopes_effect = yes
	}
	#take the contract and start scheme to steal the artifact
	option = {
		name = ep3_contract_event.0009.a
		custom_tooltip = ep3_contract_event.0009.open_start_stealing_back_artifact
		if = {
			limit = {
				is_ai = yes
			}
			begin_contract_scheme_with_agents_effect = {
				SCHEME_TYPE = steal_back_artifact
				TARGET_TYPE = target_character
				TARGET_SCOPE = scope:task_contract_target
				TASK_CONTRACT = scope:task_contract
				# Success.
				AGENT_1 = agent_thief
				AGENT_2 = agent_thief
				# Speed.
				AGENT_3 = agent_infiltrator
				AGENT_4 = agent_infiltrator
				# Secrecy.
				AGENT_5 = agent_lookout
			}
			scope:new_scheme ?= {
				set_variable = {
					name = target_artifact
					value = scope:task_contract_object
				}
			}
		}
		else = {
			open_interaction_window = {
				interaction = start_stealing_back_artifact
				actor = root
				recipient = scope:task_contract_target
			}
		}
		#AI should always complete the contract
		ai_chance = {
			base = 10
		}
	}
	#take the contract, but only unlock the steal artifact interaction
	option = {
		name = ep3_contract_event.0009.b
		#AI should always complete the contract
		ai_chance = {
			base = 0
		}
	}
}

#transport contract completion event - triggered whenever you have an active transport contract and pass through a contract location
ep3_contract_event.0011 = {
	type = character_event
	title = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_vip } }
				desc = ep3_contract_event.0011.t_vip
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_ward } }
				desc = ep3_contract_event.0011.t_child
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_explorer } }
				desc = ep3_contract_event.0011.t_explorer
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_artifact } }
				desc = ep3_contract_event.0011.t_artifact
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_gold } }
				desc = ep3_contract_event.0011.t_gold
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_animal } }
				desc = ep3_contract_event.0011.t_animal
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_construction_contract } }
				desc = ep3_contract_event.0011.t_construction
			}
		}
	}
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_vip } }
				desc = ep3_contract_event.0011.desc_vip
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_ward } }
				desc = {
					desc = ep3_contract_event.0011.desc_ward
					first_valid = {
						triggered_desc = {
							trigger = { scope:ward_too_old ?= yes }
							desc = ep3_contract_event.0011.desc_ward_too_old
						}
						triggered_desc = {
							trigger = { scope:ward_limit ?= yes }
							desc = ep3_contract_event.0011.desc_ward_limit
						}
						desc = ep3_contract_event.0011.desc_ward_accepted
					}
				}
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_explorer } }
				desc = {
					first_valid = {
						triggered_desc = {
							trigger = {
								scope:task_contract.var:travel_reason = {
									OR = {
										flag:capitals ?= this
										flag:grand_city ?= this
										flag:mausoleum_at_halicarnassus ?= this
										flag:lighthouse_of_alexandria ?= this
									}
								}
							}
							desc = ep3_contract_event.0011.desc_explorer_other
						}
						desc = ep3_contract_event.0011.desc_explorer_building
					}
				}
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_artifact } }
				desc = ep3_contract_event.0011.desc_artifact
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_gold } }
				desc = ep3_contract_event.0011.desc_gold
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_transport_animal } }
				desc = {
					first_valid = {
						triggered_desc = {
							trigger = {
								scope:task_contract.var:escorted_story ?= { story_type = story_cycle_pet_dog } 
								scope:hates_pets ?= yes
							}
							desc = ep3_contract_event.0011.desc_animal_dog_hate
						}
						triggered_desc = {
							trigger = { scope:task_contract.var:escorted_story ?= { story_type = story_cycle_pet_dog } }
							desc = ep3_contract_event.0011.desc_animal_dog_love
						}
						triggered_desc = {
							trigger = {
								scope:task_contract.var:escorted_story ?= { story_type = story_cycle_pet_cat }
								scope:hates_pets ?= yes
							}
							desc = ep3_contract_event.0011.desc_animal_cat_hate
						}
						triggered_desc = {
							trigger = { scope:task_contract.var:escorted_story ?= { story_type = story_cycle_pet_cat } }
							desc = ep3_contract_event.0011.desc_animal_cat_love
						}
					}
				}
			}
			triggered_desc = {
				trigger = { scope:task_contract = { has_task_contract_type = laamp_construction_contract } }
				desc = ep3_contract_event.0011.desc_construction
			}
		}
	}
	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 = {
		set_contract_scopes_effect = yes
		scope:task_contract = {
			switch = {
				trigger = has_task_contract_type
				laamp_transport_vip = {
					root.current_travel_plan = { remove_character = scope:task_contract_object }
					scope:task_contract_object = {
						remove_variable = blocked_from_leaving
						visit_court_of = scope:task_contract_target
					}
				}
				laamp_transport_ward = {
					root.current_travel_plan = { remove_character = scope:task_contract_object }
					if = {
						limit = {
							scope:task_contract_object = {
								is_adult = yes
							}
						}
						save_scope_value_as = {
							name = ward_too_old
							value = yes
						}
					}
					else_if = {
						limit = {
							scope:task_contract_target = {
								num_of_relation_ward > 1
							}
						}
						save_scope_value_as = {
							name = ward_limit
							value = yes
						}
					}
					else = {
						scope:task_contract_object = {
							if = {
								limit = {
									any_relation = {
										type = guardian
									}
								}
								random_relation = {
									type = guardian
									save_scope_as = old_guardian
								}
								remove_guardian_effect = {
									GUARDIAN = scope:old_guardian
									WARD = scope:task_contract_object
									RETURN_WARD = no
									HIDE_OPINION = no
								}
							}
							remove_variable = blocked_from_leaving
							visit_court_of = scope:task_contract_target
							set_relation_guardian = scope:task_contract_target
							save_scope_as = ward
							scope:task_contract_target = {
								save_scope_as = guardian
							}
							scope:task_contract_employer = {
								save_scope_as = ward_liege
							}
							trigger_event = { on_action = on_ward_arrive_at_guardian }	
						}
					}
					scope:task_contract_object = {
						progress_towards_friend_effect = {
							REASON = friend_random_fallback
							CHARACTER = root
							OPINION = default_friend_opinion
						}
					}
				}
				laamp_transport_explorer = {
					root.current_travel_plan = { remove_character = scope:task_contract_object }
					scope:task_contract_object = {
						remove_variable = blocked_from_leaving
						save_scope_as = task_contract_target
					}
				}
				laamp_transport_artifact = {
					scope:escorted_artifact = {
						set_owner = scope:task_contract_target
						set_variable = {
							name = ungiftable
						}
					}
				}
				laamp_transport_gold = {
					root = {
						pay_treasury_or_gold = {
							target = scope:task_contract_target
							value = scope:task_contract.var:escorted_gold
						}
					}
					scope:task_contract_employer = {
						if = {
							limit = {
								can_add_hook = {
									target = scope:task_contract_target
									type = indebted_hook
								}
							}
							add_hook = {
								target = scope:task_contract_target
								type = indebted_hook
							}
						}
					}
				}
				laamp_transport_animal = {
					#give them the whole story cycle for pets
					if = {
						limit = {
							scope:escorted_story = { story_type = story_cycle_pet_dog }
						}
						root = {
							transfer_dog_story_cycle_to_effect = {
								CHARACTER = scope:task_contract_target
								STORY = scope:escorted_story
							}
						}
					}
					else = {
						root = {
							transfer_cat_story_cycle_to_effect = {
								CHARACTER = scope:task_contract_target
								STORY = scope:escorted_story
							}
						}
						scope:escorted_story = {
							set_variable = {
								name = gifted_pet_story
								value = scope:task_contract_employer
							}
						}
					}
					scope:task_contract_target = {
						if = {
							limit = { #"What am I supposed to do with this??"
								OR = {
									has_personality_malicious_trigger = yes
									AND = {
										scope:escorted_story = { story_type = story_cycle_pet_cat }
										has_character_modifier = cat_story_allergy_modifier
									}
									AND = {
										scope:escorted_story = { story_type = story_cycle_pet_dog }
										faith = { religion_tag = islam_religion }
									}
								}
							}
							save_scope_value_as = {
								name = hates_pets
								value = yes
							}
							add_opinion = {
								target = scope:task_contract_employer
								modifier = dumped_animal_on_me_opinion
							}
						}
						else = {
							add_opinion = {
								target = scope:task_contract_employer
								modifier = grateful_opinion
								opinion = 15
							}
						}
					}
				}
				laamp_construction_contract = {
					scope:task_contract_destination = {
						county = {
							add_county_modifier = {
								modifier = massive_construction_efforts_modifier
								years = 5
							}
						}
					}
				}
			}
		}
	}

	option = {
		name = ep3_contract_event.0011.a
		trigger = {
			scope:task_contract = {
				has_task_contract_type = laamp_construction_contract
			}
		}
		add_character_modifier = ep3_construction_contract_modifier
		custom_tooltip = ep3_contract_event.0011.construction_invalidation
		show_as_tooltip = {
			custom_tooltip = ep3_contract_event.0011.construction_reward
			scope:task_contract = { complete_task_contract = success_critical }
		}
		if = {
			limit = {
				current_travel_plan ?= {
					is_travel_with_domicile = no
				}
			}
			current_travel_plan ?= {
				abort_travel_plan = yes
			}
			save_scope_value_as = {
				name = provision_to_gold_conversion_value
				value = {
					value = root.domicile.provision_cost_to_owner
					add = root.domicile.provisions
				}
			}
			if = {
				limit = {
					scope:provision_to_gold_conversion_value < 0
				}
				domicile = {
					change_provisions = {
						value = 0
						subtract = root.domicile.provisions
					}
				}
				add_gold = {
					value = scope:provision_to_gold_conversion_value
					multiply = 0.1
				}
			}
			else = {
				domicile = {
					change_provisions = root.domicile.provision_cost_to_owner
				}
			}
		}
		#AI should have a small chance to move the domicile
		ai_chance = {
			base = 2
		}
	}

	option = {
		name = ep3_contract_event.0011.b
		trigger = {
			scope:task_contract = {
				has_task_contract_type = laamp_transport_explorer
				task_contract_employer = {
					is_landed = no
				}
			}
		}
		add_courtier = scope:task_contract_object
		current_travel_plan = {
			add_companion = scope:task_contract_object
		}
		#AI should be willing to take more people, as it's probably their best bet to get them
		ai_chance = {
			base = 20
		}
	}

	option = {
		name = ep3_contract_event.0011.c
		trigger = {	scope:ward_limit ?= yes	}
		duel = {
			skill = diplomacy
			value = scope:task_contract_target.diplomacy
			10 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
				scope:task_contract_target = {
					random_relation = {
						type = ward
						save_scope_as = current_ward
					}
					remove_guardian_effect = {
						GUARDIAN = scope:task_contract_target
						WARD = scope:current_ward
						RETURN_WARD = yes
						HIDE_OPINION = yes
					}
				}
				scope:task_contract_object = {
					remove_variable = blocked_from_leaving
					visit_court_of = scope:task_contract.var:task_contract_target
					set_relation_guardian = scope:task_contract.var:task_contract_target
					save_scope_as = ward
					scope:task_contract.var:task_contract_target = {
						save_scope_as = guardian
					}
					scope:task_contract.var:task_contract_employer = {
						save_scope_as = ward_liege
					}
					trigger_event = { on_action = on_ward_arrive_at_guardian }	
				}
				save_scope_value_as = {
					name = ward_limit
					value = no
				}
			}
			10 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = 5
				}
				scope:task_contract_target = {
					add_opinion = {
						target = root
						modifier = insulted_opinion
						opinion = -20
					}
				}
			}
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
		}
	}

	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
				laamp_transport_vip = {
					if = {
						limit = {
							var:task_contract_object ?= {
								is_alive = no
							}
						}
						complete_task_contract = failure_standard
					}
					else_if = {
						limit = {
							time_since_contract_taken > 360
						}
						complete_task_contract = success_standard
					}
					else = {
						complete_task_contract = success_critical
					}
				}
				laamp_transport_artifact = {
					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
					}
				}
				laamp_transport_gold = {
					complete_task_contract = success_standard
				}
				laamp_transport_ward = {
					if = {
						limit = {
							OR = {
								scope:ward_limit ?= yes
								scope:ward_too_old ?= yes
							}
						}
						complete_task_contract = failure_standard
					}
					else = {
						complete_task_contract = success_standard
					}
				}
				laamp_transport_explorer = {
					if = {
						limit = {
							time_since_contract_taken > 360
						}
						complete_task_contract = success_standard
					}
					else = {
						complete_task_contract = success_critical
					}
				}
				laamp_transport_animal = {
					complete_task_contract = success_standard
				}
			}
		}
	}
}

#transport contract invalidated - triggered whenever a transport contract is invalidated for any reason
#on_invalidation has to specify scope:task_contract_invalidation_reason
ep3_contract_event.0012 = {
	type = letter_event
	opening = {
		triggered_desc = {
			trigger = {
				OR = {
					scope:task_contract_invalidation_reason = flag:escortee_dead
					scope:task_contract_invalidation_reason = flag:pet_dead
				}
			}
			desc = ep3_contract_event.0012.opening_angry
		}
		triggered_desc = {
			trigger = {
				OR = {
					scope:task_contract_invalidation_reason = flag:employer_dead
					scope:task_contract_invalidation_reason = flag:target_dead
					scope:task_contract_invalidation_reason = flag:prisoner_free
					scope:task_contract_invalidation_reason = flag:not_vassal
					scope:task_contract_invalidation_reason = flag:unlanded_employer_is_imprisoned
					scope:task_contract_invalidation_reason = flag:faction_disbanded
				}
			}
			desc = ep3_contract_event.0012.opening
		}
	}
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract_invalidation_reason = flag:employer_dead }
				desc = ep3_contract_event.0012.desc_employer_dead
			}
			triggered_desc = {
				trigger = { scope:task_contract_invalidation_reason = flag:target_dead	}
				desc = ep3_contract_event.0012.desc_target_dead
			}
			triggered_desc = {
				trigger = { scope:task_contract_invalidation_reason = flag:escortee_dead }
				desc = ep3_contract_event.0012.desc_escortee_dead
			}
			triggered_desc = {
				trigger = { scope:task_contract_invalidation_reason = flag:pet_dead }
				desc = ep3_contract_event.0012.desc_pet_dead
			}
			triggered_desc = {
				trigger = { scope:task_contract_invalidation_reason = flag:prisoner_free }
				desc = ep3_contract_event.0012.desc_prisoner_free
			}
			triggered_desc = {
				trigger = { scope:task_contract_invalidation_reason = flag:not_vassal }
				desc = ep3_contract_event.0012.desc_not_vassal
			}
			triggered_desc = {
				trigger = { scope:task_contract_invalidation_reason = flag:unlanded_employer_is_imprisoned }
				desc = ep3_contract_event.0012.desc_unlanded_employer_is_imprisoned
			}
			triggered_desc = {
				trigger = { scope:task_contract_invalidation_reason = flag:faction_disbanded }
				desc = ep3_contract_event.0012.desc_faction_disbanded
			}
		}
	}
	sender = scope:sender
	immediate = {
		if = {
			limit = {
				exists = current_travel_plan
				NOT = { exists = scope:travel_destination }
			}
			current_travel_plan.final_destination_province = {
				save_scope_as = travel_destination
			}
		}
		#For those with heirs
		if = {
			limit = { exists = scope:employer_heir }
			scope:employer_heir = { save_scope_as = sender }
		}
		#Or just the employer, straight up
		else = {
			scope:task_contract_employer = { save_scope_as = sender }
		}
		#Remove the treasure map
		if = {
			limit = {
				var:invalidated_task_contract_type = flag:laamp_treasure_map_contract
			}
			random_character_artifact = {
				limit = { has_variable = 1025_treasure_map }
				hidden_effect = { destroy_artifact = this }
			}
			#Remove the employer from your camp
			if = {
				limit = { 
					scope:task_contract_employer = { is_courtier_of = root }
				}
				remove_courtier_or_guest = scope:task_contract_employer
			}
			#Mysterious
			custom_tooltip = treasure_map_disappeared.tt
		}
		#stuff that would be nice to see in tooltip, but is already executed in on_invalidation
		show_as_tooltip = {
			if = {
				limit = {
					scope:task_contract_object ?= { is_alive = yes }
				}
				scope:task_contract_object = { return_to_court = yes }
			}
		}
		switch = {
			trigger = scope:task_contract_invalidation_reason
			#employer or target died, get gold compensation
			flag:employer_dead = { add_gold = task_contract_invalidated_gold_gain_value }
			flag:target_dead = { add_gold = task_contract_invalidated_gold_gain_value }
			#character or pet you were suppose to escort died
			flag:escortee_dead = {
				add_prestige = task_contract_failure_prestige_loss_full_value
				scope:task_contract_employer = {
					progress_towards_rival_effect = {
						REASON = rival_escortee_died
						CHARACTER = root
						OPINION = default_rival_opinion
					}
				}
			}
			flag:pet_dead = {
				add_prestige = task_contract_failure_prestige_loss_full_value
				scope:task_contract_employer = {
					progress_towards_rival_effect = {
						REASON = rival_escortee_died
						CHARACTER = root
						OPINION = default_rival_opinion
					}
				}
			}
			flag:prisoner_free = { add_gold = task_contract_invalidated_gold_gain_value }
			flag:unlanded_employer_is_imprisoned = {
				#Nothing for you. They're unlanded.
			}
			flag:not_vassal = {
				add_gold = task_contract_invalidated_gold_gain_value
			}
			flag:faction_disbanded = {
				add_gold = task_contract_invalidated_gold_gain_value
			}
		}
	}
	#Let's head home
	option = {
		name = {
			trigger = {
				OR = {
					scope:task_contract_invalidation_reason = flag:employer_dead
					scope:task_contract_invalidation_reason = flag:target_dead
					scope:task_contract_invalidation_reason = flag:prisoner_free
					scope:task_contract_invalidation_reason = flag:not_vassal
					scope:task_contract_invalidation_reason = flag:faction_disbanded
				}
			}
			text = ep3_contract_event.0012.a
		}
		name = {
			trigger = {
				OR = {
					scope:task_contract_invalidation_reason = flag:escortee_dead
					scope:task_contract_invalidation_reason = flag:pet_dead
					scope:task_contract_invalidation_reason = flag:unlanded_employer_is_imprisoned
				}
			}
			text = ep3_contract_event.0012.b
		}
		return_home = yes
		ai_chance = {
			base = 10
		}
	}
	#Keep going
	option = {
		name = ep3_contract_event.0012.c
		trigger = {	exists = scope:travel_destination }
		ai_chance = {
			base = 0
		}
	}
	after = {
		remove_variable = invalidated_task_contract_type
	}
}

#Join war contract success/failure = triggered when war ends in war_on_actions
ep3_contract_event.0013 = {
	type = letter_event
	sender = scope:task_contract_employer
	opening = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract_reward = flag:success_standard }
				desc = ep3_contract_event.0013.opening_success
			}
			triggered_desc = {
				trigger = { scope:task_contract_reward = flag:failure_standard }
				desc = ep3_contract_event.0013.opening_failure
			}
		}
	}
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:task_contract_reward = flag:success_standard }
				desc = ep3_contract_event.0013.desc_success
			}
			triggered_desc = {
				trigger = { scope:task_contract_reward = flag:failure_standard }
				desc = ep3_contract_event.0013.desc_failure
			}
		}
	}

	immediate = {
		#save scopes for ep3_hire_laamp_mercs_payment_value scripted value to work
		save_scope_as = laamp_temp
		scope:task_contract_employer = {
			save_scope_as = employer
		}
		save_scope_value_as = {
			name = war_contribution_value
			value = "scope:war.war_contribution(scope:laamp_temp)"
		}
	}
	option = {
		name = ep3_contract_event.0013.a
		trigger = { scope:task_contract_reward = flag:success_standard }
		scope:task_contract_employer = {
			pay_treasury_or_gold = {
				target = scope:task_contract_taker
				value = ep3_hire_laamp_mercs_payment_value
			}
		}
		scope:laamp_temp = {
			if = {
				limit = {
					faith != scope:task_contract.var:task_contract_target.faith
				}
				add_piety = {
					value = "scope:war.war_contribution(scope:laamp_temp)"
					divide = 100
					min = minor_piety_gain
					max = massive_piety_gain
				} 
			}
		}
		ai_chance = {
			base = 1
		}
	}
	option = {
		name = ep3_contract_event.0013.b
		trigger = { scope:task_contract_reward = flag:failure_standard }

		ai_chance = {
			base = 1
		}
	}
}

#Protect Heritage - start event to help getting a title revocation rights vassal contract
ep3_contract_event.0020 = {
	type = character_event
	title = ep3_contract_event.0020.t
	desc = ep3_contract_event.0020.desc
	theme = intrigue
	#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 = {
		set_contract_scopes_effect = yes
	}

	#use hook
	option = {
		name = ep3_contract_event.0020.a
		trigger = {
			has_hook = scope:task_contract_target
		}
		show_as_unavailable = {
			NOT = { has_hook = scope:task_contract_target }
		}
		reason = hook
		remove_hook  =  { target = scope:task_contract_target }
		scope:task_contract_employer = {
			vassal_contract_set_obligation_level = {
				type = title_revocation_rights
				level = 1
			}
		}
		scope:task_contract = {
			complete_task_contract = success_standard
		}
	}
	#intrigue
	option = {
		name = ep3_contract_event.0020.b
		trigger = {
			OR = {
				has_realm_law = camp_purpose_wanderers
				has_realm_law = camp_purpose_explorers
			}
		}
		reason = purpose_explorers_and_wanderers
		begin_contract_scheme_with_agents_effect = {
			SCHEME_TYPE = protect_minority_vassal_contract_intrigue_scheme
			TARGET_TYPE = target_character
			TARGET_SCOPE = scope:task_contract_target
			TASK_CONTRACT = scope:task_contract
			# Success.
			AGENT_1 = agent_thug
			AGENT_2 = agent_shill
			AGENT_3 = agent_wrangler
			# Speed.
			AGENT_4 = agent_infiltrator
			AGENT_5 = agent_socialite
		}
		scope:task_contract.scheme = {
			save_scope_as = scheme
		}
		trigger_event = laamp_extra_contract_schemes.0001
		custom_tooltip = ep3_contract_event.0020.agents_intrigue
		custom_tooltip = ep3_contract_event.0020.tt
	}
	#martial
	option = {
		name = ep3_contract_event.0020.c
		trigger = {
			OR = {
				has_realm_law = camp_purpose_brigands
				has_realm_law = camp_purpose_mercenaries
			}
		}
		reason = purpose_brigands_and_mercenaries
		begin_contract_scheme_with_agents_effect = {
			SCHEME_TYPE = protect_minority_vassal_contract_martial_scheme
			TARGET_TYPE = target_character
			TARGET_SCOPE = scope:task_contract_target
			TASK_CONTRACT = scope:task_contract
			# Success.
			AGENT_1 = agent_muscle
			AGENT_2 = agent_thug
			AGENT_3 = agent_bodyguard
			# Speed.
			AGENT_4 = agent_footpad
			AGENT_5 = agent_tracker
		}
		scope:task_contract.scheme = {
			save_scope_as = scheme
		}
		trigger_event = laamp_extra_contract_schemes.0001
		custom_tooltip = ep3_contract_event.0020.agents_martial
		custom_tooltip = ep3_contract_event.0020.tt
	}
	#learning
	option = {
		name = ep3_contract_event.0020.d
		trigger = {
			OR = {
				has_realm_law = camp_purpose_scholars
				has_realm_law = camp_purpose_legitimists
			}
		}
		reason = purpose_legitimists_and_scholars
		begin_contract_scheme_with_agents_effect = {
			SCHEME_TYPE = protect_minority_vassal_contract_learning_scheme
			TARGET_TYPE = target_character
			TARGET_SCOPE = scope:task_contract_target
			TASK_CONTRACT = scope:task_contract
			# Success.
			AGENT_1 = agent_bailiff
			AGENT_2 = agent_scribe
			AGENT_3 = agent_diplomat
			# Speed.
			AGENT_4 = agent_theologian
			AGENT_5 = agent_justiciar_speed
		}
		scope:task_contract.scheme = {
			save_scope_as = scheme
		}
		trigger_event = laamp_extra_contract_schemes.0001
		custom_tooltip = ep3_contract_event.0020.agents_learning
		custom_tooltip = ep3_contract_event.0020.tt
	}
	#diplomacy - always
	option = {
		name = ep3_contract_event.0020.e
		begin_contract_scheme_with_agents_effect = {
			SCHEME_TYPE = protect_minority_vassal_contract_diplomacy_scheme
			TARGET_TYPE = target_character
			TARGET_SCOPE = scope:task_contract_target
			TASK_CONTRACT = scope:task_contract
			# Success.
			AGENT_1 = agent_diplomat
			AGENT_2 = agent_shill
			AGENT_3 = agent_scribe
			# Speed.
			AGENT_4 = agent_socialite
			AGENT_5 = agent_herald
		}
		scope:task_contract.scheme = {
			save_scope_as = scheme
		}
		trigger_event = laamp_extra_contract_schemes.0001
		custom_tooltip = ep3_contract_event.0020.agents_diplomacy
		custom_tooltip = ep3_contract_event.0020.tt
	}
}

#Reward the Faithful - start event to help getting a religious rights vassal contract
ep3_contract_event.0021 = {
	type = character_event
	title = ep3_contract_event.0021.t
	desc = ep3_contract_event.0021.desc
	theme = intrigue
	#contract_taker, you
	left_portrait = {
		character = root
		animation = personality_compassionate
	}
	#character giving you the contract
	right_portrait = {
		character = scope:task_contract_employer
	}
	#character you have to fight in a war
	lower_right_portrait = {
		character = scope:task_contract_target
	}

	immediate = {
		set_contract_scopes_effect = yes
	}

	#use hook
	option = {
		name = ep3_contract_event.0021.a
		trigger = {
			has_hook = scope:task_contract_target
		}
		show_as_unavailable = {
			NOT = { has_hook = scope:task_contract_target }
		}
		reason = hook
		remove_hook  =  { target = scope:task_contract_target }
		scope:task_contract_employer = {
			vassal_contract_set_obligation_level = {
				type = religious_rights
				level = 1
			}
		}
		scope:task_contract = {
			complete_task_contract = success_standard
		}
	}
	#intrigue
	option = {
		name = ep3_contract_event.0021.b
		trigger = {
			OR = {
				has_realm_law = camp_purpose_wanderers
				has_realm_law = camp_purpose_explorers
			}
		}
		reason = purpose_explorers_and_wanderers
		begin_contract_scheme_with_agents_effect = {
			SCHEME_TYPE = protect_minority_vassal_contract_intrigue_scheme
			TARGET_TYPE = target_character
			TARGET_SCOPE = scope:task_contract_target
			TASK_CONTRACT = scope:task_contract
			# Success.
			AGENT_1 = agent_thug
			AGENT_2 = agent_shill
			AGENT_3 = agent_wrangler
			# Speed.
			AGENT_4 = agent_infiltrator
			AGENT_5 = agent_socialite
		}
		scope:task_contract.scheme = {
			save_scope_as = scheme
		}
		trigger_event = laamp_extra_contract_schemes.0001
		custom_tooltip = ep3_contract_event.0021.agents_intrigue
		custom_tooltip = ep3_contract_event.0021.tt
	}
	#martial
	option = {
		name = ep3_contract_event.0021.c
		trigger = {
			OR = {
				has_realm_law = camp_purpose_brigands
				has_realm_law = camp_purpose_mercenaries
			}
		}
		reason = purpose_brigands_and_mercenaries
		begin_contract_scheme_with_agents_effect = {
			SCHEME_TYPE = protect_minority_vassal_contract_martial_scheme
			TARGET_TYPE = target_character
			TARGET_SCOPE = scope:task_contract_target
			TASK_CONTRACT = scope:task_contract
			# Success.
			AGENT_1 = agent_muscle
			AGENT_2 = agent_thug
			AGENT_3 = agent_bodyguard
			# Speed.
			AGENT_4 = agent_footpad
			AGENT_5 = agent_tracker
		}
		scope:task_contract.scheme = {
			save_scope_as = scheme
		}
		trigger_event = laamp_extra_contract_schemes.0001
		custom_tooltip = ep3_contract_event.0021.agents_martial
		custom_tooltip = ep3_contract_event.0021.tt
	}
	#learning
	option = {
		name = ep3_contract_event.0021.d
		trigger = {
			OR = {
				has_realm_law = camp_purpose_scholars
				has_realm_law = camp_purpose_legitimists
			}
		}
		reason = purpose_legitimists_and_scholars
		begin_contract_scheme_with_agents_effect = {
			SCHEME_TYPE = protect_minority_vassal_contract_learning_scheme
			TARGET_TYPE = target_character
			TARGET_SCOPE = scope:task_contract_target
			TASK_CONTRACT = scope:task_contract
			# Success.
			AGENT_1 = agent_bailiff
			AGENT_2 = agent_scribe
			AGENT_3 = agent_diplomat
			# Speed.
			AGENT_4 = agent_theologian
			AGENT_5 = agent_justiciar_speed
		}
		scope:task_contract.scheme = {
			save_scope_as = scheme
		}
		trigger_event = laamp_extra_contract_schemes.0001
		custom_tooltip = ep3_contract_event.0021.agents_learning
		custom_tooltip = ep3_contract_event.0021.tt
	}
	#diplomacy - always
	option = {
		name = ep3_contract_event.0021.e
		begin_contract_scheme_with_agents_effect = {
			SCHEME_TYPE = protect_minority_vassal_contract_diplomacy_scheme
			TARGET_TYPE = target_character
			TARGET_SCOPE = scope:task_contract_target
			TASK_CONTRACT = scope:task_contract
			# Success.
			AGENT_1 = agent_diplomat
			AGENT_2 = agent_shill
			AGENT_3 = agent_scribe
			# Speed.
			AGENT_4 = agent_socialite
			AGENT_5 = agent_herald
		}
		scope:task_contract.scheme = {
			save_scope_as = scheme
		}
		trigger_event = laamp_extra_contract_schemes.0001
		custom_tooltip = ep3_contract_event.0021.agents_diplomacy
		custom_tooltip = ep3_contract_event.0021.tt
	}
}

#Contract to scheme a Prison Break - starting event
ep3_contract_event.0030 = {
	type = character_event
	title = ep3_contract_event.0030.t
	desc = ep3_contract_event.0030.desc
	theme = intrigue
	#contract_taker, you
	left_portrait = {
		character = root
		animation = eyeroll
	}
	#contract_object, character to rescue from prison
	right_portrait = {
		character = scope:task_contract_employer
		animation = bribing
	}
	#character giving you the contract
	lower_right_portrait = {
		character = scope:task_contract_object
	}
	#the imprisoner
	lower_left_portrait = {
		character = scope:task_contract_target
	}

	immediate = {
		set_contract_scopes_effect = yes
	}

	#use hook
	option = {
		name = ep3_contract_event.0030.a
		trigger = {
			has_hook = scope:task_contract_target
		}
		show_as_unavailable = {
			NOT = { has_hook = scope:task_contract_target }
		}
		reason = hook
		remove_hook = { target = scope:task_contract_target }
		scope:task_contract = {
			complete_task_contract = success_standard
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 100
		}
	}
	#prison break
	option = {
		name = ep3_contract_event.0030.b
		begin_contract_scheme_with_agents_effect = {
			SCHEME_TYPE = laamp_prison_break_scheme
			TARGET_TYPE = target_character
			TARGET_SCOPE = scope:task_contract_target
			TASK_CONTRACT = scope:task_contract
			# Success.
			AGENT_1 = agent_thief
			AGENT_2 = agent_thug
			# Speed.
			AGENT_3 = agent_infiltrator
			# Secrecy.
			AGENT_4 = agent_lookout
			AGENT_5 = agent_decoy
		}
		scope:task_contract.scheme = {
			save_scope_as = scheme
		}
		custom_tooltip = ep3_contract_event.0030.agents
		trigger_event = laamp_extra_contract_schemes.0011
		#AI should always try to complete the contract
		ai_chance = {
			base = 1
		}
	}
	#prison break
	option = {
		name = ep3_contract_event.0030.c
		custom_tooltip = ep3_contract_event.0030.c.tt
		reverse_add_opinion = {
			modifier = angry_opinion
			opinion = -10
			target = scope:task_contract_employer
		}
		
		#AI should always try to complete the contract
		ai_chance = {
			base = 0
		}
	}
}

#Are we actually traveling towards the treasure now?
scripted_trigger 0040_traveling_towards_treasure_with_domicile_trigger = {
	has_variable = ep3_laamp_decision_1000_is_excavating
	current_travel_plan ?= {
		is_travel_with_domicile = yes
		OR = {
			next_destination_province = scope:task_contract_destination
			final_destination_province = scope:task_contract_destination
		}
	}
}

#Your Treasure Map broke!
ep3_contract_event.0040 = {
	type = character_event
	title = ep3_contract_event.0040.t
	desc = ep3_contract_event.0040.desc
	theme = travel
	left_portrait = {
		character = root
		animation = shock
	}
	immediate = {
		#Save scopes
		random_character_task_contract = {
			task_contract_type = laamp_treasure_map_contract
			save_scope_as = task_contract
		}
		scope:task_contract = {
			task_contract_employer = { save_scope_as = task_contract_employer }
			var:contract_treasure_location = { save_scope_as = treasure_map_contract_destination }
		}
		#Remove treasure map
		destroy_artifact = scope:decayed_artifact
		#Don't need you anymore, go away
		#move_to_pool = scope:task_contract_employer
		scope:task_contract_employer = { select_and_move_to_pool_effect = yes }
	}
	#Back home we go
	option = {
		name = {
			trigger = { exists = current_travel_plan }
			text = ep3_contract_event.0040.a_travel
		}
		name = ep3_contract_event.0040.a
		#Haven't paid up?
		if = {
			limit = { 0040_traveling_towards_treasure_with_domicile_trigger = no }
			#Then back home we go
			return_home = yes
		}
		else = {
			#Keep doing what you're doing
		}
		ai_chance = {
			base = 10
		}
	}
	#Otherwise possibly stay in place
	option = {
		name = ep3_contract_event.0040.b
		trigger = { 0040_traveling_towards_treasure_with_domicile_trigger = yes }
		#Show 'em what happened
		show_as_tooltip = {
			domicile ?= { move_domicile = root.location }
		}
		#No point in traveling without the map
		current_travel_plan ?= { abort_travel_plan = yes }
		ai_chance = {
			base = 2
		}
	}
}

#Employer died or became incapable while in your camp
ep3_contract_event.0041 = {
	type = character_event
	title = {
		first_valid = {
			#Dead
			triggered_desc = {
				trigger = { 
					scope:task_contract_employer = { is_alive = no } 
				}
				desc = ep3_contract_event.0041.t_dead
			}
			#Incapable
			triggered_desc = {
				trigger = { 
					scope:task_contract_employer = { has_trait = incapable } 
				}
				desc = ep3_contract_event.0041.t_incapable
			}
		}
	}
	desc = {
		first_valid = {
			#Dead
			triggered_desc = {
				trigger = { 
					scope:task_contract_employer = { is_alive = no } 
				}
				desc = ep3_contract_event.0041.desc_dead
			}
			#Incapable
			triggered_desc = {
				trigger = { 
					scope:task_contract_employer = { has_trait = incapable } 
				}
				desc = ep3_contract_event.0041.desc_incapable
			}
		}
		desc = ep3_contract_event.0041.desc_outro
	}
	theme = travel
	override_background = { reference = ep3_relaxing_tent }
	left_portrait = {
		character = root
		animation = worry
	}
	right_portrait = {
		character = scope:task_contract_employer
		#Dead
		triggered_animation = {
			trigger = { is_alive = no }
			animation = dead
		}
		#Incapable
		animation = shiver
	}
	immediate = {
		#Scopes are carried over from when the event triggers in the invalidation block of the laamp_treasure_map_contract
		scope:task_contract_destination = { save_scope_as = travel_destination }
		#Wait, what just happened?
		scope:task_contract_employer = {
			if = {
				limit = { is_alive = no }
				#Repurposing old loc strings...
				save_scope_as = target
				custom_tooltip = seize_realm_target_died_tt
			}
			else = { custom_tooltip = treasure_map_employer_is_incapable.tt }
		}
		#Remove the treasure map
		random_character_artifact = {
			limit = { has_variable = 1025_treasure_map }
			save_scope_as = 0041_treasure_map
			hidden_effect = { destroy_artifact = this }
		}
		#Very mysterious
		custom_tooltip = treasure_map_disappeared.tt
		#Mention that it invalidated
		custom_tooltip = contract_invalidated_desc
	}
	#Staying. Here.
	option = {
		name = ep3_contract_event.0041.a
		flavor = {
			first_valid = {
				triggered_desc = {
					trigger = {
						scope:task_contract_employer = { is_alive = no } 
					}
					desc = ep3_contract_event.0041.a.flavor_dead
				}
				triggered_desc = {
					trigger = { 
						scope:task_contract_employer = { has_trait = incapable } 
					}
					desc = ep3_contract_event.0041.a.flavor_incapable
				}
			}
		}
		#No point in traveling without the map
		return_home = yes
	}
	#Already paid for my domicile to travel. We're continuing!
	option = {
		name = travel_danger_events.1011.c
		trigger = { 0040_traveling_towards_treasure_with_domicile_trigger = yes }
	}
	after = { remove_variable ?= ep3_laamp_decision_1000_is_excavating }
}

scripted_trigger 0045_artifact_will_be_reforged_trigger = {
	OR = {
		#Variables
		has_variable = ascalon
		has_variable = staff_kakusandha
		has_variable = zomorrodnegar
		has_variable = aruval
		has_variable = sword_cid
		has_variable = sword_of_muhammad
		has_variable = mmaagha_kamalu
		has_variable = sword_attila
		has_variable = iron_crown
		has_variable = crown_of_justinian
		has_variable = angelica_ring
		#Types
		artifact_type = scepter_pedestal
		artifact_type = brooch_pedestal
		artifact_type = necklace_pedestal
		artifact_type = pedestal
		artifact_type = sculpture
		artifact_type = goblet
		artifact_type = jug
		artifact_type = urn
	}
}

#You have accepted the Treasure Map contract - the employer tags along - starting event
ep3_contract_event.0043 = {
	type = character_event
	title = ep3_contract_event.0043.t
	desc = ep3_contract_event.0043.desc
	theme = travel
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = { 
				has_trait = gallowsbait
				has_trait = greedy
			}
			animation = personality_dishonorable
		}
		animation = personality_rational
	}
	right_portrait = {
		character = scope:task_contract_employer
		animation = ecstasy
	}
	artifact = {
		trigger = { exists = scope:0043_treasure_map }
		target = scope:0043_treasure_map
		position = lower_center_portrait
	}
	immediate = {
		#Save scopes
		random_character_task_contract = {
			task_contract_type = laamp_treasure_map_contract
			save_scope_as = task_contract
		}
		scope:task_contract.task_contract_employer = { save_scope_as = task_contract_employer }
		show_as_tooltip = { add_courtier = scope:task_contract_employer }
		scope:task_contract_employer = {
			reverse_add_opinion = {
		 		target = root
		 		modifier = grateful_opinion
		 		opinion = 25
		 	}
		}
		#This should always exist
		random_character_artifact = {
			limit = { has_variable = 1025_treasure_map }
			save_scope_as = 0043_treasure_map
		}
	}
	#Do it now - open Decisions screen
	option = {
		name = ep3_contract_event.0043.a
		custom_tooltip = ep3_contract_event.0043.a.tt
		#Decisions!!
		decision:treasure_map_contract_decision = {
			open_view_data = {
				view = decision_detail
				player = root
			}
		}
	}
	#Yeah, yeah, I'll get to it...
	option = {
		name = ep3_contract_event.0043.b
	}
}

#Pre-filter because on_arrival_event doesn't respect event triggers :scree:
ep3_contract_event.0044 = {
	hidden = yes 

	immediate = {
		if = {
			limit = {
				has_variable = ep3_laamp_decision_1000_is_excavating
				any_character_task_contract = { task_contract_type = laamp_treasure_map_contract }
			}
			trigger_event = ep3_contract_event.0045
		}
		else = {
			#Nothing. Zilch. Zip. Nada.
		}
	}
}

#You find the Treasure. Do you keep it?
ep3_contract_event.0045 = {
	type = character_event
	title = ep3_contract_event.0045.t
	desc = {
		first_valid = {
			#Historical artifact
			triggered_desc = {
				trigger = { exists = scope:treasure_artifact_historical }
				desc = ep3_contract_event.0045.desc_artifact_historical
			}
			#jewelry
			triggered_desc = {
				trigger = { exists = scope:treasure_artifact_jewelry }
				desc = ep3_contract_event.0045.desc_artifact_jewelry
			}
			#Great amount of gold
			triggered_desc = {
				trigger = { exists = scope:treasure_gold_great }
				desc = ep3_contract_event.0045.desc_gold_great
			}
			#Mediocre amount of gold
			triggered_desc = {
				trigger = { exists = scope:treasure_gold_mediocre }
				desc = ep3_contract_event.0045.desc_gold_mediocre
			}
			#Poor amount of gold
			triggered_desc = {
				trigger = { exists = scope:treasure_gold_poor }
				desc = ep3_contract_event.0045.desc_gold_poor
			}
			#Nice view - oasis
			triggered_desc = {
				trigger = { 
					exists = scope:treasure_riches_in_scenery
					exists = scope:is_dry_region
				}
				desc = ep3_contract_event.0045.desc_riches_in_scenery_dry
			}
			#Nice view - spring
			triggered_desc = {
				trigger = { 
					exists = scope:treasure_riches_in_scenery
					NOT = { exists = scope:is_dry_region }
				}
				desc = ep3_contract_event.0045.desc_riches_in_scenery
			}
			#Fallback
			desc = ep3_contract_event.0045.desc_pillaged
		}
	}
	theme = landless_adventurer
	#Literally anything else but that adventurer tent
	override_background = { reference = terrain }
	#The treasure of beautiful nature
	override_background = {
		trigger = {
			exists = scope:treasure_riches_in_scenery
			NOT = { exists = scope:is_dry_region }
		}
		reference = ce1_legendary_spring 
	}
	#The desert version
	override_background = {
		trigger = {
			exists = scope:treasure_riches_in_scenery
			exists = scope:is_dry_region
		}
		reference = ce1_legendary_oasis 
	}
	#A cave!
	override_background = {
		trigger = {
			OR = {
				exists = scope:treasure_gold_great
				exists = scope:treasure_gold_mediocre
				exists = scope:treasure_gold_poor
			}
		}
		reference = fp3_cave
	}
	left_portrait = {
		character = root
		#Nice view
		triggered_animation = {
			trigger = { exists = scope:treasure_riches_in_scenery }
			animation = shock
		}
		#Poor amount of gold
		triggered_animation = {
			trigger = {
				has_trait = greedy
				exists = scope:treasure_gold_poor
			}
			animation = personality_cynical
		}
		triggered_animation = {
			trigger = { exists = scope:treasure_pillaged }
			animation = disapproval
		}
		triggered_animation = {
			trigger = { has_trait = gallowsbait }
			animation = personality_dishonorable
		}
		animation = thinking
	}
	artifact = {
		trigger = { exists = scope:0045_display_artifact }
		target = scope:0045_display_artifact
		position = lower_center_portrait
	}
	trigger = {
		has_variable = ep3_laamp_decision_1000_is_excavating
		any_character_task_contract = { task_contract_type = laamp_treasure_map_contract }
	}
	immediate = {
		#Save scopes
		random_character_task_contract = {
			task_contract_type = laamp_treasure_map_contract
			save_scope_as = task_contract
		}
		scope:task_contract.task_contract_employer = { save_scope_as = task_contract_employer }
		scope:task_contract.var:contract_treasure_location = { save_scope_as = excavation_location }
		#This should always exist
		random_character_artifact = {
			limit = { has_variable = 1025_treasure_map }
			save_scope_as = 0045_treasure_map
		}
		#What did we find?
		random_list = {
			#Historical artifact
			1 = {
				trigger = { is_ai = no }
				#What artifact?
				hidden_effect_new_object = { 
					generate_historical_artifact_based_on_location_effect = { LOCATION = scope:excavation_location }
					scope:newly_created_artifact = { save_scope_as = treasure_artifact_historical }
				}
				create_character_memory = { type = treasure_map_memory }
				scope:new_memory ?= {
					set_variable = {
						name = treasure_map_historical_artifact
						value = scope:treasure_artifact_historical
					}
					set_variable = {
						name = treasure_map_historical_artifact_location
						value = scope:excavation_location
					}
					if = {
						limit = { 
							exists = var:treasure_map_historical_artifact
							exists = var:treasure_map_historical_artifact_location 
						}
						#To prevent 'unused except in loc' errors :catto:
					}
				}
				#Note that it has a historical artifact, for the Contract Success Reward
				scope:task_contract = {
					set_variable = {
						name = has_unique_historical_artifact
						value = scope:treasure_artifact_historical
					}
				}
			}
			#Jewelry
			5 = {
				#Generate jewelry
				hidden_effect_new_object = {
					random_pool_character = {
						province = root.location
						limit = { is_available_adult = yes }
						save_scope_as = 0045_smith
					}
					if = {
						limit = {
							NOT = { exists = scope:0045_smith }
						}
						create_character = {
							template = generic_peasant_character
							location = root.location
							dynasty = none
							culture = root.location.culture
							faith = root.location.faith
							save_scope_as = 0045_smith
						}
					}
					random_list = {
						10 = { set_artifact_rarity_illustrious = yes }
						20 = { set_artifact_rarity_famed = yes }
						40 = { set_artifact_rarity_masterwork = yes }
					}
					random_list = {
						50 = {
							create_artifact_brooch_effect = {
								OWNER = scope:0045_smith
								SMITH = scope:0045_smith
							}
						}
						50 = {
						 	create_artifact_ring_effect = {
								OWNER = scope:0045_smith
								SMITH = scope:0045_smith
							}
						}
						50 = {
							create_artifact_necklace_effect = {
								OWNER = scope:0045_smith
								SMITH = scope:0045_smith
							}
						}
					}
				 	#Finalization
					scope:newly_created_artifact ?= {
						add_scaled_artifact_modifier_prestige_effect = yes
						#Don't need no notification about this
						set_variable = {
							name = suppress_artifact_notifications
							value = yes
							days = 2
						}
						save_scope_as = treasure_artifact_jewelry
						set_owner = root
					}
				}
				#Note that it is jewelry, for the Contract Success Reward
				scope:task_contract = {
					set_variable = {
						name = has_jewelry_artifact
						value = scope:treasure_artifact_jewelry
					}
				}
			}
			#Great amount of gold
			20 = {
				save_scope_as = treasure_gold_great
				save_scope_value_as = {
					name = 0045_gold_gained
					value = {
						value = major_gold_laamps_value
						multiply = 2
					}
				}
				#Note that it is Great, for the Contract Success Reward
				scope:task_contract = {
					set_variable = {
						name = treasure_gold_great
						value = scope:0045_gold_gained
					}
				}
			}
			#Mediocre amount of gold
			20 = {
				save_scope_as = treasure_gold_mediocre
				save_scope_value_as = {
					name = 0045_gold_gained
					value = major_gold_laamps_value
				}
				#Note that it is Mediocre, for the Contract Success Reward
				scope:task_contract = {
					set_variable = {
						name = treasure_gold_mediocre
						value = scope:0045_gold_gained
					}
				}
			}
			#Poor amount of gold 
			30 = {
				save_scope_as = treasure_gold_poor
				save_scope_value_as = {
					name = 0045_gold_gained
					value = {
						value = medium_gold_laamps_value
						divide = 2
					}
				}
				#Note that it is Poor, for the Contract Success Reward
				scope:task_contract = {
					set_variable = {
						name = treasure_gold_poor
						value = scope:0045_gold_gained
					}
				}
			}
			#Nice view
			30 = { 
				trigger = {
					NOT = { has_character_modifier = divine_springs_modifier }
				}
				#Pretty divine, innit
				if = {
					limit = {
						has_trait = pilgrim
						has_trait_xp = {
							trait = pilgrim
							value < 100
						}
					}
					add_trait_xp = {
						trait = pilgrim
						value = {
							integer_range = {
							    min = small_lifestyle_random_xp_mid
							    max = small_lifestyle_random_xp_high
							}
						}
					}
				}
				else = {
					stress_impact = { 
						base = medium_stress_impact_loss
						zealous = minor_stress_impact_loss
					}
				}
				save_scope_as = treasure_riches_in_scenery
				create_character_memory = { type = treasure_map_memory }
				scope:new_memory ?= {
					set_variable = {
						name = treasure_map_divine_scenery
						value = scope:excavation_location
					}
					if = {
						limit = { exists = var:treasure_map_divine_scenery }
						#To prevent 'unused except in loc' errors :catto:
					}
				}
				#Note that it is scenic, for the Contract Success Reward
				scope:task_contract = {
					set_variable = {
						name = has_scenic_riches
						value = flag:yes
					}
				}
			}
			#Someone beat you to it
			20 = {
				save_scope_as = treasure_pillaged
				save_scope_value_as = {
					name = 0045_gold_gained
					value = minor_gold_laamps_value
				}
				#Note that it is Pillaged, for the Contract Success Reward
				scope:task_contract = {
					set_variable = {
						name = treasure_pillaged
						value = scope:0045_gold_gained
					}
				}
			}
		}
		#Oasis, not spring
		if = {
			limit = {
				location = {
					OR = {
						terrain = desert
						terrain = desert_mountains
						terrain = drylands
					}
				}
			}
			save_scope_as = is_dry_region
		}
		#Display the artifact
		scope:treasure_artifact_historical ?= { save_scope_as = 0045_display_artifact }
		scope:treasure_artifact_jewelry ?= { save_scope_as = 0045_display_artifact }
	}
	#Let Employer know
	option = {
		name = {
			text = {
				first_valid = {
					#Historical Artifact
					triggered_desc = {
						trigger = { exists = scope:treasure_artifact_historical }
						desc = ep3_contract_event.0045.a_artifact_historical
					}
					#Alright
					triggered_desc = {
						trigger = {
							OR = {
								exists = scope:treasure_artifact_jewelry
								exists = scope:treasure_gold_great
								exists = scope:treasure_gold_mediocre
								exists = scope:treasure_riches_in_scenery
							}
						}
						desc = ep3_contract_event.0045.a
					}
					#Meh
					triggered_desc = {
						trigger = {
							OR = {
								exists = scope:treasure_gold_poor
								exists = scope:treasure_pillaged
							}
						}
						desc = ep3_contract_event.0045.a_pillaged
					}
				}
			}
		}
		#We don't really care if the map breaks at this point
		scope:task_contract = { set_variable = 0045_used_map }
		#Trigger the concluding event
		trigger_event = ep3_contract_event.0050
		#You're doing the right thing
		stress_impact = {
			base = minor_stress_impact_loss
			honest = medium_stress_impact_loss
			greedy = minor_stress_impact_gain
		}
	}
	#Keep it for yourself
	option = {
		name = {
			text = {
				first_valid = {
					#Historical Artifact
					triggered_desc = {
						trigger = { exists = scope:treasure_artifact_historical }
						desc = ep3_contract_event.0045.b_artifact_historical
					}
					#Alright
					triggered_desc = {
						trigger = {
							OR = {
								exists = scope:treasure_artifact_jewelry
								exists = scope:treasure_gold_great
								exists = scope:treasure_gold_mediocre
							}
						}
						desc = ep3_contract_event.0045.b
					}
					#Meh
					triggered_desc = {
						trigger = {
							OR = {
								exists = scope:treasure_gold_poor
								exists = scope:treasure_pillaged
							}
						}
						desc = ep3_contract_event.0045.b_pillaged
					}
				}
			}
		}
		#... just... doesn't make sense
		trigger = {
			NOT = { exists = scope:treasure_riches_in_scenery }
		}
		flavor = {
			first_valid = {
				triggered_desc = {
					trigger = {
						scope:treasure_artifact_historical ?= { 0045_artifact_will_be_reforged_trigger = yes }
					}
					desc = ep3_contract_event.0045.b.flavor_reforged
				}
				desc = ep3_contract_event.0045.b.flavor
			}
		}
		#Historical artifact: Change it to something useful.
		if = {
			limit = { exists = scope:treasure_artifact_historical }
			scope:treasure_artifact_historical = {
				if = {
					limit = {
						OR = {
							has_variable = ascalon
							has_variable = staff_kakusandha
							has_variable = zomorrodnegar
							has_variable = aruval
							has_variable = sword_cid
							has_variable = sword_of_muhammad
							has_variable = mmaagha_kamalu
							has_variable = sword_attila
							artifact_type = scepter_pedestal
						}
					}
					reforge_artifact = { type = regalia }
				}
				else_if = {
					limit = { 
						OR = {
							has_variable = iron_crown
							has_variable = crown_of_justinian
						}
					}
					reforge_artifact = { type = helmet }			
				}
				else_if = {
					limit = { has_variable = angelica_ring }
					reforge_artifact = { type = ring }
				}
				else_if = {
					limit = { artifact_type = brooch_pedestal }
					reforge_artifact = { type = brooch }
				}
				else_if = {
					limit = { artifact_type = necklace_pedestal }
					reforge_artifact = { type = necklace }
				}
				else_if = {
					limit = { 
						OR = {
							artifact_type = pedestal
							artifact_type = sculpture
							artifact_type = goblet
							artifact_type = jug
							artifact_type = urn
						}
					}
					reforge_artifact = { type = miscellaneous }
				}
			}
			show_as_tooltip = {
				scope:treasure_artifact_historical = { set_owner = root }
			}
		}
		else_if = {
			limit = { exists = scope:treasure_artifact_jewelry }
			show_as_tooltip = {
				scope:treasure_artifact_jewelry = { set_owner = root }
			}
		}
		else = { add_short_term_gold = scope:0045_gold_gained }
		#Get rid of the contract
		scope:task_contract = { complete_task_contract = failure_standard }
		#Off ye go
		remove_courtier_or_guest = scope:task_contract_employer
		#You stole a historical treasure
		if = {
			limit = { exists = scope:treasure_artifact_historical }
			#Shame on you
			laamp_rewards_apply_criminal_xp_effect = {
				TRACK = thief
				XP_MIN = gallowsbait_xp_major_gain
				XP_MAX = gallowsbait_xp_massive_gain
			}
			stress_impact = {
				base = major_stress_impact_gain
				honest = minor_stress_impact_gain
				greedy = minor_stress_impact_loss
				callous = minor_stress_impact_loss
				sadistic = minor_stress_impact_loss
			}
		}
		#You stole something significant
		else_if = {
			limit = {
				OR = {
					exists = scope:treasure_artifact_jewelry
					exists = scope:treasure_gold_great
				}
			}
			#Shame on you	
			laamp_rewards_apply_criminal_xp_effect = {
				TRACK = thief
				XP_MIN = gallowsbait_xp_minor_gain
				XP_MAX = gallowsbait_xp_major_gain
			}
			stress_impact = {
				base = medium_stress_impact_gain
				honest = minor_stress_impact_gain
				greedy = minor_stress_impact_loss
				callous = minor_stress_impact_loss
				sadistic = minor_stress_impact_loss
			}
		}
		#Or not
		else = {
			#Ehh petty theft	
			laamp_rewards_apply_criminal_xp_effect = {
				TRACK = thief
				XP_MIN = gallowsbait_xp_minor_gain
				XP_MAX = gallowsbait_xp_minor_gain
			}
			stress_impact = {
				base = minor_stress_impact_gain
				honest = minor_stress_impact_gain
				greedy = minor_stress_impact_loss
				callous = minor_stress_impact_loss
				sadistic = minor_stress_impact_loss
			}
		}
		ai_chance = {
			base = 0
		}
	}
}

#Back at the employer. Fork over the treasure
ep3_contract_event.0050 = {
	type = character_event
	title = ep3_contract_event.0050.t
	desc = {
		first_valid = {
			#Historical artifact
			triggered_desc = {
				trigger = { exists = scope:treasure_artifact_historical }
				desc = ep3_contract_event.0050.desc_artifact_historical
			}
			#jewelry artifact
			triggered_desc = {
				trigger = { exists = scope:treasure_artifact_jewelry }
				desc = ep3_contract_event.0050.desc_artifact_jewelry
			}
			#Gold
			triggered_desc = {
				trigger = {
					OR = {
						exists = scope:treasure_gold_great
						exists = scope:treasure_gold_mediocre
						exists = scope:treasure_gold_poor
					} 
				}
				desc = ep3_contract_event.0050.desc_gold
			}
			#Scenic
			triggered_desc = {
				trigger = { exists = scope:treasure_riches_in_scenery }
				desc = ep3_contract_event.0050.desc_scenic
			}
			#Pillaged
			desc = ep3_contract_event.0050.desc_pillaged
		}
	}
	theme = inspiration_complete
	override_background = { reference = ep3_relaxing_tent }
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = { has_trait = greedy }
			animation = personality_cynical
		}
		animation = flirtation
	}
	right_portrait = {
		character = scope:task_contract_employer
		#Historical artifact
		triggered_animation = {
			trigger = { exists = scope:treasure_artifact_historical }
			animation = disbelief
		}
		#Scenic
		triggered_animation = {
			trigger = { exists = scope:treasure_riches_in_scenery }
			animation = wedding_happy_cry
		}
		#Pillaged
		triggered_animation = {
			trigger = { exists = scope:treasure_pillaged }
			animation = sadness
		}
		animation = happiness
	}
	artifact = {
		trigger = { exists = scope:0045_display_artifact }
		target = scope:0045_display_artifact
		position = lower_center_portrait
	}
	immediate = {

	}
	#Fork it over
	option = {
		name = ep3_contract_event.0050.a
		scope:task_contract = { complete_task_contract = success_standard }
		if = {
			limit = { exists = scope:treasure_riches_in_scenery }
			#Perma modifier
			add_character_modifier = { modifier = divine_springs_modifier }
		}
		#Ya did the right thing, son
		stress_impact = { honest = minor_stress_impact_loss }
		ai_chance = {
			base = 10
		}
	}
	after = {
		#Off ye go
		remove_courtier_or_guest = scope:task_contract_employer
	}
}

#To remove the variable for those who go into the travel planner but then decide not to travel to the Excavation Site
ep3_contract_event.0055 = {
	hidden = yes
	
	trigger = { has_variable = ep3_laamp_decision_1000_is_planning_excavation_trip }

	immediate = { 
		remove_variable ?= ep3_laamp_decision_1000_is_planning_excavation_trip
		#Is it our active contract?
		random_character_task_contract = {
			limit = { has_variable = contract_treasure_location }
			save_scope_as = task_contract
		}
		#Are we going to the destination?
		if = {
			limit = {
				any_character_active_contract = { task_contract_type = laamp_treasure_map_contract }
				current_travel_plan ?= {
					any_future_path_location = { this = scope:task_contract.var:contract_treasure_location }
				}
			}
			set_variable = ep3_laamp_decision_1000_is_excavating
		}
	}
}

#Help Claimant start a war contract
ep3_contract_event.0060 = {
	type = character_event
	title = ep3_contract_event.0060.t
	desc = ep3_contract_event.0060.desc
	theme = war
	#task_contract_taker, you
	left_portrait = {
		character = root
		animation = personality_bold
	}
	#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 = {
		set_contract_scopes_effect = yes
		scope:task_contract_employer = {
			random_knight = {
				save_scope_as = commander
			}
		}
	}

	#take the contract and start the claim war
	option = {
		name = ep3_contract_event.0060.a
		scope:task_contract_employer = {
			start_war = {
				cb = claim_cb
				target = scope:task_contract_target
				claimant = scope:task_contract_employer
				target_title = scope:task_contract.var:task_contract_title
			}
			#needs a custom tooltip as the war doesn't exist yet
			custom_tooltip = ep3_contract_event.0060.join_war
			random_character_war = {
				limit = {
					using_cb = claim_cb
					primary_attacker = scope:task_contract_employer
					primary_defender = scope:task_contract_target
				}
				save_scope_as = task_contract_war
			}
		}
		scope:task_contract = {
			set_variable = {
				name = task_contract_war
				value = scope:task_contract_war
			}
		}
		scope:task_contract_war ?= {
			hidden_effect = { set_called_to = root }
			add_attacker = root
		}

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

#Join Faction - intro
ep3_contract_event.0070 = {
	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 = ep3_contract_event.0070.desc_liberty_faction
					}
					triggered_desc = {
						trigger = {
							scope:task_contract_faction = {
								faction_is_type = independence_faction
							}
						}
						desc = ep3_contract_event.0070.desc_independence_faction
					}
					triggered_desc = {
						trigger = {
							scope:task_contract_faction = {
								faction_is_type = claimant_faction
							}
						}
						desc = ep3_contract_event.0070.desc_claimant_faction
					}
					desc = ep3_contract_event.0070.desc_fallback_faction
				}
				first_valid = {
					triggered_desc = {
						trigger = {
							scope:task_contract_employer = {
								vassal_contract_has_flag = obligation_high_taxes
							}
						}
						desc = ep3_contract_event.0070.desc_liege_taxes
					}
					triggered_desc = {
						trigger = {
							scope:task_contract_employer = {
								vassal_contract_has_flag = obligation_high_levies
							}
						}
						desc = ep3_contract_event.0070.desc_liege_levies
					}
					triggered_desc = {
						trigger = {
							scope:task_contract_target.culture != scope:task_contract_employer.culture
						}
						desc = ep3_contract_event.0070.desc_liege_culture
					}
					triggered_desc = {
						trigger = {
							scope:task_contract_target.faith != scope:task_contract_employer.faith
						}
						desc = ep3_contract_event.0070.desc_liege_faith
					}
					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 = {
		set_contract_scopes_effect = yes
		scope:task_contract_employer = {
			random_knight = {
				save_scope_as = commander
			}
		}
		scope:task_contract_target = {
			random_held_title = {
				title_tier < kingdom
				limit = {
					trigger_if = {
						limit = {
							root.prestige_level > 3
						}
						tier >= tier_duchy
					}
					tier >= tier_county
					this != scope:task_contract_target.primary_title
					this != scope:task_contract_target.primary_title.title_capital_county
				}
				weight = {
					base = 1
					modifier = {
						add = 100
						root = {
							has_claim_on = prev
						}
					}
				}
				save_scope_as = promised_title
			}
		}
		scope:task_contract.var:task_contract_faction = {
			save_scope_as = task_contract_faction
		}
	}

	#take the contract and start the claim war, if they promise you land afterwards
	option = {
		name = ep3_contract_event.0070.a
		trigger = {
			custom_description = {
				text = adventurer_not_famous_trigger_tt
				value = 3
				prestige_level >= 3
			}
			exists = scope:promised_title
		}
		show_as_unavailable = {
			exists = scope:promised_title
		}
		join_faction_forced = {
		 	faction = scope:task_contract.var:task_contract_faction
		 	forced_by = scope:task_contract.task_contract_employer
		 	years = 1
		}
		# Give me land
		scope:task_contract = {
			set_variable = {
				name = task_contract_title
				value = scope:promised_title
			}
		}
		show_as_tooltip = {
			custom_tooltip = task_contract_tab_success
			
			create_title_and_vassal_change = {
				type = granted
				save_scope_as = title_change_vassal
			}
			scope:promised_title = {
				change_title_holder = {
					holder = scope:task_contract.task_contract_taker
					change = scope:title_change_vassal
					take_baronies = no
				}
			}
			resolve_title_and_vassal_change = scope:title_change_vassal
		}
		open_view = {
			view = factions_window
			player = root
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
			modifier = {
				add = 1000
				has_claim_on = scope:promised_title
			}
			modifier = {
				add = 20
				has_realm_law = camp_purpose_legitimists
			}
		}
	}
	#take the contract and start the claim war
	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 = 1
		}
		open_view = {
			view = factions_window
			player = root
		}
		
		#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
		}
	}
}

### Help out in a council task contract

scripted_effect set_council_scopes_effect = {
	scope:task_contract = {
		var:task_contract_councillor = {
			save_scope_as = task_contract_councillor
		}
		var:task_contract_councillor_liege = {
			save_scope_as = task_contract_councillor_liege
		}
	}
}

## Court Chaplain
# Fabricate claim - intro
ep3_contract_event.0080 = {
	type = character_event
	title = ep3_contract_event.0080.t
	desc = ep3_contract_event.0080.desc
	theme = faith
	left_portrait = {
		character = root
		animation = interested_left
	}
	right_portrait = {
		character = scope:task_contract_councillor
		animation = storyteller
	}
	lower_right_portrait = {
		character = scope:task_contract_councillor_liege
	}

	trigger = {
	}
	
	immediate = {
		set_contract_scopes_effect = yes
		set_council_scopes_effect = yes
	}
	
	#Open intetactin to fabricate claim
	option = {
		name = ep3_contract_event.0080.a
		custom_tooltip = ep3_contract_event.0080.open_start_generate_claim_interaction
		open_interaction_window = {
			interaction = start_generate_claim_interaction
			actor = root
			recipient = scope:task_contract_target
		}	
		if = {
			limit = {
				is_ai = yes
			}
			begin_contract_scheme_with_agents_effect = {
				SCHEME_TYPE = generate_claim
				TARGET_TYPE = target_title
				TARGET_SCOPE = scope:task_contract_target
				TASK_CONTRACT = scope:task_contract
				# Success.
				AGENT_1 = agent_scribe
				AGENT_2 = agent_diplomat
				# Speed.
				AGENT_3 = agent_justiciar
				AGENT_4 = agent_socialite
				# Secrecy.
				AGENT_5 = agent_decoy
			}
		}
		ai_chance = {
			base = 100
		}
	}
	#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
		}
	}
}

# Fight Faith conversion - intro
ep3_contract_event.0082 = {
	type = character_event
	title = ep3_contract_event.0082.t
	desc = ep3_contract_event.0082.desc
	theme = faith
	left_portrait = {
		character = root
		animation = menacing
	}
	lower_left_portrait = {
		character = scope:task_contract_councillor_liege
	}
	lower_right_portrait = {
		character = scope:task_contract_employer
	}

	trigger = {
	}
	
	immediate = {
		set_contract_scopes_effect = yes
		set_council_scopes_effect = yes
	}
	
	#help at the location
	option = {
		name = ep3_contract_event.0082.a
		custom_tooltip = ep3_contract_event.0082.to_destination
		if = {
			limit = {
				location = scope:task_contract_destination
			}
			trigger_event = ep3_contract_event.0083
		}
		else = {
			start_travel_plan = {
				destination = scope:task_contract_destination
				on_arrival_destinations = all
				on_arrival_event = ep3_contract_event.0083
			}
		}
		ai_chance = {
			base = 100
		}
	}
	#talk to the liege
	option = {
		name = ep3_contract_event.0082.b
		custom_tooltip = ep3_contract_event.0082.to_liege
		if = {
			limit = {
				location = scope:task_contract_councillor_liege.capital_province
			}
			trigger_event = ep3_contract_event.0084
		}
		else = {
			start_travel_plan = {
				destination = scope:task_contract_councillor_liege.capital_province
				on_arrival_destinations = all
				on_arrival_event = ep3_contract_event.0084
			}
		}
		ai_chance = {
			base = 100
		}
	}
	#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
		}
	}
}

scripted_effect protect_county_from_conversion_effect = {
	scope:task_contract_councillor_liege = {
		set_variable = {
			name = hold_court_8120_religion_block
			value = scope:task_contract_destination.faith
			years = 15
		}
		add_character_modifier = {
			modifier = hold_court_8120_tolerance_modifier
			years = 10
		}
	}
	scope:task_contract_destination.county = {
		add_county_modifier = {
			modifier = hold_court_8120_stopped_modifier
			years = 15
		}
	}
	scope:task_contract_councillor = {
		start_default_task = yes
	}	
}

# Fight Faith conversion - deal with it at location
ep3_contract_event.0083 = {
	type = character_event
	title = ep3_contract_event.0083.t
	desc = ep3_contract_event.0083.desc
	theme = faith
	override_background = {
		reference = temple_scope
	}
   	override_effect_2d = {
   		reference = smoke	
   	}
	left_portrait = {
		character = root
		animation = shock
	}
	right_portrait = {
		character = scope:task_contract_employer
		animation = rage
	}
	lower_left_portrait = {
		character = scope:task_contract_councillor
	}
	lower_right_portrait = {
		character = scope:task_contract_councillor_liege
	}

	trigger = {
	}
	
	immediate = {
		set_contract_scopes_effect = yes
		set_council_scopes_effect = yes
	}
	
	#capture the chaplain
	option = {
		name = ep3_contract_event.0083.a
		duel = {
			skill = intrigue
			target = scope:task_contract_councillor
			25 = {
				desc = ep3_contract_event.0083.a_win
				send_interface_toast = {
					title = ep3_contract_event.0083.a_win
					left_icon = root
					right_icon = scope:task_contract_employer
					prisoner_of_war_capture_effect = {
						TARGET = scope:task_contract_councillor
						IMPRISONER = root
					}
					scope:task_contract_councillor_liege = {
						add_opinion = {
							modifier = fp3_wrongful_imprisonment_opinion
							opinion = -30
							target = root
						}
					}
				}
				scope:task_contract = {
					complete_task_contract = success_standard
				}
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
			}
			25 = {
				desc = ep3_contract_event.0083.a_lose
				send_interface_toast = {
					title = ep3_contract_event.0083.a_lose
					left_icon = root
					right_icon = scope:task_contract_employer
					scope:task_contract = {
						complete_task_contract = failure_standard
					}
				}
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = 5
				}
			}
		}
		stress_impact = {
			callous = minor_stress_impact_loss
			just = minor_stress_impact_loss
			vengeful = minor_stress_impact_loss
			lazy = minor_stress_impact_gain
			calm = minor_stress_impact_gain
		}
		
		ai_chance = {
			base = 100
		}
	}
	#force it through
	option = {
		name = ep3_contract_event.0083.b
		duel = {
			skills = { martial prowess }
			target = scope:task_contract_councillor
			25 = {
				desc = ep3_contract_event.0083.b_win
				send_interface_toast = {
					title = ep3_contract_event.0083.b_win
					left_icon = root
					right_icon = scope:task_contract_employer
					protect_county_from_conversion_effect = yes
					scope:task_contract_councillor_liege = {
						add_opinion = {
							modifier = fp2_questioned_my_faith_opinion
							target = root
						}
					}
				}
				scope:task_contract = {
					complete_task_contract = success_standard
				}
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
			}
			25 = {
				desc = ep3_contract_event.0083.b_lose
				send_interface_toast = {
					title = ep3_contract_event.0083.b_lose
					left_icon = root
					right_icon = scope:task_contract_employer
					scope:task_contract = {
						complete_task_contract = failure_standard
					}
				}
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = 5
				}	
			}
		}
		stress_impact = {
			wrathful = minor_stress_impact_loss
			craven = minor_stress_impact_gain
		}
		
		ai_chance = {
			base = 10
			modifier = {
				add = 100
				OR = {
					highest_skill = martial
					prowess > scope:task_contract_councillor.prowess
				}
			}
		}
	}
	#talk it through
	option = {
		name = ep3_contract_event.0083.c
		duel = {
			skills = { diplomacy learning }
			target = scope:task_contract_councillor
			25 = {
				desc = ep3_contract_event.0083.c_win
				send_interface_toast = {
					title = ep3_contract_event.0083.c_win
					left_icon = root
					right_icon = scope:task_contract_employer
					protect_county_from_conversion_effect = yes
					scope:task_contract_councillor_liege = {
						add_opinion = {
							modifier = fp2_questioned_my_faith_opinion
							target = root
						}
					}
				}
				scope:task_contract = {
					complete_task_contract = success_standard
				}
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
			}
			25 = {
				desc = ep3_contract_event.0083.c_lose
				send_interface_toast = {
					title = ep3_contract_event.0083.c_lose
					left_icon = root
					right_icon = scope:task_contract_employer
					scope:task_contract = {
						complete_task_contract = failure_standard
					}
				}
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = 5
				}	
			}
		}
		stress_impact = {
			gregarious = minor_stress_impact_loss
			zealous = minor_stress_impact_loss
			shy = minor_stress_impact_gain
		}
		ai_chance = {
			base = 10
			modifier = {
				add = 100
				OR = {
					highest_skill = diplomacy
					highest_skill = learning
				}
			}
		}
	}
	#come with me
	option = {
		name = ep3_contract_event.0083.d
		scope:task_contract = {
			complete_task_contract = failure_standard
		}
		if = {
			limit = {
				scope:task_contract_employer = {
					is_landed = yes
				}
			}
			random_list = {
				110 = {
					modifier = {
						add = scope:task_contract_employer.ai_rationality
					}
					hidden_effect = {
						scope:task_contract_employer = {
							depose = yes
							if = {
								limit = {
									any_traveling_family_member = { }
								}
								every_traveling_family_member = {
									save_temporary_scope_as = family_to_move
									root = { add_courtier = scope:family_to_move }
								}
							}
						}
					}
					add_courtier = scope:task_contract_employer
					reverse_add_opinion = {
						modifier = helped_me_in_time_of_need
						target = scope:task_contract_employer
					}
				}
				110 = {
					modifier = {
						add = scope:task_contract_employer.ai_honor
					}
					reverse_add_opinion = {
						modifier = mocked_me_in_time_of_need
						target = scope:task_contract_employer
					}
				}
			}
		}
		else = {
			add_courtier = scope:task_contract_employer
			reverse_add_opinion = {
				modifier = helped_me_in_time_of_need
				target = scope:task_contract_employer
			}
			hidden_effect = {
				if = {
					limit = {
						any_traveling_family_member = { }
					}
					every_traveling_family_member = {
						save_temporary_scope_as = family_to_move
						root = { add_courtier = scope:family_to_move }
					}
				}
			}
		}
		stress_impact = {
			compassionate = minor_stress_impact_loss
			just = minor_stress_impact_gain
			zealous = minor_stress_impact_gain
		}
		ai_chance = {
			base = 0
			modifier = {
				add = 10
				scope:task_contract_employer = {
					is_landed = no
				}
			}
		}
	}
}

# Fight Faith conversion - deal with it at liege
ep3_contract_event.0084 = {
	type = character_event
	title = ep3_contract_event.0084.t
	desc = ep3_contract_event.0084.desc
	theme = faith
	override_background = {
		reference = throne_room
	}
	left_portrait = {
		character = root
		animation = debating
	}
	right_portrait = {
		character = scope:task_contract_councillor_liege
		animation = thinking
	}
	lower_left_portrait = {
		character = scope:task_contract_employer
	}
	lower_right_portrait = {
		character = scope:task_contract_councillor
	}

	trigger = {
	}
	
	immediate = {
		set_contract_scopes_effect = yes
		set_council_scopes_effect = yes
	}

	#suggest new management
	option = {
		name = ep3_contract_event.0084.a
		duel = {
			skills = { intrigue prowess }
			target = scope:task_contract_target
			0 = {
				desc = ep3_contract_event.0084.a_win_rights
				compare_modifier = {
					value = scope:duel_value
					multiplier = 1
				}
				modifier = {
					factor = root.prestige_level
				}
				send_interface_toast = {
					title = ep3_contract_event.0084.a_win_rights
					left_icon = root
					right_icon = scope:task_contract_employer
					create_title_and_vassal_change = {
						type = granted
						save_scope_as = title_change_vassal
					}
					scope:task_contract.var:task_contract_destination.county = {
						change_title_holder = {
							holder = scope:task_contract_employer
							change = scope:title_change_vassal
							take_baronies = no
						}
					}
					resolve_title_and_vassal_change = scope:title_change_vassal
					scope:task_contract_employer = {
						custom_tooltip = ep3_contract_event.0084.a_win_rights.tt
						if = {
							limit = {
								is_vassal_of = scope:task_contract_target
							}
							vassal_contract_set_obligation_level = {
								type = religious_rights
								level = 1
							}
						}
					}
				}
				scope:task_contract = {
					complete_task_contract = success_standard
				}
			}
			25 = {
				desc = ep3_contract_event.0084.a_win
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
				send_interface_toast = {
					title = ep3_contract_event.0084.a_win
					left_icon = root
					right_icon = scope:task_contract_employer
					create_title_and_vassal_change = {
						type = granted
						save_scope_as = title_change_vassal
					}
					scope:task_contract.var:task_contract_destination.county = {
						change_title_holder = {
							holder = scope:task_contract_employer
							change = scope:title_change_vassal
							take_baronies = no
						}
					}
					resolve_title_and_vassal_change = scope:title_change_vassal
				}
				scope:task_contract = {
					complete_task_contract = success_standard
				}
			}
			25 = {
				desc = ep3_contract_event.0084.a_lost
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = 5
				}
				send_interface_toast = {
					title = ep3_contract_event.0084.a_lost
					left_icon = root
					right_icon = scope:task_contract_employer
					scope:task_contract = {
						complete_task_contract = failure_standard
					}
					scope:task_contract_councillor_liege = {
						add_opinion = {
							modifier = fp2_questioned_my_faith_opinion
							opinion = -30
							target = root
						}
					}
				}
			}
		}
		stress_impact = {
			ambitious = minor_stress_impact_loss
			impatient = minor_stress_impact_loss
			arrogant = minor_stress_impact_loss
			craven = minor_stress_impact_gain
		}
		ai_chance = {
			base = 10
			modifier = {
				add = 100
				OR = {
					highest_skill = intrigue
					prowess > scope:task_contract_target.prowess
				}
			}
		}
	}

	#talk it through
	option = {
		name = ep3_contract_event.0084.b
		duel = {
			skills = { diplomacy learning }
			target = scope:task_contract_target
			25 = {
				desc = ep3_contract_event.0084.b_win
				send_interface_toast = {
					title = ep3_contract_event.0084.b_win
					left_icon = root
					right_icon = scope:task_contract_employer
					protect_county_from_conversion_effect = yes
				}
				scope:task_contract = {
					complete_task_contract = success_standard
				}
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
			}
			25 = {
				desc = ep3_contract_event.0084.b_lost
				scope:task_contract = {
					complete_task_contract = failure_standard
				}
				send_interface_toast = {
					title = ep3_contract_event.0084.b_lost
					left_icon = root
					right_icon = scope:task_contract_employer
					scope:task_contract_councillor_liege = {
						add_opinion = {
							modifier = fp2_questioned_my_faith_opinion
							opinion = -30
							target = root
						}
					}
				}
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = 5
				}
			}
		}
		stress_impact = {
			gregarious = minor_stress_impact_loss
			zealous = minor_stress_impact_loss
			shy = minor_stress_impact_gain
		}
		ai_chance = {
			base = 10
			modifier = {
				add = 100
				OR = {
					highest_skill = diplomacy
					highest_skill = learning
				}
			}
		}
	}
}

# Help Faith conversion - intro
ep3_contract_event.0085 = {
	type = character_event
	title = ep3_contract_event.0085.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:task_contract_councillor = {
						has_personality_malicious_trigger = yes
					}
				}
				desc = ep3_contract_event.0085.desc_bad
			}
			desc = ep3_contract_event.0085.desc_good
		}
	}
	theme = faith
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				scope:task_contract_councillor = {
					has_personality_malicious_trigger = yes
				}
			}
			animation = stunned
		}
		animation = prayer
	}
	right_portrait = {
		character = scope:task_contract_councillor
		animation = storyteller
	}
	lower_right_portrait = {
		character = scope:task_contract_councillor_liege
	}

	trigger = {
	}
	
	immediate = {
		set_contract_scopes_effect = yes
		set_council_scopes_effect = yes
	}

	#you condemn the evil chaplain methods
	option = {
		name = ep3_contract_event.0085.a
		trigger = {
			scope:task_contract_councillor = {
				has_personality_malicious_trigger = yes
			}
		}
		duel = {
			skills = { prowess diplomacy }
			target = scope:task_contract_councillor
			0 = {
				desc = ep3_contract_event.0085.a_win_critical
				compare_modifier = {
					value = scope:duel_value
					multiplier = 1
				}
				modifier = {
					factor = root.prestige_level
				}
				send_interface_toast = {
					title = ep3_contract_event.0085.a_win_critical
					left_icon = root
					right_icon = scope:task_contract_employer
					prisoner_of_war_capture_effect = {
						TARGET = scope:task_contract_councillor
						IMPRISONER = root
					}
					scope:task_contract_councillor_liege = {
						add_opinion = {
							modifier = fp3_wrongful_imprisonment_opinion
							opinion = -30
							target = root
						}
					}
				}
				scope:task_contract = {
					complete_task_contract = failure_standard
				}
			}
			25 = {
				desc = ep3_contract_event.0085.a_win
				send_interface_toast = {
					title = ep3_contract_event.0085.a_win
					left_icon = root
					right_icon = scope:task_contract_employer
					protect_county_from_conversion_effect = yes
					scope:task_contract = {
						complete_task_contract = failure_standard
					}
					scope:task_contract_councillor_liege = {
						add_opinion = {
							modifier = fp3_wrongful_imprisonment_opinion
							opinion = -30
							target = root
						}
					}
				}
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
			}
			25 = {
				desc = ep3_contract_event.0085.a_lose
				send_interface_toast = {
					title = ep3_contract_event.0085.a_lose
					left_icon = root
					right_icon = scope:task_contract_employer
					scope:task_contract = {
						complete_task_contract = failure_standard
					}
					scope:task_contract_councillor_liege = {
						add_opinion = {
							modifier = fp3_wrongful_imprisonment_opinion
							opinion = -30
							target = root
						}
					}
				}
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = 5
				}
			}
		}
		stress_impact = {
			honest = minor_stress_impact_loss
			zealous = minor_stress_impact_loss
			compassionate = minor_stress_impact_loss
			sadistic = minor_stress_impact_gain
		}
		ai_chance = {
			base = 10
			modifier = {
				add = 100
				OR = {
					highest_skill = diplomacy
					prowess > scope:task_contract_councillor.prowess
				}
			}
		}
	}

	#you agree with the evil chaplain methods
	option = {
		name = ep3_contract_event.0085.b
		trigger = {
			scope:task_contract_councillor = {
				has_personality_malicious_trigger = yes
			}
		}
		scope:task_contract = {
			complete_task_contract = success_standard
		}
		stress_impact = {
			honest = minor_stress_impact_gain
			compassionate = minor_stress_impact_gain
			sadistic = major_stress_impact_loss
		}
		ai_chance = {
			base = 10
			modifier = {
				add = 100
				OR = {
					highest_skill = diplomacy
					prowess > scope:task_contract_councillor.prowess
				}
			}
		}
	}

	#you tell a story about the good gods
	option = {
		name = ep3_contract_event.0085.c
		trigger = {
			scope:task_contract_councillor = {
				has_personality_malicious_trigger = no
			}
		}
		duel = {
			skill = learning
			value = high_skill_rating
			25 = {
				desc = ep3_contract_event.0085.c_win
				send_interface_toast = {
					title = ep3_contract_event.0085.c_win
					left_icon = root
					right_icon = scope:task_contract_employer
					scope:task_contract = {
						complete_task_contract = success_standard
					}
				}
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
			}
			25 = {
				desc = ep3_contract_event.0085.c_lose
				send_interface_toast = {
					title = ep3_contract_event.0085.a_lose
					left_icon = root
					right_icon = scope:task_contract_employer
					scope:task_contract = {
						complete_task_contract = failure_standard
					}
				}
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = 5
				}
			}
		}
		stress_impact = {
			gregarious = minor_stress_impact_loss
			zealous = minor_stress_impact_loss
			compassionate = minor_stress_impact_loss
			shy = minor_stress_impact_gain
			cynical = minor_stress_impact_gain
		}
		ai_chance = {
			base = 10
			modifier = {
				add = 100
				highest_skill = learning
			}
		}
	}

	#you tell a story about the evil gods
	option = {
		name = ep3_contract_event.0085.d
		trigger = {
			scope:task_contract_councillor = {
				has_personality_malicious_trigger = no
			}
		}
		duel = {
			skill = intrigue
			value = high_skill_rating
			25 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
				desc = ep3_contract_event.0085.d_win
				send_interface_toast = {
					title = ep3_contract_event.0085.d_win
					left_icon = root
					right_icon = scope:task_contract_employer
					scope:task_contract = {
						complete_task_contract = success_standard
					}
				}
			}
			25 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = 5
				}
				desc = ep3_contract_event.0085.d_lose
				send_interface_toast = {
					title = ep3_contract_event.0085.d_lose
					left_icon = root
					right_icon = scope:task_contract_employer
					scope:task_contract = {
						complete_task_contract = failure_standard
					}
				}
			}
		}
		stress_impact = {
			gregarious = minor_stress_impact_loss
			zealous = minor_stress_impact_gain
			shy = minor_stress_impact_gain
			cynical = minor_stress_impact_loss
		}
		ai_chance = {
			base = 10
			modifier = {
				add = 100
				highest_skill = intrigue
			}
		}
	}

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

## Marshal
# train commanders - intro
ep3_contract_event.0090 = {
	type = character_event
	title = ep3_contract_event.0090.t
	desc = ep3_contract_event.0090.desc
	theme = landless_adventurer
	#task_contract_taker, you
	left_portrait = {
		character = root
		animation = inspect_weapon
	}
	#marshal
	right_portrait = {
		character = scope:task_contract_councillor
		animation = storyteller
	}
	#marshal's liege
	lower_right_portrait = {
		character = scope:task_contract_councillor_liege
	}

	immediate = {
		set_contract_scopes_effect = yes
		set_council_scopes_effect = yes
	}

	option = {
		name = ep3_contract_event.0090.a
		custom_tooltip = ep3_contract_event.0090.opens_task_contract_train_knight_interaction
		open_interaction_window = {
			interaction = task_contract_train_knight_interaction
			actor = root
			recipient = scope:task_contract_employer
		}	
		if = {
			limit = {
				is_ai = yes
			}
			run_interaction = {
				interaction = task_contract_train_knight_interaction
				actor = root
				recipient = scope:task_contract_employer
				execute_threshold = decline
			}
		}
		#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
		}
	}
}

scripted_effect count_knights_trained_effect = {
	scope:task_contract = {
		if = {
			limit = {
				$RESULT$ = yes
			}
			change_variable = {
				name = knights_trained
				add = 1
			}
			if = {
				limit = {
					NOT = {
						scope:task_contract = {
							has_variable_list = knights_to_train
							any_in_list = {
								variable = knights_to_train
								is_alive = yes
								is_knight = yes
							}
						}
					}
				}
				scope:task_contract = {
					if = {
						limit = {
							scope:task_contract.var:knights_trained >= scope:task_contract.var:knights_limit
						}
						complete_task_contract = success_critical
					}
					else_if = {
						limit = {
							scope:task_contract.var:knights_trained >= scope:task_contract.var:knights_failed
						}
						complete_task_contract = success_standard
					}
					else = {
						complete_task_contract = failure_standard
					}
				}
			}
		}
		if = {
			limit = {
				$RESULT$ = no
			}
			change_variable = {
				name = knights_failed
				add = 1
			}
			if = {
				limit = {
					NOT = {
						scope:task_contract = {
							has_variable_list = knights_to_train
							any_in_list = {
								variable = knights_to_train
								is_alive = yes
								is_knight = yes
							}
						}
					}
				}
				scope:task_contract = {
					if = {
						limit = {
							NOT = { scope:task_contract.var:knights_trained = 0 }
							scope:task_contract.var:knights_trained >= scope:task_contract.var:knights_failed
						}
						complete_task_contract = success_standard
					}
					else = {
						complete_task_contract = failure_standard
					}
				}
			}
		}
	}
}

# train commanders - interaction event
ep3_contract_event.0091 = {
	type = character_event
	title = ep3_contract_event.0091.t
	desc = {
		desc = ep3_contract_event.0091.desc
		first_valid = {
			triggered_desc = {
				trigger = { scope:helper = root }
				desc = {
					desc = ep3_contract_event.0091.desc_me
					first_valid = {
						triggered_desc = {
							trigger = {root.prowess < high_skill_rating }
							desc = ep3_contract_event.0091.desc_me_high_prowess
						}
						desc = ep3_contract_event.0091.desc_me_low_prowess
					}
				}
			}
			desc = {
				desc = ep3_contract_event.0091.desc_helper
				first_valid = {
					triggered_desc = {
						trigger = {scope:helper.prowess < high_skill_rating }
						desc = ep3_contract_event.0091.desc_high_prowess
					}
					desc = ep3_contract_event.0091.desc_low_prowess
				}
			}
		}
		desc = ep3_contract_event.0091.desc_outro
	}
	theme = war
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				scope:helper = root
				root.prowess < high_skill_rating
			}
			animation = random_weapon_yield
		}
		triggered_animation = {
			trigger = {
				scope:helper = root
				root.prowess >= high_skill_rating
			}
			animation = inspect_weapon
		}
		triggered_animation = {
			trigger = {
				scope:helper != root
				scope:helper.prowess < high_skill_rating
			}
			animation = stunned
		}
		triggered_animation = {
			trigger = {
				scope:helper != root
				scope:helper.prowess >= high_skill_rating
			}
			animation = disappointed
		}
	}
	right_portrait = {
		character = scope:knight
		triggered_animation = {
			trigger = {
				scope:helper = root
				root.prowess < high_skill_rating
			}
			animation = random_weapon_celebrate
		}
		triggered_animation = {
			trigger = {
				scope:helper = root
				root.prowess >= high_skill_rating
			}
			animation = random_weapon_yield
		}
		triggered_animation = {
			trigger = {
				scope:helper != root
				scope:helper.prowess < high_skill_rating
			}
			animation = random_weapon_celebrate
		}
		triggered_animation = {
			trigger = {
				scope:helper != root
				scope:helper.prowess >= high_skill_rating
			}
			animation = random_weapon_yield
		}
	}
	lower_left_portrait = {
		trigger = { scope:helper != root }
		character = scope:helper
	}
	lower_right_portrait = {
		character = scope:task_contract_councillor
	}
	lower_center_portrait = {
		character = scope:task_contract_councillor_liege
	}
	
	immediate = {
		set_contract_scopes_effect = yes
		set_council_scopes_effect = yes
		# search for anyone that could help you train them
		random_court_position_holder = {
			type = second_camp_officer
			add_to_list = helpers_list
		}
		random_court_position_holder = {
			type = master_of_arms_camp_officer
			add_to_list = helpers_list
		}
		random_court_position_holder = {
			type = light_cavalry_captain_camp_officer
			add_to_list = helpers_list
		}
		random_court_position_holder = {
			type = camelry_captain_camp_officer
			add_to_list = helpers_list
		}
		random_court_position_holder = {
			type = elephantry_captain_camp_officer
			add_to_list = helpers_list
		}
		random_court_position_holder = {
			type = heavy_cavalry_captain_camp_officer
			add_to_list = helpers_list
		}
		random_court_position_holder = {
			type = horse_archer_captain_camp_officer
			add_to_list = helpers_list
		}
		random_court_position_holder = {
			type = archer_captain_camp_officer
			add_to_list = helpers_list
		}
		random_court_position_holder = {
			type = heavy_infantry_captain_camp_officer
			add_to_list = helpers_list
		}
		random_court_position_holder = {
			type = light_infantry_captain_camp_officer
			add_to_list = helpers_list
		}
		random_court_position_holder = {
			type = pike_captain_camp_officer
			add_to_list = helpers_list
		}
		random_in_list = {
			list = helpers_list
			save_scope_as = helper
		}
		if = {
			limit = {
				exists = scope:helper
			}
			scope:helper = {
				every_character_trait = {
					limit = {
						has_trait_category = commander
					}
					scope:task_contract = {
						add_to_variable_list = {
							name = takers_commander_traits
							target = prev
						}
					}
				}
			}
		}
		else = {
			save_scope_as = helper
		}
		scope:task_contract = {
			random_in_list = {
				variable = takers_commander_traits
				save_scope_as = trait_to_teach
			}
		}
		scope:helper = {
			set_signature_weapon_effect = yes
		}
		scope:knight = {
			set_signature_weapon_effect = yes
		}
		scope:task_contract = {
			remove_list_variable = {
				name = knights_to_train
				target = scope:knight
			}
		}
	}

	# steal the knight
	option = {
		name = ep3_contract_event.0091.a
		trigger = { scope:knight = { is_landed = no } }
		duel = {
			skill = diplomacy
			target = scope:knight
			25 = {
				desc = ep3_contract_event.0091_won_recruit
				modifier = {
					add = root.prestige_level
					factor = 5
				}
				send_interface_toast = {
					title = ep3_contract_event.0091_won_recruit
					left_icon = root
					right_icon = scope:knight
					add_courtier = scope:knight
					domicile = {
						change_provisions = {
							value = scope:knight.prowess
							multiply = -4
						}
					}
					pay_short_term_gold = {
						target = scope:task_contract_employer
						gold = {
							value = scope:knight.prowess
							multiply = 5
						}
					}
				}
				count_knights_trained_effect = { RESULT = no }
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
			}
			25 = {
				desc = ep3_contract_event.0091_lost_recruit
				send_interface_toast = {
					title = ep3_contract_event.0091_lost_recruit
					left_icon = root
					right_icon = scope:knight
				}
				count_knights_trained_effect = { RESULT = no }
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = 5
				}
			}
		}
		stress_impact = {
			impatient = minor_stress_impact_loss
			just = minor_stress_impact_gain
			honest = minor_stress_impact_gain
			callous = minor_stress_impact_loss
			deceitful = minor_stress_impact_loss
		}
		ai_chance = {
			base = 10
			modifier = {
				add = 100
				highest_skill = diplomacy
			}
		}
	}

	# teach them a trait you know
	option = {
		name = ep3_contract_event.0091.b
		trigger = {
			exists = scope:trait_to_teach
			scope:knight = {
				NOT = { has_trait = scope:trait_to_teach }
			}
		}
		duel = {
			skill = martial
			target = scope:knight
			25 = {
				desc = ep3_contract_event.0091_won_trait
				modifier = {
					add = root.learning
				}
				send_interface_toast = {
					title = ep3_contract_event.0091_won_trait
					left_icon = root
					right_icon = scope:knight
					scope:knight = {
						add_trait = scope:trait_to_teach
					}
				}
				count_knights_trained_effect = { RESULT = yes }
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
			}
			25 = {
				desc = ep3_contract_event.0091_lost
				send_interface_toast = {
					title = ep3_contract_event.0091_lost
					left_icon = root
					right_icon = scope:knight
				}
				count_knights_trained_effect = { RESULT = no }
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = 5
				}
			}
		}
		stress_impact = {
			brave = minor_stress_impact_loss
			craven = minor_stress_impact_gain
			humble = minor_stress_impact_gain
			arrogant = minor_stress_impact_loss
			stubborn = minor_stress_impact_loss
		}
		ai_chance = {
			base = 10
			modifier = {
				add = 100
				highest_skill = martial
			}
		}
	}

	# let helper teach them some prowess
	option = {
		name = ep3_contract_event.0091.c
		trigger = {
			exists = scope:helper
			scope:helper != root
		}
		scope:helper = {
			duel = {
				skill = prowess
				target = scope:knight
				25 = {
					desc = ep3_contract_event.0091_won_helper
					send_interface_toast = {
						title = ep3_contract_event.0091_won_helper
						left_icon = root
						right_icon = scope:knight
						scope:knight = {
							add_prowess_skill = {
								value = scope:helper.prowess
								subtract = scope:knight.prowess
								divide = 4
								add = {
									value = scope:knight.ai_boldness
									divide = 10
								}
								add = {
									value = scope:helper.ai_boldness
									divide = 10
								}
								min = 2
								max = 5
							}
							force_character_skill_recalculation = yes
						}
					}
					count_knights_trained_effect = { RESULT = yes }
					compare_modifier = {
						value = scope:duel_value
						multiplier = 1
					}
				}
				25 = {
					desc = ep3_contract_event.0091_lost
					count_knights_trained_effect = { RESULT = no }
					send_interface_toast = {
						title = ep3_contract_event.0091_lost
						left_icon = root
						right_icon = scope:knight
					}
					compare_modifier = {
						value = scope:duel_value
						multiplier = -3.5
						min = 5
					}
				}
			}
		}
		stress_impact = {
			arrogant = minor_stress_impact_gain
			ambitious = minor_stress_impact_gain
			humble = minor_stress_impact_loss
			shy = minor_stress_impact_loss
		}
		ai_chance = {
			base = 10
			modifier = {
				add = 100
				scope:helper.prowess > scope:knight.prowess
			}
		}
	}

	# teach them some prowess yourself
	option = {
		name = ep3_contract_event.0091.d
		duel = {
			skill = prowess
			target = scope:knight
			50 = {
				desc = ep3_contract_event.0091_won
				send_interface_toast = {
					title = ep3_contract_event.0091_won
					left_icon = root
					right_icon = scope:knight
					scope:knight = {
						add_prowess_skill = {
							value = root.prowess
							subtract = scope:knight.prowess
							divide = 4
							add = {
								value = scope:knight.ai_boldness
								divide = 10
							}
							add = {
								value = root.ai_boldness
								divide = 10
							}		
							min = 1
							max = 4
						}
						force_character_skill_recalculation = yes
					}
				}
				count_knights_trained_effect = { RESULT = yes }
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
				modifier = {
					add = {
						value = scope:knight.ai_energy
						divide = -10
					}
				}
				modifier = {
					add = {
						value = root.ai_energy
						divide = -10
					}
				}
			}
			50 = {
				desc = ep3_contract_event.0091_lost
				send_interface_toast = {
					title = ep3_contract_event.0091_lost
					left_icon = root
					right_icon = scope:knight
				}
				count_knights_trained_effect = { RESULT = no }
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = 5
				}
				modifier = {
					add = {
						value = scope:knight.ai_energy
						divide = 10
					}
				}
				modifier = {
					add = {
						value = root.ai_energy
						divide = 10
					}
				}
			}
		}
		stress_impact = {
			arrogant = minor_stress_impact_loss
			ambitious = minor_stress_impact_loss
			humble = minor_stress_impact_gain
			shy = minor_stress_impact_gain
		}
		ai_chance = {
			base = 10
			modifier = {
				add = 100
				prowess > scope:knight.prowess
			}
		}
	}

	after = {
		hidden_effect = {
			if = {
				limit = {
					exists = scope:trait_to_teach
				}
				scope:task_contract = {
					remove_list_variable = {
						name = takers_commander_traits
						target = scope:trait_to_teach
					}
				}
			}
			if = {
				limit = {
					scope:task_contract = {
						has_variable_list = knights_to_train
						any_in_list = {
							variable = knights_to_train
							is_alive = yes
							is_knight = yes
						}
					}
				}
				if = {
					limit = {
						is_ai = yes
					}
					#save new knight for the ai, as they can't use the interaction to do it
					ordered_in_list = {
						variable = knights_to_train
						order_by = {
							value = prowess
							multiply = -1
						}
						save_scope_as = knight
					}
					#run the event directly
					root = {
						trigger_event = {
							id = ep3_contract_event.0091
							days = 1
						}
					}
				}
				#open the interaction for human players
				else = {
					open_interaction_window = {
						interaction = task_contract_train_knight_interaction 
						actor = root
						recipient = scope:task_contract_employer
					}
				}
			}
		}
	}
}

scripted_effect set_corruption_reason_effect = {
	scope:corrupt_province.county = {
		switch = {
			trigger = has_county_modifier
			county_corruption_inefficient_tax_collection_modifier = {
				save_scope_value_as = {
					name = corruption_reason
					value = flag:taxes
				}
			}
			county_corruption_deserting_levies_modifier = {
				save_scope_value_as = {
					name = corruption_reason
					value = flag:riots
				}
			}
			county_corruption_smuggling_ring_modifier = {
				save_scope_value_as = {
					name = corruption_reason
					value = flag:bandits
				}
			}
			county_corruption_bandits_rampant_modifier = {
				save_scope_value_as = {
					name = corruption_reason
					value = flag:bandits
				}
			}
			county_corruption_inefficient_census_modifier = {
				save_scope_value_as = {
					name = corruption_reason
					value = flag:taxes
				}
			}
			county_corruption_lack_of_sheriffs_modifier = {
				save_scope_value_as = {
					name = corruption_reason
					value = flag:bandits
				}
			}
			county_corruption_lack_of_courts_modifier = {
				save_scope_value_as = {
					name = corruption_reason
					value = flag:bandits
				}
			}
			county_corruption_thieves_guild_modifier = {
				save_scope_value_as = {
					name = corruption_reason
					value = flag:bandits
				}
			}
			county_corruption_unsafe_highways_modifier = {
				save_scope_value_as = {
					name = corruption_reason
					value = flag:bandits
				}
			}
			county_corruption_uncooperative_guilds_modifier = {
				save_scope_value_as = {
					name = corruption_reason
					value = flag:taxes
				}
			}
			county_corruption_lackluster_administration_modifier = {
				save_scope_value_as = {
					name = corruption_reason
					value = flag:taxes
				}
			}
			small_investment_in_revolt_modifier = {
				save_scope_value_as = {
					name = corruption_reason
					value = flag:riots
				}
			}
			medium_investment_in_revolt_modifier = {
				save_scope_value_as = {
					name = corruption_reason
					value = flag:riots
				}
			}
			high_investment_in_revolt_modifier = {
				save_scope_value_as = {
					name = corruption_reason
					value = flag:riots
				}
			}
		}
		#fallback if the county have no modifier
		if = {
			limit = {
				NOT = { exists = scope:corruption_reason }
			}
			save_scope_value_as = {
				name = corruption_reason
				value = flag:low_control
			}
		}
	}
}

# increase control - intro
ep3_contract_event.0092 = {
	type = character_event
	title = ep3_contract_event.0092.t
	desc = {
		desc = ep3_contract_event.0092.desc
		first_valid = {
			triggered_desc = {
				trigger = { scope:corruption_reason = flag:taxes }
				desc = ep3_contract_event.0092.desc_taxes
			}
			triggered_desc = {
				trigger = { scope:corruption_reason = flag:bandits }
				desc = ep3_contract_event.0092.desc_bandits
			}
			triggered_desc = {
				trigger = { scope:corruption_reason = flag:riots }
				desc = ep3_contract_event.0092.desc_riots
			}
			triggered_desc = {
				trigger = { scope:corruption_reason = flag:low_control }
				desc = ep3_contract_event.0092.desc_low_control
			}
		}
	}
	theme = landless_adventurer
	#task_contract_taker, you
	left_portrait = {
		character = root
		animation = disbelief
	}
	#marshal
	right_portrait = {
		character = scope:task_contract_councillor
		animation = shame
	}
	#marshal's liege
	lower_right_portrait = {
		character = scope:task_contract_councillor_liege
	}
	widget = {
		gui = "event_window_widget_peasant_leader"
		container = "custom_widgets_container"
	}

	immediate = {
		ep3_peasant_leader_widget_setup_effect = yes
		set_contract_scopes_effect = yes
		set_council_scopes_effect = yes
		#saving scope for custom localization and corruption reason
		scope:task_contract_destination = {
			save_scope_as = corrupt_province
		}
		set_corruption_reason_effect = yes
	}

	#just travel there
	option = {
		name = ep3_contract_event.0092.a
		#trigger the event immediately if you are already there
		if = {
			limit = {
				scope:task_contract_destination = root.location
			}
			trigger_event = ep3_contract_event.0093
		}
		#otherwise, tirgger a travel plan
		else = {
			custom_tooltip = ep3_contract_event.0092.a_tt
			start_travel_plan = {
				destination = scope:task_contract_destination
				on_arrival_event = ep3_contract_event.0093
				on_arrival_destinations = all_but_last
				can_cancel_planning = no
			}
		}
		
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
		}
	}

	#move your camp there
	option = {
		name = ep3_contract_event.0092.b
		trigger = {
			NOR = {
				scope:task_contract_destination = root.domicile.domicile_location
				scope:task_contract_destination = root.location
			}
		}
		custom_tooltip = ep3_contract_event.0092.b_tt
		custom_tooltip = ep3_contract_event.0001.with_domicile.tt
		start_travel_plan = {
			destination = scope:task_contract_destination
			on_arrival_event = ep3_contract_event.0093
			on_arrival_destinations = all
			travel_with_domicile = yes
			return_trip = no
			can_cancel_planning = no
		}
		
		#AI shouldn't move camps in events
		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
		}
	}
	after = {
		ep3_peasant_leader_widget_clear_effect = yes
	}
}

# increase control - arrival
ep3_contract_event.0093 = {
	type = character_event
	title = ep3_contract_event.0093.t
	desc = {
		desc = ep3_contract_event.0093.desc
		first_valid = {
			triggered_desc = {
				trigger = { scope:corruption_reason = flag:taxes }
				desc = ep3_contract_event.0093.desc_taxes
			}
			triggered_desc = {
				trigger = { scope:corruption_reason = flag:bandits }
				desc = ep3_contract_event.0093.desc_bandits
			}
			triggered_desc = {
				trigger = { scope:corruption_reason = flag:riots }
				desc = ep3_contract_event.0093.desc_riots
			}
			triggered_desc = {
				trigger = { scope:corruption_reason = flag:low_control }
				desc = ep3_contract_event.0093.desc_low_control
			}
		}
	}
	theme = landless_adventurer
	override_background = {
		reference = terrain_travel
	}
	#task_contract_taker, you
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				scope:task_contract.var:control <= scope:task_contract.var:support
				scope:corruption_reason = flag:taxes
			}
			animation = personality_compassionate
		}
		triggered_animation = {
			trigger = {
				scope:task_contract.var:control <= scope:task_contract.var:support
				scope:corruption_reason = flag:bandits
			}
			animation = shock
		}
		triggered_animation = {
			trigger = {
				scope:task_contract.var:control <= scope:task_contract.var:support
				scope:corruption_reason = flag:riots
			}
			animation = interested_left
		}
		triggered_animation = {
			trigger = {
				scope:task_contract.var:control <= scope:task_contract.var:support
				scope:corruption_reason = flag:low_control
			}
			animation = shame
		}
		triggered_animation = {
			trigger = {
				scope:task_contract.var:control > scope:task_contract.var:support
				scope:corruption_reason = flag:taxes
			}
			animation = dismissal
		}
		triggered_animation = {
			trigger = {
				scope:task_contract.var:control > scope:task_contract.var:support
				scope:corruption_reason = flag:bandits
			}
			animation = disbelief
		}
		triggered_animation = {
			trigger = {
				scope:task_contract.var:control > scope:task_contract.var:support
				scope:corruption_reason = flag:riots
			}
			animation = disappointed
		}
		triggered_animation = {
			trigger = {
				scope:task_contract.var:control > scope:task_contract.var:support
				scope:corruption_reason = flag:low_control
			}
			animation = eyeroll
		}
	}
	#peasant spokeperson
	right_portrait = {
		character = scope:corrupt_province_peasant
		animation = beg
	}
	#marshal
	lower_left_portrait = {
		character = scope:task_contract_councillor
	}
	#marshal's liege
	lower_right_portrait = {
		character = scope:task_contract_councillor_liege
	}
	widget = {
		gui = "event_window_widget_peasant_leader"
		container = "custom_widgets_container"
	}
	cooldown = { days = 1 }

	trigger = {
		any_character_active_contract = {
			has_task_contract_type = laamp_help_increase_control_contract
		}
	}

	immediate = {
		set_contract_scopes_effect = yes
		set_council_scopes_effect = yes
		ep3_peasant_leader_widget_setup_effect = yes
		if = {
			limit = {
				NOT = { exists = scope:corrupt_province }
			}
			location = {
				save_scope_as = corrupt_province
			}
		}
		#remove the visited county from the list of corrupt counties, so you don't have to visit it anymore
		scope:task_contract = {
			remove_list_variable = {
				name = corrupt_counties
				target = scope:corrupt_province.county
			}		
		}
		#find a local peasant
		random_pool_character = {
			province = scope:corrupt_province
			limit = {
				is_available_healthy_ai_adult = yes
				faith = scope:corrupt_province.county.faith
				culture = scope:corrupt_province.county.culture
			}
			save_scope_as = corrupt_province_peasant
		}
		if = {
			limit = {
				NOT = { exists = scope:corrupt_province_peasant }
			}
			create_character = {
				location = scope:corrupt_province
				template = peasant_character
				gender_female_chance = 50
				faith = scope:corrupt_province.county.faith
				culture = scope:corrupt_province.county.culture
				save_scope_as = corrupt_province_peasant
			}
		}
		#add them to a list, they will become army leaders if a war breaks out
		scope:task_contract = {
			add_to_variable_list = {
				name = met_peasant_leaders
				target = scope:corrupt_province_peasant
			}
		}
		#set flag with reason for localization
		if = {
			limit = {
				NOT = { exists = scope:corruption_reason }
			}
			set_corruption_reason_effect = yes
		}
	}

	#help the marshal
	option = {
		name = ep3_contract_event.0093.a
		duel = {
			skill = martial
			value = high_skill_rating
			25 = {
				desc = ep3_contract_event.0093.a_win
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
				add_dread = 5
				scope:corrupt_province.county = {
					add_county_modifier = {
						modifier = marshal_task_increase_control_increased_opinion_modifier
						years = 5
					}
				}
			}
			25 = {
				desc = ep3_contract_event.0093.a_lose
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = 5
				}
				scope:corrupt_province.county = {
					add_county_modifier = {
						modifier = marshal_task_military_presence_modifier
						years = 5
					}
				}
				if = {
					limit = {
						any_maa_regiment = { }
					}
					random_maa_regiment = {
						change_maa_troops_count = {
							value = maa_current_troops_count
							multiply = laamp_base_contract_schemes_1301_maa_damage_moderate_value
						}
					}
				}
				else_if = {
					limit = {
						any_courtier = {
							is_adult = yes
							NOR = {
								is_close_family_of = root
								is_spouse_of = root
							}
						}
					}
					ordered_courtier = {
						order_by = martial
						limit = {
							is_adult = yes
							NOR = {
								is_close_family_of = root
								is_spouse_of = root
							}
						}
						scope:corrupt_province.province_owner = {
							add_courtier = prev
						}
					}
				}
				else = {
					pay_short_term_gold = {
						target = scope:corrupt_province.province_owner
						gold = root.minor_gold_value
					}
					domicile = {
						change_provisions = {
							integer_range = {
								min = miniscule_provisions_value
								max = minor_provisions_value
							}
						}
					}
				}
			}
		}
		if = {
			limit = {
				scope:task_contract.var:num_of_corrupt_counties = 1
				scope:task_contract.var:control = 0
				scope:task_contract.var:support = 0
			}
			custom_tooltip = ep3_contract_event.0094_success
			scope:task_contract = {
				complete_task_contract = success_critical
			}
		}
		ep3_increase_peasant_control_effect = yes
		stress_impact = {
			compassionate = minor_stress_impact_gain
			calm = minor_stress_impact_gain
			just = minor_stress_impact_gain
			impatient = minor_stress_impact_loss
			wrathful = minor_stress_impact_loss
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
		}
	}

	#side with peasants
	option = {
		name = ep3_contract_event.0093.b
		every_courtier = {
			limit = {
				is_lowborn = yes
				NOT = {
					has_opinion_modifier = {
						modifier = sided_with_peasants_opinion
						target = root
					}
				}
			}
			custom = every_lowborn_follower
			add_opinion = {
				modifier = sided_with_peasants_opinion
				target = root
				years = 3
			}
		}
		if = {
			limit = {
				scope:task_contract.var:num_of_corrupt_counties = 1
				scope:task_contract.var:control = 0
				scope:task_contract.var:support = 0
			}
			custom_tooltip = ep3_contract_event.0094_fail
			show_as_tooltip = {
				scope:task_contract = {
					complete_task_contract = failure_standard
				}
			}
			trigger_event = {
				id = ep3_contract_event.0095
				delayed = yes
			}
		}
		ep3_increase_peasant_support_effect = yes
		stress_impact = {
			compassionate = minor_stress_impact_loss
			fickle = minor_stress_impact_loss
			just = minor_stress_impact_loss
			wrathful = minor_stress_impact_gain
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 0
		}
	}

	after = {
		ep3_peasant_leader_widget_clear_effect = yes
		#check if there are more corrupt counties to visit
		if = {
			limit = {
				scope:task_contract = {
					has_variable_list = corrupt_counties
					variable_list_size = {
						name = corrupt_counties
						value >= 1
					}
				}
			}
			#follow up event to keep going
			trigger_event = {
				id = ep3_contract_event.0094
				delayed = yes
			}
		}
		#else complete the contract
		else = {
			if = {
				limit = {
					scope:task_contract.var:control > scope:task_contract.var:support
					NAND = {
						scope:task_contract.var:control = 0
						scope:task_contract.var:support = 0
					}
				}
				custom_tooltip = ep3_contract_event.0094_success
				scope:task_contract = {
					if = {
						limit = {
							scope:task_contract.var:control = scope:task_contract.var:num_of_corrupt_counties
						}
						complete_task_contract = success_critical
					}
					else = {
						complete_task_contract = success_standard
					}
				}
			}
			else_if = {
				limit = {
					scope:task_contract.var:control <= scope:task_contract.var:support
					NAND = {
						scope:task_contract.var:control = 0
						scope:task_contract.var:support = 0
					}
				}
				custom_tooltip = ep3_contract_event.0094_fail
				show_as_tooltip = {
					scope:task_contract = {
						complete_task_contract = failure_standard
					}
				}
				trigger_event = {
					id = ep3_contract_event.0095
					delayed = yes
				}
			}
		}
	}
}

# increase control - keep going
ep3_contract_event.0094 = {
	type = character_event
	title = ep3_contract_event.0094.t
	desc = {
		desc = ep3_contract_event.0094.desc
		first_valid = {
			triggered_desc = {
				trigger = { scope:corruption_reason = flag:taxes }
				desc = ep3_contract_event.0094.desc_taxes
			}
			triggered_desc = {
				trigger = { scope:corruption_reason = flag:bandits }
				desc = ep3_contract_event.0094.desc_bandits
			}
			triggered_desc = {
				trigger = { scope:corruption_reason = flag:riots }
				desc = ep3_contract_event.0094.desc_riots
			}
			triggered_desc = {
				trigger = { scope:corruption_reason = flag:low_control }
				desc = ep3_contract_event.0094.desc_low_control
			}
		}
	}
	theme = landless_adventurer
	#task_contract_taker, you
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				scope:task_contract.var:control <= scope:task_contract.var:support
				scope:corruption_reason = flag:taxes
			}
			animation = personality_rational
		}
		triggered_animation = {
			trigger = {
				scope:task_contract.var:control <= scope:task_contract.var:support
				scope:corruption_reason = flag:bandits
			}
			animation = worry
		}
		triggered_animation = {
			trigger = {
				scope:task_contract.var:control <= scope:task_contract.var:support
				scope:corruption_reason = flag:riots
			}
			animation = personality_honorable
		}
		triggered_animation = {
			trigger = {
				scope:task_contract.var:control <= scope:task_contract.var:support
				scope:corruption_reason = flag:low_control
			}
			animation = stunned
		}
		triggered_animation = {
			trigger = {
				scope:task_contract.var:control > scope:task_contract.var:support
				scope:corruption_reason = flag:taxes
			}
			animation = personality_greedy
		}
		triggered_animation = {
			trigger = {
				scope:task_contract.var:control > scope:task_contract.var:support
				scope:corruption_reason = flag:bandits
			}
			animation = schadenfreude
		}
		triggered_animation = {
			trigger = {
				scope:task_contract.var:control > scope:task_contract.var:support
				scope:corruption_reason = flag:riots
			}
			animation = eyeroll
		}
		triggered_animation = {
			trigger = {
				scope:task_contract.var:control > scope:task_contract.var:support
				scope:corruption_reason = flag:low_control
			}
			animation = boredom
		}
	}
	#marshal
	right_portrait = {
		character = scope:task_contract_councillor
		animation = debating
	}
	#marshal's liege
	lower_right_portrait = {
		character = scope:task_contract_councillor_liege
	}
	widget = {
		gui = "event_window_widget_peasant_leader"
		container = "custom_widgets_container"
	}

	immediate = {
		if = {
			limit = {
				NOT = { has_variable = contract_094_travel_fallback_true }
			}
			ep3_peasant_leader_widget_setup_effect = yes
			scope:task_contract = {
				#set a county from the corrupt counties list as the corrupt county to visit next
				random_in_list = {
					variable = corrupt_counties
					title_province = {
						save_scope_as = corrupt_province
					}
				}
				#update the destination variable for proper tooltips and descriptions in other UIs
				set_variable = {
					name = task_contract_destination
					value = scope:corrupt_province
				}
			}
			set_corruption_reason_effect = yes
		}
		else = {
			remove_variable = contract_094_travel_fallback_true
		}
	}

	#travel without camp
	option = {
		name = ep3_contract_event.0094.a
		hidden_effect = {
			current_travel_plan ?= {
				abort_travel_plan = yes
			}
			start_travel_plan = {
				destination = scope:corrupt_province
				on_arrival_event = ep3_contract_event.0093
				on_arrival_destinations = all_but_last
				on_travel_planner_cancel_on_action = ep3_contract_094_travel_fallback
				can_cancel_planning = no
			}
		}
		custom_tooltip = ep3_contract_event.0094.travel_without_domicile
		
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
		}
	}

	# travel with camp - only if you traveled with it here
	option = {
		name = ep3_contract_event.0094.b
		trigger = {
			domicile.domicile_location = root.location
		}
		hidden_effect = {
			current_travel_plan ?= {
				abort_travel_plan = yes
			}
			start_travel_plan = {
				destination = scope:corrupt_province
				on_arrival_event = ep3_contract_event.0093
				on_arrival_destinations = all
				travel_with_domicile = yes
				return_trip = no
				can_cancel_planning = no
			}
		}
		custom_tooltip = ep3_contract_event.0094.travel_with_domicile
		custom_tooltip = ep3_contract_event.0001.with_domicile.tt
		
		#AI shouldn't move their camp in events
		ai_chance = {
			base = 0
		}
	}

	# I had enough, fail contract
	option = {
		name = ep3_contract_event.0094.c
		trigger = {
			scope:task_contract.var:control <= scope:task_contract.var:support
		}
		flavor = ep3_contract_event.0094_fail
		show_as_tooltip = {
			scope:task_contract = {
				complete_task_contract = failure_standard
			}
		}
		trigger_event = ep3_contract_event.0095
		stress_impact = {
			ambitious = major_stress_impact_gain
			lazy = minor_stress_impact_loss
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 0
		}
	}

	# I had enough, succeed contract
	option = {
		name = ep3_contract_event.0094.c
		trigger = {
			scope:task_contract.var:control > scope:task_contract.var:support
		}
		flavor = ep3_contract_event.0094_success
		scope:task_contract = {
			if = {
				limit = {
					scope:task_contract.var:control = scope:task_contract.var:num_of_corrupt_counties
				}
				complete_task_contract = success_critical
			}
			else = {
				complete_task_contract = success_standard
			}
		}
		return_home = yes
		stress_impact = {
			ambitious = minor_stress_impact_gain
			lazy = minor_stress_impact_loss
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
		}
	}

	after = {
		ep3_peasant_leader_widget_clear_effect = yes
	}
}

# increase control - follow up
ep3_contract_event.0095 = {
	type = character_event
	title = ep3_contract_event.0095.t
	desc = ep3_contract_event.0095.desc
	theme = landless_adventurer
	#task_contract_taker, you
	left_portrait = {
		character = root
		animation = schadenfreude
	}
	#marshal
	right_portrait = {
		character = scope:task_contract_councillor
		animation = rage
	}
	#marshal's liege
	lower_right_portrait = {
		character = scope:task_contract_councillor_liege
	}
	widget = {
		gui = "event_window_widget_peasant_leader"
		container = "custom_widgets_container"
	}
	cooldown = { days = 1 }

	immediate = {
		# transfer the list of supported counties from contract to root, as the contract will be destroyed after this event, so that you will have access to the ep3_laamp_peasant_war cb, even if you didn't choose war in this event
		scope:task_contract = {
			every_in_list = {
				variable = supported_counties
				root = {
					add_to_variable_list = {
						name = war_supported_counties_list
						target = prev
					}
				}
			}
			every_in_list = {
				variable = met_peasant_leaders
				root = {
					add_to_variable_list = {
						name = war_met_peasant_leaders_list
						target = prev
					}
				}
			}
		}
		scope:task_contract_taker = {
			ep3_peasant_leader_widget_setup_effect = yes
		}
	}

	#lead an independence peasant war
	option = {
		name = ep3_contract_event.0095.a
		#start a freedom war!
		start_war = {
			cb = ep3_laamp_peasant_war
			target = scope:task_contract_councillor_liege.top_liege
		}
		#try to capture the marshal, as they standing right next to you
		duel = {
			skills = { prowess intrigue }
			target = scope:task_contract_councillor
			25 = {
				desc = ep3_contract_event.0095.a_win
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
				prisoner_of_war_capture_effect = {
					TARGET = scope:task_contract_councillor
					IMPRISONER = root
				}
				scope:task_contract_councillor_liege = {
					add_opinion = {
						modifier = fp3_wrongful_imprisonment_opinion
						opinion = -30
						target = root
					}
				}
			}
			25 = {
				desc = ep3_contract_event.0095.a_lose
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = 5
				}
				scope:task_contract_councillor = {
					add_opinion = {
						target = root
						modifier = attempted_imprisonment_opinion
					}
				}
			}
		}
		#fail the contract, obivously
		scope:task_contract = {
			complete_task_contract = failure_standard
		}
		return_home = yes
		stress_impact = {
			craven = minor_stress_impact_gain
			lazy = minor_stress_impact_gain
			brave = minor_stress_impact_loss
			compassionate = minor_stress_impact_loss
			arrogant = minor_stress_impact_loss
		}
		ai_chance = {
			base = 20

		}
	}

	# they are on their own, for now
	option = {
		name = ep3_contract_event.0095.b
		scope:task_contract = {
			every_in_list = {
				variable = supported_counties
				custom = laamp_peasant_revolt_every_county
				random_list = {
					1 = {
						add_county_modifier = small_investment_in_revolt_modifier
					}
					1 = {
						add_county_modifier = medium_investment_in_revolt_modifier
					}
					1 = {
						add_county_modifier = high_investment_in_revolt_modifier
					}
				}
			}
		}
		#this also fails the contract
		scope:task_contract = {
			complete_task_contract = failure_standard
		}
		return_home = yes
		stress_impact = {
			craven = minor_stress_impact_loss
			lazy = minor_stress_impact_loss
			brave = minor_stress_impact_gain
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 0
		}
	}

	# try to weasel out of it
	option = {
		name = ep3_contract_event.0095.c
		duel = {
			skills = { diplomacy intrigue }
			target = scope:task_contract_councillor
			1 = {
				desc = ep3_contract_event.0095.c_win
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
				scope:task_contract = {
					complete_task_contract = success_standard
				}
			}
			25 = {
				desc = ep3_contract_event.0095.c_tie
				scope:task_contract = {
					invalidate_contract = yes
				}
			}
			25 = {
				desc = ep3_contract_event.0095.c_lose
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = 5
				}
				scope:task_contract = {
					complete_task_contract = failure_standard
				}
			}
		}
		return_home = yes
		stress_impact = {
			honest = minor_stress_impact_gain
			brave = minor_stress_impact_gain
			compassionate = minor_stress_impact_gain
			deceitful = minor_stress_impact_loss
			cynical = minor_stress_impact_loss
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 20
		}
	}

	after = {
		ep3_peasant_leader_widget_clear_effect = yes
	}
}

## Spymaster
#Contract to scheme find secrets - starting event
ep3_contract_event.0100 = {
	type = character_event
	title = ep3_contract_event.0100.t
	desc = ep3_contract_event.0100.desc
	theme = intrigue
	#task_contract_taker, you
	left_portrait = {
		character = root
		animation = stunned
	}
	#spymaster
	right_portrait = {
		character = scope:task_contract_councillor
		animation = scheme
	}
	#spymaster's liege
	lower_right_portrait = {
		character = scope:task_contract_councillor_liege
	}

	immediate = {
		set_contract_scopes_effect = yes
		set_council_scopes_effect = yes
	}

	#start scheme to find secrets
	option = {
		name = ep3_contract_event.0030.b
		begin_contract_scheme_with_agents_effect = {
			SCHEME_TYPE = laamp_help_find_secrets_scheme
			TARGET_TYPE = target_character
			TARGET_SCOPE = scope:task_contract_target
			TASK_CONTRACT = scope:task_contract
			# Success.
			AGENT_1 = agent_diplomat
			AGENT_2 = agent_shill
			AGENT_3 = agent_gabbler
			# Speed.
			AGENT_4 = agent_theologian
			# Secrecy.
			AGENT_5 = agent_justiciar
		}
		#AI should always try to complete the contract
		ai_chance = {
			base = 1
		}
	}

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

# Boost Legitimacy - intro
ep3_contract_event.0510 = {
	type = character_event
	title = ep3_contract_event.0510.t
	desc = ep3_contract_event.0510.desc
	theme = diplomacy
	override_background = {
		reference = alley_day
	}
	left_portrait = {
		character = root
		animation = thinking
	}
	right_portrait = {
		character = scope:peasant
		animation = debating
	}
	lower_right_portrait = {
		character = scope:task_contract_employer
	}
	
	immediate = {
		set_contract_scopes_effect = yes
		set_council_scopes_effect = yes
		create_character = {
			template = generic_peasant_character
			location = this.location
			faith = location.faith
			culture = location.culture
			random_traits = yes
			trait = peasant_leader
			save_scope_as = peasant
		}
		location = {
			save_scope_as = location
		}
	}

	#You attempt to debate the local
	option = {
		name = ep3_contract_event.0510.a

		duel = {
			skills = { diplomacy learning }
			target = scope:peasant
			
			50 = { #You win the debate
				desc = ep3_contract_event.0510.a.success
				compare_modifier = {
					value = scope:duel_value
					multiplier = 2.5
					min = -49
				}
				min = 5
				scope:task_contract = {
					complete_task_contract = success_standard
				}
				add_character_flag = contract_success_flag
				trigger_event = ep3_contract_event.0520
			}
			40 = { #You are unconvincing
				desc = ep3_contract_event.0510.a.failure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 5
				scope:task_contract = {
					complete_task_contract = failure_standard
				}
				add_character_flag = contract_failure_flag
				trigger_event = ep3_contract_event.0520
			}
			10 = { #You actively damage your employer in the eyes of his subjects
				desc = ep3_contract_event.0510.a.critfailure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 1
				scope:task_contract = {
					complete_task_contract = failure_critical
				}
				add_character_flag = contract_crit_failure_flag
				trigger_event = ep3_contract_event.0520
			}
		}
		stress_impact = {
			honest = minor_stress_impact_loss
			arrogant = minor_stress_impact_loss
			compassionate = minor_stress_impact_loss
			sadistic = minor_stress_impact_gain
		}
		ai_chance = {
			base = 10
			modifier = {
				add = 100
				OR = {
					highest_skill = diplomacy
					learning > scope:peasant.learning
				}
			}
		}
	}

	#Threaten the local
	option = {
		name = ep3_contract_event.0510.b
		duel = {
			skills = { diplomacy prowess }
			target = scope:peasant
			
			30 = { #You win the 'debate'
				desc = ep3_contract_event.0510.b.success
				compare_modifier = {
					value = scope:duel_value
					multiplier = 2.5
					min = -49
				}
				min = 3
				scope:task_contract = {
					complete_task_contract = success_standard
				}
				add_character_flag = contract_success_flag
				trigger_event = ep3_contract_event.0520
			}
			50 = { #You are unconvincing
				desc = ep3_contract_event.0510.b.failure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 5
				scope:task_contract = {
					complete_task_contract = failure_standard
				}
				add_character_flag = contract_failure_flag
				trigger_event = ep3_contract_event.0520
			}
			20 = { #You actively damage your employer in the eyes of his subjects
				desc = ep3_contract_event.0510.b.critfailure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 1
				scope:peasant = {
					create_faction = {
						type = peasant_faction
						target = scope:task_contract_employer
					}
				}
				scope:task_contract = {
					complete_task_contract = failure_critical
				}
				add_character_flag = contract_crit_failure_flag
				trigger_event = ep3_contract_event.0520
			}
		}
		stress_impact = {
			honest = minor_stress_impact_gain
			compassionate = minor_stress_impact_gain
			sadistic = major_stress_impact_loss
		}
		ai_chance = {
			base = 10
			modifier = {
				add = 100
				highest_skill_including_prowess = prowess
			}
		}
	}

	#Pay him off to support your cause
	option = {
		name = ep3_contract_event.0510.c

		pay_short_term_gold = {
			target = scope:peasant
			gold = minor_gold_value
		}

		random_list = {
			75 = {
				modifier = {
					add = 15
					scope:peasant = {
						OR = {
							has_trait = greedy
							has_trait = arbitrary
						}
					}
				}
				scope:task_contract = {
					complete_task_contract = success_standard
				}
				add_character_flag = contract_success_flag
				trigger_event = ep3_contract_event.0520
			}
			25 = {
				modifier = {
					add = 25
					scope:peasant = {
						OR = {
							has_trait = stubborn
							has_trait = ambitious
						}
					}
				}
				scope:task_contract = {
					complete_task_contract = failure_standard
				}
				add_character_flag = contract_failure_flag
				trigger_event = ep3_contract_event.0520
			}
		}


		stress_impact = {
			gregarious = minor_stress_impact_loss
			zealous = minor_stress_impact_loss
			compassionate = minor_stress_impact_loss
			shy = minor_stress_impact_gain
			cynical = minor_stress_impact_gain
		}
		ai_chance = {
			base = 10
			modifier = {
				add = 100
				gold > 100
			}
		}
	}

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

# Boost Legitimacy - resolution
ep3_contract_event.0520 = {
	type = character_event
	title = {
		first_valid = {
			triggered_desc = {
				trigger = { has_character_flag = contract_success_flag }
				desc = ep3_contract_event.0520.t.success
			}
			triggered_desc = {
				trigger = { has_character_flag = contract_failure_flag }
				desc = ep3_contract_event.0520.t.failure
			}
			triggered_desc = {
				trigger = { has_character_flag = contract_crit_failure_flag }
				desc = ep3_contract_event.0520.t.critfailure
			}
		}
	}
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { has_character_flag = contract_success_flag }
				desc = ep3_contract_event.0520.desc.success
			}
			triggered_desc = {
				trigger = { has_character_flag = contract_failure_flag }
				desc = ep3_contract_event.0520.desc.failure
			}
			triggered_desc = {
				trigger = { has_character_flag = contract_crit_failure_flag }
				desc = ep3_contract_event.0520.desc.critfailure
			}
		}
	}
	theme = diplomacy
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				has_character_flag = contract_success_flag
			}
			animation = personality_honorable
		}
		animation = stress
	}
	right_portrait = {
		character = scope:task_contract_employer
		triggered_animation = {
			trigger = {
				has_character_flag = contract_success_flag
			}
			animation = ecstasy
		}
		animation = anger
	}
	
	immediate = {
		set_contract_scopes_effect = yes
		set_council_scopes_effect = yes
		location = {
			save_scope_as = location
		}
		show_as_tooltip = {
			if = {
				limit = {
					has_character_flag = contract_success_flag
				}
				scope:task_contract = {
					complete_task_contract = success_standard
				}
			}
			else_if = {
				limit = {
					has_character_flag = contract_failure_flag
				}
				scope:task_contract = {
					complete_task_contract = failure_standard
				}
			}
			else = {
				scope:task_contract = {
					complete_task_contract = failure_critical
				}
			}
		}
	}

	option = {
		name = ep3_contract_event.0520.a

		trigger = {
			has_character_flag = contract_success_flag
		}

		stress_impact = {
			base = miniscule_stress_impact_loss
		}
		ai_chance = {
			base = 10
		}
	}

	option = {
		name = ep3_contract_event.0520.b

		trigger = {
			NOT = {
				has_character_flag = contract_success_flag
			}
		}

		stress_impact = {
			base = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 10
		}
	}

	after = {
		remove_character_flag = contract_crit_success_flag
		remove_character_flag = contract_success_flag
		remove_character_flag = contract_failure_flag
		remove_character_flag = contract_crit_failure_flag
	}
}

# Turbulent Priest - intro
ep3_contract_event.0550 = {
	type = character_event
	title = ep3_contract_event.0550.t
	desc = ep3_contract_event.0550.desc
	theme = martial
	override_background = {
		reference = alley_night
	}
	left_portrait = {
		character = root
		animation = lantern
	}
	right_portrait = {
		character = scope:messenger
		outfit_tags = { travel_cloak }
		animation = scheme
		hide_info = yes
	}
	lower_right_portrait = {
		character = scope:task_contract_employer
	}

	immediate = {
		set_contract_scopes_effect = yes
		set_council_scopes_effect = yes
		location = {
			save_scope_as = location
		}
		scope:task_contract_employer = {
			random_councillor = { #Has a councillor who they hate
				limit = {
					is_ai = yes
					reverse_opinion = {
						target = scope:task_contract_employer
						value <= high_negative_opinion
					}
				}
				save_scope_as = councillor
			}
		}
		if = {
			limit = {
				any_pool_character = {
					province = root.location
					is_physically_able_ai_adult = yes
					has_no_particular_noble_roots_trigger = yes
					age >= 25
					age <= 75
				}
			}
			random_pool_character = {
				province = root.location
				limit = {
					is_physically_able_ai_adult = yes
					has_no_particular_noble_roots_trigger = yes
					age >= 25
					age <= 75
				}
				save_scope_as = messenger
			}
		}
		else = {
			create_character = {
				template = generic_peasant_character
				location = this.location
				faith = location.faith
				culture = location.culture
				random_traits = yes
				save_scope_as = messenger
			}
		}
	}

	#Open the letter
	option = {
		name = ep3_contract_event.0550.a

		custom_tooltip = ep3_contract_event.0550.a.tt

		trigger_event = ep3_contract_event.0555

		stress_impact = {
			honest = miniscule_stress_impact_gain
			deceitful = miniscule_stress_impact_loss
			craven = miniscule_stress_impact_gain
			brave = miniscule_stress_impact_loss
		}

		ai_chance = {
			base = 100
		}
	}

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

# Turbulent Priest - Letter
ep3_contract_event.0555 = {
	type = character_event
	window = anonymous_letter_event
	title = debug.0002.t
	desc = ep3_contract_event.0555.desc
	theme = martial

	#Okie doke
	option = {
		name = ep3_contract_event.0555.a

		trigger_event = {
			id = ep3_contract_event.0560
			days = 1
		}

		stress_impact = {
			honest = miniscule_stress_impact_gain
			deceitful = miniscule_stress_impact_loss
			craven = miniscule_stress_impact_gain
			brave = miniscule_stress_impact_loss
		}

		ai_chance = {
			base = 100
		}
	}
}

# Turbulent Priest - decision
ep3_contract_event.0560 = {
	type = character_event
	title = ep3_contract_event.0560.t
	desc = ep3_contract_event.0560.desc
	theme = martial
	override_background = {
		reference = alley_night
	}
	left_portrait = {
		character = root
		animation = hunting_knife_start
	}
	right_portrait = {
		character = scope:councillor
		animation = drink_goblet
	}
	
	immediate = {
		set_contract_scopes_effect = yes
		location = {
			save_scope_as = location
		}
		scope:task_contract_employer = {
			random_sub_realm_barony = { #Save a place for the exile to go
				limit = {
					this != root.capital_province
				}
				save_scope_as = exile_barony
			}
		}
	}

	option = { #Slaughter them
		name = ep3_contract_event.0560.a

		duel = {
			skills = { prowess martial }
			target = scope:councillor
			
			30 = { #You break in and kill everyone inside
				desc = ep3_contract_event.0560.a.success
				compare_modifier = {
					value = scope:duel_value
					multiplier = 2.5
					min = -49
				}
				min = 3
				add_character_flag = contract_success_flag
				custom_tooltip = ep3_contract_event.0560.contractsuccess
				trigger_event = {
					id = ep3_contract_event.0565
					days = { 1 2 }
				}
				scope:councillor = { death = { death_reason = death_murder } }
			}
			50 = { #You break in, kill the target, but suffer wounds
				desc = ep3_contract_event.0560.a.neutral
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 5
				increase_wounds_no_death_effect = { REASON = fight }
				add_character_flag = contract_success_flag
				custom_tooltip = ep3_contract_event.0560.contractsuccess
				trigger_event = {
					id = ep3_contract_event.0565
					days = { 1 2 }
				}
				scope:councillor = { death = { killer = root death_reason = death_duel } }
			}
			30 = { #You fail to even kill the target
				desc = ep3_contract_event.0560.a.failure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 3
				increase_wounds_no_death_effect = { REASON = fight }
				add_character_flag = contract_crit_failure_flag
				custom_tooltip = ep3_contract_event.0560.contractfailure
				trigger_event = {
					id = ep3_contract_event.0565
					days = { 1 2 }
				}
			}
			10 = { #You are killed!
				desc = ep3_contract_event.0560.a.critfailure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 1
				death = { killer = scope:councillor death_reason = death_duel }
			}
		}

		stress_impact = {
			brave = miniscule_stress_impact_loss
			craven = minor_stress_impact_gain
			impatient = miniscule_stress_impact_loss
			patient = minor_stress_impact_gain
		}

		ai_chance = {
			base = 10
			modifier = {
				add = 100
				highest_skill_including_prowess = prowess
			}
		}
	}

	option = { #Knife him in the loo
		name = ep3_contract_event.0560.b

		duel = {
			skills = { prowess intrigue }
			target = scope:councillor
			
			40 = { #It works perfectly
				desc = ep3_contract_event.0560.b.success
				compare_modifier = {
					value = scope:duel_value
					multiplier = 2.5
					min = -49
				}
				min = 4
				add_character_flag = contract_success_flag
				custom_tooltip = ep3_contract_event.0560.contractcritsuccess
				trigger_event = {
					id = ep3_contract_event.0565
					days = { 1 2 }
				}
				scope:councillor = { death = { death_reason = death_murder } }
			}
			40 = { #There is a scuffle, and people notice as you escape
				desc = ep3_contract_event.0560.b.neutral
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 4
				add_character_flag = contract_success_flag
				custom_tooltip = ep3_contract_event.0560.contractsuccess
				trigger_event = {
					id = ep3_contract_event.0565
					days = { 1 2 }
				}
				scope:councillor = { death = { killer = root death_reason = death_murder_known } }
			}
			20 = { #He doesn't even go to the toilet
				desc = ep3_contract_event.0560.b.failure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 2
				increase_wounds_no_death_effect = { REASON = fight }
				add_character_flag = contract_failure_flag
				custom_tooltip = ep3_contract_event.0560.contractcritfailure
				trigger_event = {
					id = ep3_contract_event.0565
					days = { 1 2 }
				}
			}
		}

		stress_impact = {
			sadistic = minor_stress_impact_loss
			compassionate = medium_stress_impact_gain
			impatient = minor_stress_impact_gain
			patient = miniscule_stress_impact_loss
		}

		ai_chance = {
			base = 10
			modifier = {
				add = 50
				highest_skill = intrigue
			}
		}
	}

	option = { #Poison his drink
		name = ep3_contract_event.0560.c

		duel = {
			skill = intrigue
			value = very_high_skill_rating
			
			20 = { #It works perfectly
				desc = ep3_contract_event.0560.c.critsuccess
				compare_modifier = {
					value = scope:duel_value
					multiplier = 2.5
					min = -49
				}
				min = 2
				add_character_flag = contract_crit_success_flag
				custom_tooltip = ep3_contract_event.0560.contractcritsuccess
				trigger_event = {
					id = ep3_contract_event.0565
					days = { 1 2 }
				}
			}
			50 = { #By the time they realise it was you, he is already dead
				desc = ep3_contract_event.0560.c.success
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 5
				add_character_flag = contract_success_flag
				custom_tooltip = ep3_contract_event.0560.contractsuccess
				trigger_event = {
					id = ep3_contract_event.0565
					days = { 1 2 }
				}
				scope:councillor = { death = { killer = root death_reason = death_poison } }
			}
			50 = { #It merely makes him sick
				desc = ep3_contract_event.0560.c.failure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 5
				add_character_flag = contract_failure_flag
				custom_tooltip = ep3_contract_event.0560.contractfailure
				trigger_event = {
					id = ep3_contract_event.0565
					days = { 1 2 }
				}
				scope:councillor = { contract_disease_effect = { DISEASE = ill TREATMENT_EVENT = no } }
			}
			20 = { #He sees you spiking the drink
				desc = ep3_contract_event.0560.c.critfailure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 2
				add_character_flag = contract_crit_failure_flag
				custom_tooltip = ep3_contract_event.0560.contractcritfailure
				trigger_event = {
					id = ep3_contract_event.0565
					days = { 1 2 }
				}
			}
		}

		stress_impact = {
			brave = minor_stress_impact_gain
			craven = miniscule_stress_impact_loss
			deceitful = miniscule_stress_impact_loss
			honest = minor_stress_impact_gain
		}

		ai_chance = {
			base = 10
			modifier = {
				add = 100
				highest_skill = intrigue
			}
		}
	}

	option = { #Lady Boyle 'em
		name = ep3_contract_event.0560.d

		duel = {
			skills = { intrigue learning }
			target = scope:councillor
			
			25 = { #It works perfectly
				desc = ep3_contract_event.0560.d.critsuccess
				compare_modifier = {
					value = scope:duel_value
					multiplier = 2.5
					min = -49
				}
				min = 2
				add_character_flag = contract_crit_success_flag
				custom_tooltip = ep3_contract_event.0560.contractcritsuccess
				scope:task_contract_employer = {
					fire_councillor = scope:councillor
				}
				scope:councillor = { 
					if = {
						limit = {
							is_landed = no
						}
						banish = yes
					}
					else = {
						banish = yes
						create_title_and_vassal_change = {
							type = revoked
							save_scope_as = change
							add_claim_on_loss = yes
						}
						create_landless_adventurer_title_effect = {
							REASON = flag:exile
							FLAVOR_CHAR = root
						}
					}
				}
				trigger_event = {
					id = ep3_contract_event.0565
					days = { 1 2 }
				}
			}
			50 = { #You have to knock him out before abduction
				desc = ep3_contract_event.0560.d.success
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 5
				add_character_flag = contract_success_flag
				custom_tooltip = ep3_contract_event.0560.contractsuccess
				trigger_event = {
					id = ep3_contract_event.0565
					days = { 1 2 }
				}
				scope:task_contract_employer = {
					fire_councillor = scope:councillor
				}
				scope:councillor = { 
					increase_wounds_no_death_effect = { REASON = fight } 
					if = {
						limit = {
							is_landed = no
						}
						banish = yes
					}
					else = {
						banish = yes
						create_title_and_vassal_change = {
							type = revoked
							save_scope_as = change
							add_claim_on_loss = yes
						}
						create_landless_adventurer_title_effect = {
							REASON = flag:exile
							FLAVOR_CHAR = root
						}
					}
				}
			}
			35 = { #He escapes from your clutches
				desc = ep3_contract_event.0560.d.failure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 3
				add_character_flag = contract_crit_failure_flag
				custom_tooltip = ep3_contract_event.0560.contractcritfailure
				trigger_event = {
					id = ep3_contract_event.0565
					days = { 1 2 }
				}
			}
		}

		stress_impact = {
			brave = minor_stress_impact_gain
			craven = miniscule_stress_impact_loss
			sadistic = medium_stress_impact_gain
			compassionate = minor_stress_impact_loss
		}

		ai_chance = {
			base = 10
			modifier = {
				add = 25
				highest_skill = intrigue
			}
			modifier = {
				add = 100
				highest_skill = learning
			}
		}
	}
}

# Turbulent Priest - resolution
ep3_contract_event.0565 = {
	type = character_event
	title = {
		first_valid = {
			triggered_desc = {
				trigger = { has_character_flag = contract_crit_success_flag }
				desc = ep3_contract_event.0565.t.critsuccess
			}
			triggered_desc = {
				trigger = { has_character_flag = contract_success_flag }
				desc = ep3_contract_event.0565.t.success
			}
			triggered_desc = {
				trigger = { has_character_flag = contract_failure_flag }
				desc = ep3_contract_event.0565.t.failure
			}
			triggered_desc = {
				trigger = { has_character_flag = contract_crit_failure_flag }
				desc = ep3_contract_event.0565.t.critfailure
			}
		}
	}
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { has_character_flag = contract_crit_success_flag }
				desc = ep3_contract_event.0565.desc.critsuccess
			}
			triggered_desc = {
				trigger = { has_character_flag = contract_success_flag }
				desc = ep3_contract_event.0565.desc.success
			}
			triggered_desc = {
				trigger = { has_character_flag = contract_failure_flag }
				desc = ep3_contract_event.0565.desc.failure
			}
			triggered_desc = {
				trigger = { has_character_flag = contract_crit_failure_flag }
				desc = ep3_contract_event.0565.desc.critfailure
			}
		}
	}
	theme = martial
	override_background = {
		reference = ep2_travel_bridge
	}
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				OR = {
					has_character_flag = contract_success_flag
					has_character_flag = contract_crit_success_flag
				}
			}
			animation = steward
		}
		outfit_tags = { nightgown }
		animation = stress
	}
	right_portrait = {
		trigger = {
			OR = {
				has_character_flag = contract_success_flag
				has_character_flag = contract_crit_success_flag
			}
		}
		character = scope:messenger
		animation = jockey_idle
		outfit_tags = { travel_cloak }
		hide_info = yes
		camera = camera_event_horse_right
	}
	lower_center_portrait = {
		character = scope:councillor
	}

	immediate = {
		set_contract_scopes_effect = yes
		if = {
			limit = {
				any_pool_character = {
					province = root.location
					is_physically_able_ai_adult = yes
					has_no_particular_noble_roots_trigger = yes
					age >= 25
					age <= 75
				}
			}
			random_pool_character = {
				province = root.location
				limit = {
					is_physically_able_ai_adult = yes
					has_no_particular_noble_roots_trigger = yes
					age >= 25
					age <= 75
				}
				save_scope_as = messenger
			}
		}
		else = {
			create_character = {
				template = generic_peasant_character
				location = this.location
				faith = location.faith
				culture = location.culture
				random_traits = yes
				save_scope_as = messenger
			}
		}
		if = {
			limit = {
				has_character_flag = contract_crit_success_flag
			}
			scope:task_contract = {
				complete_task_contract = success_critical
			}
		}
		else_if = {
			limit = {
				has_character_flag = contract_success_flag
			}
			scope:task_contract = {
				complete_task_contract = success_standard
			}
		}
		else_if = {
			limit = {
				has_character_flag = contract_failure_flag
			}
			scope:task_contract = {
				complete_task_contract = failure_standard
			}
		}
		else = {
			scope:task_contract = {
				complete_task_contract = failure_critical
			}
		}
	}

	option = {
		name = ep3_contract_event.0565.a

		trigger = {
			OR = {
				has_character_flag = contract_crit_success_flag
				has_character_flag = contract_success_flag
			}
		}

		stress_impact = {
			base = miniscule_stress_impact_loss
		}
		ai_chance = {
			base = 10
		}
	}

	option = {
		name = ep3_contract_event.0565.b

		trigger = {
			NOR = {
				has_character_flag = contract_crit_success_flag
				has_character_flag = contract_success_flag
			}
		}

		stress_impact = {
			base = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 10
		}
	}

	after = {
		remove_character_flag = contract_crit_success_flag
		remove_character_flag = contract_success_flag
		remove_character_flag = contract_failure_flag
		remove_character_flag = contract_crit_failure_flag
	}
}

# Rescue Wanderer - Intro
ep3_contract_event.0570 = {
	type = character_event
	title = ep3_contract_event.0570.t
	desc = ep3_contract_event.0570.desc
	theme = intrigue
	override_background = {
		reference = dungeon
	}
	left_portrait = {
		character = root
		animation = inspect_weapon
	}
	right_portrait = {
		character = scope:task_contract_employer
		animation = prisondungeon
	}
	lower_right_portrait = {
		character = scope:prisonguard
	}
	
	immediate = {
		set_contract_scopes_effect = yes
		save_scope_as = root_for_loc
		create_character = {
			template = mercenary
			location = this.location
			faith = location.faith
			culture = location.culture
			gender_female_chance = root_soldier_female_chance
			random_traits = yes
			save_scope_as = prisonguard
		}
		location = {
			save_scope_as = location
		}

		save_scope_value_as = {
			name = lockpick_range
			value = {
				integer_range = {
					min = 1
					max = 10
				}
			}
		}
	}

	#Duel the guard to get them out
	option = {
		name = ep3_contract_event.0570.a

		trigger = {
			can_start_single_combat_trigger = yes
		}

		add_internal_flag = dangerous

		custom_tooltip = ep3_contract_event.0570.a.tt

		configure_start_single_combat_effect = {
			SC_INITIATOR = root
			SC_ATTACKER = root
			SC_DEFENDER = scope:prisonguard
			FATALITY = always
			FIXED = no
			LOCALE = terrain_scope
			OUTPUT_EVENT = ep3_contract_event.0571
			INVALIDATION_EVENT = single_combat.1006
		}

		stress_impact = {
			brave = minor_stress_impact_loss
			craven = minor_stress_impact_gain
			compassionate = minor_stress_impact_gain
			sadistic = minor_stress_impact_loss
		}

		ai_chance = {
			base = 10
			modifier = {
				add = 50
				highest_skill_including_prowess = prowess
			}
		}
	}

	#Make a distraction
	option = {
		name = ep3_contract_event.0570.b

		duel = {
			skill = intrigue
			value = decent_skill_rating
			
			50 = { #The distraction works
				desc = ep3_contract_event.0570.b.success
				compare_modifier = {
					value = scope:duel_value
					multiplier = 2.5
					min = -49
				}
				min = 5
				custom_tooltip = ep3_contract_event.0560.contractsuccess
				add_character_flag = contract_success_flag
				trigger_event = {
					id = ep3_contract_event.0575
					days = 1
				}
			}
			50 = { #It doesn't work and you have to escape
				desc = ep3_contract_event.0570.b.failure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 5
				custom_tooltip = ep3_contract_event.0560.contractfailure
				add_character_flag = contract_failure_flag
				random = {
					chance = 30
					send_interface_toast = {
						type = event_toast_effect_bad
						title = ep3_contract_event.0570.b.failure.tt
						desc = ep3_contract_event.0570.b.failure.tt
						left_icon = root
						right_icon = scope:prisonguard
						increase_wounds_no_death_effect = { REASON = fight }
					}
				}
				trigger_event = {
					id = ep3_contract_event.0575
					days = 1
				}
			}
		}
		stress_impact = {
			deceitful = miniscule_stress_impact_loss
			honest = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 10
			modifier = {
				add = 100
				highest_skill = intrigue
			}
		}
	}

	#Try to pick the lock
	option = {
		name = ep3_contract_event.0570.c

		random_list = {
			35 = {
				modifier = {
					add = 20
					has_trait = gallowsbait
				}
				modifier = {
					add = 20
					has_trait_xp = {
						trait = gallowsbait
						track = thief
						value >= 25
					}
				}
				modifier = {
					add = 20
					has_trait_xp = {
						trait = gallowsbait
						track = thief
						value >= 75
					}
				}
				add_character_flag = contract_success_flag
				custom_tooltip = ep3_contract_event.0560.contractsuccess
				trigger_event = {
					id = ep3_contract_event.0575
					days = 1
				}
			}
			65 = {
				modifier = {
					add = scope:lockpick_range
				}
				add_character_flag = contract_failure_flag
				custom_tooltip = ep3_contract_event.0560.contractfailure
				trigger_event = {
					id = ep3_contract_event.0575
					days = 1
				}
			}
		}

		stress_impact = {
			patient = minor_stress_impact_loss
			impatient = medium_stress_impact_loss
		}

		ai_chance = {
			base = 25
		}
	}

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

#Add relevant flags
ep3_contract_event.0571 = {
	hidden = yes
	immediate = {
		add_character_flag = contract_duel_success_flag
		add_character_flag = contract_success_flag
		trigger_event = {
			id = ep3_contract_event.0575
			days = 1
		}
	}
}

# Rescue Wanderer - resolution
ep3_contract_event.0575 = {
	type = character_event
	title = {
		first_valid = {
			triggered_desc = {
				trigger = { has_character_flag = contract_success_flag }
				desc = ep3_contract_event.0575.t.success
			}
			triggered_desc = {
				trigger = { has_character_flag = contract_failure_flag }
				desc = ep3_contract_event.0575.t.failure
			}
		}
	}
	desc = {
		triggered_desc = {
			trigger = { has_character_flag = contract_duel_success_flag }
			desc = ep3_contract_event.0575.desc.duel
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_character_flag = contract_success_flag }
				desc = ep3_contract_event.0575.desc.success
			}
			triggered_desc = {
				trigger = { has_character_flag = contract_failure_flag }
				desc = ep3_contract_event.0575.desc.failure
			}
		}
	}
	theme = intrigue
	override_background = {
		reference = alley_day
	}
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				NOT = {
					has_character_flag = contract_failure_flag
				}
			}
			animation = personality_honorable
		}
		animation = stress
	}
	right_portrait = {
		trigger = {
			root = {
				has_character_flag = contract_success_flag
			}
		}
		character = scope:task_contract_employer
		animation = ecstasy
	}
	artifact = {
		trigger = { exists = scope:newly_created_artifact }
		target = scope:newly_created_artifact
		position = lower_center_portrait
	}

	immediate = {
		set_contract_scopes_effect = yes
		hidden_effect = {
			scope:task_contract_employer.primary_title = {
				save_scope_as = title
			}
			destroy_title = scope:title
		}
		add_courtier = scope:task_contract_employer
		if = {
			limit = {
				has_character_flag = contract_failure_flag
			}
			scope:task_contract = {
				complete_task_contract = failure_standard
			}
		}
		else = {
			scope:task_contract = {
				complete_task_contract = success_standard
			}
		}
		if = {
			limit = {
				has_character_flag = contract_duel_success_flag
			}
			add_gold = { 15 40 }
			hidden_effect = {
				random_dummy_gender_effect = yes
				create_artifact_brooch_effect = {
					OWNER = scope:dummy_gender
					SMITH = scope:dummy_gender
				}
				scope:newly_created_artifact = {
					add_artifact_modifier = artifact_negate_prowess_penalty_add_3_modifier
					add_artifact_modifier = artifact_monthly_prestige_2_modifier
					add_artifact_modifier = artifact_dynasty_opinion_1_modifier
					set_artifact_rarity = masterwork
					set_artifact_name = ep3_pilfered_brooch
					add_artifact_history = {
						type = stolen
						actor = scope:prisonguard
						recipient = root
					}
				}
			}
		}		
	}

	option = {
		name = ep3_contract_event.0575.a

		trigger = {
			NOT = {
				has_character_flag = contract_failure_flag
			}
		}

		stress_impact = {
			base = miniscule_stress_impact_loss
		}
		ai_chance = {
			base = 10
		}
	}

	option = {
		name = ep3_contract_event.0575.b

		trigger = {
			has_character_flag = contract_failure_flag
		}

		ai_chance = {
			base = 10
		}
	}

	after = {
		remove_character_flag = contract_success_flag
		remove_character_flag = contract_failure_flag
		remove_character_flag = contract_duel_success_flag
	}
}

# Find Secret - Intro
ep3_contract_event.0580 = {
	type = character_event
	title = ep3_contract_event.0580.t
	desc = ep3_contract_event.0580.desc
	theme = intrigue
	override_background = {
		reference = temple
	}
	left_portrait = {
		character = root
		animation = eavesdrop
	}
	right_portrait = {
		character = scope:secret_haver
		animation = paranoia
	}
	lower_center_portrait = {
		character = scope:task_contract_employer
	}
	
	immediate = {
		set_contract_scopes_effect = yes
		scope:task_contract_employer = {
			if = {
				limit = {
					any_vassal = {
						any_secret = {
							count > 0
							NOT = { is_known_by = scope:task_contract_employer }
						}
					}
				}
				random_vassal = {
					limit = {
						any_secret = {
							count > 0
							NOT = { is_known_by = scope:task_contract_employer }
						}
					}
					save_scope_as = secret_haver
					random_secret = {
						limit = {
							NOT = { is_known_by = scope:task_contract_employer }
						}
						save_scope_as = secret
					}
				}
			}
			else_if = {
				limit = {
					any_courtier_or_guest = {
						any_secret = {
							count > 0
							NOT = { is_known_by = scope:task_contract_employer }
						}
					}
				}
				random_courtier_or_guest = {
					limit = {
						any_secret = {
							count > 0
							NOT = { is_known_by = scope:task_contract_employer }
						}
					}
					save_scope_as = secret_haver
					random_secret = {
						limit = {
							NOT = { is_known_by = scope:task_contract_employer }
						}
						save_scope_as = secret
					}
				}
			}
			else = {
				random_courtier_or_guest = {
					limit = {
						is_available_adult = yes
					}
					save_scope_as = secret_haver
					give_random_likely_secret_effect = yes
					random_secret = {
						limit = {
							NOT = { is_known_by = scope:task_contract_employer }
						}
						save_scope_as = secret
					}
				}
			}
			if = {
				limit = {
					NOT = {
						exists = scope:secret_haver
					}
				}
				create_character = {
					employer = scope:task_contract_employer
					template = pool_repopulate_stewardship
					faith = scope:task_contract_employer.faith
					culture = scope:task_contract_employer.culture
					save_scope_as = secret_haver
				}
				scope:secret_haver = {
					give_random_likely_secret_effect = yes
					random_secret = {
						save_scope_as = secret
					}
				}
			}
		}
	}

	#Investigate
	option = {
		name = ep3_contract_event.0580.a

		duel = {
			skill = intrigue
			value = decent_skill_rating
			
			50 = { #You learn their secret
				desc = ep3_contract_event.0580.a.success
				compare_modifier = {
					value = scope:duel_value
					multiplier = 2.5
					min = -49
				}
				min = 5
				custom_tooltip = ep3_contract_event.0560.contractsuccess
				add_character_flag = contract_success_flag
				scope:secret = {
					reveal_to_without_events_effect = {
						CHARACTER = root
					}
				}
				trigger_event = {
					id = ep3_contract_event.0585
					days = 1
				}
			}
			50 = { #Turns out they don't have one...?
				desc = ep3_contract_event.0580.a.failure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 5
				custom_tooltip = ep3_contract_event.0560.contractfailure
				add_character_flag = contract_failure_flag
				trigger_event = {
					id = ep3_contract_event.0585
					days = 1
				}
			}
		}

		stress_impact = {
			patient = miniscule_stress_impact_loss
			impatient = minor_stress_impact_gain
		}

		ai_chance = {
			base = 10
			modifier = {
				add = 20
				highest_skill = intrigue
				intrigue >= decent_skill_rating
			}
			modifier = {
				add = 70
				highest_skill = intrigue
				intrigue >= 16
			}
		}
	}

	#Try to lie about it
	option = {
		name = ep3_contract_event.0580.b

		duel = {
			skills = { diplomacy intrigue }
			target = scope:task_contract_employer
			
			50 = { #Your lie works
				desc = ep3_contract_event.0580.b.success
				compare_modifier = {
					value = scope:duel_value
					multiplier = 2.5
					min = -49
				}
				min = 5
				custom_tooltip = ep3_contract_event.0560.contractsuccess
				add_character_flag = contract_success_flag
				add_character_flag = lied_about_secret_flag
				trigger_event = {
					id = ep3_contract_event.0585
					days = 1
				}
			}
			50 = { #They know you're lying
				desc = ep3_contract_event.0580.b.failure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 5
				custom_tooltip = ep3_contract_event.0560.contractfailure
				add_character_flag = contract_failure_flag
				trigger_event = {
					id = ep3_contract_event.0585
					days = 1
				}
			}
		}

		stress_impact = {
			deceitful = minor_stress_impact_loss
			honest = medium_stress_impact_gain
		}
		ai_chance = {
			base = 10
			modifier = {
				add = 90
				diplomacy >= scope:task_contract_employer.diplomacy
				intrigue >= scope:task_contract_employer.intrigue
			}
		}
	}

	#Threaten them
	option = {
		name = ep3_contract_event.0580.c

		flavor = ep3_contract_event.0580.c.tt

		if = {
			limit = {
				scope:task_contract_employer = {
					NOT = {
						any_secret = { }
					}
				}
			}
			duel = {
				skill = prowess
				target = scope:secret_haver
				
				50 = { #Your intimidation works
					desc = ep3_contract_event.0580.c.success
					compare_modifier = {
						value = scope:duel_value
						multiplier = 2.5
						min = -49
					}
					modifier = {
						dread > 25
						add = 10
					}
					modifier = {
						dread > 50
						add = 10
					}
					modifier = {
						dread > 75
						add = 10
					}
					min = 5
					custom_tooltip = ep3_contract_event.0560.contractsuccess
					add_character_flag = contract_success_flag
					scope:secret = {
						reveal_to_without_events_effect = {
							CHARACTER = root
						}
					}
					trigger_event = {
						id = ep3_contract_event.0585
						days = 1
					}
				}
				50 = { #They aren't impressed
					desc = ep3_contract_event.0580.c.failure
					compare_modifier = {
						value = scope:duel_value
						multiplier = -2.5
						min = -49
					}
					min = 5
					custom_tooltip = ep3_contract_event.0560.contractfailure
					add_character_flag = contract_failure_flag
					trigger_event = {
						id = ep3_contract_event.0585
						days = 1
					}
				}
			}
		}
		else = {
			duel = {
				skill = prowess
				target = scope:secret_haver
				
				10 = { #Your intimidation works
					desc = ep3_contract_event.0580.c.success
					compare_modifier = {
						value = scope:duel_value
						multiplier = 2.5
						min = -49
					}
					min = 1
					custom_tooltip = ep3_contract_event.0560.contractsuccess
					add_character_flag = contract_success_flag
					scope:secret = {
						reveal_to_without_events_effect = {
							CHARACTER = root
						}
					}
					trigger_event = {
						id = ep3_contract_event.0585
						days = 1
					}
				}
				80 = { #They try to cut a deal...
					desc = ep3_contract_event.0580.c.neutral
					compare_modifier = {
						value = scope:duel_value
						multiplier = 2.5
						min = -49
					}
					min = 10
					hidden_effect = { #For a decent reward
						scope:secret_haver = {
							add_gold = { 50 100 }
						}
					}
					custom_tooltip = ep3_contract_event.0580.c.neutral.tt
					trigger_event = {
						id = ep3_contract_event.0581
						days = 1
					}
				}
				10 = { #They aren't impressed
					desc = ep3_contract_event.0580.c.failure
					compare_modifier = {
						value = scope:duel_value
						multiplier = -2.5
						min = -49
					}
					min = 1
					custom_tooltip = ep3_contract_event.0560.contractfailure
					add_character_flag = contract_failure_flag
					trigger_event = {
						id = ep3_contract_event.0585
						days = 1
					}
				}
			}		
		}

		stress_impact = {
			brave = miniscule_stress_impact_loss
			craven = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 0
			modifier = {
				add = 100
				prowess > {
					value = scope:secret_haver.prowess
					add = 3
				}
			}
		}
	}

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

# Find Secret - Secret Haver Deal Proposal
ep3_contract_event.0581 = {
	type = character_event
	title = ep3_contract_event.0581.t
	desc = ep3_contract_event.0581.desc
	theme = intrigue
	override_background = {
		reference = temple
	}
	left_portrait = {
		character = root
		animation = thinking
	}
	right_portrait = {
		character = scope:secret_haver
		animation = scheme
	}
	lower_center_portrait = {
		character = scope:task_contract_employer
	}
	
	immediate = {
		set_contract_scopes_effect = yes
		scope:task_contract_employer = {
			random_secret = {
				save_scope_as = employer_secret
			}
		}
		hidden_effect = {
			scope:secret_haver = {
				random_dummy_gender_effect = yes
				create_artifact_ring_effect = {
					OWNER = scope:dummy_gender
					SMITH = scope:dummy_gender
				}
			}
		}
	}

	#Turn down the deal
	option = {
		name = ep3_contract_event.0581.a

		custom_tooltip = ep3_contract_event.0560.contractsuccess
		add_character_flag = contract_success_flag

		scope:secret = {
			reveal_to_without_events_effect = {
				CHARACTER = root
			}
		}

		trigger_event = {
			id = ep3_contract_event.0585
			days = 1
		}

		stress_impact = {
			honest = miniscule_stress_impact_loss
			deceitful = minor_stress_impact_gain
		}

		ai_chance = {
			base = 10
		}
	}

	#Leave with his rewards
	option = {
		name = ep3_contract_event.0581.b

		scope:secret_haver = {
			pay_short_term_gold = {
				target = root
				gold = scope:secret_haver.gold
			}
		}

		scope:newly_created_artifact = {
			set_owner = root
		}

		scope:employer_secret = {
			reveal_to_without_events_effect = {
				CHARACTER = root
			}
		}

		custom_tooltip = ep3_contract_event.0560.contractfailure

		scope:task_contract = {
			complete_task_contract = failure_standard
		}

		stress_impact = {
			arbitrary = minor_stress_impact_loss
			just = medium_stress_impact_gain
		}

		ai_chance = {
			base = 10
		}
	}
}

# Find Secret - Resolution
ep3_contract_event.0585 = {
	type = character_event
	title = {
		first_valid = {
			triggered_desc = {
				trigger = { has_character_flag = contract_success_flag }
				desc = ep3_contract_event.0585.t.success
			}
			triggered_desc = {
				trigger = { has_character_flag = contract_failure_flag }
				desc = ep3_contract_event.0585.t.failure
			}
		}
	}
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { has_character_flag = lied_about_secret_flag }
				desc = ep3_contract_event.0585.desc.liedsuccessfully
			}
			triggered_desc = {
				trigger = { has_character_flag = contract_success_flag }
				desc = ep3_contract_event.0585.desc.success
			}
			triggered_desc = {
				trigger = { has_character_flag = contract_failure_flag }
				desc = ep3_contract_event.0585.desc.failure
			}
		}
	}
	theme = intrigue
	override_background = {
		reference = council_chamber
	}
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				NOT = {
					has_character_flag = contract_failure_flag
				}
			}
			animation = steward
		}
		animation = stress
	}
	right_portrait = {
		character = scope:task_contract_employer
		triggered_animation = {
			trigger = {
				root = {
					has_character_flag = contract_success_flag
				}
			}
			animation = ecstasy
		}
		animation = anger
	}
	
	immediate = {
		set_contract_scopes_effect = yes
		if = {
			limit = {
				has_character_flag = contract_failure_flag
			}
			scope:task_contract = {
				complete_task_contract = failure_standard
			}
		}
		else = {
			scope:task_contract = {
				complete_task_contract = success_standard
			}
		}
	}

	option = {
		name = ep3_contract_event.0585.a

		trigger = {
			NOT = {
				has_character_flag = contract_failure_flag
			}
		}

		if = {
			limit = {
				NOT = {
					has_character_flag = lied_about_secret_flag
				}
			}
			scope:secret = {
				reveal_to_without_events_effect = {
					CHARACTER = scope:task_contract_employer
				}
			}
		}
		else = {
			hidden_effect = {
				scope:secret_haver = {
					random_list = {
						1 = { add_secret = { type = secret_cannibal } }
						1 = { add_secret = { type = secret_witch } }
						1 = { add_secret = { type = secret_non_believer } }
					}
				}
			}
			scope:secret_haver = {
				random_secret = {
					limit = {
						this != scope:secret
					}
					reveal_to_without_events_effect = {
						CHARACTER = scope:task_contract_employer
					}
				}
			}
		}

		stress_impact = {
			base = miniscule_stress_impact_loss
		}
		ai_chance = {
			base = 10
		}
	}

	option = {
		name = ep3_contract_event.0585.b

		trigger = {
			has_character_flag = contract_failure_flag
		}

		ai_chance = {
			base = 10
		}
	}

	after = {
		remove_character_flag = contract_success_flag
		remove_character_flag = contract_failure_flag
		remove_character_flag = lied_about_secret_flag
	}
}

# Eliminate Heir - Intro
ep3_contract_event.0590 = {
	type = character_event
	title = ep3_contract_event.0590.t
	desc = ep3_contract_event.0590.desc
	theme = intrigue
	override_background = {
		reference = alley_night
	}
	left_portrait = {
		character = root
		animation = spymaster
	}
	right_portrait = {
		character = scope:heir
		animation = paranoia
	}
	lower_center_portrait = {
		character = scope:task_contract_employer
	}
	
	immediate = {
		set_contract_scopes_effect = yes
		scope:task_contract_employer = {
			random_heir = {
				limit = {
					is_primary_heir_of = scope:task_contract_employer
					reverse_opinion = {
						target = scope:task_contract_employer
						value <= high_negative_opinion
					}
					age > 16 #No murderin' babies
				}
				save_scope_as = heir
			}
		}
		location = {
			save_scope_as = location
		}
	}

	#A knife in the dark...
	option = {
		name = ep3_contract_event.0590.a

		duel = {
			skill = prowess
			target = scope:heir
			
			50 = { #Stabby stab
				desc = ep3_contract_event.0590.a.success
				compare_modifier = {
					value = scope:duel_value
					multiplier = 2.5
					min = -49
				}
				min = 5
				custom_tooltip = ep3_contract_event.0560.contractsuccess
				scope:heir = {
					death = {
						death_reason = death_disappearance
						killer = root
					}
				}
				scope:task_contract = {
					complete_task_contract = success_standard
				}
			}
			50 = { #They get away, oh no
				desc = ep3_contract_event.0590.a.failure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 5
				custom_tooltip = ep3_contract_event.0560.contractfailure
				add_character_flag = contract_failure_flag
				scope:heir = {
					add_character_modifier = {
						modifier = watchful_modifier
						years = 5
					}
				}
				scope:task_contract_employer = {
					add_character_modifier = {
						modifier = ep3_under_suspicion_modifier
						years = 5
					}				
				}
				trigger_event = {
					id = ep3_contract_event.0595
					days = 1
				}
			}
		}

		stress_impact = {
			sadistic = miniscule_stress_impact_loss
			compassionate = medium_stress_impact_gain
		}

		ai_chance = {
			base = 10
			modifier = {
				add = 50
				highest_skill_including_prowess = prowess
			}
		}
	}

	#Maybe just bonk 'em on the head and drag them away somewhere?
	option = {
		name = ep3_contract_event.0590.b

		duel = {
			skills = { prowess intrigue }
			value = decent_skill_rating
			
			50 = { #Get bonked, nerd
				desc = ep3_contract_event.0590.b.success
				compare_modifier = {
					value = scope:duel_value
					multiplier = 2.5
					min = -49
				}
				min = 5
				custom_tooltip = ep3_contract_event.0560.contractsuccess
				add_character_flag = contract_success_flag
				add_character_flag = knockedout_flag
				trigger_event = {
					id = ep3_contract_event.0591
					days = 1
				}
			}
			50 = { #They get away
				desc = ep3_contract_event.0590.b.failure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 5
				custom_tooltip = ep3_contract_event.0560.contractfailure
				add_character_flag = contract_failure_flag
				trigger_event = {
					id = ep3_contract_event.0595
					days = 1
				}
			}
			10 = { #You, uh, bonk a lil hard
				desc = ep3_contract_event.0590.b.fatalbonk
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 1
				custom_tooltip = ep3_contract_event.0560.contractsuccess
				add_character_flag = contract_success_flag
				scope:heir = {
					death = {
						death_reason = death_disappearance
						killer = root
					}
				}
				add_stress = minor_stress_gain
				scope:task_contract = {
					complete_task_contract = success_standard
				}
			}
		}

		stress_impact = {
			sadistic = medium_stress_impact_gain
			compassionate = miniscule_stress_impact_loss
		}

		ai_chance = {
			base = 10
			modifier = {
				add = 50
				highest_skill = intrigue
			}
		}
	}

	#Try to explain
	option = {
		name = ep3_contract_event.0590.c

		duel = {
			skill = diplomacy
			target = scope:heir
			
			50 = { #You persuade them to leave
				desc = ep3_contract_event.0590.c.success
				compare_modifier = {
					value = scope:duel_value
					multiplier = 2.5
					min = -49
				}
				min = 5
				custom_tooltip = ep3_contract_event.0560.contractsuccess
				add_character_flag = contract_success_flag
				add_character_flag = camewillingly_flag
				scope:secret = {
					reveal_to_without_events_effect = {
						CHARACTER = root
					}
				}
				trigger_event = {
					id = ep3_contract_event.0591
					days = 1
				}
			}
			50 = { #They refuse to go
				desc = ep3_contract_event.0590.c.failure
				compare_modifier = {
					value = scope:duel_value
					multiplier = 2.5
					min = -49
				}
				min = 5
				hidden_effect = { #For a decent reward
					scope:secret_haver = {
						add_gold = { 50 100 }
					}
				}
				custom_tooltip = ep3_contract_event.0560.contractfailure
				trigger_event = {
					id = ep3_contract_event.0595
					days = 1
				}
			}
			10 = { #You let slip who put you up to this
				desc = ep3_contract_event.0590.c.critfailure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -2.5
					min = -49
				}
				min = 1
				custom_tooltip = ep3_contract_event.0560.contractfailure
				add_character_flag = contract_failure_flag
				scope:heir = {
					set_relation_rival = {
						target = scope:task_contract_employer
						reason = rival_historical
					}
				}
				trigger_event = {
					id = ep3_contract_event.0595
					days = 1
				}
			}
		}		

		stress_impact = {
			sadistic = major_stress_impact_gain
			callous = medium_stress_impact_gain
			compassionate = medium_stress_impact_loss
		}

		ai_chance = {
			base = 10
			modifier = {
				add = 100
				highest_skill = diplomacy
			}
		}
	}

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

# Eliminate Heir - Transition Event
ep3_contract_event.0591 = {
	type = character_event
	title = ep3_contract_event.0591.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { has_character_flag = knockedout_flag }
				desc = ep3_contract_event.0591.desc.knockedout
			}
			triggered_desc = {
				trigger = { has_character_flag = camewillingly_flag }
				desc = ep3_contract_event.0591.desc.camewillingly
			}
		}
	}
	theme = intrigue
	override_background = {
		reference = terrain_scope
	}
	left_portrait = {
		character = root
		animation = personality_honorable
	}
	right_portrait = {
		character = scope:heir
		animation = thinking
	}
	lower_center_portrait = {
		character = scope:task_contract_employer
	}
	
	immediate = {
		set_contract_scopes_effect = yes

		scope:task_contract_employer = {
			random_sub_realm_barony = {
				limit = {
					exists = holder
				}
				save_scope_as = random_barony
			}
		}

		scope:heir = {
			add_trait = gallivanter
		}
	}

	#Best of luck!
	option = {
		name = ep3_contract_event.0591.a

		scope:heir = {
			add_hook = {
				target = root
				type = favor_hook
			}
			start_travel_plan = {
				destination = scope:random_barony
			}
		}

		scope:task_contract = {
			complete_task_contract = success_standard
		}

		ai_chance = {
			base = 10
		}
	}
}

# Eliminate Heir - Resolution
ep3_contract_event.0595 = {
	type = character_event
	title = ep3_contract_event.0595.t
	desc = ep3_contract_event.0595.desc
	theme = intrigue
	override_background = {
		reference = council_chamber
	}
	left_portrait = {
		character = root
		animation = stress
	}
	right_portrait = {
		character = scope:task_contract_employer
		animation = anger
	}
	
	immediate = {
		set_contract_scopes_effect = yes
		scope:task_contract = {
			complete_task_contract = failure_standard
		}
	}

	option = {
		name = ep3_contract_event.0595.a

		stress_impact = {
			base = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 10
		}
	}

	after = {
		remove_character_flag = contract_success_flag
		remove_character_flag = contract_failure_flag
	}
}
