namespace = ep3_laamp_decision_event
################################
## Visit Local Settlement Decision
## ep3_laamp_decision_event.1000-1060
################################
# ep3_laamp_decision_event.1000 - Enter the Title of ProvinceName. What do you want to do?
# ep3_laamp_decision_event.1001 - Page 2
# ep3_laamp_decision_event.1010 - Stock up on supplies
# ep3_laamp_decision_event.1020 - Sell an artifact to local peddlers
# ep3_laamp_decision_event.1025 - Head to the Town Crier to spawn Contract(s)
#
# ep3_laamp_decision_event.1030 - Visit the local tavern
# ep3_laamp_decision_event.1031 - Storyteller
# ep3_laamp_decision_event.1033 - Recruitment
# ep3_laamp_decision_event.1035 - Spouse Material
# ep3_laamp_decision_event.1037 - Master Thief
#
# ep3_laamp_decision_event.1040 - Church Holding: Visit the local church grounds
# ep3_laamp_decision_event.1041 - Healer
# ep3_laamp_decision_event.1043 - Church
# ep3_laamp_decision_event.1045 - Garden
# ep3_laamp_decision_event.1047 - Recruit Physician
#
# ep3_laamp_decision_event.1050 - Castle Holding: Visit the local castle grounds
# ep3_laamp_decision_event.1051 - Training Grounds
# ep3_laamp_decision_event.1053 - Recruit at Garrison
# ep3_laamp_decision_event.1055 - Reinforce Men-at-Arms
# ep3_laamp_decision_event.1057 - Recruit Bodyguard
#
# ep3_laamp_decision_event.1060 - City Holding: Visit the local fine craftsmen
# ep3_laamp_decision_event.1061 - Weaponsmith
# ep3_laamp_decision_event.1063 - Armorsmith
# ep3_laamp_decision_event.1065 - Jeweler
# ep3_laamp_decision_event.1067 - Recruit Quartermaster
#

#The actual adding of the settlement
scripted_effect 1000_add_settlement_effect = {
	#A holding is a tad bit more memorable
	if = {
		limit = { 
			location = { has_holding = yes }
		}
		add_to_variable_list = {
			name = laamp_visited_settlements_list
			target = root.location
			years = 15
		}
	}
	#Otherwise just some rural settlement
	else = {
		add_to_variable_list = {
			name = laamp_visited_settlements_list
			target = root.location
			years = 10
		}
	}
}

#For loc flavor
scripted_effect 1000_remember_settlement_effect = {
	#Do we already remember this place?
	if = {
		limit = {
			has_variable = laamp_visited_settlements_list
			any_in_list = {
				variable = laamp_visited_settlements_list
				this = scope:visiting_location
			}
		}
		#Replace old entry with a new one
		remove_list_variable = {
			name = laamp_visited_settlements_list
			target = scope:visiting_location
		}
		1000_add_settlement_effect = yes
	}
	#Otherwise just add it to the list
	else = {
		1000_add_settlement_effect = yes
	}
}

#We return to the main event to peruse other options or leave
scripted_effect 1000_return_to_main_effect = {
	custom_tooltip = ep3_laamp_decision_event.return.tt
	trigger_event = ep3_laamp_decision_event.1000
}

#What was our last location?
scripted_effect 1000_update_last_location_effect = {
	if = {
		limit = { has_variable = return_from_location }
		remove_variable = return_from_location
		set_variable = {
			name = return_from_location
			value = $LOCATION_FLAG$
		}
	}
	else = {
		set_variable = {
			name = return_from_location
			value = $LOCATION_FLAG$
		}
	}
}

#Clean up variables when we leave the decision
scripted_effect 1000_clean_up_effect = {
	#Supplies
	remove_variable ?= supply_gold_cost
	remove_variable ?= 1010_guards_summoned
	#Artifacts
	scope:1020_first_artifact_to_sell ?= { 1020_remove_sell_variables_effect = yes } #If we didn't sell any artifacts
	scope:1020_second_artifact_to_sell ?= { 1020_remove_sell_variables_effect = yes }
	scope:1020_third_artifact_to_sell ?= { 1020_remove_sell_variables_effect = yes }
	remove_variable ?= 1021_artifact_sell_screen
	#Town Crier
	remove_variable ?= 1025_first_contract_desc
	remove_variable ?= 1025_second_contract_desc
	remove_variable ?= 1025_third_contract_desc
	#Healer
	scope:1041_health_artifact ?= { remove_variable ?= 1065_accessory_value }
	remove_variable ?= 1041_healer_aptitude
	remove_variable ?= 1041_partner_healer_aptitude
	#Church
	remove_variable ?= 1043_collect_gold_difficulty
	#Weaponsmith
	scope:1061_first_weapon ?= { remove_variable ?= 1061_weapon_value } #If we didn't buy any of the items
	scope:1061_second_weapon ?= { remove_variable ?= 1061_weapon_value }
	scope:1061_third_weapon ?= { remove_variable ?= 1061_weapon_value }
	#Armorer
	scope:1063_first_armor ?= { remove_variable ?= 1063_armor_value } #If we didn't buy any of the items
	scope:1063_second_armor ?= { remove_variable ?= 1063_armor_value }
	scope:1063_third_armor ?= { remove_variable ?= 1063_armor_value }
	#Jeweler
	scope:1065_first_accessory ?= { remove_variable ?= 1065_accessory_value } #If we didn't buy any of the items
	scope:1065_second_accessory ?= { remove_variable ?= 1065_accessory_value }
	scope:1065_third_accessory ?= { remove_variable ?= 1065_accessory_value }
	#Main
	clear_variable_list = list_of_options
	remove_variable ?= list_of_options
	remove_variable ?= return_from_location
	#Un-engage us from the decision
	remove_variable ?= ep3_laamp_decision_1000_is_visiting
}

#Find someone whos company you tolerate
scripted_trigger 1000_appropriate_visiting_partner_basic_trigger = {
	location = root.location
	is_available = yes
	age >= 10
	OR = {
		opinion = {
			target = root
			value >= 25
		}
		has_any_good_relationship_with_character_trigger = { CHARACTER = root }
	}
	NOR = {
		has_relation_potential_rival = root
		has_relation_victim = root
		has_relation_bully = root
		#... don't bring your second-in-command while away, duh
		has_court_position = second_camp_officer
		has_variable = 1010_payment_child
	}
}

#Are we not in a city?
scripted_trigger 1000_is_a_nomadic_holding_trigger = {
	scope:visiting_location = {
		is_nomadic_location_trigger = yes
		OR = {
			has_holding_type = tribal_holding
			has_holding_type = nomad_holding
			has_holding_type = herder_holding
		}
	}
}

#No options left - I tried to do this the easy way, but checking the existence of variable_lists wouldn't let me
scripted_trigger 1000_time_to_go_home_trigger = {
	has_variable = return_from_location
	#Did we have, and are we done with the Tribal / No Settlement option?
	exists = scope:laamp_decision_finished_tavern_option
	#Did we have, and are we done with the Church Holding option?
	trigger_if = {
		limit = { 
			scope:visiting_location = { 
				OR = {
					has_holding_type = church_holding
					has_holding_type = temple_citadel_holding
				}
			}
		}
		exists = scope:laamp_decision_finished_church_option
	}
	#Did we have, and are we done with the Castle Holding option?
	trigger_if = {
		limit = { 
			scope:visiting_location = { has_holding_type = castle_holding } 
		}
		exists = scope:laamp_decision_finished_castle_option
	}
	#Did we have, and are we done with the City Holding option?
	trigger_if = {
		limit = { 
			scope:visiting_location = { has_holding_type = city_holding } 
		}
		exists = scope:laamp_decision_finished_craftsmen_option
	}
	#Did we have, and are we done with the Sell Artifact option?
	trigger_if = {
		limit = { 
			OR = {
				is_target_in_variable_list = {
					name = list_of_options
					target = flag:has_artifact_option
				}
				exists = scope:1020_first_artifact_to_sell 
			}
		}
		exists = scope:laamp_decision_sold_artifact
	}
	#Did we have, and are we done with the Buy Supplies option?
	trigger_if = {
		limit = { 
			domicile ?= { provisions = max_provisions }
		}
		always = yes
	}
	trigger_else = { exists = scope:laamp_decision_bought_supplies }	
	#Did we have, and are we done with the Contract option?
	OR = {
		has_variable = 1025_has_contracted_recently
		exists = scope:laamp_decision_has_contracted
	}
}

#Don't sell levelling banners
scripted_trigger 1000_is_unsellable_artifact_trigger = {
	OR = {
		has_variable = banner_house
		has_variable = banner_dynasty
		has_variable = 1025_treasure_map
	}
}

#Prioritize sick or ill people if we're heading to a Church Holding
scripted_trigger 1000_has_illness_or_wound_to_treat_trigger = {
	OR = {
		has_treatable_disease_trigger = yes
		has_trait = wounded_1
		has_wounds_trigger = yes
	}
}

#It's either this or a massive, nested trigger_if in the Main Square event :eyes:
scripted_trigger 1000_done_with_second_trigger = {
	exists = scope:been_to_second
	OR = {
		#Only had Supply & Contract
		AND = {
			OR = {
				exists = scope:laamp_decision_bought_supplies
				domicile ?= { provisions = max_provisions }
			}	
			NOT = {
				is_target_in_variable_list = {
					name = list_of_options
					target = flag:has_artifact_option
				}
			}
			OR = {
				exists = scope:laamp_decision_has_contracted
				has_variable = 1025_has_contracted_recently
			}	
		}
		#Done all of them
		AND = {
			OR = {
				exists = scope:laamp_decision_bought_supplies
				domicile ?= { provisions = max_provisions }
			}	
			is_target_in_variable_list = {
				name = list_of_options
				target = flag:has_artifact_option
			}
			exists = scope:laamp_decision_sold_artifact
			exists = scope:laamp_decision_has_contracted
		}
	}
}

#Set up some reusable trait triggers
scripted_trigger 1010_has_friendly_traits = {
	OR = {
		has_trait = gregarious
		has_trait = trusting
		has_trait = compassionate
		has_trait = forgiving
		has_trait = generous
		has_trait = fickle
		has_trait = calm
	}
}

scripted_trigger 1010_has_uninterested_traits = {
	OR = {
		has_trait = callous
		has_trait = cynical
		has_trait = arrogant
		has_trait = fickle
		has_trait = arbitrary
		has_trait = patient
		has_trait = sadistic
	}
}

scripted_trigger 1010_has_commerce_traits = {
	OR = {
		has_trait = greedy
		has_trait = deceitful
		has_trait = ambitious
		has_trait = diligent
		has_trait = impatient
	}
}

scripted_trigger 1010_has_standoffish_traits = {
	OR = {
		has_trait = shy
		has_trait = craven
		has_trait = humble
		has_trait = paranoid
	}
}

scripted_trigger 1010_has_irrational_traits = {
	OR = {
		has_trait = eccentric
		has_trait = lunatic
		has_trait = possessed
	}
}

scripted_trigger 1011_has_no_applicable_traits = {
	1010_has_friendly_traits = no
	1010_has_uninterested_traits = no
	1010_has_commerce_traits = no
	1010_has_standoffish_traits = no
	1010_has_irrational_traits = no
}


######################################################################
# MAIN
# ep3_laamp_decision_event.1000
######################################################################
# > Visit Tavern
# > Holding Option (Visit Church / Visit Castle Grounds / Visit Craftsmen District)
# > Page 2
# > Leave Settlement



#Enter the Title of BaronyName (Constantinople etc). What do you want to do?
ep3_laamp_decision_event.1000 = {
	type = character_event
	title = ep3_laamp_decision_event.1000.t	
	window = visit_settlement_window
	desc = {
		#INTRO: Action / Unique Location / Holding Variations
		first_valid = {
			##RETURN: We've returned to this scene, now what
			#RETURN: We have no options left - time to go home
			triggered_desc = {
				trigger = { 1000_time_to_go_home_trigger = yes }
				desc = ep3_laamp_decision_event.1000.desc_intro_returned_home
			}
			#RETURN: Return from where?
			first_valid = {
				#RETURN: Unique locations
				#Constantinople
				triggered_desc = { 
					trigger = { 
						has_variable = return_from_location
						exists = scope:is_constantinople
					}
					desc = ep3_laamp_decision_event.1000.desc_intro_returned_constantinople_01
				}
				random_valid = {
					#RETURN: We've returned from Page 2 
					triggered_desc = {
						trigger = { var:return_from_location ?= flag:second }
						desc = ep3_laamp_decision_event.1000.desc_intro_returned_from_second
					}
					#RETURN: We've returned from the Tavern
					triggered_desc = {
						trigger = { var:return_from_location ?= flag:tavern }
						desc = ep3_laamp_decision_event.1000.desc_intro_returned_from_tavern
					}
					#RETURN: We've returned from the Church
					triggered_desc = {
						trigger = { var:return_from_location ?= flag:church_grounds }
						desc = ep3_laamp_decision_event.1000.desc_intro_returned_from_church
					}
					#RETURN: We've returned from the Castle grounds
					triggered_desc = {
						trigger = { var:return_from_location ?= flag:castle_grounds }
						desc = ep3_laamp_decision_event.1000.desc_intro_returned_from_castle
					}
					#RETURN: We've returned from the Craftsmen
					triggered_desc = {
						trigger = { var:return_from_location ?= flag:craftsmen }
						desc = ep3_laamp_decision_event.1000.desc_intro_returned_from_craftsmen
					}
					#RETURN: Generics to mix in
					#Generics
					triggered_desc = { 
						trigger = { 
							has_variable = return_from_location
							exists = scope:neighboring_county
						}
						desc = ep3_laamp_decision_event.1000.desc_intro_returned_generic_01
					}
					triggered_desc = { 
						trigger = { has_variable = return_from_location }
						desc = ep3_laamp_decision_event.1000.desc_intro_returned_generic_02
					}
					triggered_desc = { 
						trigger = { has_variable = return_from_location }
						desc = ep3_laamp_decision_event.1000.desc_intro_returned_generic_03
					}
					triggered_desc = { 
						trigger = { 
							has_variable = return_from_location
							scope:visiting_location = { has_holding = yes }
						}
						desc = ep3_laamp_decision_event.1000.desc_intro_returned_generic_04
					}
				}
			}	
			##FIRST TIME: Opening scene, paint a picture
			#FIRST TIME: Unique locations: Constantinople
			triggered_desc = { 
				trigger = { exists = scope:is_constantinople }
				desc = ep3_laamp_decision_event.1000.desc_intro_constantinople
			}
			#FIRST TIME: Holding: Intro depending on type of holding (tribal/church/castle/city)
			random_valid = {
				triggered_desc = { 
					trigger = { 
						scope:visiting_location = {
							OR = {
								has_holding_type = tribal_holding
								has_holding_type = nomad_holding
								has_holding_type = herder_holding
							}
						}
					}
					desc = ep3_laamp_decision_event.1000.desc_intro_tribal_holding_01
				}
				triggered_desc = { 
					trigger = { 
						scope:visiting_location = {
							OR = {
								has_holding_type = tribal_holding
								has_holding_type = nomad_holding
								has_holding_type = herder_holding
							}
						}
					}
					desc = ep3_laamp_decision_event.1000.desc_intro_tribal_holding_02
				}
			}
			triggered_desc = { 
				trigger = { 
					scope:visiting_location = { 
						OR = {
							has_holding_type = church_holding
							has_holding_type = temple_citadel_holding
						}
					}
				}
				desc = ep3_laamp_decision_event.1000.desc_intro_church_holding
			}
			triggered_desc = { 
				trigger = { 
					scope:visiting_location = { has_holding_type = castle_holding } 
				}
				desc = ep3_laamp_decision_event.1000.desc_intro_castle_holding
			}
			triggered_desc = { 
				trigger = { 
					scope:visiting_location = { has_holding_type = city_holding } 
				}
				desc = ep3_laamp_decision_event.1000.desc_intro_city_holding
			}	
		}
		#OUTRO: Returned to main square
		first_valid = {
			##RETURN HOME
			#RETURN HOME: No partner, time to go home
			triggered_desc = {
				trigger = { 
					1000_time_to_go_home_trigger = yes
					NOT = { exists = scope:visiting_partner }
				}
				desc = ep3_laamp_decision_event.1000.desc_outro_home
			}
			#RETURN HOME: Partner feels it's time to go home
			triggered_desc = {
				trigger = { 
					1000_time_to_go_home_trigger = yes
					exists = scope:visiting_partner 
				}
				desc = ep3_laamp_decision_event.1000.desc_outro_partner_home
			}
			##RETURN
			#RETURN: We've returned to this scene, what do you see
			##Weather fx
			first_valid = {
				#RETURN: Region - Scandinavia - Summer
				triggered_desc = {
					trigger = { 
						has_variable = return_from_location
						NOT = { exists = scope:is_unique_location } #Block all RETURN outros for unique locations, they are handled in unique RETURN intro
						middle_of_year_season_trigger = yes #Light out
						NOR = {
							has_variable = 1000_is_currently_raining
							has_variable = 1000_is_currently_snowing
						}
						scope:visiting_location = { geographical_region = world_europe_north }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_scandinavia_summer_returned_01
				}
				triggered_desc = {
					trigger = { 
						has_variable = return_from_location
						NOT = { exists = scope:is_unique_location }
						has_variable = 1000_is_currently_raining
						scope:visiting_location = { geographical_region = world_europe_north }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_scandinavia_summer_returned_02
				}
				#RETURN: Region - Scandinavia - Winter
				triggered_desc = {
					trigger = { 
						has_variable = return_from_location
						NOT = { exists = scope:is_unique_location }
						scope:visiting_location = { geographical_region = world_europe_north }
						has_variable = 1000_is_currently_snowing
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_scandinavia_winter_returned_01
				}
				random_valid = {
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							end_of_year_season_trigger = yes #Dark out
							scope:visiting_location = { geographical_region = world_europe_north }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_scandinavia_winter_returned_02
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							end_of_year_season_trigger = yes #Dark out
							scope:visiting_location = { geographical_region = world_europe_north }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_scandinavia_winter_returned_03
					}
				}
				#RETURN: Region - Britannia
				triggered_desc = {
					trigger = { 
						has_variable = return_from_location
						NOT = { exists = scope:is_unique_location }
						NOR = {
							has_variable = 1000_is_currently_raining
							has_variable = 1000_is_currently_foggy
						}
						scope:visiting_location = { geographical_region = world_europe_west_britannia }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_britannia_returned_01
				}
				triggered_desc = {
					trigger = { 
						has_variable = return_from_location
						NOT = { exists = scope:is_unique_location }
						has_variable = 1000_is_currently_raining
						scope:visiting_location = { geographical_region = world_europe_west_britannia }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_britannia_returned_02
				}
				triggered_desc = {
					trigger = { 
						has_variable = return_from_location
						NOT = { exists = scope:is_unique_location }
						has_variable = 1000_is_currently_foggy
						scope:visiting_location = { geographical_region = world_europe_west_britannia }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_britannia_returned_03
				}
				##No Weather fx
				random_valid = {
					#RETURN: Region - Europe
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							middle_of_year_season_trigger = yes
							scope:visiting_location = { 
								geographical_region = world_europe
								NOT = { geographical_region = world_europe_north }
							}
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_europe_returned_01
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { 
								geographical_region = world_europe
								NOT = { geographical_region = world_europe_north }
							}
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_europe_returned_02
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { 
								geographical_region = world_europe
								NOT = { geographical_region = world_europe_north }
								faith = { religion_tag = christianity_religion }
							}
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_europe_returned_03
					}
					#RETURN: Region - Iberia
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_europe_west_iberia }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_iberia_returned_01
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_europe_west_iberia }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_iberia_returned_02
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_europe_west_iberia }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_iberia_returned_03
					}
					#RETURN: Region - Middle East
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_middle_east }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_middle_east_returned_01
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_middle_east }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_middle_east_returned_02
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_middle_east }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_middle_east_returned_03
					}
					#RETURN: Region - India
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_india }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_india_returned_01
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_india }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_india_returned_02
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_india }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_india_returned_03
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_india }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_india_returned_04
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_india }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_india_returned_05
					}

					#RETURN: Region - Steppe
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_steppe }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_steppe_returned_01
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_steppe }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_steppe_returned_02
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_steppe }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_steppe_returned_03
					}
					#RETURN: Region - North Africa
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							middle_of_year_season_trigger = yes
							scope:visiting_location = { geographical_region = world_africa_north }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_north_africa_returned_01
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_africa_north }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_north_africa_returned_02
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_africa_north }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_north_africa_returned_03
					}
					#RETURN: Region - West Africa
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_africa_west }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_west_africa_returned_01
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_africa_west }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_west_africa_returned_02
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_africa_west }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_west_africa_returned_03
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_africa_west }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_west_africa_returned_04
					}
					#RETURN: Region - East Africa
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_africa_east }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_east_africa_returned_01
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_africa_east }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_east_africa_returned_02
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_africa_east }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_east_africa_returned_03
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_location = { geographical_region = world_africa_east }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_regional_east_africa_returned_04
					}
					#RETURN: Region - Generic
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_returned_generic_01
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_returned_generic_02
					}
					triggered_desc = {
						trigger = {		
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							current_season_summer = yes
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_returned_generic_03
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_returned_generic_04 
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_returned_generic_05
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							middle_of_year_season_trigger = yes
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_returned_generic_06
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							middle_of_year_season_trigger = yes
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_returned_generic_07
					}
					#RETURN: Partner looks around
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_partner ?= {
								NOR = {
									has_trait = cynical
									has_trait = paranoid
									has_trait = callous
								}
							}
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_returned_partner_generic_01
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_partner ?= { is_adult = no }
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_returned_partner_generic_02
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_partner ?= { is_adult = no }
							NOR = {
								has_trait = irritable
								has_trait = wrathful
							}
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_returned_partner_generic_03
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_partner ?= { 
								NOR = {
									has_trait = cynical
									has_trait = lifestyle_reveler
									any_secret = {
										type = secret_non_believer
									}
								}
							}
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_returned_partner_generic_04
					}
					triggered_desc = {
						trigger = { 
							has_variable = return_from_location
							NOT = { exists = scope:is_unique_location }
							scope:visiting_partner ?= {
								OR = {
									has_relation_friend = root
									has_relation_lover = root
									is_close_family_of = root
								}
							}
						}
						desc = ep3_laamp_decision_event.1000.desc_outro_returned_partner_generic_05
					}
				}
			}
			##FIRST TIME
			#FIRST TIME: Revisiting Constantinople
			triggered_desc = {
				trigger = {
					NOT = { has_variable = return_from_location }
					exists = scope:is_constantinople
					any_in_list = {
						variable = laamp_visited_settlements_list
						this = scope:visiting_location
					}
				}
				desc = ep3_laamp_decision_event.1000.desc_outro_revisit_constantinople
			}
			#FIRST TIME: It's Constantinople
			triggered_desc = {
				trigger = {
					NOT = { has_variable = return_from_location }
					exists = scope:is_constantinople 
				}
				desc = ep3_laamp_decision_event.1000.desc_outro_constantinople
			}
			#FIRST TIME: Our visiting partner flavor
			random_valid = {
				triggered_desc = {
					trigger = {
						NOT = { has_variable = return_from_location }
						NOT = { exists = scope:is_unique_location }
						exists = scope:visiting_partner
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_partner_01 
				}
			}
			#FIRST TIME: We've been to this settlement before
			triggered_desc = {
				trigger = {
					NOT = { has_variable = return_from_location }
					NOT = { exists = scope:is_unique_location }
					any_in_list = {
						variable = laamp_visited_settlements_list
						this = scope:visiting_location
					}
				}
				desc = ep3_laamp_decision_event.1000.desc_outro_revisit
			}
			#FIRST TIME: New place
			triggered_desc = {
				trigger = { 
					NOT = { has_variable = return_from_location } 
					NOT = { exists = scope:is_unique_location }
				}
				desc = ep3_laamp_decision_event.1000.desc_outro_new
			}	
		}
	}
	theme = landless_adventurer
	#Backgrounds & fx
		#Church Holding
		override_sound = { 
			trigger = { 
				scope:visiting_location = { 
					OR = {
						has_holding_type = church_holding
						has_holding_type = temple_citadel_holding
					}
				}
			}
			reference = "event:/SFX/Events/Themes/sfx_event_theme_type_faith"
		}
		#Castle Holding
		override_sound = { 
			trigger = { 
				scope:visiting_location = { has_holding_type = castle_holding } 
			}
			reference = "event:/SFX/Events/Themes/sfx_event_theme_type_martial"
		}
		#City Holding
		override_sound = { 
			trigger = { 
				scope:visiting_location = { has_holding_type = city_holding } 
			}
			reference = "event:/SFX/Events/Themes/sfx_event_theme_type_stewardship"
		}
		#Swedish summer
		override_effect_2d = {
			trigger = { has_variable = 1000_is_currently_raining }
	  		reference = rain	
		}
		widget = {
			is_shown = {
				has_variable = return_from_location
				NOT = { exists = scope:is_unique_location }
				scope:visiting_location = { geographical_region = world_europe_north }
				has_variable = 1000_is_currently_snowing
			}
			gui = "event_window_widget_vfx_snow"
			container = "foreground_shader_vfx_container"
		}
		#HOME: Tribe
		override_background = {
			trigger = { 
				1000_time_to_go_home_trigger = yes
				scope:visiting_location = {
					OR = {
						has_holding_type = tribal_holding
						has_holding_type = nomad_holding
						has_holding_type = herder_holding
					}
				}
			}
			reference = bp1_bonfire
		}
		#HOME
		override_background = {
			trigger = { 1000_time_to_go_home_trigger = yes}
			reference = alley_night
		}
		#Snowing in tribal Scandinavia
		override_background = {
			trigger = { is_snowy_rural_scandinavia_location_trigger = yes }
			reference = ep2_hunt_snowy_forest
		}
		#Tribal Holding 
		override_background = {
			trigger = { 
				scope:visiting_location = { has_holding_type = tribal_holding }
			}
			reference = village
		}
		override_background = {
			trigger = { 
				scope:visiting_location = {
					OR = {
						has_holding_type = nomad_holding
						has_holding_type = herder_holding
					}
				}
			}
			reference = mpo_camp_steppe
		}
		#Constantinople
		override_background = { 
			trigger = { exists = scope:is_constantinople }
			reference = ep3_constantinople
		}
		#Church Holding
		override_background = { 
			trigger = { 
				scope:visiting_location = { 
					OR = {
						has_holding_type = church_holding
						has_holding_type = temple_citadel_holding
					}
				}
			}
			reference = holy_site_generic
		}
		#Castle Holding
		override_background = { 
			trigger = { 
				scope:visiting_location = { has_holding_type = castle_holding } 
			}
			reference = courtyard_location 
		}
		#City Holding
		override_background = { 
			trigger = { 
				scope:visiting_location = { has_holding_type = city_holding } 
			}
			reference = ep3_city_gate
		}
		#Fallback
		override_background = { reference = market }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		#Time to go home
		triggered_animation = {
			trigger = { 1000_time_to_go_home_trigger = yes }
			animation = boredom
		}
		#Friendly
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_friendly_traits = yes } 
			}
			animation = personality_forgiving
		}
		#Business-minded
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_commerce_traits = yes } 
			}
			animation = personality_greedy
		}
		#Uninterested
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_uninterested_traits = yes } 
			}
			animation = personality_cynical
		}
		#Irrational
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_irrational_traits = yes } 
			}
			animation = personality_irrational
		}
		#A bit awkward
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_standoffish_traits = yes } 
			}
			animation = personality_coward
		}
		animation = personality_compassionate
	}
	center_portrait = {
		character = root
		triggered_animation = {
			trigger = { 1010_has_irrational_traits = yes }
			animation = personality_irrational
		}
		triggered_animation = {
			trigger = { 1010_has_standoffish_traits = yes }
			animation = personality_coward
		}
		triggered_animation = {
			trigger = { 1010_has_uninterested_traits = yes }
			animation = personality_callous
		}
		animation = personality_content
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#For loc purposes
		if = {
			limit = {
				NOT = { exists = scope:visiting_location }
			}
			location = { save_scope_as = visiting_location }
		}
		if = {
			limit = {
				NOT = { exists = scope:neighboring_county }
			}
			location = {
				random_neighboring_province = { 
					limit = { is_location_valid_for_travel_event_on_land = yes }
					save_scope_as = neighboring_county
				}
			}
		}
		random_dummy_gender_effect = yes
		#To rain or not to rain
		if = {
			limit = {
				has_variable = return_from_location
				NOT = { exists = scope:is_unique_location }
				middle_of_year_season_trigger = yes
				location_has_winter_trigger = no
				scope:visiting_location = {
					OR = { 
						geographical_region = world_europe_north
						geographical_region = world_europe_west_britannia
					}
				}
			}
			random_list = {
				50 = {
					#No rain
				}
				50 = {
					set_variable = 1000_is_currently_raining
				}
			}
		}
		#To snow or not to snow
		if = {
			limit = {
				has_variable = return_from_location
				NOT = { exists = scope:is_unique_location }
				end_of_year_season_trigger = yes
				location_has_winter_trigger = yes
				scope:visiting_location = { geographical_region = world_europe_north }
			}
			random_list = {
				50 = {
					#No rain
				}
				50 = {
					set_variable = 1000_is_currently_snowing
				}
			}
		}
		#To fog or not to fog
		if = {
			limit = {
				has_variable = return_from_location
				NOT = { exists = scope:is_unique_location }
				scope:visiting_location = { geographical_region = world_europe_west_britannia }
			}
			random_list = {
				50 = {
					#No rain
				}
				50 = {
					set_variable = 1000_is_currently_foggy
				}
			}
		}
		#This. Is. _Constantinople_
		if = {
			limit = { scope:visiting_location.barony = title:b_constantinople }
			save_scope_as = is_constantinople
			save_scope_as = is_unique_location #In case we add more unique locations
		}
		#Assemble the list of options the first time this window pops
		if = {
			limit = {
				NOT = { exists = scope:first_pass }
			}
			#Buy supply option - not really any gate since it might change during your visit

			#Sell artifact option
			if = {
				#We actually have an artifact to sell
				limit = {
					any_character_artifact = { 
						count >= 1
						1000_is_unsellable_artifact_trigger = no
					}
				}
				add_to_variable_list = {
					name = list_of_options
					target = flag:has_artifact_option
				}
			}
			#Town Crier option - not really any gate, as long as we don't cap amount of contracts I guess?

			#Visit the local tavern, added for all holding types
			add_to_variable_list = {
				name = list_of_options
				target = flag:has_tavern_option
			}
			#Church Holding: Visit the local church grounds
			if = {
				limit = {
					scope:visiting_location = { 
						OR = {
							has_holding_type = church_holding
							has_holding_type = temple_citadel_holding
						}
					}	
				}
				add_to_variable_list = {
					name = list_of_options
					target = flag:has_church_option
				}
			}
			#Castle Holding: Visit the local castle grounds
			if = {
				limit = {
					scope:visiting_location = { has_holding_type = castle_holding }	
				}
				add_to_variable_list = {
					name = list_of_options
					target = flag:has_castle_option
				}
			}
			#City Holding: Visit the local fine craftsmen
			if = {
				limit = {
					scope:visiting_location = { has_holding_type = city_holding }	
				}
				add_to_variable_list = {
					name = list_of_options
					target = flag:has_craftsman_option
				}
			}
			#Also find someone to bring with you from your crew to display in the bottom-left corner - Spouse/Friend/Marshal/Bodyguard
			if = {
				limit = {
					NOT = { exists = scope:visiting_partner }
				}
				if = {
					limit = {
						any_courtier = { 1000_appropriate_visiting_partner_basic_trigger = yes }
					}
					random_courtier = {
						limit = { 1000_appropriate_visiting_partner_basic_trigger = yes }
						weight = {
							base = 1
							#If we desparately want to bring sick relatives to the doctor
							modifier = {
								add = 1000
								is_close_family_of = root
								1000_has_illness_or_wound_to_treat_trigger = yes
								scope:visiting_location = { 
									OR = {
										has_holding_type = church_holding
										has_holding_type = temple_citadel_holding
									}
								}
							}
							modifier = {
								add = 500
								is_spouse_of = root
								1000_has_illness_or_wound_to_treat_trigger = yes
								scope:visiting_location = { 
									OR = {
										has_holding_type = church_holding
										has_holding_type = temple_citadel_holding
									}
								}
							}
							modifier = {
								add = 100
								has_relation_lover = root
								scope:visiting_location = { 
									OR = {
										has_holding_type = church_holding
										has_holding_type = temple_citadel_holding
									}
								}
							}
							modifier = {
								add = 20
								is_spouse_of = root
							}
							modifier = {
								add = 15
								is_primary_heir_of = root
							}
							modifier = {
								add = 10
								OR = {
									has_court_position = bodyguard_court_position
									has_court_position = quartermaster_camp_officer
									has_court_position = master_of_spoils_camp_officer
								}
							}
							modifier = {
								add = 5
								is_close_family_of = root
							}
							modifier = {
								add = 2
								has_trait = ambitious
							}
							modifier = {
								add = -5
								has_trait = lazy
							}
						}
						save_scope_as = visiting_partner
					}
					
				}
			}
			save_scope_as = first_pass
		}
	}
	#Church Holding Option: Visit the local church grounds
	option = {
		name = {
			text = {
				first_valid = {
					#Return to look at the church
					triggered_desc = {
						trigger = { exists = scope:been_to_church_grounds }
						desc = ep3_laamp_decision_event.1000.b_second
					}
					#First time looking at the church
					desc = ep3_laamp_decision_event.1000.b
				}
			}
		}
		trigger = {
			#Do we actually have the church option available
			custom_tooltip = {
				text = tapped_out.tt
				is_target_in_variable_list = {
					name = list_of_options
					target = flag:has_church_option
				}
				NOT = { exists = scope:laamp_decision_finished_church_option }
			}
		}
		show_as_unavailable = {
			#Hide the options when we're _all_ done
			trigger_if = {
				limit = { 
					exists = scope:laamp_decision_finished_church_option
					1000_time_to_go_home_trigger = no
				}
				always = yes
			}
			trigger_else = { always = no }
		}
		reason = church_holding
		#Actual transition event
		custom_tooltip = ep3_laamp_decision_event.1000.b.tt
		trigger_event = ep3_laamp_decision_event.1040
		ai_chance = { base = 100 }
	}
	#Castle Holding Option: Visit the local castle grounds
	option = {
		name = {
			text = {
				first_valid = {
					#Return to look at the castle
					triggered_desc = {
						trigger = { exists = scope:been_to_castle_grounds }
						desc = ep3_laamp_decision_event.1000.c_second
					}
					#First time looking at the castle 
					desc = ep3_laamp_decision_event.1000.c
				}
			}
		}
		trigger = {
			#Do we actually have the castle option available
			custom_tooltip = {
				text = tapped_out.tt
				is_target_in_variable_list = {
					name = list_of_options
					target = flag:has_castle_option
				}
				NOT = { exists = scope:laamp_decision_finished_castle_option }
			}
		}
		show_as_unavailable = {
			#Hide the options when we're _all_ done
			trigger_if = {
				limit = { 
					exists = scope:laamp_decision_finished_castle_option
					1000_time_to_go_home_trigger = no
				}
				always = yes
			}
			trigger_else = { always = no }
		}
		reason = castle_holding
		#Actual transition event
		custom_tooltip = ep3_laamp_decision_event.1000.c.tt
		trigger_event = ep3_laamp_decision_event.1050
		ai_chance = { base = 100 }
	}
	#City Holding Option: Visit the local fine craftsmen
	option = {
		name = {
			text = {
				first_valid = {
					#Return to look at the craftsmen
					triggered_desc = {
						trigger = { exists = scope:been_to_craftsmen }
						desc = ep3_laamp_decision_event.1000.d_second
					}
					#First time looking at craftsmen 
					desc = ep3_laamp_decision_event.1000.d
				}
			}
		}
		#Do we have few enough options to display this option on the main page
		trigger = {
			#Do we actually have the craftsmenned option available
			custom_tooltip = {
				text = tapped_out.tt
				is_target_in_variable_list = {
					name = list_of_options
					target = flag:has_craftsman_option
				}
				NOT = { exists = scope:laamp_decision_finished_craftsmen_option }
			}
		}
		show_as_unavailable = {
			#Hide the options when we're _all_ done
			trigger_if = {
				limit = { 
					exists = scope:laamp_decision_finished_craftsmen_option
					1000_time_to_go_home_trigger = no
				}
				always = yes
			}
			trigger_else = { always = no }
		}
		reason = city_holding
		#We got kick-off!
		1000_update_last_location_effect = { LOCATION_FLAG = flag:main_square }
		#Actual transition event
		custom_tooltip = ep3_laamp_decision_event.1000.d.tt
		trigger_event = ep3_laamp_decision_event.1060
		ai_chance = { base = 100 }
	}
	#Tribal Holding Option: Visit the local tavern
	option = {
		name = {
			text = {
				first_valid = {
					#Return to the tavern
					triggered_desc = {
						trigger = { exists = scope:been_to_tavern }
						desc = ep3_laamp_decision_event.1000.a_second
					}
					#They're nomads
					triggered_desc = {
						trigger = { 1000_is_a_nomadic_holding_trigger = yes }
						desc = ep3_laamp_decision_event.1000.a_nomads
					}
					#First time visiting the tavern
					desc = ep3_laamp_decision_event.1000.a_tavern
				}
			}
		}
		trigger = {
			#Do we actually have the tavern option available
			custom_tooltip = {
				text = tapped_out.tt
				is_target_in_variable_list = {
					name = list_of_options
					target = flag:has_tavern_option
				}
				NOT = { exists = scope:laamp_decision_finished_tavern_option }
			}
		}
		show_as_unavailable = {
			#Hide the options when we're _all_ done
			trigger_if = {
				limit = { 
					exists = scope:laamp_decision_finished_tavern_option
					1000_time_to_go_home_trigger = no
				}
				always = yes
			}
			trigger_else = { always = no }
		}
		reason = visit_tavern
		#Actual transition event
		if = {
			limit = { 1000_is_a_nomadic_holding_trigger = yes }
			custom_tooltip = ep3_laamp_decision_event.1000.a_nomads.tt
		}
		else = { custom_tooltip = ep3_laamp_decision_event.1000.a.tt }
		trigger_event = ep3_laamp_decision_event.1030
		ai_chance = { base = 100 }
	}
	#Page 2: Consider additional options
	option = {
		name = ep3_laamp_decision_event.1000.h
		trigger = {
			#If we were initially maxed out on provisions but lost provisions while visiting other parts...
			trigger_if = {
				limit = { 
					NOT = { exists = scope:been_to_second }
				}
				always = yes	
			}
			trigger_else_if = {
				limit = { exists = scope:been_to_second }
				custom_tooltip = {
					text = tapped_out.tt
					1000_done_with_second_trigger = no
				}	
			}
			#Otherwise we're just done here
			trigger_else = {
				custom_tooltip = {
					text = tapped_out.tt
					NOT = { exists = scope:laamp_decision_second_finished }
				}
			}
			#Nothing here for the AI
			is_ai = no
		}
		show_as_unavailable = {
			#Hide the options when we're _all_ done
			trigger_if = {
				limit = {
					OR = {
						AND = {
							exists = scope:laamp_decision_second_finished
							1000_time_to_go_home_trigger = no
						}
						AND = {
							exists = scope:been_to_second
							1000_time_to_go_home_trigger = no
						}	
					}
					
				}
				always = yes
			}
			trigger_else = { always = no }
		}
		#We got kick-off!
		1000_update_last_location_effect = { LOCATION_FLAG = flag:main_square }	
		#Actual transition event
		custom_tooltip = ep3_laamp_decision_event.1000.h.tt
		trigger_event = ep3_laamp_decision_event.1001
	}
	#Let's go back to the camp
	option = {
		name = {
			text = {
				first_valid = {
					#No options left, partner flavor
					triggered_desc = {
						trigger = { 
							1000_time_to_go_home_trigger = yes
							exists = scope:visiting_partner
						}
						desc = ep3_laamp_decision_event.1000.i_home_partner
					}
					#No options left
					triggered_desc = {
						trigger = { 1000_time_to_go_home_trigger = yes }
						desc = ep3_laamp_decision_event.1000.i_home
					}
					#Let's get outta here
					desc = ep3_laamp_decision_event.1000.i
				}
			}
		}
		custom_tooltip = ep3_laamp_decision_event.1000.i.tt
		#For loc reasons
		1000_remember_settlement_effect = yes
		1000_clean_up_effect = yes
		ai_chance = { base = 50 }
	}
	after = {
		remove_variable ?= 1000_is_currently_raining
		remove_variable ?= 1000_is_currently_snowing
		remove_variable ?= 1000_is_currently_foggy
		#For all options that are NOT Page 2
		if = {
			limit = {
				has_variable = return_from_location
				NOT = { var:return_from_location = flag:main_square }
			}
			#We got kick-off!
			1000_update_last_location_effect = { LOCATION_FLAG = flag:main_square }	
		}
	}
}


######################################################################
# PAGE 2
# ep3_laamp_decision_event.1001
######################################################################
# > Buy Supplies
# > Sell Artifact
# > Town Crier
# > Back to Main Square

#Return to Page 2
scripted_effect 1001_return_to_second_effect = {
	custom_tooltip = ep3_laamp_decision_event.return.tt
	trigger_event = ep3_laamp_decision_event.1001
}

scripted_effect 1001_been_to_second_effect = {
	if = {
		limit = {
			NOT = { exists = scope:been_to_second }
		}
		save_scope_as = been_to_second
	}
}


#Page 2 - Consider additional options
ep3_laamp_decision_event.1001 = {
	type = character_event
	title = ep3_laamp_decision_event.1000.t	
	window = visit_settlement_window
	desc = {
		#INTRO
		first_valid = {
			##RETURN: We've returned to this scene, now what
			#RETURN: We have no options left - time to go home
			triggered_desc = {
				trigger = { 1000_done_with_second_trigger = yes }
				desc = ep3_laamp_decision_event.1001.desc_intro_return_finished
			}
			#RETURN: You just returned from assaulting the supply merchant
			triggered_desc = {
				trigger = {
					var:return_from_location ?= flag:supply_merchant
					has_variable = 1010_guards_summoned
				}
				desc = ep3_laamp_decision_event.1001.desc_intro_returned_from_assaulting_supplies
			}
			#RETURN: Return from where?
			random_valid = {	
				#RETURN: We've returned from Supply Merchant
				triggered_desc = {
					trigger = { var:return_from_location ?= flag:supply_merchant }
					desc = ep3_laamp_decision_event.1001.desc_intro_returned_from_supplies
				}
				#RETURN: We've returned from Artifact Peddler
				triggered_desc = {
					trigger = { var:return_from_location ?= flag:artifact_peddler }
					desc = ep3_laamp_decision_event.1001.desc_intro_returned_from_artifacts
				}
				#RETURN: We've returned from Town Crier
				triggered_desc = {
					trigger = { var:return_from_location ?= flag:contract }
					desc = ep3_laamp_decision_event.1001.desc_intro_returned_from_contract
				}
				#RETURN: Generics to mix in
				random_valid = {
					#Generics
					triggered_desc = { 
						trigger = { exists = scope:been_to_second }
						desc = ep3_laamp_decision_event.1001.desc_intro_returned_generic_01
					}
					triggered_desc = { 
						trigger = { exists = scope:been_to_second }
						desc = ep3_laamp_decision_event.1001.desc_intro_returned_generic_02
					}
				}
			}
			#FIRST TIME
			triggered_desc = {
				trigger = {
					scope:visiting_location = {
						OR = {
							has_holding_type = tribal_holding
							has_holding_type = nomad_holding
							has_holding_type = herder_holding
						}
					}
					NOT = { exists = scope:been_to_second }
				}
				desc = ep3_laamp_decision_event.1001.desc_intro_nomads
			}
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_second }
				}
				desc = ep3_laamp_decision_event.1001.desc_intro
			}
		}
		#OUTRO
		first_valid = {
			##RETURN HOME
			#RETURN HOME: No partner, time to go home
			triggered_desc = {
				trigger = { 
					1000_done_with_second_trigger = yes
					NOT = { exists = scope:visiting_partner }
				}
				desc = ep3_laamp_decision_event.1001.desc_outro_return_finished
			}
			#RETURN HOME: Partner feels it's time to go home
			triggered_desc = {
				trigger = { 
					1000_done_with_second_trigger = yes
					exists = scope:visiting_partner 
				}
				desc = ep3_laamp_decision_event.1001.desc_outro_return_partner_finished
			}
			#RETURN: Virtually re-using the ones from Main Square
			random_valid = {
				#RETURN: Region - Europe
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						middle_of_year_season_trigger = yes
						scope:visiting_location = { 
							geographical_region = world_europe
							NOT = { geographical_region = world_europe_north }
						}
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_europe_returned_01
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { 
							geographical_region = world_europe
							NOT = { geographical_region = world_europe_north }
						}
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_europe_returned_02
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { 
							geographical_region = world_europe
							NOT = { geographical_region = world_europe_north }
							faith = { religion_tag = christianity_religion }
						}
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_europe_returned_03
				}
				#RETURN: Region - Iberia
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_europe_west_iberia }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_iberia_returned_01
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_europe_west_iberia }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_iberia_returned_02
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_europe_west_iberia }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_iberia_returned_03
				}
				#RETURN: Region - Middle East
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_middle_east }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_middle_east_returned_01
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_middle_east }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_middle_east_returned_02
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_middle_east }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_middle_east_returned_03
				}
				#RETURN: Region - India
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_india }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_india_returned_01
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_india }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_india_returned_02
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_india }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_india_returned_03
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_india }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_india_returned_04
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_india }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_india_returned_05
				}

				#RETURN: Region - Steppe
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_steppe }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_steppe_returned_01
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_steppe }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_steppe_returned_02
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_steppe }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_steppe_returned_03
				}
				#RETURN: Region - North Africa
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						middle_of_year_season_trigger = yes
						scope:visiting_location = { geographical_region = world_africa_north }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_north_africa_returned_01
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_africa_north }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_north_africa_returned_02
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_africa_north }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_north_africa_returned_03
				}
				#RETURN: Region - West Africa
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_africa_west }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_west_africa_returned_01
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_africa_west }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_west_africa_returned_02
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_africa_west }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_west_africa_returned_03
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_africa_west }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_west_africa_returned_04
				}
				#RETURN: Region - East Africa
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_africa_east }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_east_africa_returned_01
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_africa_east }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_east_africa_returned_02
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_africa_east }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_east_africa_returned_03
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_location = { geographical_region = world_africa_east }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_regional_east_africa_returned_04
				}
				#RETURN: Region - Generic
				triggered_desc = {
					trigger = { exists = scope:been_to_second }
					desc = ep3_laamp_decision_event.1000.desc_outro_returned_generic_01
				}
				triggered_desc = {
					trigger = { exists = scope:been_to_second }
					desc = ep3_laamp_decision_event.1000.desc_outro_returned_generic_02
				}
				triggered_desc = {
					trigger = {		
						exists = scope:been_to_second
						middle_of_year_season_trigger = yes
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_returned_generic_03
				}
				triggered_desc = {
					trigger = { exists = scope:been_to_second }
					desc = ep3_laamp_decision_event.1000.desc_outro_returned_generic_04 
				}
				triggered_desc = {
					trigger = { exists = scope:been_to_second }
					desc = ep3_laamp_decision_event.1000.desc_outro_returned_generic_05
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						middle_of_year_season_trigger = yes
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_returned_generic_06
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						middle_of_year_season_trigger = yes
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_returned_generic_07
				}
				#RETURN: Partner looks around
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_partner ?= {
							NOR = {
								has_trait = cynical
								has_trait = paranoid
								has_trait = callous
							}
						}
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_returned_partner_generic_01
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_partner ?= { is_adult = no }
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_returned_partner_generic_02
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_partner ?= { is_adult = no }
						NOR = {
							has_trait = irritable
							has_trait = wrathful
						}
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_returned_partner_generic_03
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_partner ?= { 
							NOR = {
								has_trait = cynical
								has_trait = lifestyle_reveler
								any_secret = {
									type = secret_non_believer
								}
							}
						}
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_returned_partner_generic_04
				}
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_second
						scope:visiting_partner ?= {
							OR = {
								has_relation_friend = root
								has_relation_lover = root
								is_close_family_of = root
							}
						}
					}
					desc = ep3_laamp_decision_event.1000.desc_outro_returned_partner_generic_05
				}
			}

		}
	}
	theme = landless_adventurer
	override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_generic" }
	#Indenting backgrounds for easier folding
		#HOME: Tribe
		override_background = {
			trigger = { 
				1000_time_to_go_home_trigger = yes
				scope:visiting_location = {
					OR = {
						has_holding_type = tribal_holding
						has_holding_type = nomad_holding
						has_holding_type = herder_holding
					}
				}
			}
			reference = bp1_bonfire
		}
		#HOME
		override_background = {
			trigger = { 1000_time_to_go_home_trigger = yes}
			reference = alley_night
		}
		#Snowing in tribal Scandinavia
		override_background = {
			trigger = { is_snowy_rural_scandinavia_location_trigger = yes }
			reference = ep2_hunt_snowy_forest
		}
		#Tribe Holding
		override_background = {
			trigger = { 
				scope:visiting_location = { has_holding_type = tribal_holding }
			}
			reference = village
		}
		override_background = {
			trigger = { 
				scope:visiting_location = {
					OR = {
						has_holding_type = nomad_holding
						has_holding_type = herder_holding
					}
				}
			}
			reference = mpo_camp_steppe
		}
		#Constantinople
		override_background = { 
			trigger = { exists = scope:is_constantinople }
			reference = ep3_constantinople
		}
		#Church Holding
		override_background = { 
			trigger = { 
				scope:visiting_location = { 
					OR = {
						has_holding_type = church_holding
						has_holding_type = temple_citadel_holding
					}
				}
			}
			reference = holy_site_generic
		}
		#Castle Holding
		override_background = { 
			trigger = { 
				scope:visiting_location = { has_holding_type = castle_holding } 
			}
			reference = courtyard_location 
		}
		#City Holding
		override_background = { 
			trigger = { 
				scope:visiting_location = { has_holding_type = city_holding } 
			}
			reference = ep3_city_gate
		}
		#Fallback
		override_background = { reference = market }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		#Time to go home
		triggered_animation = {
			trigger = { 1000_time_to_go_home_trigger = yes }
			animation = boredom
		}
		#Friendly
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_friendly_traits = yes } 
			}
			animation = personality_content
		}
		#Business-minded
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_commerce_traits = yes } 
			}
			animation = thinking
		}
		#Uninterested
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_uninterested_traits = yes } 
			}
			animation = personality_callous
		}
		#Irrational
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_irrational_traits = yes } 
			}
			animation = eccentric
		}
		#A bit awkward
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_standoffish_traits = yes } 
			}
			animation = shame
		}
		animation = personality_bold
	}
	center_portrait = {
		character = root
		triggered_animation = {
			trigger = { 1010_has_irrational_traits = yes }
			animation = personality_irrational
		}
		triggered_animation = {
			trigger = { 1010_has_standoffish_traits = yes }
			animation = personality_coward
		}
		triggered_animation = {
			trigger = { 1010_has_uninterested_traits = yes }
			animation = personality_cynical
		}
		animation = personality_rational
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#It just works. (To get the appropriate loc when you snub the artifact vendor at the last minute, then refresh when we exit & re-enter)
		remove_variable ?= 1021_artifact_sell_screen	
	}
	#Option: Stock up on supplies
	option = {
		name = {
			text = {
				first_valid = {
					#Return to look at supplies
					triggered_desc = {
						trigger = { exists = scope:did_not_buy_supplies }
						desc = ep3_laamp_decision_event.1001.a_second
					}
					#First time looking at supplies 
					desc = ep3_laamp_decision_event.1001.a
				}
			}
		}
		trigger = {
			#You recently botched threatening this merchant
			trigger_if = {
				limit = { has_variable = 1010_guards_summoned }
				custom_tooltip = {
					text = guards_were_summoned.tt
					NOT = { has_variable = 1010_guards_summoned }
				}
			}
			#Already got a hand-out from this merchant
			trigger_else_if = {
				limit = { scope:laamp_decision_bought_supplies ?= flag:handout }
				custom_tooltip = {
					text = already_received_supplies.tt
					NOT = { scope:laamp_decision_bought_supplies ?= flag:handout }
				}
			}
			#Already bought provisions this visit
			trigger_else_if = {
				limit = { exists = scope:laamp_decision_bought_supplies }
				custom_tooltip = {
					text = already_bought_supplies.tt
					NOT = { exists = scope:laamp_decision_bought_supplies }
				}
			}
			#Already at max provisions
			trigger_else = {
				custom_tooltip = {
					text = full_on_supplies.tt
					NOT = { 
						domicile ?= { provisions = max_provisions }
					}
				}
			}
		}
		#Since this is semi-dynamic, show it always
		show_as_unavailable = { always = yes }
		reason = buy_provisions
		#For loc
		1001_been_to_second_effect = yes
		#Actual transition event
		custom_tooltip = ep3_laamp_decision_event.1001.a.tt	
		trigger_event = ep3_laamp_decision_event.1010
	}
	#Option: Sell an artifact to local peddlers
	option = {
		name = {
			text = {
				first_valid = {
					#Return to sell artifacts
					triggered_desc = {
						trigger = { exists = scope:did_not_sell_artifact }
						desc = ep3_laamp_decision_event.1001.b_second
					}
					#First time selling artifacts
					desc = ep3_laamp_decision_event.1001.b
				}
			}
		}
		trigger = {
			#Do we actually have the artifact option available
			trigger_if = {
				limit = {
					is_target_in_variable_list = {
						name = list_of_options
						target = flag:has_artifact_option
					}
				}
				always = yes
			}
			trigger_else_if = {
				limit = { exists = scope:laamp_decision_sold_artifact }
				custom_tooltip = {
					text = already_sold_artifact.tt
					#We haven't already sold an artifact
					NOT = { exists = scope:laamp_decision_sold_artifact }
				}
			}
			trigger_else = { always = no }
		}
		show_as_unavailable = {
			#Only show it if it was available from the start
			trigger_if = {
				limit = { exists = scope:laamp_decision_sold_artifact }
				always = yes 
			}
			trigger_else = { always = no }
		}
		reason = sell_artifacts
		#For loc
		1001_been_to_second_effect = yes
		#Actual transition event
		custom_tooltip = ep3_laamp_decision_event.1001.b.tt
		#Back to smirk-town with you
		if = {
			limit = { exists = scope:attempted_artifact_haggle }
			trigger_event = ep3_laamp_decision_event.1021
		}
		#Otherwise regular peddler
		else = { trigger_event = ep3_laamp_decision_event.1020 }
	}
	#Option: Head to the Town Crier for contracts
	option = {
		name = {
			text = {
				first_valid = {
					#Return to look at contracts
					triggered_desc = {
						trigger = { exists = scope:been_to_contract }
						desc = ep3_laamp_decision_event.1001.c_second
					}
					#First time looking at contracts
					desc = ep3_laamp_decision_event.1001.c
				}
			}
		}
		trigger = {
			#You are still on cooldown (you can go in to the board once to realize the board is empty, then the option greys out)
			trigger_if = {
				limit = { scope:laamp_decision_has_contracted ?= flag:no }
				custom_tooltip = {
					text = no_contracts.tt
					always = no
				}
			}
			#You have spawned contracts during this visit
			trigger_else_if = {
				limit = { 
					OR = {
						has_variable = 1025_has_contracted_recently
						scope:laamp_decision_has_contracted ?= flag:yes
					}
				}
				custom_tooltip = {
					text = already_spawned_contracts.tt
					always = no
				}
			}
			#Otherwise, have a look (except for the AI, who take contracts through a different system)
			trigger_else = { is_ai = no }
		}
		#Notice board can be empty, so no real cooldown?
		show_as_unavailable = { always = yes }
		reason = spawn_contracts
		#For loc
		1001_been_to_second_effect = yes
		#Actual transition event
		custom_tooltip = ep3_laamp_decision_event.1001.c.tt
		trigger_event = ep3_laamp_decision_event.1025
	}
	#Go back to Main Square
	option = {
		name = ep3_laamp_decision_event.1001.d
		#Time to close off the option?
		if = {
			limit = { 1000_done_with_second_trigger = yes }
			save_scope_as = laamp_decision_second_finished
		}
		else_if = {
			limit = {
				NOT = { exists = scope:been_to_second }
			}
			save_scope_as = been_to_second
		}
		#We got kick-off!
		1000_update_last_location_effect = { LOCATION_FLAG = flag:second }
		#Go back to the main event
		1000_return_to_main_effect = yes
	}
}


######################################################################
# BUY SUPPLIES
# ep3_laamp_decision_event.1010
######################################################################

#Remember merchant for loc
scripted_effect 1010_remember_vendor_character_effect = {
	#Do we already remember them?
	if = {
		limit = {
			has_variable = laamp_remembered_$GUILD$s_list #Notice the 's' right after GUILD (= 'merchants' instead of 'merchant')
			any_in_list = {
				variable = laamp_remembered_$GUILD$s_list
				this = $CHARACTER$
			}
		}
		#Replace old entry with a new one
		remove_list_variable = {
			name = laamp_remembered_$GUILD$s_list
			target = $CHARACTER$
		}
		add_to_variable_list = {
			name = laamp_remembered_$GUILD$s_list
			target = $CHARACTER$
			years = 10
		}
	}
	#Otherwise just add 'em to the list
	else = {
		add_to_variable_list = {
			name = laamp_remembered_$GUILD$s_list
			target = $CHARACTER$
			years = 10
		}
	}
}

#Set the correct variable to adjust loc for the Buy Supply option
scripted_effect 1010_bought_supplies_effect = {
	save_scope_value_as = {
		name = laamp_decision_bought_supplies
		value = flag:none
	}
	#Go back to the main event
	hidden_effect = { 1001_return_to_second_effect = yes }
}

#No prisoners. No rivals. No service.
scripted_trigger 1010_basic_merchant_checks_trigger = {
	NOT = { 
		has_any_bad_relationship_with_character_trigger = { CHARACTER = root }
	}
	is_available_adult = yes
	#No double-dipping
	trigger_if = {
		limit = { exists = scope:laamp_supply_merchant }
		this != scope:laamp_supply_merchant
	}
	trigger_if = {
		limit = { exists = scope:laamp_artifact_peddler }
		this != scope:laamp_artifact_peddler
	}
	trigger_if = {
		limit = { exists = scope:laamp_town_crier }
		this != scope:laamp_town_crier
	}

	#Tavern
	trigger_if = {
		limit = { exists = scope:laamp_storyteller }
		this != scope:laamp_storyteller
	}
	trigger_if = {
		limit = { exists = scope:laamp_first_recruit }
		this != scope:laamp_first_recruit
	}
	trigger_if = {
		limit = { exists = scope:laamp_second_recruit }
		this != scope:laamp_second_recruit
	}
	trigger_if = {
		limit = { exists = scope:laamp_third_recruit }
		this != scope:laamp_third_recruit
	}
	trigger_if = {
		limit = { exists = scope:laamp_generic_jane }
		this != scope:laamp_generic_jane
	}
	trigger_if = {
		limit = { exists = scope:laamp_spouse_material }
		this != scope:laamp_spouse_material
	}
	trigger_if = {
		limit = { exists = scope:laamp_hooded_figure }
		this != scope:laamp_hooded_figure
	}

	#Church
	trigger_if = {
		limit = { exists = scope:laamp_healer_character }
		this != scope:laamp_healer_character
	}
	trigger_if = {
		limit = { exists = scope:laamp_clergy_character }
		this != scope:laamp_clergy_character
	}
	trigger_if = {
		limit = { exists = scope:laamp_physician_recruit }
		this != scope:laamp_physician_recruit
	}

	#Castle
	trigger_if = {
		limit = { exists = scope:laamp_plain_guard }
		this != scope:laamp_plain_guard
	}
	trigger_if = {
		limit = { exists = scope:laamp_talented_guard }
		this != scope:laamp_talented_guard
	}
	trigger_if = {
		limit = { exists = scope:laamp_disgruntled_moa }
		this != scope:laamp_disgruntled_moa
	}
	trigger_if = {
		limit = { exists = scope:laamp_maa_reinforcer }
		this != scope:laamp_maa_reinforcer
	}
	trigger_if = {
		limit = { exists = scope:laamp_bodyguard_recruit }
		this != scope:laamp_bodyguard_recruit
	}

	#City
	trigger_if = {
		limit = { exists = scope:laamp_weaponsmith_craftsman }
		this != scope:laamp_weaponsmith_craftsman
	}
	trigger_if = {
		limit = { exists = scope:laamp_armorer_craftsman}
		this != scope:laamp_armorer_craftsman
	}
	trigger_if = {
		limit = { exists = scope:laamp_jeweler_craftsman }
		this != scope:laamp_jeweler_craftsman
	}
	trigger_if = {
		limit = { exists = scope:laamp_quartermaster_recruit }
		this != scope:laamp_quartermaster_recruit
	}
}

#Scripty-scripted repeat triggers to check if we already saved this character
scripted_trigger 1010_is_a_saved_merchant_trigger = {
	root = {
		is_target_in_variable_list = {
			name = laamp_remembered_merchants_list
			target = scope:saved_character_check
		}
	}
}

scripted_trigger 1010_is_a_saved_peddler_trigger = {
	root = {
		is_target_in_variable_list = {
			name = laamp_remembered_peddlers_list
			target = scope:saved_character_check
		}
	}
}

scripted_trigger 1010_is_a_saved_crier_trigger = {
	root = {
		is_target_in_variable_list = {
			name = laamp_remembered_criers_list
			target = scope:saved_character_check
		}
	}
}

#Tavern
scripted_trigger 1010_is_a_saved_storyteller_trigger = {
	root = {
		is_target_in_variable_list = {
			name = laamp_remembered_storytellers_list
			target = scope:saved_character_check
		}
	}
}

scripted_trigger 1010_is_a_saved_thief_trigger = {
	root = {
		is_target_in_variable_list = {
			name = laamp_remembered_thiefs_list #Don't judge me, 'thiefs' is most consequential
			target = scope:saved_character_check
		}
	}
}

#Church
scripted_trigger 1010_is_a_saved_healer_trigger = {
	root = {
		is_target_in_variable_list = {
			name = laamp_remembered_healers_list
			target = scope:saved_character_check
		}
	}
}

scripted_trigger 1010_is_a_saved_clergy_trigger = {
	root = {
		is_target_in_variable_list = {
			name = laamp_remembered_clergys_list
			target = scope:saved_character_check
		}
	}
}

scripted_trigger 1010_is_a_saved_physician_trigger = {
	root = {
		is_target_in_variable_list = {
			name = laamp_remembered_physicians_list
			target = scope:saved_character_check
		}
	}
}

#Castle
scripted_trigger 1010_is_a_saved_bodyguard_trigger = {
	root = {
		is_target_in_variable_list = {
			name = laamp_remembered_bodyguards_list
			target = scope:saved_character_check
		}
	}
}

#Craftsmen
scripted_trigger 1010_is_a_saved_weaponsmith_trigger = {
	root = {
		is_target_in_variable_list = {
			name = laamp_remembered_weaponsmiths_list
			target = scope:saved_character_check
		}
	}
}

scripted_trigger 1010_is_a_saved_armorer_trigger = {
	root = {
		is_target_in_variable_list = {
			name = laamp_remembered_armorers_list
			target = scope:saved_character_check
		}
	}
}

scripted_trigger 1010_is_a_saved_jeweler_trigger = {
	root = {
		is_target_in_variable_list = {
			name = laamp_remembered_jewelers_list
			target = scope:saved_character_check
		}
	}
}

scripted_trigger 1010_is_a_saved_quartermaster_trigger = {
	root = {
		is_target_in_variable_list = {
			name = laamp_remembered_quartermasters_list
			target = scope:saved_character_check
		}
	}
}

#Can we actually?
scripted_trigger 1010_would_trade_child_for_supplies_trigger = {
	OR = {
		AND = {
			#Normal people wouldn't trade away a child for a 'top-up'
			OR = {
				has_trait = greedy
				has_trait = callous
			}
			scope:1010_supply_less_than ?= flag:1010_less_than_100_supply
		}
		AND = {
			exists = scope:1010_supply_less_than 
			OR = {
				scope:1010_supply_less_than = flag:1010_less_than_20_supply
				scope:1010_supply_less_than = flag:1010_less_than_40_supply
				scope:1010_supply_less_than = flag:1010_less_than_60_supply
				scope:1010_supply_less_than = flag:1010_less_than_80_supply
			}
		}
	}
	exists = scope:payment_child
}

#Don't trade away your heir
scripted_trigger 1010_payment_child_trigger = {
	age >= 2
	age <= 15
	is_courtier_of = root
	NOT = { is_primary_heir_of = root }
	save_temporary_scope_as = child_check
	root.primary_title = {
		place_in_line_of_succession = {
			target = scope:child_check
			value >= 3
		}
	}
	is_available = yes
	location = scope:visiting_location
	#Let's just avoid some technical headaches if we brought a kid along
	trigger_if = {
		limit = { exists = scope:visiting_partner }
		this != scope:visiting_partner
	}
}

scripted_trigger 1010_is_thieving_character_trigger = {
	#intrigue >= extremely_high_skill_rating
	NOR = {
		has_trait = honest
		has_trait = just
	}
	is_adult = yes
}

#Mark that child
scripted_effect 1010_mark_chosen_child_effect = {
	scope:payment_child = {
		if = {
			limit = { has_variable = 1010_payment_child }
			remove_variable ?= 1010_payment_child
			set_variable = {
				name = 1010_payment_child
				days = visit_settlement_cooldown_days
			}
		}
		else = {
			set_variable = {
				name = 1010_payment_child
				days = visit_settlement_cooldown_days
			}
		}
	}
}

#Supply duel for your highest skill stat
scripted_effect 1010_highest_skill_duel_effect = {
	if = {
		limit = { highest_skill = diplomacy }
		1010_duel_effect = { SKILL = diplomacy }
	}
	else_if = {
		limit = { highest_skill = stewardship }
		1010_duel_effect = { SKILL = stewardship }
	}
	else_if = {
		limit = { highest_skill = intrigue }
		1010_duel_effect = { SKILL = intrigue }
	}
	else_if = {
		limit = { highest_skill = learning }
		1010_duel_effect = { SKILL = learning }
	}
	else_if = {
		limit = { highest_skill = martial }
		1010_duel_effect = { SKILL = martial }
	}
	else_if = {
		limit = { highest_skill_including_prowess = prowess }
		1010_duel_effect = { SKILL = prowess }
	}
}

#Actual supply duel effect
scripted_effect 1010_duel_effect = {
	duel = {
		skill = $SKILL$
		target = scope:laamp_supply_merchant
		#Success: Half supply for free
		50 = {
			compare_modifier = {
				value = scope:duel_value
				multiplier = 3.5
				min = -49
			}
			desc = ep3_laamp_decision_event.1010.a_$SKILL$.success
			send_interface_toast = {
				title = ep3_laamp_decision_event.1010.a_$SKILL$.success
				left_icon = root
				right_icon = scope:laamp_supply_merchant
				#Get 1/4 of your way to 100% (So if max is 100 and you have 20 provisions, you should gain 40 provisions)
				domicile ?= { change_provisions = quarter_to_max_provisions_value }
				#Set up the cooldown for the convince-ction
				set_variable = {
					name = 1010_has_convinced_recently
					value = flag:success
					days = visit_settlement_minimum_cooldown_days #Sync this with fail & critical_fail
				}
				#Determine why we can't return to this option
				save_scope_value_as = {
					name = laamp_decision_bought_supplies
					value = flag:handout
				}
				#Go back to the main event
				hidden_effect = { 1001_return_to_second_effect = yes }
			}
		}
		#Failure: Increased price for supplies
		50 = {
			compare_modifier = {
				value = scope:duel_value
				multiplier = -3.5
				min = -20
			}	
			desc = ep3_laamp_decision_event.1010.a_$SKILL$.failure
			send_interface_toast = {
				title = ep3_laamp_decision_event.1010.a_$SKILL$.failure
				left_icon = root
				right_icon = scope:laamp_supply_merchant
				custom_tooltip = ep3_laamp_decision_event.1010.a.failure.tt
				#Set up the cooldown for the convince-ction
				set_variable = {
					name = 1010_has_convinced_recently
					value = flag:fail
					days = visit_settlement_minimum_cooldown_days #Sync this with success, critical_fail & the tooltip, currently displayed in 'months' (plural)
				}
				#Price increased - try again
				1001_return_to_second_effect = yes
			}
		}
		#Critical Failure: The local guards are summoned
		5 = {
			trigger = {
				root = {
					OR = {
						highest_skill = martial 
						highest_skill_including_prowess = prowess
					}
				}			
			}
			compare_modifier = {
				value = scope:duel_value
				multiplier = -3.5
			}	
			min = 5
			desc = ep3_laamp_decision_event.1010.a_$SKILL$.critical_failure
			send_interface_toast = {
				title = ep3_laamp_decision_event.1010.a_$SKILL$.critical_failure
				left_icon = root
				right_icon = scope:laamp_supply_merchant
				custom_tooltip = ep3_laamp_decision_event.1010.a.failure.tt
				#Set up the cooldown for the convince-ction
				set_variable = {
					name = 1010_has_convinced_recently
					value = flag:fail
					days = visit_settlement_minimum_cooldown_days #Sync this with success & critical_fail
				}
				#Quite the tussle
				increase_wounds_effect = { REASON = fight }
				#This merchant doesn't want to see you again
				progress_towards_rival_effect = {
					REASON = rival_tried_to_intimidate_merchant
					CHARACTER = scope:laamp_supply_merchant
					OPINION = default_rival_opinion
				}
				#And you will not be going back to supply merchant, but feel free to look at the greyed out option
				set_variable = 1010_guards_summoned
				#Determine why we can't return to this option
				save_scope_value_as = {
					name = laamp_decision_bought_supplies
					value = flag:none
				}
				#Go back to the main event
				1001_return_to_second_effect = yes
			}
		}
	}
}


#Stock 'Em Up
ep3_laamp_decision_event.1010 = {
	type = character_event
	title = ep3_laamp_decision_event.1010.t
	window = visit_settlement_window
	desc = {
		#Intro
		first_valid = {
			#This is a CITY HOLDING, aschually. More refined buyers.
			triggered_desc = { 
				trigger = { 
					NOT = { exists = scope:did_not_buy_supplies }
					scope:visiting_location = { has_holding_type = city_holding }
				}
				desc = ep3_laamp_decision_event.1010.desc_posh_stalls
			}
			#We've returned to this scene
			triggered_desc = { 
				trigger = { exists = scope:did_not_buy_supplies }
				desc = ep3_laamp_decision_event.1010.desc_returned
			}
			#First time in this scene
			desc = ep3_laamp_decision_event.1010.desc
		}
		#Returning customer
		#FIRST TIME: The merchant remembers you
		random_valid = {
			#Friendly
			triggered_desc = { 
				trigger = {
					NOT = { exists = scope:did_not_buy_supplies }
					exists = scope:laamp_recurring_supply_merchant
					trigger_if = {
						limit = { exists = scope:laamp_friendly_supply_merchant }
						always = yes
					}
					trigger_else = { always = no }
				}
				desc = ep3_laamp_decision_event.1010.desc_reused_merchant_reaction_01
			}
			#Slightly standoff-ish
			triggered_desc = { 
				trigger = {
					NOT = { exists = scope:did_not_buy_supplies }
					exists = scope:laamp_recurring_supply_merchant
					trigger_if = {
						limit = { exists = scope:laamp_antagonistic_supply_merchant }
						always = yes
					}
					trigger_else = { always = no }
				}
				desc = ep3_laamp_decision_event.1010.desc_reused_merchant_reaction_02
			}
		}
		#FIRST TIME: The merchant remembers you: First INTRO part of DIALOGUE
		triggered_desc = {
			trigger = {
				NOT = { exists = scope:did_not_buy_supplies }
				exists = scope:laamp_recurring_supply_merchant
			}
			desc = ep3_laamp_decision_event.1010.desc_reused_merchant_intro
		}
		#FIRST TIME: The merchant remembers you: Random MID part of DIALOGUE
		random_valid = {
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:did_not_buy_supplies }
					exists = scope:laamp_recurring_supply_merchant
				}
				desc = ep3_laamp_decision_event.1010.desc_reused_merchant_01
			}
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:did_not_buy_supplies }
					exists = scope:laamp_recurring_supply_merchant
				}
				desc = ep3_laamp_decision_event.1010.desc_reused_merchant_02
			}
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:did_not_buy_supplies }
					exists = scope:laamp_recurring_supply_merchant
				}
				desc = ep3_laamp_decision_event.1010.desc_reused_merchant_03
			}
		}
		#FIRST TIME: The merchant remembers you: Random OUTRO part of DIALOGUE
		random_valid = {
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:did_not_buy_supplies }
					exists = scope:laamp_recurring_supply_merchant
				}
				desc = ep3_laamp_decision_event.1010.desc_reused_merchant_outro_01
			}
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:did_not_buy_supplies }
					exists = scope:laamp_recurring_supply_merchant
				}
				desc = ep3_laamp_decision_event.1010.desc_reused_merchant_outro_02
			}
		}
		#First time meeting merchant
		#FIRST TIME: Merchant REACTION
		first_valid = {
			#Friendly
			triggered_desc = {
				trigger = {
					NOR = { 
						exists = scope:did_not_buy_supplies
						exists = scope:laamp_recurring_supply_merchant
					}
					scope:laamp_supply_merchant = { 1010_has_friendly_traits = yes }
				}
				desc = ep3_laamp_decision_event.1010.desc_trait_gregarious_new
			}
			#Uninterested
			triggered_desc = {
				trigger = {
					NOR = { 
						exists = scope:did_not_buy_supplies
						exists = scope:laamp_recurring_supply_merchant
					}
					scope:laamp_supply_merchant = { 1010_has_uninterested_traits = yes }
				}
				desc = ep3_laamp_decision_event.1010.desc_trait_callous_new
			}
			#Business-minded
			triggered_desc = {
				trigger = {
					NOR = { 
						exists = scope:did_not_buy_supplies
						exists = scope:laamp_recurring_supply_merchant
					}
					scope:laamp_supply_merchant = { 1010_has_commerce_traits = yes }
				}
				desc = ep3_laamp_decision_event.1010.desc_trait_greedy_new
			}
			#A bit awkward
			triggered_desc = {
				trigger = {
					NOR = { 
						exists = scope:did_not_buy_supplies
						exists = scope:laamp_recurring_supply_merchant
					}
					scope:laamp_supply_merchant = { 1010_has_standoffish_traits = yes }
				}
				desc = ep3_laamp_decision_event.1010.desc_trait_shy_new
			}
			#Irrational
			triggered_desc = {
				trigger = {
					NOR = { 
						exists = scope:did_not_buy_supplies
						exists = scope:laamp_recurring_supply_merchant
					}
					scope:laamp_supply_merchant = { 1010_has_irrational_traits = yes }
				}
				desc = ep3_laamp_decision_event.1010.desc_trait_eccentric_new
			}
			#Generic
			random_valid = {
				triggered_desc = {
					trigger = {
						NOR = { 
							exists = scope:did_not_buy_supplies
							exists = scope:laamp_recurring_supply_merchant
						}
						scope:laamp_supply_merchant = { 1011_has_no_applicable_traits = yes }
					}
					desc = ep3_laamp_decision_event.1010.desc_generic_new_01
				}
				triggered_desc = {
					trigger = {
						NOR = { 
							exists = scope:did_not_buy_supplies
							exists = scope:laamp_recurring_supply_merchant
						}
						scope:laamp_supply_merchant = { 1011_has_no_applicable_traits = yes }
					}
					desc = ep3_laamp_decision_event.1010.desc_generic_new_01
				}
			}
		}
		#FIRST TIME in this scene: Random DIALOGUE
		random_valid = {
			triggered_desc = {
				trigger = {
					NOT = { 
						exists = scope:did_not_buy_supplies
						exists = scope:laamp_recurring_supply_merchant
					}
				}
				desc = ep3_laamp_decision_event.1010.desc_outro_new_01
			}
			triggered_desc = {
				trigger = {
					NOT = { 
						exists = scope:did_not_buy_supplies
						exists = scope:laamp_recurring_supply_merchant
					}
				}
				desc = ep3_laamp_decision_event.1010.desc_outro_new_02
			}
			triggered_desc = {
				trigger = {
					NOT = { 
						exists = scope:did_not_buy_supplies
						exists = scope:laamp_recurring_supply_merchant
					}
				}
				desc = ep3_laamp_decision_event.1010.desc_outro_new_03
			}
			#"Cruel world innit?"
			triggered_desc = {
				trigger = {
					NOT = { 
						exists = scope:did_not_buy_supplies
						exists = scope:laamp_recurring_supply_merchant
					}
					scope:laamp_supply_merchant = {
						OR = {
							has_trait = compassionate
							AND = {
								age >= 30
								age >= root.age_plus_25
							}
						}
					}
				}
				desc = ep3_laamp_decision_event.1010.desc_outro_special_new_04
			}
		}
		#Return to scene
		#RETURN: Merchant REACTION
		first_valid = {
			#Friendly
			triggered_desc = {
				trigger = {
					exists = scope:did_not_buy_supplies
					scope:laamp_supply_merchant = { 1010_has_friendly_traits = yes }
				}
				desc = ep3_laamp_decision_event.1010.desc_trait_gregarious_return
			}
			#Uninterested
			triggered_desc = {
				trigger = {
					exists = scope:did_not_buy_supplies
					scope:laamp_supply_merchant = { 1010_has_uninterested_traits = yes }
				}
				desc = ep3_laamp_decision_event.1010.desc_trait_callous_return
			}
			#Business-minded
			triggered_desc = {
				trigger = {
					exists = scope:did_not_buy_supplies
					scope:laamp_supply_merchant = { 1010_has_commerce_traits = yes }
				}
				desc = ep3_laamp_decision_event.1010.desc_trait_greedy_return
			}
			#A bit awkward
			triggered_desc = {
				trigger = {
					exists = scope:did_not_buy_supplies
					scope:laamp_supply_merchant = { 1010_has_standoffish_traits = yes }
				}
				desc = ep3_laamp_decision_event.1010.desc_trait_shy_return
			}
			#Irrational
			triggered_desc = {
				trigger = {
					exists = scope:did_not_buy_supplies
					scope:laamp_supply_merchant = { 1010_has_irrational_traits = yes }
				}
				desc = ep3_laamp_decision_event.1010.desc_trait_eccentric_return
			}
			#Generic
			random_valid = {
				triggered_desc = {
					trigger = { 
						exists = scope:did_not_buy_supplies
						scope:laamp_supply_merchant = { 1011_has_no_applicable_traits = yes }
					}
					desc = ep3_laamp_decision_event.1010.desc_generic_returned_01
				}
				triggered_desc = {
					trigger = { 
						exists = scope:did_not_buy_supplies
						scope:laamp_supply_merchant = { 1011_has_no_applicable_traits = yes }
					}
					desc = ep3_laamp_decision_event.1010.desc_generic_returned_02
				}
			}
		}
		#RETURN: Random DIALOGUE
		random_valid = {
			triggered_desc = {
				trigger = { 
					exists = scope:did_not_buy_supplies
					scope:laamp_supply_merchant = { 1010_has_irrational_traits = no } #For some quirkyness
				}
				desc = ep3_laamp_decision_event.1010.desc_outro_returned_01
			}
			triggered_desc = {
				trigger = { 
					exists = scope:did_not_buy_supplies
					scope:laamp_supply_merchant = { 1010_has_irrational_traits = no } #For some quirkyness
				}
				desc = ep3_laamp_decision_event.1010.desc_outro_returned_02
			}
			triggered_desc = {
				trigger = { 
					exists = scope:did_not_buy_supplies
					scope:laamp_supply_merchant = { 1010_has_irrational_traits = no } #For some quirkyness
				}
				desc = ep3_laamp_decision_event.1010.desc_outro_returned_03
			}
			triggered_desc = {
				trigger = {
					#Irrational is seeing you for the first time (again)
					exists = scope:did_not_buy_supplies
					scope:laamp_supply_merchant = { 1010_has_irrational_traits = yes }
				}
				desc = ep3_laamp_decision_event.1010.desc_outro_new_01
			}
			triggered_desc = {
				trigger = {
					#Irrational is seeing you for the first time (again)
					exists = scope:did_not_buy_supplies
					scope:laamp_supply_merchant = { 1010_has_irrational_traits = yes }
				}
				desc = ep3_laamp_decision_event.1010.desc_outro_new_02
			}
			triggered_desc = {
				trigger = {
					#Irrational is seeing you for the first time (again)
					exists = scope:did_not_buy_supplies
					scope:laamp_supply_merchant = { 1010_has_irrational_traits = yes }
				}
				desc = ep3_laamp_decision_event.1010.desc_outro_new_03
			}
			triggered_desc = {
				trigger = {
					#Irrational is seeing you for the first time (again)
					exists = scope:did_not_buy_supplies
					scope:laamp_supply_merchant = { 1010_has_irrational_traits = yes }
				}
				desc = ep3_laamp_decision_event.1010.desc_outro_special_new_04
			}
		}
		first_valid = {
			#RETURN: Sneaky Partner
			triggered_desc = {
				trigger = { 
					exists = scope:1010_potentiaL_thievery
					exists = scope:did_not_buy_supplies 
				}
				desc = ep3_laamp_decision_event.1010.desc_outro_sneaky_partner_returned
			}
			#FIRST TIME: Sneaky Partner
			triggered_desc = {
				trigger = { exists = scope:1010_potentiaL_thievery }
				desc = ep3_laamp_decision_event.1010.desc_outro_sneaky_partner
			}
		}
	}
	theme = stewardship
	override_background = {
		trigger = {
			scope:visiting_location = {
				OR = {
					has_holding_type = tribal_holding
					has_holding_type = nomad_holding
					has_holding_type = herder_holding
				}
			}
		}
		reference = army_camp
	}
	override_background = { reference = market }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		#Potential thief
		triggered_animation = {
			trigger = { exists = scope:1010_potentiaL_thievery }
			animation = personality_dishonorable
		}
		#Friendly
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_friendly_traits = yes } 
			}
			animation = personality_forgiving
		}
		#Business-minded
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_commerce_traits = yes } 
			}
			animation = personality_greedy
		}
		#Uninterested
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_uninterested_traits = yes } 
			}
			animation = personality_cynical
		}
		#Irrational
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_irrational_traits = yes } 
			}
			animation = personality_irrational
		}
		#A bit awkward
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_standoffish_traits = yes } 
			}
			animation = personality_coward
		}
		animation = personality_content
	}
	center_portrait = {
		character = root
		camera = camera_event_scheme_center_look_semi_right
		animation = steward
	}
	right_portrait = {
		character = scope:laamp_supply_merchant
		#Friendly
		triggered_animation = {
			trigger = {
				scope:laamp_supply_merchant = { 1010_has_friendly_traits = yes }
			}
			animation = personality_compassionate
		}
		#Uninterested
		triggered_animation = {
			trigger = {
				scope:laamp_supply_merchant = { 1010_has_uninterested_traits = yes }
			}
			animation = personality_callous
		}
		#Business-minded
		triggered_animation = {
			trigger = {
				scope:laamp_supply_merchant = { 1010_has_commerce_traits = yes }
			}
			animation = admiration
		}
		#A bit awkward
		triggered_animation = {
			trigger = {
				scope:laamp_supply_merchant = { 1010_has_standoffish_traits = yes }
			}
			animation = personality_coward
		}
		#Irrational
		triggered_animation = {
			trigger = {
				scope:laamp_supply_merchant = { 1010_has_irrational_traits = yes }
			}
			animation = personality_irrational
		}
		animation = steward
	}
	lower_left_portrait = {
		trigger = { exists = scope:payment_child }
		character = scope:payment_child
	}
	lower_center_portrait = {
		trigger = { 
			exists = scope:other_parent
			trigger_if = {
				limit = { exists = scope:visiting_partner }
				scope:other_parent != scope:visiting_partner
			}
		}
		character = scope:other_parent
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#Find our merchant
		if = {
			#Do we already have a merchant?
			limit = {
				NOT = { exists = scope:laamp_supply_merchant }
			}
			#Has this person been our supply merchant in the past 10 years?
			random_pool_character = {
				province = scope:visiting_location
				limit = {
					1010_basic_merchant_checks_trigger = yes
					NOT = { has_trait = devoted } #Look, I like weaponsmith nuns as much as the next person, but it looked _slightly_ off
					save_temporary_scope_as = saved_character_check
					#Let's avoid double-dipping
					1010_is_a_saved_merchant_trigger = yes
					1010_is_a_saved_peddler_trigger = no
					1010_is_a_saved_crier_trigger = no
					1010_is_a_saved_storyteller_trigger = no
					1010_is_a_saved_thief_trigger = no
					1010_is_a_saved_healer_trigger = no
					1010_is_a_saved_clergy_trigger = no
					1010_is_a_saved_physician_trigger = no
					1010_is_a_saved_bodyguard_trigger = no
					1010_is_a_saved_weaponsmith_trigger = no
					1010_is_a_saved_armorer_trigger = no
					1010_is_a_saved_jeweler_trigger = no
					1010_is_a_saved_quartermaster_trigger = no
				}
				save_scope_as = laamp_supply_merchant
				#Some more loc flavor shenanigans for these saved scopes
				save_scope_as = laamp_recurring_supply_merchant
				scope:laamp_supply_merchant = {
					if = {
						limit = {
							OR = {
								has_trait = greedy
								has_trait = craven
								has_trait = wrathful
								has_trait = deceitful
								1010_has_uninterested_traits = yes
							}
						}
						save_scope_as = laamp_antagonistic_supply_merchant
					}
					else_if = {
						limit = {
							NOT = { exists = scope:laamp_antagonistic_supply_merchant }
							OR = {
								has_trait = gregarious
								has_trait = compassionate
								has_trait = honest
								has_trait = eccentric
								has_trait = forgiving
								has_trait = trusting
							}
						}
						save_scope_as = laamp_friendly_supply_merchant
					}
				}	
			}
			#Otherwise find a merchant in the pool
			if = {
				limit = { 
					NOT = { exists = scope:laamp_supply_merchant }
				}
				random_pool_character = {
					province = scope:visiting_location
					limit = { 
						1010_basic_merchant_checks_trigger = yes
						NOT = { has_trait = devoted } #Look, I like weaponsmith nuns as much as the next person, but it looked _slightly_ off
					}
					save_scope_as = laamp_supply_merchant
				}
			}
			#Otherwise create a merchant
			if = {
				limit = {
					NOT = { exists = scope:laamp_supply_merchant }
				}
				#Create merchant to stuff in pool
				create_character = {
					template = generic_peasant_character
					location = scope:visiting_location
					dynasty = none
					culture = scope:visiting_location.culture
					faith = scope:visiting_location.faith
					save_scope_as = laamp_supply_merchant
				}
			}
			#Remember the merchant
			1010_remember_vendor_character_effect = { GUILD = merchant CHARACTER = scope:laamp_supply_merchant }
		}
		#Determine how much supply we are buying, reflect this in cost and options available (don't trade away children for 5% supply...)
		if = {
			limit = {
				OR = {
					#If we haven't bought provisions already
					NOT = { exists = scope:1010_supply_value }
					#Or if we went here, then used provisions elsewhere in the holding and came back
					AND = {
						exists = scope:1010_supply_value
						NOR = {
							scope:1010_supply_value = domicile.max_provisions
							scope:1010_supply_value = domicile.provisions
						}
					}
				}
			}
			if = {
				#Less than 20% supply
				limit = {
					domicile ?= { provisions <= twenty_percent_provisions_value }
				}
				save_scope_value_as = {
					name = 1010_supply_less_than
					value = flag:1010_less_than_20_supply
				}
			}
			else_if = {
				#Less than 40% supply
				limit = {
					domicile ?= { provisions <= forty_percent_provisions_value }
				}
				save_scope_value_as = {
					name = 1010_supply_less_than
					value = flag:1010_less_than_40_supply
				}
			}
			else_if = {
				#Less than 60% supply
				limit = {
					domicile ?= { provisions <= sixty_percent_provisions_value }
				}
				save_scope_value_as = {
					name = 1010_supply_less_than
					value = flag:1010_less_than_60_supply
				}
			}
			else_if = {
				#Less than 80% supply
				limit = {
					domicile ?= { provisions <= eighty_percent_provisions_value }
				}
				save_scope_value_as = {
					name = 1010_supply_less_than
					value = flag:1010_less_than_80_supply
				}
			}
			else_if = {
				#Less than 100% supply
				limit = {
					domicile ?= { provisions < max_provisions }
				}
				save_scope_value_as = {
					name = 1010_supply_less_than
					value = flag:1010_less_than_100_supply
				}
			}
			set_variable = {
				name = supply_gold_cost
				value = {
					value = domicile.max_provisions
					subtract = domicile.provisions
					#Now we have the missing provisions value
					multiply = 0.05
					round = yes
				}
			}
			save_scope_value_as = {
				name = 1010_supply_value
				value = domicile.provisions
			}
		}
		#Find a suitable child. Don't trade away your heir.
		if = {
			limit = {
				NOT = { exists = scope:payment_child }
				1010_would_trade_child_for_supplies_trigger = yes
			}
			#Did we already pick a child and are actually decision-scumming?
			if = {
				limit = {
					any_child = {
						1010_payment_child_trigger = yes
						has_variable = 1010_payment_child
					}
				}
				random_child = {
					limit = {
						1010_payment_child_trigger = yes
						has_variable = 1010_payment_child
					}
					save_scope_as = payment_child
					#Refresh the mark
					1010_mark_chosen_child_effect = yes
				}
			}
			#Otherwise pick a child
			if = {
				limit = {
					NOT = { exists = scope:payment_child }
					any_child = { 1010_payment_child_trigger = yes }
				}
				every_child = {
					limit = { 1010_payment_child_trigger = yes }
					add_to_list = list_of_unimportant_children
				}
				random_in_list = {
					list = list_of_unimportant_children
					weight = {
						base = 0
						#Look for children who can't inherit first
						modifier = {
							is_female = yes
							root = {
								OR = {
									faith = { has_doctrine_parameter = male_dominated_law }
									has_realm_law = male_only_law
								}	
							}
							add = 50
						}
						modifier = {
							is_male = yes
							root = {
								OR = {
									faith = { has_doctrine_parameter = female_dominated_law }
									has_realm_law = female_only_law
								}	
							}
							add = 50
						}
						#Then the ones you like less
						modifier = {
							opinion = {
								target = root
								value <= 50
							}
							add = 25
						}
						modifier = {
							opinion = {
								target = root
								value <= 30
							}
							add = 25
						}
						modifier = {
							opinion = {
								target = root
								value <= 10
							}
							add = 25
						}
						modifier = {
							opinion = {
								target = root
								value < 0
							}
							add = 25
						}
						modifier = {
							has_relation_friend = root
							factor = 0
						}
					}
					save_scope_as = payment_child
					#No decision-scumming
					1010_mark_chosen_child_effect = yes
				}
			}
			#Find the other parent of the child - should be adequately upset that you traded away their kid. You monster.
			if = {
				limit = { exists = scope:payment_child }
				if = {
					limit = { is_female = yes }
					if = {
						limit = {
							scope:payment_child.father = { is_alive = yes }
						}
						scope:payment_child.father = { save_scope_as = other_parent }
					}
				}
				else_if = {
					limit = { 
						scope:payment_child.mother = { is_alive = yes }
					}
					scope:payment_child.mother = { save_scope_as = other_parent }
				}
			}
		}
		#Is our partner actually a bit thieving?
		if = {
			#This looks a bit weird, localization-wise.
			limit = {
				#We're not a master thief
				NOT = { highest_skill = intrigue }
				#But our friend is a competent thief
				scope:visiting_partner ?= { 1010_is_thieving_character_trigger = yes }
				NOT = { exists = scope:1010_potentiaL_thievery }
			}
			if = {
				limit = {
					NOT = { has_variable = 1010_calculated_thievery_punishment }
				}
				set_variable = {
					name = 1010_calculated_thievery_punishment
					value = {
					    integer_range = {
					        min = medium_trait_xp
					        max = major_trait_xp
					    }
					}
					days = visit_settlement_small_cooldown_days
				}
			}
			save_scope_as = 1010_potentiaL_thievery
		}
		#Price tweaks!
		if = {
			limit = { exists = var:supply_gold_cost }
			#You botched a convince duel, price increased
			if = {
				limit = {
					var:1010_has_convinced_recently ?= flag:fail
					NOT = { exists = scope:1010_adjusted_provision_cost }
				}
				change_variable = {
					name = supply_gold_cost
					multiply = 1.3
				}
				save_scope_value_as = {
					name = 1010_adjusted_provision_cost
					value = flag:yes
				}
			}
			#Random selection of price reductions
			if = {
				limit = {
					NOT = { exists = scope:1010_applied_price_reductions }
				}
				#Perk discount
				if = {
					limit = {
						root = { has_perk = war_profiteer_perk }
					}
					change_variable = {
						name = supply_gold_cost
						multiply = 0.75
					}
				}
				#Cheaper supplies in City Holding
				if = {
					limit = {
						root.location = { has_holding_type = city_holding }
					}
					change_variable = {
						name = supply_gold_cost
						multiply = 0.7
					}
				}
				#Cheaper supplies from Camp Party
				if = {
					limit = {
						has_character_flag = cheaper_provisions_visit_holding_flag
					}
					change_variable = {
						name = supply_gold_cost
						multiply = 0.6
					}
				}
				save_scope_value_as = {
					name = 1010_applied_price_reductions
					value = flag:yes
				}
			}
		}
	}
	#Trade gold
	option = {
		name = ep3_laamp_decision_event.1010.b
		trigger = { short_term_gold >= var:supply_gold_cost }
		show_as_unavailable = { always = yes }
		#Pay gold
		remove_short_term_gold = var:supply_gold_cost
		#Get supplies
		domicile ?= { 
			change_provisions = {
				value = {
					value = max_provisions 
					subtract = provisions
				}
			}
		}
		#Set correct variables and reroute us to main square
		1010_bought_supplies_effect = yes
	}
	#Convince them to give you some supply for free
	option = {
		name = {
			text = {
				first_valid = {
					triggered_desc = {
						trigger = { highest_skill = diplomacy }
						desc = ep3_laamp_decision_event.1010.a_diplomacy
					}
					triggered_desc = {
						trigger = { highest_skill = stewardship }
						desc = ep3_laamp_decision_event.1010.a_stewardship
					}
					triggered_desc = {
						trigger = { highest_skill = intrigue }
						desc = ep3_laamp_decision_event.1010.a_intrigue
					}
					triggered_desc = {
						trigger = { highest_skill = learning }
						desc = ep3_laamp_decision_event.1010.a_learning
					}
					triggered_desc = {
						trigger = { 
							OR = {
								highest_skill = martial 
								highest_skill_including_prowess = prowess
							}
						}
						desc = ep3_laamp_decision_event.1010.a_martial
					}
				}
			}
		}
		trigger = {
			#Are we on cooldown?
			custom_tooltip = {
				text = ep3_laamp_decision_event.1010.a.cooldown.tt
				NOT = { has_variable = 1010_has_convinced_recently }
			}
		}
		#Keep you informed of the cooldown
		show_as_unavailable = { always = yes }
		#Duel effect
		1010_highest_skill_duel_effect = yes
	}
	#Triggered Option: Trade child
	option = {
		name = {
			trigger = { has_trait = callous }
			text = ep3_laamp_decision_event.1010.c_callous
		}
		name = ep3_laamp_decision_event.1010.c
		flavor = {
			first_valid = {
				triggered_desc = {
					trigger = { has_trait = callous }
					desc = ep3_laamp_decision_event.1010.c.flavor_callous
				}
				desc = ep3_laamp_decision_event.1010.c.flavor
			}
		}
		trigger = { 
			exists = scope:payment_child
			#For sanity reasons
			is_ai = no
		}
		highlight_portrait = scope:payment_child
		#Pay child
		scope:payment_child = {
			add_opinion = {
				modifier = traded_me_away_opinion
				target = root
				opinion = -50
			}
			progress_towards_rival_effect = {
				REASON = rival_traded_away_child
				CHARACTER = root
				OPINION = default_rival_opinion
			}
			move_to_pool = yes
		}
		if = {
			limit = { exists = scope:other_parent }
			scope:other_parent = {
				add_opinion = {
					modifier = traded_away_child_opinion
					target = root
					opinion = -50
				}
			}
		}
		#Get supplies
		domicile ?= { change_provisions = max_provisions }
		#Give appropriate amounts of stress
		stress_impact = {
			compassionate = major_stress_impact_gain
		}
		#Set correct variables and reroute us to main square
		1010_bought_supplies_effect = yes
	}
	#Triggered Option: Intrigue-y visiting partner steals some supply for you
	option = {
		name = ep3_laamp_decision_event.1010.d
		trigger = { 
			exists = scope:1010_potentiaL_thievery
			#Are we on cooldown?
			custom_tooltip = {
				text = ep3_laamp_decision_event.1010.d.cooldown.tt
				NOT = { has_variable = 1010_has_stolen_recently }
			}
		}
		flavor = ep3_laamp_decision_event.1010.d.flavor
		show_as_unavailable = { exists = scope:1010_potentiaL_thievery }
		scope:visiting_partner = {
			duel = {
				skill = intrigue
				target = scope:laamp_supply_merchant
				#Success: Supplies!
				50 = {
					compare_modifier = {
						value = scope:duel_value
						multiplier = 3.5
						min = -49
					}
					desc = ep3_laamp_decision_event.1010.d.success
					root = {
						send_interface_toast = {
							title = ep3_laamp_decision_event.1010.d.success
							left_icon = scope:visiting_partner
							right_icon = scope:laamp_supply_merchant
							#Successful theft!
							domicile ?= { change_provisions = half_to_max_provisions_value }
							#Set up the cooldown for the convince-action
							set_variable = {
								name = 1010_has_stolen_recently
								value = flag:success
								days = visit_settlement_minimum_cooldown_days #Sync this with fail
							}
							#Determine why we can't return to this option
							save_scope_value_as = {
								name = laamp_decision_bought_supplies
								value = flag:none
							}
							#Go back to the main event
							hidden_effect = { 1001_return_to_second_effect = yes }
						}
					}
					
				}
				#Failure: The local guards are summoned
				50 = {
					compare_modifier = {
						value = scope:duel_value
						multiplier = -3.5
					}	
					min = 5
					desc = ep3_laamp_decision_event.1010.d.failure
					root = {
						send_interface_toast = {
							title = ep3_laamp_decision_event.1010.d.failure
							left_icon = scope:visiting_partner
							right_icon = scope:laamp_supply_merchant
							#Quite the tussle
							scope:visiting_partner = { 
								increase_wounds_effect = { REASON = fight }
							}
							custom_tooltip = ep3_laamp_decision_event.1010.a.failure.tt
							#Set up the cooldown for the convince-action
							set_variable = {
								name = 1010_has_stolen_recently
								value = flag:fail
								days = visit_settlement_minimum_cooldown_days #Sync this with success
							}
							#This merchant doesn't want to see you again
							progress_towards_rival_effect = {
								REASON = rival_tried_to_steal_supplies
								CHARACTER = scope:laamp_supply_merchant
								OPINION = default_rival_opinion
							}
							#And you will not be going back to supply merchant, but feel free to look at the greyed out option
							set_variable = 1010_guards_summoned
							#Determine why we can't return to this option
							save_scope_value_as = {
								name = laamp_decision_bought_supplies
								value = flag:none
							}
							#Go back to the main event
							1001_return_to_second_effect = yes
						}
					}
				}
			}
		}
	}
	#I want to do something else
	option = {
		name = ep3_laamp_decision_event.1010.e
		#For desc flavor
		save_scope_as = did_not_buy_supplies
		#Go back to the main event
		1001_return_to_second_effect = yes
	}
	after = {
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:supply_merchant }
	}
}


######################################################################
# SELL ARTIFACT
# ep3_laamp_decision_event.1020
######################################################################

scripted_effect 1020_suppress_artifact_notifications_effect = {
	#Don't need no notification about this
	set_variable = {
		name = suppress_artifact_notifications
		value = yes
		days = 2
	}
}

scripted_effect 1020_remove_sell_variables_effect = {
	remove_variable ?= 1020_artifact_sell_value
	remove_variable ?= 1020_artifact_sell_high_value
	remove_variable ?= 1020_artifact_sell_low_value
}

#Set the correct variable to block off the Artifact option and remove the desc flavor variable
scripted_effect 1020_sold_artifact_effect = {
	scope:1020_first_artifact_to_sell ?= { 1020_remove_sell_variables_effect = yes }
	scope:1020_second_artifact_to_sell ?= { 1020_remove_sell_variables_effect = yes }
	scope:1020_third_artifact_to_sell ?= { 1020_remove_sell_variables_effect = yes }
	remove_list_variable = {
		name = list_of_options
		target = flag:has_artifact_option
	}
	remove_variable ?= 1021_artifact_sell_screen
	save_scope_as = laamp_decision_sold_artifact
	#Go back to the main event
	hidden_effect = { 1001_return_to_second_effect = yes }
}

#Reused effect to set the variable
scripted_effect 1020_set_artifact_value_variables_effect = {
	#Regular price
	set_variable = {
		name = 1020_artifact_sell_value
		value = {
			value = $GOLD_VALUE$
			#Better buyers in City Holding
			if = {
				limit = {
					scope:visiting_location = { has_holding_type = city_holding }
				}
				multiply = { 1.15 1.25 }
			}
			multiply = { 0.90 1.1 }
		}
	}
	#Haggle success / Outraged partner price
	set_variable = {
		name = 1020_artifact_sell_high_value
		value = {
			value = var:1020_artifact_sell_value
			#Better buyers in City Holding
			if = {
				limit = {
					scope:visiting_location = { has_holding_type = city_holding }
				}
				multiply = { 1.15 1.25 }
			}
			#Haggle success / Outraged partner price
			multiply = { 1.15 1.25 }
		}
	}
	#Haggle failed price
	set_variable = {
		name = 1020_artifact_sell_low_value
		value = {
			value = var:1020_artifact_sell_value
			#Better buyers in City Holding
			if = {
				limit = {
					scope:visiting_location = { has_holding_type = city_holding }
				}
				multiply = { 1.15 1.25 }
			}
			#Haggle failed price
			multiply = { 0.55 0.8 }
		}
	}
}

#Calculate how much the artifact is worth
scripted_effect 1020_calculate_artifact_value_effect = {
	#Very expensive
	if = {
		limit = { rarity = illustrious }
		1020_set_artifact_value_variables_effect = { GOLD_VALUE = root.massive_gold_value } 
	}
	#Expensive
	else_if = {
		limit = { rarity = famed }
		1020_set_artifact_value_variables_effect = { GOLD_VALUE = root.major_gold_value }
	}
	#OK price
	else_if = {
		limit = { rarity = masterwork }
		1020_set_artifact_value_variables_effect = { GOLD_VALUE = root.medium_gold_value }
	}
	#Cheap
	else_if = {
		limit = { rarity = common }
		1020_set_artifact_value_variables_effect = { GOLD_VALUE = root.minor_gold_value }
	}
}


#Sell an artifact to local peddlers
ep3_laamp_decision_event.1020 = {
	type = character_event
	title = ep3_laamp_decision_event.1020.t 
	window = visit_settlement_window
	desc = {
		#Intro
		first_valid = {
			#FIRST TIME: We've seen this peddler before
			triggered_desc = { 
				trigger = { 
					NOT = { exists = scope:did_not_sell_artifact }
					exists = scope:laamp_recurring_artifact_peddler
				}
				desc = ep3_laamp_decision_event.1020.desc_intro_reused_peddler
			}
			#FIRST TIME: This is a CITY HOLDING, aschually. More refined buyers.
			triggered_desc = { 
				trigger = { 
					NOT = { exists = scope:did_not_sell_artifact }
					scope:visiting_location = { has_holding_type = city_holding }
				}
				desc = ep3_laamp_decision_event.1020.desc_intro_posh_stalls
			}
			#RETURN SELL SCREEN: Guess we're thinking very hard
			random_valid = {
				triggered_desc = { 
					trigger = { has_variable = 1021_artifact_sell_screen }
					desc = ep3_laamp_decision_event.1020.desc_intro_intermediate_returned_01
				}
				triggered_desc = { 
					trigger = { has_variable = 1021_artifact_sell_screen }
					desc = ep3_laamp_decision_event.1020.desc_intro_intermediate_returned_02
				}
			}
			#RETURN: We've returned to this scene, now what
			random_valid = {
				triggered_desc = { 
					trigger = { exists = scope:did_not_sell_artifact }
					desc = ep3_laamp_decision_event.1020.desc_intro_returned_01
				}
				triggered_desc = { 
					trigger = { exists = scope:did_not_sell_artifact }
					desc = ep3_laamp_decision_event.1020.desc_intro_returned_02
				}
			}
			#FIRST TIME: Intro
			random_valid = {
				triggered_desc = { 
					trigger = { 
						NOT = { exists = scope:did_not_sell_artifact }
					}
					desc = ep3_laamp_decision_event.1020.desc_intro_new_01
				}
				triggered_desc = { 
					trigger = { 
						NOT = { exists = scope:did_not_sell_artifact }
					}
					desc = ep3_laamp_decision_event.1020.desc_intro_new_02
				}
			}
		}
		#FIRST TIME: Artifact Flavor
		first_valid = {
			#FIRST TIME: One artifact
			random_valid = {
				triggered_desc = { 
					trigger = { 
						NOT = { exists = scope:did_not_sell_artifact }
						exists = scope:1020_first_artifact_to_sell
						NOT = { exists = scope:1020_second_artifact_to_sell }
						NOT = { exists = scope:1020_third_artifact_to_sell }
					}
					desc = ep3_laamp_decision_event.1020.desc_one_artifact_new_01
				}
				triggered_desc = { 
					trigger = { 
						NOT = { exists = scope:did_not_sell_artifact }
						exists = scope:1020_first_artifact_to_sell
						NOT = { exists = scope:1020_second_artifact_to_sell }
						NOT = { exists = scope:1020_third_artifact_to_sell }
					}
					desc = ep3_laamp_decision_event.1020.desc_one_artifact_new_02
				}
			}
			#FIRST TIME: Two artifacts
			random_valid = {
				triggered_desc = { 
					trigger = { 
						NOT = { exists = scope:did_not_sell_artifact }
						exists = scope:1020_first_artifact_to_sell
						exists = scope:1020_second_artifact_to_sell
						NOT = { exists = scope:1020_third_artifact_to_sell }
					}
					desc = ep3_laamp_decision_event.1020.desc_two_artifacts_new_01
				}
				triggered_desc = { 
					trigger = { 
						NOT = { exists = scope:did_not_sell_artifact }
						exists = scope:1020_first_artifact_to_sell
						exists = scope:1020_second_artifact_to_sell
						NOT = { exists = scope:1020_third_artifact_to_sell }
					}
					desc = ep3_laamp_decision_event.1020.desc_two_artifacts_new_02
				}
			}
			#FIRST TIME: Three artifacts
			random_valid = {
				triggered_desc = { 
					trigger = { 
						NOT = { exists = scope:did_not_sell_artifact }
						exists = scope:1020_first_artifact_to_sell
						exists = scope:1020_second_artifact_to_sell
						exists = scope:1020_third_artifact_to_sell
					}
					desc = ep3_laamp_decision_event.1020.desc_three_artifacts_new_01
				}
				triggered_desc = { 
					trigger = { 
						NOT = { exists = scope:did_not_sell_artifact }
						exists = scope:1020_first_artifact_to_sell
						exists = scope:1020_second_artifact_to_sell
						exists = scope:1020_third_artifact_to_sell
					}
					desc = ep3_laamp_decision_event.1020.desc_three_artifacts_new_02
				}
			}
		}
		#Visiting Partner flavor
		first_valid = {
			#RETURN: We've returned with our outraged clever partner
			triggered_desc = { 
				trigger = { 
					exists = scope:did_not_sell_artifact
					exists = scope:1020_outraged_partner
				}
				desc = ep3_laamp_decision_event.1020.desc_outraged_partner_returned
			}
			#FIRST TIME: Outraged clever partner
			triggered_desc = { 
				trigger = { exists = scope:1020_outraged_partner }
				desc = ep3_laamp_decision_event.1020.desc_outraged_partner_new
			}
		}
	}
	theme = stewardship
	override_background = { reference = ep2_village_festival }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		#Outraged
		triggered_animation = {
			trigger = { exists = scope:1020_outraged_partner }
			animation = rage
		}
		#Friendly
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_friendly_traits = yes } 
			}
			animation = personality_forgiving
		}
		#Business-minded
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_commerce_traits = yes } 
			}
			animation = personality_greedy
		}
		#Uninterested
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_uninterested_traits = yes } 
			}
			animation = personality_cynical
		}
		#Irrational
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_irrational_traits = yes } 
			}
			animation = personality_irrational
		}
		#A bit awkward
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_standoffish_traits = yes } 
			}
			animation = personality_coward
		}
		animation = personality_compassionate
	}
	center_portrait = {
		character = root
		animation = thinking
	}
	right_portrait = {
		character = scope:laamp_artifact_peddler
		#Friendly
		triggered_animation = {
			trigger = {
				scope:laamp_artifact_peddler = { 1010_has_friendly_traits = yes }
			}
			animation = personality_compassionate
		}
		#Uninterested
		triggered_animation = {
			trigger = {
				scope:laamp_artifact_peddler = { 1010_has_uninterested_traits = yes }
			}
			animation = personality_callous
		}
		#Business-minded
		triggered_animation = {
			trigger = {
				scope:laamp_artifact_peddler = { 1010_has_commerce_traits = yes }
			}
			animation = admiration
		}
		#A bit awkward
		triggered_animation = {
			trigger = {
				scope:laamp_artifact_peddler = { 1010_has_standoffish_traits = yes }
			}
			animation = personality_coward
		}
		#Irrational
		triggered_animation = {
			trigger = {
				scope:laamp_artifact_peddler = { 1010_has_irrational_traits = yes }
			}
			animation = personality_irrational
		}
		animation = personality_forgiving
	}
	artifact = {
		trigger = { exists = scope:1020_first_artifact_to_sell }
		target = scope:1020_first_artifact_to_sell
		position = lower_left_portrait
	}
	artifact = {
		trigger = { exists = scope:1020_second_artifact_to_sell }
		target = scope:1020_second_artifact_to_sell
		position = lower_center_portrait
	}
	artifact = {
		trigger = { exists = scope:1020_third_artifact_to_sell }
		target = scope:1020_third_artifact_to_sell
		position = lower_right_portrait
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#Do we have someone more clever in our company?
		if = {
			limit = {
				NOT = { exists = scope:1020_outraged_partner }
				scope:visiting_partner ?= {
					stewardship > root.stewardship
					stewardship >= average_skill_rating
				}
			}
			#Save outraged clever partner
			save_scope_as = 1020_outraged_partner
		}
		#Find our peddler
		if = {
			#Do we already have a peddler?
			limit = {
				NOT = { exists = scope:laamp_artifact_peddler }
			}
			#Has this person been our artifact peddler in the past 10 years?
			random_pool_character = {
				province = scope:visiting_location
				limit = {
					1010_basic_merchant_checks_trigger = yes
					NOT = { has_trait = devoted } #Look, I like weaponsmith nuns as much as the next person, but it looked _slightly_ off
					save_temporary_scope_as = saved_character_check
					#Let's avoid double-dipping
					1010_is_a_saved_peddler_trigger = yes
					1010_is_a_saved_merchant_trigger = no
					1010_is_a_saved_crier_trigger = no
					1010_is_a_saved_storyteller_trigger = no
					1010_is_a_saved_thief_trigger = no
					1010_is_a_saved_healer_trigger = no
					1010_is_a_saved_clergy_trigger = no
					1010_is_a_saved_physician_trigger = no
					1010_is_a_saved_bodyguard_trigger = no
					1010_is_a_saved_weaponsmith_trigger = no
					1010_is_a_saved_armorer_trigger = no
					1010_is_a_saved_jeweler_trigger = no
					1010_is_a_saved_quartermaster_trigger = no
				}
				save_scope_as = laamp_artifact_peddler
				#Some more loc flavor shenanigans for these saved scopes
				save_scope_as = laamp_recurring_artifact_peddler
			}
			#Otherwise find a peddler in the pool
			if = {
				limit = { 
					NOT = { exists = scope:laamp_artifact_peddler }
				}
				random_pool_character = {
					province = scope:visiting_location
					limit = { 
						1010_basic_merchant_checks_trigger = yes
						NOT = { has_trait = devoted } #Look, I like weaponsmith nuns as much as the next person, but it looked _slightly_ off
					}
					save_scope_as = laamp_artifact_peddler
				}
			}
			#Otherwise create a peddler
			if = {
				limit = {
					NOT = { exists = scope:laamp_artifact_peddler }
				}
				#Create peddler to stuff in pool
				create_character = {
					template = generic_peasant_character
					location = scope:visiting_location
					dynasty = none
					culture = scope:visiting_location.culture
					faith = scope:visiting_location.faith
					save_scope_as = laamp_artifact_peddler
				}
			}
			#Remember the peddler
			1010_remember_vendor_character_effect = { GUILD = peddler CHARACTER = scope:laamp_artifact_peddler }
		}
		#What artifacts are we selling?
		if = {
			limit = {
				NOT = { exists = scope:1020_first_artifact_to_sell }
			}
			every_character_artifact = {
				limit = { 1000_is_unsellable_artifact_trigger = no }
				add_to_list = list_of_potential_artifacts_to_sell
			}
			#Pick a random artifact in the list so we have a starting point
			random_in_list = {
				list = list_of_potential_artifacts_to_sell
				limit = { has_variable = 1020_interesting_artifact_to_sell }
				alternative_limit = { 
					#Empty, just pick an artifact from the list already
				}
				#Remember the artifact for next visit
				set_variable = {
					name = 1020_interesting_artifact_to_sell
					days = visit_settlement_cooldown_days
				}
				save_scope_as = 1020_first_artifact_to_sell
			}
			#Pick something the peddler saw on your character
			if = {
				limit = {
					any_in_list = {
						list = list_of_potential_artifacts_to_sell
						this != scope:1020_first_artifact_to_sell
					}
				}
				random_in_list = {
					list = list_of_potential_artifacts_to_sell
					limit = {
						has_variable = 1020_interesting_artifact_to_sell
						this != scope:1020_first_artifact_to_sell
						is_equipped = yes
					}
					alternative_limit = {
						this != scope:1020_first_artifact_to_sell
						is_equipped = no
					}
					alternative_limit = {
						this != scope:1020_first_artifact_to_sell
					}
					#Remember the artifact for next visit
					set_variable = {
						name = 1020_interesting_artifact_to_sell
						days = visit_settlement_cooldown_days
					}
					save_scope_as = 1020_second_artifact_to_sell
				}

			}
			#Pick something that isn't whatever old court artifact from when you used to be someone
			if = {
				limit = {
					any_in_list = {
						list = list_of_potential_artifacts_to_sell
						NOT = {
							this = scope:1020_first_artifact_to_sell
							this = scope:1020_second_artifact_to_sell
						}
					}
				}
				random_in_list = {
					list = list_of_potential_artifacts_to_sell
					limit = {
						has_variable = 1020_interesting_artifact_to_sell
						NOT = {
							this = scope:1020_first_artifact_to_sell
							this = scope:1020_second_artifact_to_sell
						}
						ep1_artifact_is_court_artifact_trigger = no
						is_unique = no
					}
					alternative_limit = {
						NOT = {
							this = scope:1020_first_artifact_to_sell
							this = scope:1020_second_artifact_to_sell
						}
						ep1_artifact_is_court_artifact_trigger = no
					}
					alternative_limit = {
						NOT = {
							this = scope:1020_first_artifact_to_sell
							this = scope:1020_second_artifact_to_sell
						}
						is_unique = no
					}
					alternative_limit = {
						NOT = {
							this = scope:1020_first_artifact_to_sell
							this = scope:1020_second_artifact_to_sell
						}
					}
					#Remember the artifact for next visit
					set_variable = {
						name = 1020_interesting_artifact_to_sell
						days = visit_settlement_cooldown_days
					}
					save_scope_as = 1020_third_artifact_to_sell
				}
			}
		}
		#Set the prices
		if = {
			#Always exists
			limit = {
				scope:1020_first_artifact_to_sell = { 
					NOT = { has_variable = 1020_artifact_sell_value }
				}
			}
			scope:1020_first_artifact_to_sell = { 
				1020_calculate_artifact_value_effect = yes
				#Don't need no notifications about this
				1020_suppress_artifact_notifications_effect = yes
			}
			#2nd Artifact
			if = {
				limit = { exists = scope:1020_second_artifact_to_sell }
				scope:1020_second_artifact_to_sell = { 
					1020_calculate_artifact_value_effect = yes
					#Don't need no notifications about this
					1020_suppress_artifact_notifications_effect = yes
				}		
			}
			#3rd Artifact
			if = {
				limit = { exists = scope:1020_third_artifact_to_sell }
				scope:1020_third_artifact_to_sell = { 
					1020_calculate_artifact_value_effect = yes
					#Don't need no notifications about this
					1020_suppress_artifact_notifications_effect = yes
				}	
			}
			#Let's not do this twice
		}
	}
	#Go to sell screen
	option = {
		name = ep3_laamp_decision_event.1020.a
		#Inform player
		custom_tooltip = ep3_laamp_decision_event.1020.a.tt
		#Show the current estimated prices so that you can compare
		custom_tooltip = ep3_laamp_decision_event.1020.a.first_artifact.tt
		#2nd Artifact
		if = {
			limit = { exists = scope:1020_second_artifact_to_sell }
			custom_tooltip = ep3_laamp_decision_event.1020.a.second_artifact.tt
		}
		#3rd Artifact
		if = {
			limit = { exists = scope:1020_third_artifact_to_sell }
			custom_tooltip = ep3_laamp_decision_event.1020.a.third_artifact.tt
		}
		if = { # Eagle
			limit = {
				can_laamp_sell_eagle_trigger = yes
			}
			custom_tooltip = ep3_laamp_decision_event.1020.eagle.tt
			custom_tooltip = ep3_laamp_decision_event.1020.eagle.price_tt
		}
		remove_variable ?= 1021_artifact_sell_screen
		#Go to sell screen
		trigger_event = ep3_laamp_decision_event.1021
	}
	#Attempt a haggle
	option = {
		name = ep3_laamp_decision_event.1020.b
		trigger = { 
			#You're on cooldown
			custom_tooltip = {
				text = ep3_laamp_decision_event.1020.b.cooldown.tt
				NOT = { has_variable = 1020_has_haggled_recently } 
			}
		}	
		duel = {
			skill = stewardship
			target = scope:laamp_artifact_peddler
			#Success: Artifact merchant looks contemplatively at you, increased price
			50 = {		
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				desc = ep3_laamp_decision_event.1020.b.success
				send_interface_toast = {
					title = ep3_laamp_decision_event.1020.b.success
					left_icon = root
					right_icon = scope:laamp_artifact_peddler
					#For loc and effects
					save_scope_value_as = {
						name = attempted_artifact_haggle
						value = flag:success
					}
					#Show the estimated success prices so that you can compare
					custom_tooltip = ep3_laamp_decision_event.1020.b.success.first_artifact.tt
					#2nd Artifact
					if = {
						limit = { exists = scope:1020_second_artifact_to_sell }
						custom_tooltip = ep3_laamp_decision_event.1020.b.success.second_artifact.tt
					}
					#3rd Artifact
					if = {
						limit = { exists = scope:1020_third_artifact_to_sell }
						custom_tooltip = ep3_laamp_decision_event.1020.b.success.third_artifact.tt
					}
					if = {
						limit = { has_lifestyle = stewardship_lifestyle }
						add_stewardship_lifestyle_xp = medium_lifestyle_xp
					}
					stress_impact = {
						greedy = minor_stress_impact_loss
						ambitious = minor_stress_impact_loss
					}
					#Go to sell screen with modified costs
					trigger_event = ep3_laamp_decision_event.1021
				}
			}
			#Failure: Artifact merchant smirks at you, decreased price
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -20
				}	
				desc = ep3_laamp_decision_event.1020.b.failure
				send_interface_toast = {
					title = ep3_laamp_decision_event.1020.b.failure
					left_icon = root
					right_icon = scope:laamp_artifact_peddler
					#For loc and effects
					save_scope_value_as = {
						name = attempted_artifact_haggle
						value = flag:failure
					}
					#Show the estimated failure prices so that you can compare
					custom_tooltip = ep3_laamp_decision_event.1020.b.failure.first_artifact.tt
					#2nd Artifact
					if = {
						limit = { exists = scope:1020_second_artifact_to_sell }
						custom_tooltip = ep3_laamp_decision_event.1020.b.failure.second_artifact.tt
					}
					#3rd Artifact
					if = {
						limit = { exists = scope:1020_third_artifact_to_sell }
						custom_tooltip = ep3_laamp_decision_event.1020.b.failure.third_artifact.tt
					}
					stress_impact = {
						base = minor_stress_impact_gain
						greedy = minor_stress_impact_gain
					}
					#Go to sell screen with modified costs
					trigger_event = ep3_laamp_decision_event.1021
				}
			}
		}
		set_variable = {
			name = 1020_has_haggled_recently
			days = visit_settlement_minimum_cooldown_days
		}
	}
	#Triggered Option: Outraged clever partner gets you a higher price for a random artifact
	option = {
		name = ep3_laamp_decision_event.1020.c
		#If we have an outraged clever partner
		trigger = { exists = scope:1020_outraged_partner }
		#... whom randomly sells one of the artifacts at a higher price
		random_list = {
			#This should always exist
			50 = {
				desc = ep3_laamp_decision_event.1020.c.first_artifact
				add_gold = scope:1020_first_artifact_to_sell.var:1020_artifact_sell_high_value
				scope:1020_first_artifact_to_sell = { set_owner = scope:laamp_artifact_peddler }
			}
			#Artifact #2
			50 = {
				trigger = { exists = scope:1020_second_artifact_to_sell }
				desc = ep3_laamp_decision_event.1020.c.second_artifact
				add_gold = scope:1020_second_artifact_to_sell.var:1020_artifact_sell_high_value
				scope:1020_second_artifact_to_sell = { set_owner = scope:laamp_artifact_peddler }
			}
			#Artifact #3
			50 = {
				trigger = { exists = scope:1020_third_artifact_to_sell }
				desc = ep3_laamp_decision_event.1020.c.third_artifact
				add_gold = scope:1020_third_artifact_to_sell.var:1020_artifact_sell_high_value
				scope:1020_third_artifact_to_sell = { set_owner = scope:laamp_artifact_peddler }
			}
		}
		#Set correct variables and reroute us to main square
		1020_sold_artifact_effect = yes
		stress_impact = {
			ambitious = minor_stress_impact_gain
			lazy = minor_stress_impact_loss
		}
		#Inform the player
		custom_tooltip = ep3_laamp_decision_event.return.tt	
	}
	#I want to do something else
	option = {
		name = ep3_laamp_decision_event.1020.d
		#For desc flavor
		save_scope_as = did_not_sell_artifact
		#Go back to the main event
		1001_return_to_second_effect = yes
	}
	after = {
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:artifact_peddler }
	}
}


#Sell (or destroy) artifact (if unique artifact)
scripted_effect ep3_laamp_decision_1021_sell_artifact_effect = {
	save_temporary_scope_as = artifact_to_sell #More descriptive than 'prev'
	#Get appropriate amount of gold
	root = {
		if = {
			limit = {
				exists = scope:attempted_artifact_haggle
				scope:attempted_artifact_haggle = flag:success
			}
			add_gold = scope:artifact_to_sell.var:1020_artifact_sell_high_value
		}
		else_if = {
			limit = {
				exists = scope:attempted_artifact_haggle
				scope:attempted_artifact_haggle = flag:failure
			}
			add_gold = scope:artifact_to_sell.var:1020_artifact_sell_low_value
		}
		else = { add_gold = scope:artifact_to_sell.var:1020_artifact_sell_value }
	}
	#Set the artifact owner
	if = {
		limit = { 
			scope:artifact_to_sell = { is_unique = yes }
		}
		#Destroy unique artifacts so they don't get stuck with the Pool People
		hidden_effect = { destroy_artifact = scope:artifact_to_sell }
	}
	else = { set_owner = scope:laamp_artifact_peddler }
}


#Actual sell screen
ep3_laamp_decision_event.1021 = {
	type = character_event
	window = visit_settlement_window
	title = {
		first_valid = {
			#Haggle Success
			triggered_desc = {
				trigger = { scope:attempted_artifact_haggle ?= flag:success }
				desc = ep3_laamp_decision_event.1021.t_success 
			}
			#Haggle Failure
			triggered_desc = {
				trigger = { scope:attempted_artifact_haggle ?= flag:failure }
				desc = ep3_laamp_decision_event.1021.t_failure
			}
			desc = ep3_laamp_decision_event.1021.t
		}
	}	
	desc = {
		first_valid = {
			#FIRST TIME: Haggle Success
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:did_not_sell_haggled_artifact }
					scope:attempted_artifact_haggle ?= flag:success
				}
				desc = ep3_laamp_decision_event.1021.desc_success
			}
			#FIRST TIME: Haggle Failure
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:did_not_sell_haggled_artifact }
					scope:attempted_artifact_haggle ?= flag:failure
				}
				desc = ep3_laamp_decision_event.1021.desc_failure
			}
			#FIRST TIME: Generic first-strings 
			random_valid = {
				triggered_desc = { 
					trigger = { 
						NOT = { exists = scope:did_not_sell_artifact }
					}
					desc = ep3_laamp_decision_event.1021.desc_moment_of_purchase_01
				}
				triggered_desc = { 
					trigger = { 
						NOT = { exists = scope:did_not_sell_artifact }
					}
					desc = ep3_laamp_decision_event.1021.desc_moment_of_purchase_02
				}
			}
			#RETURN: Same as the generic first-strings
			random_valid = {
				triggered_desc = { 
					trigger = {
						NOT = { has_variable = 1021_artifact_sell_screen }
					}
					desc = ep3_laamp_decision_event.1021.desc_moment_of_purchase_01
				}
				triggered_desc = { 
					trigger = {
						NOT = { has_variable = 1021_artifact_sell_screen }
					}
					desc = ep3_laamp_decision_event.1021.desc_moment_of_purchase_02
				}
			}	
			#RETURN: Same as the return-strings in ep3_laamp_decision_event.1020
			random_valid = {
				triggered_desc = { 
					trigger = {
						OR = {
							exists = scope:did_not_sell_haggled_artifact
							exists = scope:did_not_sell_artifact
						}
					}
					desc = ep3_laamp_decision_event.1020.desc_intro_returned_01
				}
				triggered_desc = { 
					trigger = {
						OR = {
							exists = scope:did_not_sell_haggled_artifact
							exists = scope:did_not_sell_artifact
						}
					}
					desc = ep3_laamp_decision_event.1020.desc_intro_returned_02
				}
			}	
		}	
	}
	theme = stewardship
	override_background = { reference = ep2_village_festival }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		#Outraged
		triggered_animation = {
			trigger = { exists = scope:1020_outraged_partner }
			animation = rage
		}
		#Friendly
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_friendly_traits = yes } 
			}
			animation = personality_forgiving
		}
		#Business-minded
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_commerce_traits = yes } 
			}
			animation = personality_greedy
		}
		#Uninterested
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_uninterested_traits = yes } 
			}
			animation = personality_cynical
		}
		#Irrational
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_irrational_traits = yes } 
			}
			animation = personality_irrational
		}
		#A bit awkward
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_standoffish_traits = yes } 
			}
			animation = personality_coward
		}
		animation = personality_compassionate
	}
	center_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				exists = scope:attempted_artifact_haggle
				scope:attempted_artifact_haggle = flag:failure
			}
			animation = shame
		}
		triggered_animation = {
			trigger = {
				can_laamp_sell_eagle_trigger = yes
			}
			animation = hunting_falcon
		}
		animation = thinking
	}
	right_portrait = {
		character = scope:laamp_artifact_peddler
		triggered_animation = {
			trigger = { exists = scope:attempted_artifact_haggle }
			animation = disapproval
		}
		animation = steward
	}
	artifact = {
		trigger = { exists = scope:1020_first_artifact_to_sell }
		target = scope:1020_first_artifact_to_sell
		position = lower_left_portrait
	}
	artifact = {
		trigger = { exists = scope:1020_second_artifact_to_sell }
		target = scope:1020_second_artifact_to_sell
		position = lower_center_portrait
	}
	artifact = {
		trigger = { exists = scope:1020_third_artifact_to_sell }
		target = scope:1020_third_artifact_to_sell
		position = lower_right_portrait
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
	}
	#Sell artifact #1
	option = {
		name = ep3_laamp_decision_event.1021.a
		#Sell the artifact, price depending on if you haggled or not etc
		scope:1020_first_artifact_to_sell = { ep3_laamp_decision_1021_sell_artifact_effect = yes }
		#Set correct variables and reroute us to main square
		1020_sold_artifact_effect = yes
	}
	#Sell artifact #2
	option = {
		name = ep3_laamp_decision_event.1021.b
		trigger = { exists = scope:1020_second_artifact_to_sell }
		#Sell the artifact, price depending on if you haggled or not etc
		scope:1020_second_artifact_to_sell = { ep3_laamp_decision_1021_sell_artifact_effect = yes }
		#Set correct variables and reroute us to main square
		1020_sold_artifact_effect = yes
	}
	#Sell artifact #3
	option = {
		name = ep3_laamp_decision_event.1021.c
		trigger = { exists = scope:1020_third_artifact_to_sell }
		#Sell the artifact, price depending on if you haggled or not etc
		scope:1020_third_artifact_to_sell = { ep3_laamp_decision_1021_sell_artifact_effect = yes }
		#Set correct variables and reroute us to main square
		1020_sold_artifact_effect = yes
	}
	option = {
		name = ep3_laamp_decision_event.1021.eagle
		trigger = {
			can_laamp_sell_eagle_trigger = yes
		}
		#Sell eagle :(
		add_character_flag = is_selling_eagle_flag
		show_as_tooltip = {
			sell_eagle_effect = {
				PRICE = hunting_eagle_sell_value
				RECIPIENT = scope:laamp_artifact_peddler
				SELLER = root
			}
		}

		#Stress
		stress_impact = {
			base = minor_stress_impact_gain
			greedy = minor_stress_impact_loss
			callous = minor_stress_impact_loss
			compassionate = minor_stress_impact_gain
			loyal = minor_stress_impact_gain
		}

		#Set correct variables and reroute us to main square
		1020_sold_artifact_effect = yes
		
		ai_chance = {
			base = 15 # No one is really doing this unless they're giga broke
			modifier = {
				factor = 1.7
				short_term_gold <= 5
			}
			modifier = {
				add = 1.2
				has_character_modifier = weak_eagle_modifier
			}
			modifier = {
				add = 1.5
				has_character_modifier = very_weak_eagle_modifier
			}
			modifier = {
				add = 1.5
				eagle_is_old_trigger = yes
			}
			modifier = {
				add = 0.75
				OR = {
					has_character_modifier = strong_eagle_modifier
					has_eagle_personality_trait_trigger = yes
				}
			}
			ai_value_modifier = {
				ai_greed = 0.5
				ai_compassion = -0.5
			}
		}
	}
	#I've changed my mind
	option = {
		name = {
			text = {
				first_valid = {
					#Go back to main
					triggered_desc = { 
						trigger = { exists = scope:attempted_artifact_haggle }
						desc = ep3_laamp_decision_event.1020.d
					}
					#Go back to the previous screen
					desc = ep3_laamp_decision_event.1021.d
				}
			}
		}
		#For desc flavor
		if = {
			#We came through here the first time
			limit = {
				NOT = { exists = scope:did_not_sell_artifact }
			}
			save_scope_as = did_not_sell_artifact
		}
		#We came through here via haggling
		if = {
			limit = { exists = scope:attempted_artifact_haggle }
			if = {
				limit = {
					NOT = { exists = scope:did_not_sell_haggled_artifact }
				}
				save_scope_as = did_not_sell_haggled_artifact
			}
			#Go back to main
			custom_tooltip = ep3_laamp_decision_event.return.tt
			trigger_event = ep3_laamp_decision_event.1000
		}
		else = {
			#Go back to the previous screen
			trigger_event = ep3_laamp_decision_event.1020
		}
	}
	after = {
		#For loc
		if = {
			limit = {
				NOT = { has_variable = 1021_artifact_sell_screen }
			}
			set_variable = 1021_artifact_sell_screen
		}
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:artifact_peddler }
		hidden_effect = {
			# Put eagle selling option on cooldown
			if = {
				limit = {
					has_available_eagle_trigger = yes
				}
				add_character_flag = {
					flag = cant_sell_eagle
					months = 6
				} 
			}
			# Actually sell the eagle if applicable
			if = {
				limit = {
					has_character_flag = is_selling_eagle_flag
				}
				sell_eagle_effect = {
					PRICE = hunting_eagle_sell_value
					RECIPIENT = scope:laamp_artifact_peddler
					SELLER = root
				}
				remove_character_flag = is_selling_eagle_flag
			}
		}
	}
}


######################################################################
# TOWN CRIER
# ep3_laamp_decision_event.1025
######################################################################

#For hubs. All events that use this need to account for loc in relation to the value being 0, 1, or 2 (e.g. scope:church_grounds_loc_tracker ?= 0 )
scripted_effect 1025_set_and_check_hub_loc_tracker_scope_effect = {
	if = {
		limit = {
			NOT = { exists = scope:$HUB$_loc_tracker }	#e.g. scope:church_grounds_loc_tracker
		}
		save_scope_value_as = {
			name = $HUB$_loc_tracker
			value = 0
		}
	}
	else_if = {
		limit = { scope:$HUB$_loc_tracker ?= 2 }
		save_scope_value_as = {
			name = $HUB$_loc_tracker
			value = 0
		}
	}
	else_if = {
		limit = { scope:$HUB$_loc_tracker ?= 0 }
		save_scope_value_as = {
			name = $HUB$_loc_tracker
			value = 1
		}
	}
	else = {
		save_scope_value_as = {
			name = $HUB$_loc_tracker
			value = 2
		}			
	}
}

#Technically these could be rolled into the HUB variant if we add a 3rd random loc for all current SCENEs
#For scenes. All events that use this need to account for loc in relation to the value being 0 or 1 (e.g. scope:weaponsmith_loc_tracker ?= 0 )
scripted_effect 1025_set_and_check_scene_loc_tracker_scope_effect = {
	if = {
		limit = {
			NOT = { exists = scope:$SCENE$_loc_tracker }	#e.g. scope:weaponsmith_loc_tracker
		}
		save_scope_value_as = {
			name = $SCENE$_loc_tracker
			value = 0
		}
	}
	else_if = {
		limit = { scope:$SCENE$_loc_tracker ?= 1 }
		save_scope_value_as = {
			name = $SCENE$_loc_tracker
			value = 0
		}
	}
	else = {
		save_scope_value_as = {
			name = $SCENE$_loc_tracker
			value = 1
		}			
	}
}

#Set the correct variable to block off the Contract option and remove the desc flavor variable
scripted_effect 1025_finished_contract_effect = {
	#Set up the cooldown for the contract action
	set_variable = {
		name = 1025_has_contracted_recently
		days = visit_settlement_minimum_cooldown_days
	}
	#We're done here
	save_scope_value_as = { 
		name = laamp_decision_has_contracted 
		value = flag:yes	
	}
	#Go back to the main event
	hidden_effect = { 1001_return_to_second_effect = yes }
}

#Used in enough places
scripted_effect 1025_save_random_county_province_effect = {
	random_county_in_region = {
		region = $REGION$
		random_county_province = { save_scope_as = contract_province }	
	}
}

#Not too far away... Should probably be revisited sometime in the future. Use distance instead?
scripted_effect 1025_set_contract_location_effect = {
	random_list = {
		#North Europe
		10 = {
			trigger = {
				scope:visiting_location = { geographical_region = world_europe_north }
			}
			1025_save_random_county_province_effect = { REGION = world_europe_north }
		}
		#West Europe
		10 = {
			trigger = {
				scope:visiting_location = { geographical_region = world_europe_west }
			}
			1025_save_random_county_province_effect = { REGION = world_europe_west }
		}
		#East Europe
		10 = {
			trigger = {
				scope:visiting_location = { geographical_region = world_europe_east }
			}
			1025_save_random_county_province_effect = { REGION = world_europe_east }
		}
		#South Europe
		10 = {
			trigger = {
				scope:visiting_location = { geographical_region = world_europe_south }
			}
			1025_save_random_county_province_effect = { REGION = world_europe_south }
		}
		#Middle East
		10 = {
			trigger = {
				scope:visiting_location = { geographical_region = world_middle_east }
			}
			1025_save_random_county_province_effect = { REGION = world_middle_east }
		}
		#India
		10 = {
			trigger = {
				scope:visiting_location = { geographical_region = world_india }
			}
			1025_save_random_county_province_effect = { REGION = world_india }
		}
		#North Africa
		10 = {
			trigger = {
				scope:visiting_location = { geographical_region = world_africa_north }
			}
			1025_save_random_county_province_effect = { REGION = world_africa_north }
		}
		#West Africa
		10 = {
			trigger = {
				scope:visiting_location = { geographical_region = world_africa_west }
			}
			1025_save_random_county_province_effect = { REGION = world_africa_west }
		}
		#East Africa
		10 = {
			trigger = {
				scope:visiting_location = { geographical_region = world_africa_east }
			}
			1025_save_random_county_province_effect = { REGION = world_africa_east }
		}
		#West Steppe
		10 = {
			trigger = {
				scope:visiting_location = { geographical_region = world_steppe_west }
			}
			1025_save_random_county_province_effect = { REGION = world_steppe_west }
		}
		#East Steppe
		10 = {
			trigger = {
				scope:visiting_location = { geographical_region = world_steppe_east }
			}
			1025_save_random_county_province_effect = { REGION = world_steppe_east }
		}
	}	
}

#Set contract type
scripted_effect 1025_randomize_and_remember_contract_type_effect = {
	#Find an employer to check the trigger against
	scope:visiting_location.county = {
		holder ?= {
			if = {
				limit = { 1025_is_appropriate_landed_contract_employer_trigger = yes }
				add_to_temporary_list = potential_contract_employers
			}
			every_vassal_or_below ?= {
				limit = { 1025_is_appropriate_landed_contract_employer_trigger = yes }
				add_to_temporary_list = potential_contract_employers 
			}	
			top_liege ?= {
				if = {
					limit = { 1025_is_appropriate_landed_contract_employer_trigger = yes }
					add_to_temporary_list = potential_contract_employers
				}
				every_vassal_or_below ?= {
					limit = { 1025_is_appropriate_landed_contract_employer_trigger = yes }
					add_to_temporary_list = potential_contract_employers 
				}	
			}
		}
		every_neighboring_county ?= { 
			holder ?= {
				if = {
					limit = { 1025_is_appropriate_landed_contract_employer_trigger = yes }
				}
				add_to_temporary_list = potential_contract_employers
				every_vassal_or_below ?= {
					limit = { 1025_is_appropriate_landed_contract_employer_trigger = yes }
					add_to_temporary_list = potential_contract_employers 
				}
				top_liege ?= {
					if = {
						limit = { 1025_is_appropriate_landed_contract_employer_trigger = yes }
						add_to_temporary_list = potential_contract_employers
					}
					every_vassal_or_below ?= {
						limit = { 1025_is_appropriate_landed_contract_employer_trigger = yes }
						add_to_temporary_list = potential_contract_employers 
					}	
				}
			}	
		}
	}
	#Pick actual contract groups
	random_list = {
		#Nothing at all!
		10 = { 
			modifier = {
				1000_is_a_nomadic_holding_trigger = yes
				factor = 2
			}
			modifier = {
				num_offered_task_contracts > 5
				add = 20
			}
			modifier = {
				num_offered_task_contracts > 10
				add = 20
			}
			#No contracts
		}
		#Treasure Map
		5 = {
			#Do we already have a treasure map contract?
			trigger = {
				NOR = {
					#Is this contract type already saved from our last visit?
					trigger_if = {
						limit = { 1025_location_has_a_saved_contract_type_trigger = yes }
						1025_saved_location_contract_type_matches_this_type_trigger = { CONTRACT_TYPE_FLAG = flag:treasure_map_contract }
					}
					trigger_else = { always = no }
					#Do we already have an active Treasure Map contract?
					any_character_artifact = { has_variable = 1025_treasure_map }
					any_character_task_contract = { task_contract_type = laamp_treasure_map_contract }
					#Are we on cooldown?
					has_variable = 1025_had_treasure_map_contract_recently
					#Has this contract type already been assigned to another contract scope this visit?
					1025_contract_type_is_assigned_trigger = { CONTRACT_TYPE_FLAG = flag:treasure_map_contract } 
				}
			}
			#Set the type
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:treasure_map_contract
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			set_variable = {
				name = 1025_$NUM$_contract_desc
				value = flag:treasure_map_contract
			}
		}
		#Legendary Contract
		5 = {
			#Did we spawn a legendary contract recently?
			trigger = {
				prestige_level >= tier_kingdom
				1025_can_create_legendary_contract_trigger = yes
				NOR = { 
					#Are we on cooldown?
					has_variable = 1025_had_legendary_contract_recently
					#Has this contract type already been assigned to another contract scope this visit?
					1025_contract_type_is_assigned_trigger = { CONTRACT_TYPE_FLAG = flag:legendary_contract } 
				}
			}
			#Set the type
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:legendary_contract
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			set_variable = {
				name = 1025_$NUM$_contract_desc
				value = flag:legendary_contract
			}
			#Yes, I will whack you with a double cooldown on legendaries. It's shorter if you don't pick the option though
			set_variable = {
				name = 1025_had_legendary_contract_recently
				days = visit_settlement_minimum_cooldown_days
			}
		}
		#Transport Contracts
		20 = {
			#Did we spawn transport contracts recently?
			trigger = {
				NOR = {
					#Is this contract type already saved from our last visit?
					trigger_if = {
						limit = { 1025_location_has_a_saved_contract_type_trigger = yes }
						1025_saved_location_contract_type_matches_this_type_trigger = { CONTRACT_TYPE_FLAG = flag:transport_contracts }
					}
					trigger_else = { always = no }
					#Are we on cooldown?
					has_variable = 1025_had_transport_contracts_recently
					#Has this contract type already been assigned to another contract scope this visit?
					1025_contract_type_is_assigned_trigger = { CONTRACT_TYPE_FLAG = flag:transport_contracts } 
				}
				#Can we actually spawn any transport contracts?
				any_in_List = {
					list = potential_contract_employers
					save_temporary_scope_as = considered_employer
					can_create_transport_contract_trigger = { LAAMP = root EMPLOYER = scope:considered_employer }
				} 
			}
			#More transports for the baggage train
			modifier = {
				domicile ?= { has_domicile_building = baggage_train_01 }
				factor = 2
			}
			#Set the type
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:transport_contracts
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			set_variable = {
				name = 1025_$NUM$_contract_desc
				value = flag:transport_contracts
			}
		}
		#Criminal Contracts
		20 = {
			#Did we spawn criminal contracts recently?
			trigger = {
				NOR = {
					#Is this contract type already saved from our last visit?
					trigger_if = {
						limit = { 1025_location_has_a_saved_contract_type_trigger = yes }
						1025_saved_location_contract_type_matches_this_type_trigger = { CONTRACT_TYPE_FLAG = flag:criminal_contracts }
					}
					trigger_else = { always = no }
					#Are we on cooldown?
					has_variable = 1025_had_criminal_contracts_recently
					#Has this contract type already been assigned to another contract scope this visit?
					1025_contract_type_is_assigned_trigger = { CONTRACT_TYPE_FLAG = flag:criminal_contracts } 
				}
				#Can we actually spawn any criminal contracts?
				any_in_list = {
					list = potential_contract_employers
					save_temporary_scope_as = considered_employer
					can_create_criminal_contract_trigger = { LAAMP = root EMPLOYER = scope:considered_employer }
				} 
			}
			#More criminals... if corrupt location
			modifier = {
				scope:visiting_location.county = { has_county_corruption_trigger = yes }
				add = 10
			}
			modifier = {
				scope:visiting_location.county = { county_control <= 50 }
				add = 10
			}
			#Are you actually looking for criminal contracts?
			modifier = {
				has_trait = honest
				factor = 0.5
			}
			modifier = {
				has_trait = deceitful
				factor = 2
			}
			#Set the type
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:criminal_contracts
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			set_variable = {
				name = 1025_$NUM$_contract_desc
				value = flag:criminal_contracts
			}
		}
		#Justicar Contracts
		20 = { 
			#Did we spawn justicar contracts recently?
			trigger = {
				NOR = {
					#Is this contract type already saved from our last visit?
					trigger_if = {
						limit = { 1025_location_has_a_saved_contract_type_trigger = yes }
						1025_saved_location_contract_type_matches_this_type_trigger = { CONTRACT_TYPE_FLAG = flag:justicar_contracts }
					}
					trigger_else = { always = no }
					#Are we on cooldown?
					has_variable = 1025_had_justicar_contracts_recently
					#Has this contract type already been assigned to another contract scope this visit?
					1025_contract_type_is_assigned_trigger = { CONTRACT_TYPE_FLAG = flag:justicar_contracts } 
				}
				#Can we actually spawn any justicar contracts?
				any_in_list = {
					list = potential_contract_employers
					save_temporary_scope_as = considered_employer
					can_create_justicar_contract_trigger = { LAAMP = root EMPLOYER = scope:considered_employer }
				}
			}
			#More criminals... if corrupt location
			modifier = {
				scope:visiting_location.county = { has_county_corruption_trigger = yes }
				add = 10
			}
			modifier = {
				scope:visiting_location.county = { county_control <= 50 }
				add = 10
			}
			#You're pretty law-abiding?
			modifier = {
				OR = {
					has_trait = honest
					has_trait = just
					has_trait = gallant
					has_focus = martial_chivalry_focus
				}
				factor = 2
			}
			modifier = {
				has_trait = deceitful
				factor = 0.5
			}
			#Set the type
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:justicar_contracts
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			set_variable = {
				name = 1025_$NUM$_contract_desc
				value = flag:justicar_contracts
			}
		}
		#Hireling Contracts
		20 = { 
			#Did we spawn hireling contracts recently?
			trigger = {
				NOR = {
					#Is this contract type already saved from our last visit?
					trigger_if = {
						limit = { 1025_location_has_a_saved_contract_type_trigger = yes }
						1025_saved_location_contract_type_matches_this_type_trigger = { CONTRACT_TYPE_FLAG = flag:hireling_contracts }
					}
					trigger_else = { always = no }
					#Are we on cooldown?
					has_variable = 1025_had_hireling_contracts_recently
					#Has this contract type already been assigned to another contract scope this visit?
					1025_contract_type_is_assigned_trigger = { CONTRACT_TYPE_FLAG = flag:hireling_contracts } 
				}
				#Can we actually spawn any hireling contracts?
				any_in_list = {
					list = potential_contract_employers
					save_temporary_scope_as = considered_employer
					can_create_hireling_contract_trigger = { LAAMP = root EMPLOYER = scope:considered_employer }
				} 
			}
			#Set the type
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:hireling_contracts
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			set_variable = {
				name = 1025_$NUM$_contract_desc
				value = flag:hireling_contracts
			}
		}
		#Diplomacy Contracts
		20 = { 
			#Did we spawn diplomacy contracts recently?
			trigger = {
				NOR = {
					#Is this contract type already saved from our last visit?
					trigger_if = {
						limit = { 1025_location_has_a_saved_contract_type_trigger = yes }
						1025_saved_location_contract_type_matches_this_type_trigger = { CONTRACT_TYPE_FLAG = flag:diplomacy_contracts }
					}
					trigger_else = { always = no }
					#Are we on cooldown?
					has_variable = 1025_had_diplomacy_contracts_recently
					#Has this contract type already been assigned to another contract scope this visit?
					1025_contract_type_is_assigned_trigger = { CONTRACT_TYPE_FLAG = flag:diplomacy_contracts } 
				}
				#Can we actually spawn any diplomacy contracts?
				any_in_list = {
					list = potential_contract_employers
					save_temporary_scope_as = considered_employer
					can_create_diplomacy_contract_trigger = { LAAMP = root EMPLOYER = scope:considered_employer }
				} 
			}
			#Set the type
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:diplomacy_contracts
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			set_variable = {
				name = 1025_$NUM$_contract_desc
				value = flag:diplomacy_contracts
			}
		}
		#Stewardship Contracts
		20 = { 
			#Did we spawn stewardship contracts recently?
			trigger = {
				NOR = {
					#Is this contract type already saved from our last visit?
					trigger_if = {
						limit = { 1025_location_has_a_saved_contract_type_trigger = yes }
						1025_saved_location_contract_type_matches_this_type_trigger = { CONTRACT_TYPE_FLAG = flag:stewardship_contracts }
					}
					trigger_else = { always = no }
					#Are we on cooldown?
					has_variable = 1025_had_stewardship_contracts_recently
					#Has this contract type already been assigned to another contract scope this visit?
					1025_contract_type_is_assigned_trigger = { CONTRACT_TYPE_FLAG = flag:stewardship_contracts }
				}
				#Can we actually spawn any stewardship contracts?
				any_in_list = {
					list = potential_contract_employers
					save_temporary_scope_as = considered_employer
					can_create_stewardship_contract_trigger = { LAAMP = root EMPLOYER = scope:considered_employer }
				}
			}
			#More organization in highly developed areas
			modifier = {
				scope:visiting_location.county = { development_level > bad_development_level }
				add = 10
			}
			modifier = {
				scope:visiting_location.county = { development_level > medium_development_level }
				add = 10
			}
			#You're shrewd?
			modifier = {
				OR = {
					has_trait = governor
					has_trait = diligent
					has_trait = administrator
				}
				factor = 2
			}
			#Set the type
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:stewardship_contracts
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			set_variable = {
				name = 1025_$NUM$_contract_desc
				value = flag:stewardship_contracts
			}
		}
		#Learning Contracts
		20 = { 
			#Did we spawn learning contracts recently?
			trigger = {
				NOR = {
					#Is this contract type already saved from our last visit?
					trigger_if = {
						limit = { 1025_location_has_a_saved_contract_type_trigger = yes }
						1025_saved_location_contract_type_matches_this_type_trigger = { CONTRACT_TYPE_FLAG = flag:learning_contracts }
					}
					trigger_else = { always = no }
					#Are we on cooldown?
					has_variable = 1025_had_learning_contracts_recently
					#Has this contract type already been assigned to another contract scope this visit?
					1025_contract_type_is_assigned_trigger = { CONTRACT_TYPE_FLAG = flag:learning_contracts } 
				}
				#Can we actually spawn any learning contracts?
				any_in_list = {
					list = potential_contract_employers
					save_temporary_scope_as = considered_employer
					can_create_learning_contract_trigger = { LAAMP = root EMPLOYER = scope:considered_employer }
				}
			}
			modifier = {
				scope:visiting_location.county = { development_level > medium_development_level }
				add = 10
			}
			modifier = {
				scope:visiting_location = { 
					OR = {
						has_holding_type = church_holding
						has_holding_type = temple_citadel_holding
					}
				}
				add = 10
			}
			#You're... academic?
			modifier = {
				has_trait = scholar
				factor = 2
			}
			#Set the type
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:learning_contracts
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			set_variable = {
				name = 1025_$NUM$_contract_desc
				value = flag:learning_contracts
			}
		}
		#Intrigue Contracts
		20 = { 
			#Did we spawn intrigue contracts recently?
			trigger = {
				NOR = {
					#Is this contract type already saved from our last visit?
					trigger_if = {
						limit = { 1025_location_has_a_saved_contract_type_trigger = yes }
						1025_saved_location_contract_type_matches_this_type_trigger = { CONTRACT_TYPE_FLAG = flag:intrigue_contracts }
					}
					trigger_else = { always = no }
					#Are we on cooldown?
					has_variable = 1025_had_intrigue_contracts_recently
					#Has this contract type already been assigned to another contract scope this visit?
					1025_contract_type_is_assigned_trigger = { CONTRACT_TYPE_FLAG = flag:intrigue_contracts }
				}
				#Can we actually spawn any intrigue contracts?
				any_in_list = {
					list = potential_contract_employers
					save_temporary_scope_as = considered_employer
					can_create_intrigue_contract_trigger = { LAAMP = root EMPLOYER = scope:considered_employer }
				}
			}
			modifier = {
				scope:visiting_location = { 
					OR = {
						has_holding_type = church_holding
						has_holding_type = temple_citadel_holding
					}
				}
				add = 10
			}
			#You're... schemer?
			modifier = {
				has_trait = schemer
				factor = 2
			}
			#Set the type
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:intrigue_contracts
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			set_variable = {
				name = 1025_$NUM$_contract_desc
				value = flag:intrigue_contracts
			}
		}
		#Add more contract types below VV
	}
	scope:visiting_location = {
		#Clean up any old variables
		if = {
			limit = { has_variable = 1025_saved_$NUM$_contract_type }
			remove_variable = 1025_saved_$NUM$_contract_type
		}
		#We will not be saving legendary contracts as those are more volatile (does employer still exist? etc)
		if = {
			limit = { scope:1025_$NUM$_contract ?= flag:legendary_contract }
			#Nothing
		}
		else_if = {
			limit = { exists = scope:1025_$NUM$_contract }
			#Remember this to avoid decision-scumming
			set_variable = {
				name = 1025_saved_$NUM$_contract_type #i.e. 1025_saved_first_contract_type
				value = scope:1025_$NUM$_contract #i.e. flag:treasure_map_contract
				days = visit_settlement_minimum_cooldown_days
			}
		}
		else = {
			save_scope_value_as = {
				name = 1025_$NUM$_no_contract
				value = flag:no_contract
			}
			#Remember this to avoid decision-scumming
			set_variable = {
				name = 1025_saved_$NUM$_contract_type
				value = scope:1025_$NUM$_no_contract
				days = visit_settlement_minimum_cooldown_days
			}
		}
	}	
}

#Do we need an employer?
scripted_effect 1025_generate_employer_effect = {
	#Treasure Map
	if = {
		limit = { scope:1025_$NUM$_contract = flag:treasure_map_contract }
		#Find an employer for the treasure map contract
		random_pool_character = {
			province = scope:visiting_location
			limit = {
				1025_is_old_and_unable_trigger = yes
				1025_appropriate_contract_employer_trigger = yes
			}
			save_scope_as = 1025_$NUM$_contract_employer
		}
		#Or create someone
		if = {
			limit = {
				NOT = { exists = scope:1025_$NUM$_contract_employer }
			}
			create_character = {
				template = generic_peasant_character
				age = { 50 70 }
				location = scope:visiting_location
				dynasty = none
				culture = scope:visiting_location.culture
				faith = scope:visiting_location.faith
				save_scope_as = 1025_$NUM$_contract_employer
			}
			scope:1025_$NUM$_contract_employer = {
				random_list = {
					10 = { add_trait = blind }
					10 = { add_trait = one_legged }
					10 = { add_trait = one_eyed }
					10 = { add_trait = infirm }
					10 = { add_trait = wounded_2 }
				}
			}
		}
	}
}

#This is where the lagg-ic happens... Probably needs revisiting later on.
scripted_effect 1025_find_ruler_and_spawn_legendary_contract_effect = { 
	#Saves us a scope:employing_ruler
	random_county_in_region = {
		region = $REGION$
		limit = { 1025_region_has_suitable_employer_trigger = yes }
		save_scope_as = contract_county
		#Find the ruler
		scope:contract_county.holder = { save_scope_as = employing_ruler }
	}
	#Legendary... contracts?
	random_list = {
		#Raid
		10 = {
			trigger = {
				can_create_task_contract = {
					type_name = laamp_raid_contract
					employer = scope:employing_ruler
				}
			}
			create_task_contract = {
				task_contract_type = laamp_raid_contract
				location = scope:employing_ruler.capital_province
				task_contract_employer = scope:employing_ruler
				task_contract_tier = task_contract_t3_value #Legendary!
				save_scope_as = 1025_legendary_contract
			}
		}
		10 = {
			trigger = {
				can_create_task_contract = {
					type_name = laamp_steal_artifact_contract
					employer = scope:employing_ruler
				}
			}
			create_task_contract = {
				task_contract_type = laamp_steal_artifact_contract
				location = scope:employing_ruler.capital_province
				task_contract_employer = scope:employing_ruler
				task_contract_tier = task_contract_t3_value #Legendary!
				save_scope_as = 1025_legendary_contract
			}
		}
		10 = {
			trigger = {
				can_create_task_contract = {
					type_name = laamp_treasure_hunting_contract
					employer = scope:employing_ruler
				}
			}
			create_task_contract = {
				task_contract_type = laamp_treasure_hunting_contract
				location = scope:employing_ruler.capital_province
				task_contract_employer = scope:employing_ruler
				task_contract_tier = task_contract_t3_value #Legendary!
				save_scope_as = 1025_legendary_contract
			}
		}
		10 = {
			trigger = {
				can_create_task_contract = {
					type_name = laamp_transport_vip
					employer = scope:employing_ruler
				}
			}
			create_task_contract = {
				task_contract_type = laamp_transport_vip
				location = scope:employing_ruler.capital_province
				task_contract_employer = scope:employing_ruler
				task_contract_tier = task_contract_t3_value #Legendary!
				save_scope_as = 1025_legendary_contract
			}
		}
		10 = {
			trigger = {
				can_create_task_contract = {
					type_name = laamp_transport_artifact
					employer = scope:employing_ruler
				}
			}
			create_task_contract = {
				task_contract_type = laamp_transport_artifact
				location = scope:employing_ruler.capital_province
				task_contract_employer = scope:employing_ruler
				task_contract_tier = task_contract_t3_value #Legendary!
				save_scope_as = 1025_legendary_contract
			}
		}
		10 = {
			trigger = {
				can_create_task_contract = {
					type_name = laamp_transport_gold
					employer = scope:employing_ruler
				}
			}
			create_task_contract = {
				task_contract_type = laamp_transport_gold
				location = scope:employing_ruler.capital_province
				task_contract_employer = scope:employing_ruler
				task_contract_tier = task_contract_t3_value #Legendary!
				save_scope_as = 1025_legendary_contract
			}
		}
		10 = {
			trigger = {
				can_create_task_contract = {
					type_name = laamp_transport_animal
					employer = scope:employing_ruler
				}
			}
			create_task_contract = {
				task_contract_type = laamp_transport_animal
				location = scope:employing_ruler.capital_province
				task_contract_employer = scope:employing_ruler
				task_contract_tier = task_contract_t3_value #Legendary!
				save_scope_as = 1025_legendary_contract
			}
		}
	}
	scope:1025_legendary_contract = {
		set_variable = {
			name = retain_despite_distance
			value = yes
		}
	}
}

#Spawn the actual contracts
scripted_effect 1025_option_picked_spawn_contract_effect = {
	#Treasure Map
	switch = {
		trigger = scope:1025_$NUM$_contract
		flag:treasure_map_contract = {
			hidden_effect = {
				#Create treasure map contract
				create_task_contract = {
					task_contract_type = laamp_treasure_map_contract
					location = scope:visiting_location
					task_contract_employer = scope:1025_$NUM$_contract_employer
					task_contract_tier = scope:1025_$NUM$_contract_employer.task_contract_tier_value
					save_scope_as = 1025_treasure_map_contract
				}
				scope:1025_treasure_map_contract ?= {
					#Pick treasure location
					1025_set_contract_location_effect = yes
					#Save location on contract
					if = {
						limit = { exists = scope:contract_province }
						set_variable = {
							name = contract_treasure_location
							value = scope:contract_province
						}
					}
					#Fallback
					else = {
						random_county_in_region = {
							region = world_asia_minor #Something something Bosnia
							random_county_province = { save_scope_as = treasure_province }	
						}
						set_variable = {
							name = contract_treasure_location
							value = scope:treasure_province
						}
					}
					#Save the pick-up location
					set_variable = {
						name = contract_picked_up_in_location
						value = scope:visiting_location
					}
				}
			}
			#What do you mean _in your face_ :c
			scope:1025_treasure_map_contract = {
				open_view_data = {
					view = task_contract
					player = root
				}
			}
		}
		#Legendary Contract
		flag:legendary_contract = {
			hidden_effect = { #Comment out this hidden_effect = { ... } to better survey what contracts become available while debugging
				#North Europe
				if = {
					limit = {
						scope:visiting_location = { geographical_region = world_europe_north }
					}
					1025_find_ruler_and_spawn_legendary_contract_effect = { REGION = world_europe_north }
				}
				#West Europe
				else_if = {
					limit = {
						scope:visiting_location = { geographical_region = world_europe_west }
					}
					1025_find_ruler_and_spawn_legendary_contract_effect = { REGION = world_europe_west }
				}
				#East Europe
				else_if = {
					limit = {
						scope:visiting_location = { geographical_region = world_europe_east }
					}
					1025_find_ruler_and_spawn_legendary_contract_effect = { REGION = world_europe_east }
				}
				#South Europe
				else_if = {
					limit = {
						scope:visiting_location = { geographical_region = world_europe_south }
					}
					1025_find_ruler_and_spawn_legendary_contract_effect = { REGION = world_europe_south }
				}
				#Middle East
				else_if = {
					limit = {
						scope:visiting_location = { geographical_region = world_middle_east }
					}
					1025_find_ruler_and_spawn_legendary_contract_effect = { REGION = world_middle_east }
				}
				#India
				else_if = {
					limit = {
						scope:visiting_location = { geographical_region = world_india }
					}
					1025_find_ruler_and_spawn_legendary_contract_effect = { REGION = world_india }
				}
				#North Africa
				else_if = {
					limit = {
						scope:visiting_location = { geographical_region = world_africa_north }
					}
					1025_find_ruler_and_spawn_legendary_contract_effect = { REGION = world_africa_north }
				}
				#West Africa
				else_if = {
					limit = {
						scope:visiting_location = { geographical_region = world_africa_west }
					}
					1025_find_ruler_and_spawn_legendary_contract_effect = { REGION = world_africa_west }
				}
				#East Africa
				else_if = {
					limit = {
						scope:visiting_location = { geographical_region = world_africa_east }
					}
					1025_find_ruler_and_spawn_legendary_contract_effect = { REGION = world_africa_east }
				}
				#West Steppe
				else_if = {
					limit = {
						scope:visiting_location = { geographical_region = world_steppe_west }
					}
					1025_find_ruler_and_spawn_legendary_contract_effect = { REGION = world_steppe_west }
				}
				#East Steppe
				else_if = {
					limit = {
						scope:visiting_location = { geographical_region = world_steppe_east }
					}
					1025_find_ruler_and_spawn_legendary_contract_effect = { REGION = world_steppe_east }
				}
				#YOLO
				else = {
					random_ruler = {
						limit = {
							save_temporary_scope_as = ruler_check
							valid_laamp_basic_trigger = {
								EMPLOYER = scope:ruler_check
								LAAMP = root
							}
						}
						save_scope_as = employing_ruler
					}
				}
			}
			#What do you mean _in your face_ :c
			scope:1025_legendary_contract ?= {
				open_view_data = {
					view = task_contract
					player = root
				}
			}
		}
		#Transport Contracts
		flag:transport_contracts = {
			hidden_effect = {
				populate_task_contracts_for_area = {
					location = scope:visiting_location
					amount = num_contracts_spawned_value
					group = { laamp_contracts_transport_group }
				}
			}	
		}
		#Criminal Contracts
		flag:criminal_contracts = {
			hidden_effect = {
				populate_task_contracts_for_area = {
					location = scope:visiting_location
					amount = num_contracts_spawned_value
					group = { laamp_contracts_criminal_group }
				}
			}	
		}
		#Justicar Contracts
		flag:justicar_contracts = {
			hidden_effect = {
				populate_task_contracts_for_area = {
					location = scope:visiting_location
					amount = num_contracts_spawned_value
					group = { laamp_contracts_justicar_group }
				}
			}	
		}
		#Hireling Contracts
		flag:hireling_contracts = {
			hidden_effect = {
				populate_task_contracts_for_area = {
					location = scope:visiting_location
					amount = num_contracts_spawned_value
					group = { laamp_contracts_hireling_group laamp_contracts_martial_group } #Stashing martial here, for now
				}
			}	
		}
		#Diplomacy Contracts
		flag:diplomacy_contracts = {
			hidden_effect = {
				populate_task_contracts_for_area = {
					location = scope:visiting_location
					amount = num_contracts_spawned_value
					group = { laamp_contracts_diplomacy_group }
				}
			}	
		}
		#Stewardship Contracts
		flag:stewardship_contracts = { 
			hidden_effect = {
				populate_task_contracts_for_area = {
					location = scope:visiting_location
					amount = num_contracts_spawned_value
					group = { laamp_contracts_stewardship_group }
				}
			}	
		}
		#Learning Contracts
		flag:learning_contracts = { 
			hidden_effect = {
				populate_task_contracts_for_area = {
					location = scope:visiting_location
					amount = num_contracts_spawned_value
					group = { laamp_contracts_learning_group }
				}
			}	
		}
		#Intrigue Contracts
		flag:intrigue_contracts = {
			hidden_effect = {
				populate_task_contracts_for_area = {
					location = scope:visiting_location
					amount = num_contracts_spawned_value
					group = { laamp_contracts_intrigue_group }
				}
			}	
		}
		#Add more contract types below VV
	}
}

#Set up the tooltip, cooldown and prestige cost
scripted_effect 1025_option_tooltip_and_cooldown_contract_type_effect = {
	#Contract stuff
	switch = {
		trigger = scope:1025_$NUM$_contract
		#Treasure Map
		flag:treasure_map_contract = {
			custom_tooltip = ep3_laamp_decision_event.1025.treasure_map_contract_tt
			#Set up the cooldown for the contract type
			set_variable = {
				name = 1025_had_treasure_map_contract_recently
				days = visit_settlement_large_cooldown_days
			}
			#Prestige cost
			add_prestige = minor_prestige_loss
		}
		#Legendary Contract
		flag:legendary_contract = {
			custom_tooltip = ep3_laamp_decision_event.1025.legendary_contract_tt
			#Set up the cooldown for the contract type
			set_variable = {
				name = 1025_had_legendary_contract_recently
				days = visit_settlement_large_cooldown_days
			}
			#Prestige cost
			add_prestige = medium_prestige_loss
		}
		#Transport Contracts
		flag:transport_contracts = {
			custom_tooltip = ep3_laamp_decision_event.1025.transport_contracts_tt
			#Set up the cooldown for the contract type
			set_variable = {
				name = 1025_had_transport_contracts_recently
				days = visit_settlement_cooldown_days
			}
			#Prestige cost
			add_prestige = minor_prestige_loss
		}
		#Criminal Contracts
		flag:criminal_contracts = {
			custom_tooltip = ep3_laamp_decision_event.1025.criminal_contracts_tt
			#Set up the cooldown for the contract type
			set_variable = {
				name = 1025_had_criminal_contracts_recently
				days = visit_settlement_cooldown_days
			}
			#No prestige cost
		}
		#Justicar Contracts
		flag:justicar_contracts = {
			custom_tooltip = ep3_laamp_decision_event.1025.justicar_contracts_tt
			#Set up the cooldown for the contract type
			set_variable = {
				name = 1025_had_justicar_contracts_recently
				days = visit_settlement_cooldown_days
			}
			#Prestige cost
			add_prestige = minor_prestige_loss
		}
		#Hireling Contracts
		flag:hireling_contracts = {
			custom_tooltip = ep3_laamp_decision_event.1025.hireling_contracts_tt
			#Set up the cooldown for the contract type
			set_variable = {
				name = 1025_had_hireling_contracts_recently
				days = visit_settlement_cooldown_days
			}
			#Prestige cost
			add_prestige = minor_prestige_loss
		}
		#Diplomacy Contracts
		flag:diplomacy_contracts = {
			custom_tooltip = ep3_laamp_decision_event.1025.diplomacy_contracts_tt
			#Set up the cooldown for the contract type
			set_variable = {
				name = 1025_had_diplomacy_contracts_recently
				days = visit_settlement_cooldown_days
			}
			#Prestige cost
			add_prestige = minor_prestige_loss
		}
		#Stewardship Contracts
		flag:stewardship_contracts = {
			custom_tooltip = ep3_laamp_decision_event.1025.stewardship_contracts_tt
			#Set up the cooldown for the contract type
			set_variable = {
				name = 1025_had_stewardship_contracts_recently
				days = visit_settlement_cooldown_days
			}
			#Prestige cost
			add_prestige = minor_prestige_loss
		}
		#Learning Contracts
		flag:learning_contracts = {
			custom_tooltip = ep3_laamp_decision_event.1025.learning_contracts_tt
			#Set up the cooldown for the contract type
			set_variable = {
				name = 1025_had_learning_contracts_recently
				days = visit_settlement_cooldown_days
			}
			#Prestige cost
			add_prestige = minor_prestige_loss
		}
		#Intrigue Contracts
		flag:intrigue_contracts = {
			custom_tooltip = ep3_laamp_decision_event.1025.intrigue_contracts_tt
			#Set up the cooldown for the contract type
			set_variable = {
				name = 1025_had_intrigue_contracts_recently
				days = visit_settlement_cooldown_days
			}
			#Prestige cost
			add_prestige = minor_prestige_loss
		}
		#Add more contract types below VV
	}	
}

#Remember, remember (... but not legendary contracts)
scripted_effect 1025_translate_variable_into_flag_effect = {
	scope:visiting_location = {
		#The Nothingness
		if = {
			limit = { var:1025_saved_$NUM$_contract_type ?= flag:no_contract }
			#Nothing
		}
		#Treasure Map
		if = {
			limit = { var:1025_saved_$NUM$_contract_type ?= flag:treasure_map_contract }
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:treasure_map_contract
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			root = {
				set_variable = {
					name = 1025_$NUM$_contract_desc
					value = flag:treasure_map_contract
				}
			}
		}
		#Transport Contracts
		if = {
			limit = { var:1025_saved_$NUM$_contract_type ?= flag:transport_contracts }
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:transport_contracts
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			root = {
				set_variable = {
					name = 1025_$NUM$_contract_desc
					value = flag:transport_contracts
				}
			}
		}
		#Criminal Contracts
		if = {
			limit = { var:1025_saved_$NUM$_contract_type ?= flag:criminal_contracts }
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:criminal_contracts
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			root = {
				set_variable = {
					name = 1025_$NUM$_contract_desc
					value = flag:criminal_contracts
				}
			}
		}
		#Justicar Contracts
		if = {
			limit = { var:1025_saved_$NUM$_contract_type ?= flag:justicar_contracts }
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:justicar_contracts
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			root = {
				set_variable = {
					name = 1025_$NUM$_contract_desc
					value = flag:justicar_contracts
				}
			}
		}
		#Hireling Contracts
		if = {
			limit = { var:1025_saved_$NUM$_contract_type ?= flag:hireling_contracts }
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:hireling_contracts
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			root = {
				set_variable = {
					name = 1025_$NUM$_contract_desc
					value = flag:hireling_contracts
				}
			}
		}
		#Diplomacy Contracts
		if = {
			limit = { var:1025_saved_$NUM$_contract_type ?= flag:diplomacy_contracts }
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:diplomacy_contracts
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			root = {
				set_variable = {
					name = 1025_$NUM$_contract_desc
					value = flag:diplomacy_contracts
				}
			}
		}
		#Stewardship Contracts
		if = {
			limit = { var:1025_saved_$NUM$_contract_type ?= flag:stewardship_contracts }
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:stewardship_contracts
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			root = {
				set_variable = {
					name = 1025_$NUM$_contract_desc
					value = flag:stewardship_contracts
				}
			}
		}
		#Learning Contracts
		if = {
			limit = { var:1025_saved_$NUM$_contract_type ?= flag:learning_contracts }
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:learning_contracts
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			root = {
				set_variable = {
					name = 1025_$NUM$_contract_desc
					value = flag:learning_contracts
				}
			}
		}
		#Intrigue Contracts
		if = {
			limit = { var:1025_saved_$NUM$_contract_type ?= flag:intrigue_contracts }
			save_scope_value_as = {
				name = 1025_$NUM$_contract
				value = flag:intrigue_contracts
			}
			#Save as a temporary variable that is removed after exiting the decision to avoid desc-bloat
			root = {
				set_variable = {
					name = 1025_$NUM$_contract_desc
					value = flag:intrigue_contracts
				}
			}
		}
		#Add more contract types below VV
	}
}

#This location has a saved contract variable
scripted_trigger 1025_location_has_a_saved_contract_type_trigger = {
	scope:visiting_location = {
		OR = { 
			has_variable = 1025_saved_first_contract_type
			has_variable = 1025_saved_second_contract_type
			has_variable = 1025_saved_third_contract_type
		}
	}
}

#The saved contract variable is of CONTRACT_TYPE_FLAG-type
scripted_trigger 1025_saved_location_contract_type_matches_this_type_trigger = {
	scope:visiting_location = {
		OR = {
			var:1025_saved_first_contract_type ?= $CONTRACT_TYPE_FLAG$
			var:1025_saved_second_contract_type ?= $CONTRACT_TYPE_FLAG$
			var:1025_saved_third_contract_type ?= $CONTRACT_TYPE_FLAG$
		}
	}
}

#Used more than 3 times eh
scripted_trigger 1025_region_has_suitable_employer_trigger = {	
	holder = { 
		highest_held_title_tier > tier_duchy
		NOT = { is_in_list = checked_holders }
		save_temporary_scope_as = holder_check
		valid_laamp_basic_trigger = {
			EMPLOYER = scope:holder_check
			LAAMP = root
		}
		#Copying the special contracts from the character interaction, for now. MUST match the random_list in 1025_find_ruler_and_spawn_legendary_contract_effect
		root = {
			OR = {
				can_create_task_contract = {
					type_name = laamp_raid_contract
					employer = scope:holder_check
				}
				can_create_task_contract = {
					type_name = laamp_steal_artifact_contract
					employer = scope:holder_check
				}
				can_create_task_contract = {
					type_name = laamp_treasure_hunting_contract
					employer = scope:holder_check
				}
				can_create_task_contract = {
					type_name = laamp_transport_vip
					employer = scope:holder_check
				}
				can_create_task_contract = {
					type_name = laamp_transport_artifact
					employer = scope:holder_check
				}
				can_create_task_contract = {
					type_name = laamp_transport_gold
					employer = scope:holder_check
				}
				can_create_task_contract = {
					type_name = laamp_transport_animal
					employer = scope:holder_check
				}
			}
		}
		add_to_temporary_list = checked_holders
	}
}

#... well, can we?
scripted_trigger 1025_can_create_legendary_contract_trigger = {
	OR = {
		#North Europe
		AND = {
			scope:visiting_location = { geographical_region = world_europe_north }
			any_county_in_region = {
				region = world_europe_north
				1025_region_has_suitable_employer_trigger = yes
			}
		}
		#West Europe
		AND = {
			scope:visiting_location = { geographical_region = world_europe_west }
			any_county_in_region = {
				region = world_europe_west
				1025_region_has_suitable_employer_trigger = yes
			}
		}
		#East Europe
		AND = {
			scope:visiting_location = { geographical_region = world_europe_east }
			any_county_in_region = {
				region = world_europe_east
				1025_region_has_suitable_employer_trigger = yes
			}
		}
		#South Europe
		AND = {
			scope:visiting_location = { geographical_region = world_europe_south }
			any_county_in_region = {
				region = world_europe_south
				1025_region_has_suitable_employer_trigger = yes
			}
		}
		#Middle East
		AND = {
			scope:visiting_location = { geographical_region = world_middle_east }
			any_county_in_region = {
				region = world_middle_east
				1025_region_has_suitable_employer_trigger = yes
			}
		}
		#India
		AND = {
			scope:visiting_location = { geographical_region = world_india }
			any_county_in_region = {
				region = world_india
				1025_region_has_suitable_employer_trigger = yes
			}
		}
		#North Africa
		AND = {
			scope:visiting_location = { geographical_region = world_africa_north }
			any_county_in_region = {
				region = world_africa_north
				1025_region_has_suitable_employer_trigger = yes
			}
		}
		#West Africa
		AND = {
			scope:visiting_location = { geographical_region = world_africa_west }
			any_county_in_region = {
				region = world_africa_west
				1025_region_has_suitable_employer_trigger = yes
			}
		}
		#East Africa
		AND = {
			scope:visiting_location = { geographical_region = world_africa_east }
			any_county_in_region = {
				region = world_africa_east
				1025_region_has_suitable_employer_trigger = yes
			}
		}
		#West Steppe
		AND = {
			scope:visiting_location = { geographical_region = world_steppe_west }
			any_county_in_region = {
				region = world_steppe_west
				1025_region_has_suitable_employer_trigger = yes
			}
		}
		#East Steppe
		AND = {
			scope:visiting_location = { geographical_region = world_steppe_east }
			any_county_in_region = {
				region = world_steppe_east
				1025_region_has_suitable_employer_trigger = yes
			}
		}
	}
}

#Don't duplicate contract types between contract scopes
scripted_trigger 1025_contract_type_is_assigned_trigger = {
	OR = {
		scope:1025_first_contract ?= $CONTRACT_TYPE_FLAG$
		scope:1025_second_contract ?= $CONTRACT_TYPE_FLAG$
		scope:1025_third_contract ?= $CONTRACT_TYPE_FLAG$
	}
}

#Since the treasure map contract doesn't have a time limit, make 'em old and unfit
scripted_trigger 1025_is_old_and_unable_trigger = {
	age > 50
	is_imprisoned = no
	OR = {
		has_trait = blind
		has_trait = one_legged
		has_trait = one_eyed
		has_trait = infirm
		has_trait = wounded_1
	}
}

#Standard checks
scripted_trigger 1025_appropriate_contract_employer_trigger = {
	# Players shouldn't get tangled up in contracts, ever.
	is_ai = yes
	# Plus some standard stuff.
	is_alive = yes
	is_adult = yes
	is_incapable = no
	# Don't offer to work with those who've wronged us.
	NOR = {
		government_has_flag = government_is_landless_adventurer
		# No one we're at war with.
		is_at_war_with = root
		# Rivals are cheap to grab.
		has_relation_rival = root
		# Expulsion
		custom_tooltip = {
			text = adventurer_expelled_trigger_tt
			OR = {
				has_opinion_modifier = {
					target = root
					modifier = eviction_ignored_opinion
				}
				any_liege_or_above = {
					has_opinion_modifier = {
						target = root
						modifier = eviction_ignored_opinion
					}
				}
			}
		}
	}
}

#Landed checks
scripted_trigger 1025_is_appropriate_landed_contract_employer_trigger = {
	1025_appropriate_contract_employer_trigger = yes
	this.capital_province ?= {
		squared_distance = {
			target = root.domicile.domicile_location
			value < define:NTaskContract|ADVENTURER_DISTANCE_RESTRICTION
		}
	}
}

#In too deep, man
scripted_trigger 1025_is_gated_due_to_thievery_trigger = {
	has_trait = gallowsbait
	has_trait_xp = {
		trait = gallowsbait
		track = thief
		value >= 60
	}
}

#Should we be gated from contracts?
scripted_trigger 1025_is_renowned_thief_trigger = {
	trigger_if = {
		limit = { scope:1025_$NUM$_contract = flag:treasure_map_contract }
		custom_tooltip = {
			text = gallowsbait_thief_blocked_from_contract.tt
			1025_is_gated_due_to_thievery_trigger = no
		}
	}
	trigger_else = { always = yes }
}

#Nothing at all!
scripted_trigger 1025_no_contracts_trigger = {
	OR = {
		#All contract types are on cooldown, I guess
		NOR = { 
			exists = scope:1025_first_contract
			exists = scope:1025_second_contract 
			exists = scope:1025_third_contract 
		}
		has_variable = 1025_has_contracted_recently
	} 
}


#Head to the Town Crier to spawn Contract(s)
ep3_laamp_decision_event.1025 = {
	type = character_event
	title = ep3_laamp_decision_event.1025.t
	window = visit_settlement_window
	desc = {
		#What're they doing?
		first_valid = {
			#We've returned to this scene, now what
			#Use this when we have all contract types on cooldown. Should be a bored crier.
			##COOLDOWN
			triggered_desc = {
				trigger = { 1025_no_contracts_trigger = yes }
				desc = ep3_laamp_decision_event.1025.desc_nothing
			}
			#RETURN: Tribal - Legendary contract
			random_valid = {
				triggered_desc = { 
					trigger = {
						scope:visiting_location = {
							OR = {
								has_holding_type = tribal_holding
								has_holding_type = nomad_holding
								has_holding_type = herder_holding
							}
						}
						exists = scope:been_to_contract
						scope:contract_loc_tracker ?= 0
						OR = {
							scope:1025_first_contract ?= flag:legendary_contract
							scope:1025_second_contract ?= flag:legendary_contract
							scope:1025_third_contract ?= flag:legendary_contract
						}
					}
					desc = ep3_laamp_decision_event.1025.desc_tribal_legendary_returned_01 
				}
				triggered_desc = { 
					trigger = {
						scope:visiting_location = {
							OR = {
								has_holding_type = tribal_holding
								has_holding_type = nomad_holding
								has_holding_type = herder_holding
							}
						}
						scope:contract_loc_tracker ?= 1
						OR = {
							scope:1025_first_contract ?= flag:legendary_contract
							scope:1025_second_contract ?= flag:legendary_contract
							scope:1025_third_contract ?= flag:legendary_contract
						}
					}
					desc = ep3_laamp_decision_event.1025.desc_tribal_legendary_returned_02
				}
			}
			#RETURN: Legendary contract
			random_valid = {
				triggered_desc = { 
					trigger = { 
						exists = scope:been_to_contract
						scope:contract_loc_tracker ?= 0
						OR = {
							scope:1025_first_contract ?= flag:legendary_contract
							scope:1025_second_contract ?= flag:legendary_contract
							scope:1025_third_contract ?= flag:legendary_contract
						}
					}
					desc = ep3_laamp_decision_event.1025.desc_legendary_returned_01 
				}
				triggered_desc = { 
					trigger = { 
						scope:contract_loc_tracker ?= 1
						OR = {
							scope:1025_first_contract ?= flag:legendary_contract
							scope:1025_second_contract ?= flag:legendary_contract
							scope:1025_third_contract ?= flag:legendary_contract
						}
					}
					desc = ep3_laamp_decision_event.1025.desc_legendary_returned_02
				}
			}
			#RETURN: Tribal - No legendary contract
			random_valid = {
				triggered_desc = { 
					trigger = {
						scope:visiting_location = {
							OR = {
								has_holding_type = tribal_holding
								has_holding_type = nomad_holding
								has_holding_type = herder_holding
							}
						}
						exists = scope:been_to_contract
						scope:contract_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1025.desc_tribal_returned_01 
				}
				triggered_desc = { 
					trigger = {
						scope:visiting_location = {
							OR = {
								has_holding_type = tribal_holding
								has_holding_type = nomad_holding
								has_holding_type = herder_holding
							}
						}
						scope:contract_loc_tracker ?= 1 
					}
					desc = ep3_laamp_decision_event.1025.desc_tribal_returned_02
				}
			}
			#RETURN: No legendary contract
			random_valid = {
				triggered_desc = { 
					trigger = {
						exists = scope:been_to_contract
						scope:contract_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1025.desc_returned_01 
				}
				triggered_desc = { 
					trigger = { scope:contract_loc_tracker ?= 1 }
					desc = ep3_laamp_decision_event.1025.desc_returned_02
				}
			}
			#FIRST TIME: Tribal - Legendary contract - Reused Elder
			triggered_desc = {
				trigger = {
					scope:visiting_location = {
						OR = {
							has_holding_type = tribal_holding
							has_holding_type = nomad_holding
							has_holding_type = herder_holding
						}
					}
					exists = scope:laamp_recurring_town_crier
					NOR = { 
						exists = scope:been_to_contract
						has_variable = 1025_has_contracted_recently
					}
					OR = {
						scope:1025_first_contract ?= flag:legendary_contract
						scope:1025_second_contract ?= flag:legendary_contract
						scope:1025_third_contract ?= flag:legendary_contract
					}
				}
				desc = ep3_laamp_decision_event.1025.desc_tribal_legendary_reused_crier
			}
			#FIRST TIME: Legendary contract - Reused Town Crier
			triggered_desc = {
				trigger = {
					exists = scope:laamp_recurring_town_crier
					NOR = { 
						exists = scope:been_to_contract
						has_variable = 1025_has_contracted_recently
					}
					OR = {
						scope:1025_first_contract ?= flag:legendary_contract
						scope:1025_second_contract ?= flag:legendary_contract
						scope:1025_third_contract ?= flag:legendary_contract
					}
				}
				desc = ep3_laamp_decision_event.1025.desc_legendary_reused_crier
			}
			#FIRST TIME: Tribal - Legendary contract
			triggered_desc = {
				trigger = {
					scope:visiting_location = {
						OR = {
							has_holding_type = tribal_holding
							has_holding_type = nomad_holding
							has_holding_type = herder_holding
						}
					}
					NOR = { 
						exists = scope:been_to_contract
						has_variable = 1025_has_contracted_recently
					}
					OR = {
						scope:1025_first_contract ?= flag:legendary_contract
						scope:1025_second_contract ?= flag:legendary_contract
						scope:1025_third_contract ?= flag:legendary_contract
					}
				}
				desc = ep3_laamp_decision_event.1025.desc_tribal_legendary
			}
			#FIRST TIME: Legendary contract
			triggered_desc = {
				trigger = {
					NOR = { 
						exists = scope:been_to_contract
						has_variable = 1025_has_contracted_recently
					}
					OR = {
						scope:1025_first_contract ?= flag:legendary_contract
						scope:1025_second_contract ?= flag:legendary_contract
						scope:1025_third_contract ?= flag:legendary_contract
					}
				}
				desc = ep3_laamp_decision_event.1025.desc_legendary
			}
			#FIRST TIME: Tribal - No legendary contract - Reused Town Crier
			triggered_desc = {
				trigger = {
					scope:visiting_location = {
						OR = {
							has_holding_type = tribal_holding
							has_holding_type = nomad_holding
							has_holding_type = herder_holding
						}
					}
					exists = scope:laamp_recurring_town_crier
					NOR = { 
						exists = scope:been_to_contract
						has_variable = 1025_has_contracted_recently
					}
				}
				desc = ep3_laamp_decision_event.1025.desc_tribal_reused_crier
			}
			#FIRST TIME: No legendary contract - Reused Town Crier
			triggered_desc = {
				trigger = {
					exists = scope:laamp_recurring_town_crier
					NOR = { 
						exists = scope:been_to_contract
						has_variable = 1025_has_contracted_recently
					}
				}
				desc = ep3_laamp_decision_event.1025.desc_reused_crier
			}
			#FIRST TIME: Tribal - No legendary contract
			triggered_desc = {
				trigger = {
					scope:visiting_location = {
						OR = {
							has_holding_type = tribal_holding
							has_holding_type = nomad_holding
							has_holding_type = herder_holding
						}
					}
					NOR = { 
						exists = scope:been_to_contract
						has_variable = 1025_has_contracted_recently
					}
				}
				desc = ep3_laamp_decision_event.1025.desc_tribal
			}
			#FIRST TIME: No legendary contract
			triggered_desc = {
				trigger = {
					NOR = { 
						exists = scope:been_to_contract
						has_variable = 1025_has_contracted_recently
					}
				}
				desc = ep3_laamp_decision_event.1025.desc
			}
		}
		#Concatenated and outsourced to custom_loc - trust me, this is less cursed than the alternative
		#A exists
		triggered_desc = {
			trigger = { 
				exists = scope:1025_first_contract
				NOR = {
					exists = scope:1025_second_contract
					exists = scope:1025_third_contract
				}
			}
			desc = ep3_laamp_decision_event.1025.desc_concatenated_A
		}
		#AB exists
		triggered_desc = {
			trigger = { 
				exists = scope:1025_first_contract
				exists = scope:1025_second_contract
				NOT = { exists = scope:1025_third_contract }
			}
			desc = ep3_laamp_decision_event.1025.desc_concatenated_AB
		}
		#ABC exists
		triggered_desc = {
			trigger = { 
				exists = scope:1025_first_contract
				exists = scope:1025_second_contract
				exists = scope:1025_third_contract
			}
			desc = ep3_laamp_decision_event.1025.desc_concatenated_ABC
		}
		#B exists
		triggered_desc = {
			trigger = { 
				exists = scope:1025_second_contract
				NOR = {
					exists = scope:1025_first_contract
					exists = scope:1025_third_contract
				}
			}
			desc = ep3_laamp_decision_event.1025.desc_concatenated_B
		}
		#BC exists
		triggered_desc = {
			trigger = { 
				NOT = { exists = scope:1025_first_contract }
				exists = scope:1025_second_contract
				exists = scope:1025_third_contract
			}
			desc = ep3_laamp_decision_event.1025.desc_concatenated_BC
		}
		#C exists
		triggered_desc = {
			trigger = { 
				exists = scope:1025_third_contract
				NOR = {
					exists = scope:1025_first_contract
					exists = scope:1025_second_contract
				}
			}
			desc = ep3_laamp_decision_event.1025.desc_concatenated_C
		}
		#AC exists
		triggered_desc = {
			trigger = { 
				exists = scope:1025_first_contract
				exists = scope:1025_third_contract
				NOT = { exists = scope:1025_second_contract }
			}
			desc = ep3_laamp_decision_event.1025.desc_concatenated_AC
		}
	}
	theme = landless_adventurer
	override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_activity" }
	override_background = {
		trigger = { 1000_is_a_nomadic_holding_trigger = yes }
		reference = mpo_camp_steppe
	}
	override_background = { reference = garden_location }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		animation = survey
	}
	center_portrait = {
		character = root
		triggered_animation = {
			trigger = { 1025_no_contracts_trigger = yes }
			animation = worry
		}
		animation = interested
	}
	right_portrait = {
		character = scope:laamp_town_crier
		triggered_animation = {
			trigger = { 1025_no_contracts_trigger = yes }
			animation = boredom
		}
		animation = debating
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#Can we _not_ repeat the loc?
		1025_set_and_check_scene_loc_tracker_scope_effect = { SCENE = contract }
		#Run all of this once
		if = {
			limit = {
				NOT = { exists = scope:been_to_contract }
			}
			#Spawn a Town Crier
			random_pool_character = {
				province = scope:visiting_location
				limit = {
					1010_basic_merchant_checks_trigger = yes
					save_temporary_scope_as = saved_character_check
					#Let's avoid double-dipping
					1010_is_a_saved_crier_trigger = yes
					1010_is_a_saved_merchant_trigger = no
					1010_is_a_saved_peddler_trigger = no
					1010_is_a_saved_storyteller_trigger = no
					1010_is_a_saved_thief_trigger = no
					1010_is_a_saved_healer_trigger = no
					1010_is_a_saved_clergy_trigger = no
					1010_is_a_saved_physician_trigger = no
					1010_is_a_saved_bodyguard_trigger = no
					1010_is_a_saved_weaponsmith_trigger = no
					1010_is_a_saved_armorer_trigger = no
					1010_is_a_saved_jeweler_trigger = no
					1010_is_a_saved_quartermaster_trigger = no
					#_Elder_
					trigger_if = {
						limit = { 
							scope:visiting_location = {
								OR = {
									has_holding_type = tribal_holding
									has_holding_type = nomad_holding
									has_holding_type = herder_holding
								}
							}
						}
						age >= 50
					}
				}
				save_scope_as = laamp_town_crier
				#Some more loc flavor shenanigans for these saved scopes
				save_scope_as = laamp_recurring_town_crier
			}
			#Otherwise find a Town Crier in the pool
			if = {
				limit = { 
					NOT = { exists = scope:laamp_town_crier }
				}
				random_pool_character = {
					province = scope:visiting_location
					limit = { 
						1010_basic_merchant_checks_trigger = yes
						is_available_healthy_adult = yes
						NOT = { has_trait = shy }
						#_Elder_
						trigger_if = {
							limit = { 
								scope:visiting_location = {
									OR = {
										has_holding_type = tribal_holding
										has_holding_type = nomad_holding
										has_holding_type = herder_holding
									}
								}
							}
							age >= 50
						}
					}
					save_scope_as = laamp_town_crier
				}
			}
			#Otherwise create a Town Crier
			if = {
				limit = {
					NOT = { exists = scope:laamp_town_crier }
				}
				#Create Elder to stuff in pool
				if = {
					limit = { 
						scope:visiting_location = {
							OR = {
								has_holding_type = tribal_holding
								has_holding_type = nomad_holding
								has_holding_type = herder_holding
							}
						}
					}
					create_character = {
						template = generic_peasant_character
						location = scope:visiting_location
						age = { 50 60 }
						dynasty = none
						culture = scope:visiting_location.culture
						faith = scope:visiting_location.faith
						save_scope_as = laamp_town_crier
					}
				}
				#Create Town Crier to stuff in pool
				else = {
					create_character = {
						template = generic_peasant_character
						location = scope:visiting_location
						dynasty = none
						culture = scope:visiting_location.culture
						faith = scope:visiting_location.faith
						save_scope_as = laamp_town_crier
					}
				}
			}
			#Remember the Town Crier
			1010_remember_vendor_character_effect = { GUILD = crier CHARACTER = scope:laamp_town_crier }
			#First Contract
			if = {
				limit = {
					NOT = { exists = scope:1025_first_contract }
				}
				#Did we, or someone else, check for contracts here recently?
				if = {
					limit = {
						scope:visiting_location = { has_variable = 1025_saved_first_contract_type }
					}
					#Translating values from variable to flag translates to number?
					1025_translate_variable_into_flag_effect = { NUM = first }
				}
				#Otherwise generate a new type
				else = {
					1025_randomize_and_remember_contract_type_effect = { NUM = first }
				}	
			}
			#Set up the employer, if necessary
			if = {
				limit = { exists = scope:1025_first_contract }
				1025_generate_employer_effect = { NUM = first }
			}
			#Second Contract
			if = {
				limit = {
					NOT = { exists = scope:1025_second_contract }
				}
				#Did we, or someone else, check for contracts here recently?
				if = {
					limit = {
						scope:visiting_location = { has_variable = 1025_saved_second_contract_type }
					}
					#Translating values from variable to flag
					1025_translate_variable_into_flag_effect = { NUM = second }
				}
				#Otherwise generate a new type
				else = {
					1025_randomize_and_remember_contract_type_effect = { NUM = second }
				}
			}
			#Set up the employer, if necessary
			if = {
				limit = { exists = scope:1025_second_contract }
				1025_generate_employer_effect = { NUM = second }
			}
			#If no legendary contract, Third Contract
			if = {
				limit = {
					NOT = { exists = scope:1025_third_contract }
				}
				#Did we, or someone else, check for contracts here recently?
				if = {
					limit = {
						scope:visiting_location = { has_variable = 1025_saved_third_contract_type }
					}
					#Translating values from variable to flag
					1025_translate_variable_into_flag_effect = { NUM = third }
				}
				#Otherwise generate a new type
				else = {
					1025_randomize_and_remember_contract_type_effect = { NUM = third }
				}
			}
			#Set up the employer, if necessary
			if = {
				limit = { exists = scope:1025_third_contract }
				1025_generate_employer_effect = { NUM = third }
			}
		}
	}
	#Contract A
	option = {
		name = ep3_laamp_decision_event.1025.a
		trigger = { 
			exists = scope:1025_first_contract
			1025_is_renowned_thief_trigger = { NUM = first }
		}
		show_as_unavailable = { exists = scope:1025_first_contract }
		#Remove the remember-variable for A
		scope:visiting_location = { remove_variable ?= 1025_saved_first_contract_type }
		#Spawn contract(s)
		1025_option_picked_spawn_contract_effect = { NUM = first }
		#Pick tooltip and set up the cooldown for the contract type
		1025_option_tooltip_and_cooldown_contract_type_effect = { NUM = first }
		#Done here; go back to the main event
		1025_finished_contract_effect = yes
	}
	#Contract B
	option = {
		name = ep3_laamp_decision_event.1025.b
		trigger = { 
			exists = scope:1025_second_contract
			1025_is_renowned_thief_trigger = { NUM = second }
		}
		show_as_unavailable = { exists = scope:1025_second_contract }
		#Remove the remember-variable for B
		scope:visiting_location = { remove_variable ?= 1025_saved_second_contract_type }
		#Spawn contract(s)
		1025_option_picked_spawn_contract_effect = { NUM = second }
		#Pick tooltip and set up the cooldown for the contract type
		1025_option_tooltip_and_cooldown_contract_type_effect = { NUM = second }
		#Done here; go back to the main event
		1025_finished_contract_effect = yes
	}
	#Contract C
	option = {
		name = ep3_laamp_decision_event.1025.c
		trigger = { 
			exists = scope:1025_third_contract
			1025_is_renowned_thief_trigger = { NUM = third }
		}
		show_as_unavailable = { exists = scope:1025_third_contract }
		#Remove the remember-variable for C
		scope:visiting_location = { remove_variable ?= 1025_saved_third_contract_type }
		#Spawn contract(s)
		1025_option_picked_spawn_contract_effect = { NUM = third }
		#Pick tooltip and set up the cooldown for the contract type
		1025_option_tooltip_and_cooldown_contract_type_effect = { NUM = third }
		#Done here; go back to the main event
		1025_finished_contract_effect = yes
	}
	#I want to do something else
	option = {
		#Nothing here
		name = {
			trigger = {
				NOT = { 
					exists = scope:been_to_contract
					exists = scope:1025_first_contract
					exists = scope:1025_second_contract
					exists = scope:1025_third_contract
				}
			}
			text = ep3_laamp_decision_event.1025.d_nothing
		}
		name = ep3_laamp_decision_event.1025.d
		if = {
			limit = { 
				NOT = { 
					exists = scope:1025_first_contract
					exists = scope:1025_second_contract
					exists = scope:1025_third_contract
				}
			}
			save_scope_value_as = {
				name = laamp_decision_has_contracted
				value = flag:no
			}
		}
		#For desc flavor
		else = { save_scope_as = been_to_contract }
		#Go back to the main event
		1001_return_to_second_effect = yes
	}
	after = {
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:contract }
	}
}


######################################################################
# TAVERN
# ep3_laamp_decision_event.1030
######################################################################

#Withered workaround
scripted_effect 1030_save_hub_scope_effect = {
	if = {
		limit = {
			NOT = { exists = scope:been_to_$HUB$ }
		}
		save_scope_as = been_to_$HUB$
	}
}

#Set the correct variable to block off the Tavern option and remove the desc flavor variable
scripted_effect 1030_finished_tavern_effect = {
	remove_list_variable = {
		name = list_of_options
		target = flag:has_tavern_option
	}
	save_scope_as = laamp_decision_finished_tavern_option
}

#Nothing left for us to do
scripted_trigger 1030_done_with_tavern_trigger = {
	exists = scope:laamp_decision_has_storied
	exists = scope:laamp_decision_has_recruited
	trigger_if = {
		limit = { exists = scope:laamp_spouse_material } 
		exists = scope:laamp_decision_has_spoused
	}
	trigger_if = {
		limit = { exists = scope:laamp_hooded_figure }
		exists = scope:laamp_decision_recruited_hood
	}
}

#Should be an alright seedy fella
scripted_trigger 1030_gallowsbait_character_trigger = {
	intrigue > 15
	has_trait = gallowsbait
	OR = {
		has_trait_xp = {
			trait = gallowsbait
			track = bandit
			value = medium_lifestyle_random_xp_low
		}
		has_trait_xp = {
			trait = gallowsbait
			track = trickster
			value = medium_lifestyle_random_xp_low
		}
		has_trait_xp = {
			trait = gallowsbait
			track = thief
			value = medium_lifestyle_random_xp_low
		}
		has_trait_xp = {
			trait = gallowsbait
			track = poacher
			value = medium_lifestyle_random_xp_low
		}
		has_trait_xp = {
			trait = gallowsbait
			track = marauder
			value = medium_lifestyle_random_xp_low
		}
	}
}

#Not Emperors and Kings, except if...
scripted_trigger 1030_appropriate_noble_trigger = {
	is_available_ai_adult = yes
	NOR = { 
		is_contact_of = root
		has_variable = 1030_has_been_hooded_recently
		has_any_scripted_relation = root #Remember to disable this for rival should we revisit to add some form of murder option in the future
	}
	#... they're eccentric
	trigger_if = {
		limit = {
			NOT = { has_trait = eccentric }
		}
		highest_held_title_tier <= tier_duchy
	}
}

scripted_trigger 1030_not_already_used_character_trigger = {
	1010_basic_merchant_checks_trigger = yes
	save_temporary_scope_as = saved_character_check
	#Let's avoid double-dipping
	1010_is_a_saved_thief_trigger = no
	1010_is_a_saved_merchant_trigger = no
	1010_is_a_saved_peddler_trigger = no
	1010_is_a_saved_crier_trigger = no
	1010_is_a_saved_storyteller_trigger = no
	1010_is_a_saved_healer_trigger = no
	1010_is_a_saved_clergy_trigger = no
	1010_is_a_saved_physician_trigger = no
	1010_is_a_saved_bodyguard_trigger = no
	1010_is_a_saved_weaponsmith_trigger = no
	1010_is_a_saved_armorer_trigger = no
	1010_is_a_saved_jeweler_trigger = no
	1010_is_a_saved_quartermaster_trigger = no
}


#Visit the local tavern
ep3_laamp_decision_event.1030 = {
	type = character_event
	title = ep3_laamp_decision_event.1030.t
	window = visit_settlement_window
	desc = {
		#Intro
		first_valid = {
			#We've returned to this scene, now what
			#RETURN: We've returned from Main Square
			random_valid = {
				triggered_desc = { 
					trigger = { 
						var:return_from_location ?= flag:main_square
						1000_is_a_nomadic_holding_trigger = no
						exists = scope:been_to_tavern
						OR = {
							scope:tavern_loc_tracker ?= 0
							scope:tavern_loc_tracker ?= 2
						}
					}
					desc = ep3_laamp_decision_event.1030.desc_returned_01
				}
				#Nomad variant
				triggered_desc = { 
					trigger = { 
						var:return_from_location ?= flag:main_square
						1000_is_a_nomadic_holding_trigger = yes
						exists = scope:been_to_tavern
						OR = {
							scope:tavern_loc_tracker ?= 0
							scope:tavern_loc_tracker ?= 2
						}
					}
					desc = ep3_laamp_decision_event.1030.desc_nomad_returned_01
				}
				triggered_desc = { 
					trigger = { 
						var:return_from_location ?= flag:main_square
						scope:tavern_loc_tracker ?= 1
					}
					desc = ep3_laamp_decision_event.1030.desc_returned_02
				}
			}
			#RETURN: We've returned from the Storyteller
			triggered_desc = {
				trigger = {
					1000_is_a_nomadic_holding_trigger = no
					var:return_from_location ?= flag:storyteller 
				}
				desc = ep3_laamp_decision_event.1030.desc_returned_from_story
			}
			#Nomad variant
			triggered_desc = {
				trigger = {
					1000_is_a_nomadic_holding_trigger = yes
					var:return_from_location ?= flag:storyteller 
				}
				desc = ep3_laamp_decision_event.1030.desc_nomad_returned_from_story
			}
			#RETURN: We've returned from the Recruitment
			triggered_desc = {
				trigger = { 
					1000_is_a_nomadic_holding_trigger = no
					var:return_from_location ?= flag:recruit 
				}
				desc = ep3_laamp_decision_event.1030.desc_returned_from_recruit
			}
			#Nomad variant
			triggered_desc = {
				trigger = { 
					1000_is_a_nomadic_holding_trigger = yes
					var:return_from_location ?= flag:recruit 
				}
				desc = ep3_laamp_decision_event.1030.desc_nomad_returned_from_recruit
			}
			#RETURN: We've returned from unwinding with the Spouse Material
			triggered_desc = {
				trigger = {
					1000_is_a_nomadic_holding_trigger = no
					var:return_from_location ?= flag:spouse
					exists = scope:1035_unwinded_with_spouse_potential
				}
				desc = ep3_laamp_decision_event.1030.desc_returned_from_unwinding_spouse
			}
			#Nomad variant
			triggered_desc = {
				trigger = { 
					1000_is_a_nomadic_holding_trigger = yes
					var:return_from_location ?= flag:spouse
					exists = scope:1035_unwinded_with_spouse_potential
				}
				desc = ep3_laamp_decision_event.1030.desc_nomad_returned_from_unwinding_spouse
			}
			#RETURN: We've returned from the Spouse Material
			triggered_desc = {
				trigger = { var:return_from_location ?= flag:spouse }
				desc = ep3_laamp_decision_event.1030.desc_returned_from_spouse
			}
			#RETURN: We failed to save noble Hooded Figure
			triggered_desc = {
				trigger = { 
					var:return_from_location ?= flag:hood
					scope:laamp_decision_recruited_hood ?= flag:wounded
				}
				desc = ep3_laamp_decision_event.1030.desc_returned_from_hood_noble_fail
			}
			#RETURN: We've returned from the noble Hooded Figure
			triggered_desc = {
				trigger = { 
					var:return_from_location ?= flag:hood
					exists = scope:laamp_disguised_noble
				}
				desc = ep3_laamp_decision_event.1030.desc_returned_from_hood_noble
			}
			#RETURN: We've returned from the Hooded Figure
			triggered_desc = {
				trigger = {
					1000_is_a_nomadic_holding_trigger = no
					var:return_from_location ?= flag:hood 
				}
				desc = ep3_laamp_decision_event.1030.desc_returned_from_hood
			}
			#Nomad variant
			triggered_desc = {
				trigger = {
					1000_is_a_nomadic_holding_trigger = yes
					var:return_from_location ?= flag:hood 
				}
				desc = ep3_laamp_decision_event.1030.desc_nomad_returned_from_hood
			}
			#FIRST TIME: Nomad dwelling
			triggered_desc = {
				trigger = {
					1000_is_a_nomadic_holding_trigger = yes
					NOT = { exists = scope:been_to_tavern }
				}
				desc = ep3_laamp_decision_event.1030.desc_nomad
			}
			#FIRST TIME: First time here
			triggered_desc = {
				trigger = { 
					NOT = { exists = scope:been_to_tavern }
				}
				desc = ep3_laamp_decision_event.1030.desc
			}
		}
		#MID: Is there a spouse? Do we recognize them? Have we interacted with them?
		first_valid = {
			#RETURN: Reused spouse is still here
			triggered_desc = {
				trigger = { 
					exists = scope:been_to_tavern
					exists = scope:laamp_recurring_spouse
					NOR = { 
						exists = scope:been_to_spouse
						exists = scope:laamp_decision_has_spoused
					}
				}
				desc = ep3_laamp_decision_event.1030.desc_mid_return_reused_spouse
			}
			#FIRST TIME: You've seen this lass/lad before
			triggered_desc = {
				trigger = { 
					NOT = { exists = scope:been_to_tavern }
					exists = scope:laamp_recurring_spouse
				}
				desc = ep3_laamp_decision_event.1030.desc_mid_reused_spouse
			}
			#RETURN: Spouse is still here
			triggered_desc = {
				trigger = { 
					exists = scope:been_to_tavern
					exists = scope:laamp_spouse_material
					NOR = { 
						exists = scope:been_to_spouse
						exists = scope:laamp_decision_has_spoused
					}
				}
				desc = ep3_laamp_decision_event.1030.desc_mid_return_spouse
			}
			#FIRST TIME: Nomad dwelling
			triggered_desc = {
				trigger = {
					1000_is_a_nomadic_holding_trigger = yes
					NOT = { exists = scope:been_to_tavern }
					exists = scope:laamp_spouse_material
				}
				desc = ep3_laamp_decision_event.1030.desc_nomad_mid_spouse
			}
			#Otherwise just exclude them
			triggered_desc = {
				trigger = { 
					1000_is_a_nomadic_holding_trigger = yes
					NOT = { exists = scope:been_to_tavern }
				}
				desc = ep3_laamp_decision_event.1030.desc_nomad_mid
			}
			#FIRST TIME
			triggered_desc = {
				trigger = { 
					NOT = { exists = scope:been_to_tavern }
					exists = scope:laamp_spouse_material
				}
				desc = ep3_laamp_decision_event.1030.desc_mid_spouse
			}
			#Otherwise just exclude them
			triggered_desc = {
				trigger = { 
					NOT = { exists = scope:been_to_tavern }
				}
				desc = ep3_laamp_decision_event.1030.desc_mid
			}
		}
		#Outro
		first_valid = {
			#FIRST TIME: First time here, look at the hood
			triggered_desc = {
				trigger = {
					exists = scope:laamp_hooded_figure
					NOT = { exists = scope:been_to_tavern }
				}
				desc = ep3_laamp_decision_event.1030.desc_outro_hooded
			}
			#FIRST TIME: First time here, curious partner
			triggered_desc = {
				trigger = {
					exists = scope:visiting_partner
					NOT = { exists = scope:been_to_tavern }
				}
				desc = ep3_laamp_decision_event.1030.desc_outro_partner
			}
			#FIRST TIME: First time here
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_tavern }
				}
				desc = ep3_laamp_decision_event.1030.desc_outro
			}
			#RETURN: Partner - there is nothing left for us here
			triggered_desc = {
				trigger = { 
					exists = scope:visiting_partner
					1030_done_with_tavern_trigger = yes 
				}
				desc = ep3_laamp_decision_event.1030.desc_outro_return_partner_finished
			}
			#RETURN: There is nothing left for us here
			triggered_desc = {
				trigger = { 1030_done_with_tavern_trigger = yes }
				desc = ep3_laamp_decision_event.1030.desc_outro_return_finished
			}
			#RETURN: Hood noble did not deviate, yet
			triggered_desc = {
				trigger = {
					exists = scope:laamp_hooded_figure
					exists = scope:laamp_disguised_noble
					NOR = { 
						exists = scope:laamp_decision_recruited_hood
						exists = scope:been_to_hood 
					}
				}
				desc = ep3_laamp_decision_event.1030.desc_outro_hooded_noble_return
			}
			#RETURN: Hood thief did not deviate, yet
			triggered_desc = {
				trigger = {
					exists = scope:laamp_hooded_figure
					NOR = { 
						exists = scope:laamp_decision_recruited_hood
						exists = scope:been_to_hood 
					}
				}
				desc = ep3_laamp_decision_event.1030.desc_outro_hooded_return
			}
			#RETURN: We've been here before
			random_valid = {
				#RETURN: Partner flavor
				triggered_desc = {
					trigger = {
						exists = scope:visiting_partner
						exists = scope:been_to_tavern
						scope:tavern_loc_tracker ?= 0
						has_variable = 1030_use_partner_animation_var
					}
					desc = ep3_laamp_decision_event.1030.desc_outro_return_partner_01
				}
				triggered_desc = {
					trigger = {
						exists = scope:visiting_partner
						scope:tavern_loc_tracker ?= 1
						has_variable = 1030_use_partner_animation_var
					}
					desc = ep3_laamp_decision_event.1030.desc_outro_return_partner_02
				}
				triggered_desc = {
					trigger = {
						exists = scope:visiting_partner
						scope:tavern_loc_tracker ?= 2
						has_variable = 1030_use_partner_animation_var
					}
					desc = ep3_laamp_decision_event.1030.desc_outro_return_partner_03
				}
				#RETURN: Generics
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_tavern
						scope:tavern_loc_tracker ?= 0
						NOT = { has_variable = 1030_use_partner_animation_var }
					}
					desc = ep3_laamp_decision_event.1030.desc_outro_return_01
				}
				triggered_desc = {
					trigger = { 
						scope:tavern_loc_tracker ?= 1
						NOT = { has_variable = 1030_use_partner_animation_var }
					}
					desc = ep3_laamp_decision_event.1030.desc_outro_return_02
				}
				triggered_desc = {
					trigger = { 
						scope:tavern_loc_tracker ?= 2
						NOT = { has_variable = 1030_use_partner_animation_var }
					}
					desc = ep3_laamp_decision_event.1030.desc_outro_return_03
				}
			}
		}
	}
	theme = landless_adventurer
	override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_social" }
	override_icon = { reference = "gfx/interface/icons/event_types/type_travel_stewardship.dds" }
	override_background = {
		trigger = { 1000_is_a_nomadic_holding_trigger = yes }
		reference = mpo_tent_interior_mongol
	}
	override_background = {
		trigger = { 
			scope:visiting_location = {
				has_holding_type = tribal_holding
			} 
		}
		reference = throne_room_tribal
	}
	override_background = { reference = tavern }
	#PARTNER / ROOT
	left_portrait = {
		trigger = {
			exists = scope:1030_first_character
			#Don't display this one if ROOT is in both portraits
			NAND = {
				scope:1030_first_character = root
				exists = scope:1030_second_character
				scope:1030_second_character = root
			}
		}
		character = scope:1030_first_character
		#PARTNER: If it's our (tired) visiting partner
		triggered_animation = {
			trigger = {
				1030_done_with_tavern_trigger = yes
				scope:visiting_partner ?= scope:1030_first_character
			}
			animation = boredom
		}
		#PARTNER: Variation 01
		triggered_animation = {
			trigger = { 
				scope:visiting_partner ?= scope:1030_first_character
				exists = scope:been_to_tavern
				scope:tavern_loc_tracker ?= 0
				root = { has_variable = 1030_use_partner_animation_var }
			}
			animation = interested
		}
		#PARTNER: Variation 02
		triggered_animation = {
			trigger = { 
				scope:visiting_partner ?= scope:1030_first_character
				scope:tavern_loc_tracker ?= 1
				root = { has_variable = 1030_use_partner_animation_var }
			}
			animation = laugh
		}
		#PARTNER: Variation 03
		triggered_animation = {
			trigger = { 
				scope:visiting_partner ?= scope:1030_first_character
				scope:tavern_loc_tracker ?= 2
				root = { has_variable = 1030_use_partner_animation_var }
			}
			animation = dancing
		}
		#PARTNER: If it's our visiting partner
		triggered_animation = {
			trigger = { scope:visiting_partner ?= scope:1030_first_character }
			animation = personality_content
		}
		#ROOT: Hooded figure!
		triggered_animation = {
			trigger = {
				scope:1030_first_character = root
				exists = scope:laamp_hooded_figure
				NOT = { exists = scope:been_to_hood }
			}
			animation = interested 
		}
		#ROOT: Eyeing the vixen at the bar
		triggered_animation = {
			trigger = {
				scope:1030_first_character = root
				exists = scope:laamp_spouse_material
				NOT = { exists = scope:been_to_spouse }
			}
			animation = admiration
		}
		#ROOT: Eh, why not
		triggered_animation = {
			trigger = {
				scope:1030_first_character = root
				OR = {
					has_trait = lunatic
					has_trait = possessed
					has_trait = eccentric
				}
			}
			animation = personality_irrational
		}
		#ROOT: That's.. a lot of people
		triggered_animation = {
			trigger = {
				scope:1030_first_character = root
				OR = {
					has_trait = paranoid
					has_trait = shy
				}
			}
			animation = personality_coward
		}
		#ROOT: My kind of people!
		triggered_animation = {
			trigger = {
				scope:1030_first_character = root
				OR = {
					has_trait = lifestyle_reveler
					has_trait = gregarious
				}
			}
			animation = happiness
		}
		#Fallback, we really shouldn't end up here
		animation = happiness
	}
	#SPOUSE / ROOT
	center_portrait = {
		trigger = { exists = scope:1030_second_character }
		camera = camera_event_scheme_vs_right_look_right
		character = scope:1030_second_character
		#SPOUSE: Untapped
		triggered_animation = {
			trigger = {
				scope:laamp_spouse_material ?= scope:1030_second_character
				NOT = { exists = scope:been_to_spouse }
			}
			animation = personality_rational
		}
		#SPOUSE: Been there
		triggered_animation = {
			trigger = { scope:laamp_spouse_material ?= scope:1030_second_character }
			animation = personality_cynical
		}
		#ROOT: Hooded figure!
		triggered_animation = {
			trigger = {
				scope:1030_second_character = root
				exists = scope:laamp_hooded_figure
				NOT = { exists = scope:been_to_hood }
			}
			animation = interested 
		}
		#ROOT: Eyeing the vixen at the bar
		triggered_animation = {
			trigger = {
				scope:1030_second_character = root
				exists = scope:laamp_spouse_material
				NOT = { exists = scope:been_to_spouse }
			}
			animation = admiration
		}
		#ROOT: Eh, why not
		triggered_animation = {
			trigger = {
				scope:1030_second_character = root
				OR = {
					has_trait = lunatic
					has_trait = possessed
					has_trait = eccentric
				}
			}
			animation = personality_irrational
		}
		#ROOT: That's.. a lot of people
		triggered_animation = {
			trigger = {
				scope:1030_second_character = root
				OR = {
					has_trait = paranoid
					has_trait = shy
				}
			}
			animation = personality_coward
		}
		#ROOT: My kind of people!
		triggered_animation = {
			trigger = {
				scope:1030_second_character = root
				OR = {
					has_trait = lifestyle_reveler
					has_trait = gregarious
				}
			}
			animation = happiness
		}
		#Fallback, we really shouldn't end up here
		animation = personality_rational
	}
	#HOOD / SPOUSE
	right_portrait = {
		trigger = { 
			exists = scope:1030_third_character
			#If this is root, then that means we have talked to the Hooded Figure and we don't have a Spouse to display, so let's disappear the portrait
			scope:1030_third_character != root
		}
		camera = camera_event_scheme_vs_center_look_left
		character = scope:1030_third_character
		#HOOD: Hood for the hooded figure
		triggered_outfit = {
			trigger = { scope:laamp_hooded_figure ?= scope:1030_third_character }
			outfit_tags = { western_stealth_hood }
		}
		#HOOD NOBLE: We've returned here and it's still the hooded noble
		triggered_animation = {
			trigger = { 
				scope:laamp_disguised_noble ?= scope:1030_third_character
				exists = scope:been_to_tavern
			}
			animation = drink_goblet
		}
		#HOOD THIEF: We've returned here and it's still the hooded thief
		triggered_animation = {
			trigger = {
				scope:laamp_hooded_figure ?= scope:1030_third_character
				exists = scope:been_to_tavern
			}
			animation = spymaster
		}
		#SPOUSE: Untapped
		triggered_animation = {
			trigger = {
				scope:laamp_spouse_material ?= scope:1030_third_character
				NOT = { exists = scope:been_to_spouse }
			}
			animation = personality_rational
		}
		#SPOUSE: Been there
		triggered_animation = {
			trigger = { scope:laamp_spouse_material ?= scope:1030_third_character }
			animation = personality_cynical
		}
		#Fallback, we really shouldn't end up here
		animation = personality_callous
	}
	#Shove the Spouse / Hood here if they exist, we've visited them but we haven't actioned them yet
	lower_left_portrait = {
		trigger = {
			NOT = { root ?= scope:1030_fourth_character }
		}
		character = scope:1030_fourth_character
	}
	lower_center_portrait = {
		trigger = { 
			NOT = { root ?= scope:1030_fifth_character }
		}
		character = scope:1030_fifth_character
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#Set up the ancillary portraits to remind the player of the characters
		if = {
			#Hood _and_ Spouse exists
			limit = {
				#We've been to both at least once
				exists = scope:been_to_spouse
				exists = scope:been_to_hood
				#We're not done with them yet
				AND = {
					exists = scope:laamp_spouse_material
					NOT = { exists = scope:laamp_decision_has_spoused }
				}
				AND = {
					exists = scope:laamp_hooded_figure
					NOT = { exists = scope:laamp_decision_recruited_hood }
				}
				#This isn't already the state
				NAND = {
					exists = scope:1030_fourth_character
					scope:1030_fourth_character ?= scope:laamp_spouse_material
					exists = scope:1030_fifth_character
					scope:1030_fifth_character ?= scope:laamp_hooded_figure
				}
			}
			scope:laamp_spouse_material = { save_scope_as = 1030_fourth_character }
			scope:laamp_hooded_figure = { save_scope_as = 1030_fifth_character }
		}
		else_if = {
			#Only Spouse exists
			limit = {
				exists = scope:laamp_spouse_material
				NOR = {
					#We're not done with Spouse yet
					exists = scope:laamp_decision_has_spoused
					#This isn't already the state
					AND = {
						exists = scope:1030_fourth_character
						scope:1030_fourth_character ?= scope:laamp_spouse_material
					}
				}
				#We've been to Spouse at least once
				exists = scope:been_to_spouse
			}
			scope:laamp_spouse_material = { save_scope_as = 1030_fourth_character }
		}
		else_if = {
			#Hood exists but Spouse either never existed or got recruited
			limit = {
				exists = scope:laamp_hooded_figure
				NOR = {
					#We're not done with Hood yet
					exists = scope:laamp_decision_recruited_hood
					#This isn't already the state
					AND = {
						exists = scope:1030_fourth_character
						scope:1030_fourth_character ?= scope:laamp_hooded_figure
					}
				}
				#We've been to Hood at least once
				exists = scope:been_to_hood
				OR = {
					#Either the Spouse never existed
					NAND = { 
						exists = scope:laamp_spouse_material
						exists = scope:laamp_decision_has_spoused
					}
					#Or we've recruited the Spouse already
					AND = {
						exists = scope:laamp_spouse_material
						exists = scope:laamp_decision_has_spoused
					}
				}	
			}
			scope:laamp_hooded_figure = { save_scope_as = 1030_fourth_character }
			#If we've already attached Hood to the fifth portrait, overwrite it with ROOT to hide that portrait
			if = {
				limit = { exists = scope:1030_fifth_character }
				save_scope_as = 1030_fifth_character
			}
		}
		#Clean up any existing fourth/fifth portrait if we're done with all who exist
		if = {
			limit = {
				exists = scope:1030_fourth_character
				trigger_if = {
					limit = { 
						exists = scope:laamp_spouse_material
						exists = scope:laamp_hooded_figure
					}
					#We've recruited the Spouse already
					AND = {
						exists = scope:laamp_spouse_material
						exists = scope:laamp_decision_has_spoused
					}
					#We've recruited the Hood already
					AND = {
						exists = scope:laamp_hooded_figure
						exists = scope:laamp_decision_recruited_hood
					}
				}
				trigger_else_if = {
					limit = { 
						exists = scope:laamp_spouse_material
						NOT = { exists = scope:laamp_hooded_figure }
					}
					#We've recruited the Spouse already
					AND = {
						exists = scope:laamp_spouse_material
						exists = scope:laamp_decision_has_spoused
					}
				}
				trigger_else_if = {
					limit = { 
						exists = scope:laamp_hooded_figure
						NOT = { exists = scope:laamp_spouse_material }
					}
					#We've recruited the Hood already
					AND = {
						exists = scope:laamp_hooded_figure
						exists = scope:laamp_decision_recruited_hood
					}
				}
				trigger_else = { always = no }
				#This isn't already the state
				scope:1030_fourth_character != root
			}
			#Overwrite with ROOT to hide that portrait
			save_scope_as = 1030_fourth_character
		}
		if = {
			limit = {
				#We've recruited the Hood already
				AND = {
					exists = scope:laamp_hooded_figure
					exists = scope:laamp_decision_recruited_hood
				}
				#This isn't already the state
				exists = scope:1030_fifth_character
				scope:1030_fifth_character != root
			}
			#Overwrite with ROOT to hide that portrait
			save_scope_as = 1030_fifth_character
		}
		#Can we _not_ repeat the loc?
		1025_set_and_check_hub_loc_tracker_scope_effect = { HUB = tavern }
		#Some animation flavor
		random_list = {
			75 = {
				trigger = { 
					exists = scope:visiting_partner
					trigger_if = {
						limit = { exists = scope:laamp_hooded_figure }
						exists = scope:been_to_hood
					}
				}
				set_variable = 1030_use_partner_animation_var
			}
			25 = {
				#Nothing
			}
		}
		#Create the spouse character
		if = {
			limit = {
				OR = {
					#Do we remember someone?
					any_pool_character = {
						province = scope:visiting_location
						location = scope:visiting_location
						root = {
							is_target_in_variable_list = {
								name = 1025_remembered_spouse_potential_list
								target = prev  #The considered spouse character
							}
						}
					}
					#Or did we actually encounter them?
					any_pool_character = {
						province = scope:visiting_location
						location = scope:visiting_location
						is_target_in_variable_list = {
							name = 1030_marked_as_spouse_material_for_list
							target = root
						}
					}
				}
			}
			random_pool_character = {
				province = scope:visiting_location
				limit = {
					OR = {
						root = {
							is_target_in_variable_list = {
								name = 1025_remembered_spouse_potential_list
								target = prev  #The considered spouse character
							}
						}
						is_target_in_variable_list = {
							name = 1030_marked_as_spouse_material_for_list
							target = root
						}
					}
				}
				save_scope_as = laamp_spouse_material
				#Some more loc flavor shenanigans for these saved scopes
				if = {
					#Only save them if we actually interacted with them
					limit = { 
						root = {
							is_target_in_variable_list = {
								name = 1025_remembered_spouse_potential_list
								target = prev  #The considered spouse character
							}
						}
					}
					save_scope_as = laamp_recurring_spouse
				}	
			}
		}
		#No? Then roll for a new spouse
		if = {
			limit = {
				NOR = { 
					exists = scope:laamp_spouse_material
					#Unless you're on local cooldown
					scope:visiting_location = {
						is_target_in_variable_list = {
							name = laamp_decisions_1000_checked_for_spouse_list
							target = root
						}
					}
				}	
				allowed_more_spouses = yes	
			}
			random_list = {
				75 = {
					#Maybe?
					modifier = {
						OR = {
							has_trait = seducer
							has_trait = rakish
						}
						add = -25
					}
					#No spouse
				}
				25 = { #Nerf this number into the ground to keep our LAAMP friends spouseless forever
					#Find a spouse in the pool
					if = {
						limit = {
							NOT = { exists = scope:laamp_spouse_material }
						}
						random_pool_character = {
							province = scope:visiting_location
							limit = { 
								1010_basic_merchant_checks_trigger = yes
								#We can marry them
								can_marry_character_trigger = { CHARACTER = root }
								#We want to marry them
								root = { is_attracted_to_gender_of = prev } #Prev is the spouse scope
								#They might want to marry us
								is_attracted_to_gender_of = root
							}
							save_scope_as = laamp_spouse_material
						}
					}
					#Otherwise create 'em
					if = {
						limit = {
							NOT = { exists = scope:laamp_spouse_material }
						}
						#Gender doesn't matter
						if = {
							limit = { allowed_to_marry_same_sex_trigger = yes }
							create_character = {
								template = generic_peasant_character
								location = scope:visiting_location
								dynasty = none
								culture = scope:visiting_location.culture
								faith = scope:visiting_location.faith
								diplomacy = { low_skill_rating high_skill_rating }
								martial = { low_skill_rating high_skill_rating }
								stewardship = { low_skill_rating high_skill_rating }
								intrigue = { low_skill_rating high_skill_rating }
								learning = { low_skill_rating high_skill_rating }
								save_scope_as = laamp_spouse_material
							}
						}
						#Straight female
						else_if = {
							limit = { is_female = yes }
							create_character = {
								template = generic_peasant_character
								location = scope:visiting_location
								dynasty = none
								gender = male
								culture = scope:visiting_location.culture
								faith = scope:visiting_location.faith
								diplomacy = { low_skill_rating high_skill_rating }
								martial = { low_skill_rating high_skill_rating }
								stewardship = { low_skill_rating high_skill_rating }
								intrigue = { low_skill_rating high_skill_rating }
								learning = { low_skill_rating high_skill_rating }
								save_scope_as = laamp_spouse_material
							}
						}
						#Straight male
						else = {
							create_character = {
								template = generic_peasant_character
								location = scope:visiting_location
								dynasty = none
								gender = female
								culture = scope:visiting_location.culture
								faith = scope:visiting_location.faith
								diplomacy = { low_skill_rating high_skill_rating }
								martial = { low_skill_rating high_skill_rating }
								stewardship = { low_skill_rating high_skill_rating }
								intrigue = { low_skill_rating high_skill_rating }
								learning = { low_skill_rating high_skill_rating }
								save_scope_as = laamp_spouse_material
							}
						}
					}
					#Some buffs pls?
					scope:laamp_spouse_material ?= {
						if = {
							limit = {
								NOT = { has_variable = 1030_has_rolled_for_congenital_traits }
								NOR = { 
									has_trait = beauty_good_1 
									has_trait = intellect_good_1
									has_trait = physique_good_1
									has_trait = fecund
									has_trait = strong
									has_trait = shrewd
								}
							}
							hidden_effect = {
								random = {
									chance = 5
									random_list = {
										10 = { add_trait = beauty_good_1 }
										10 = { add_trait = intellect_good_1 }
										10 = { add_trait = physique_good_1 }
										10 = { add_trait = fecund }
										10 = { add_trait = strong }
										10 = { add_trait = shrewd }
									}
								}
							}
						}
						#Give 'em a year
						add_to_variable_list = {
							name = 1030_marked_as_spouse_material_for_list
							target = root
							days = visit_settlement_minimum_cooldown_days
						}
						#... no more congenital traits rolls for them
						set_variable = 1030_has_rolled_for_congenital_traits
						#Funny as it looks when the tooltip wanders through all possible options, this is probs what looks more WAD
						if = {
							limit = {
								NOT = { has_variable = raunchy_compliment_noun }
							}
							set_raunchy_compliment_noun_effect = yes
						}
					}
				}
			}
			#Set up the cooldown per holding, so that you can hop around to different taverns
			scope:visiting_location = {
				add_to_variable_list = {
					name = laamp_decisions_1000_checked_for_spouse_list
					target = root
					days = visit_settlement_minimum_cooldown_days
				}
			}
		}
		#Rare: Spawn a hooded figure
		if = {
			limit = {
				NOT = { has_variable = laamp_decision_1000_checked_for_hood }
			}
			random_list = {
				75 = {
					#No Hooded Figure
				}
				#Shady Noble
				25 = {
					#Look for the holder first
					if = {
						limit = {
							scope:visiting_location.county.holder ?= {
								1030_appropriate_noble_trigger = yes
								location = scope:visiting_location
							}
						}
						scope:visiting_location.county.holder = { 
							save_scope_as = laamp_hooded_figure
							save_scope_as = laamp_disguised_noble
						}
					}
					#Otherwise a landed or ladmin in the same location
					if = {
						limit = {
							NOT = { exists = scope:laamp_hooded_figure }
						}
						scope:visiting_location = {
							random_character_in_location = {
								limit = {
									1030_appropriate_noble_trigger = yes
									is_landed_or_landless_administrative = yes		
								}
								save_scope_as = laamp_hooded_figure
								save_scope_as = laamp_disguised_noble
							}
							#... or a landed/ladmin in a neighboring province. Does this tank performance?
							if = {
								limit = {
									NOT = { exists = scope:laamp_hooded_figure }
								}
								random_neighboring_province = {
									limit = { is_sea_province = no }
									random_character_in_location = {
										limit = {
											1030_appropriate_noble_trigger = yes
											is_landed_or_landless_administrative = yes
										}
										save_scope_as = laamp_hooded_figure
										save_scope_as = laamp_disguised_noble
									}
								}
							}
						}		
					}
					scope:laamp_hooded_figure ?= {
						#Don't need to pull the same ruler several times
						set_variable = {
							name = 1030_has_been_hooded_recently
							days = visit_settlement_cooldown_days
						}
					}
				}
				#Master Thief
				25 = {
					#More common in Tribal/No Settlement
					modifier = { 
						scope:visiting_location = {
							OR = {
								has_holding_type = tribal_holding
								has_holding_type = nomad_holding
								has_holding_type = herder_holding
							}
						}
						factor = 2
					}
					#Has this person been our thief in the past 10 years?
					random_pool_character = {
						province = scope:visiting_location
						limit = {
							1010_basic_merchant_checks_trigger = yes
							save_temporary_scope_as = saved_character_check
							#Let's avoid double-dipping
							1010_is_a_saved_thief_trigger = yes
							1010_is_a_saved_merchant_trigger = no
							1010_is_a_saved_peddler_trigger = no
							1010_is_a_saved_crier_trigger = no
							1010_is_a_saved_storyteller_trigger = no
							1010_is_a_saved_healer_trigger = no
							1010_is_a_saved_clergy_trigger = no
							1010_is_a_saved_physician_trigger = no
							1010_is_a_saved_bodyguard_trigger = no
							1010_is_a_saved_weaponsmith_trigger = no
							1010_is_a_saved_armorer_trigger = no
							1010_is_a_saved_jeweler_trigger = no
							1010_is_a_saved_quartermaster_trigger = no
						}
						save_scope_as = laamp_hooded_figure
						#Some more loc flavor shenanigans for these saved scopes
						save_scope_as = laamp_recurring_thief
					}
					#Otherwise find a thief in the pool
					if = {
						limit = { 
							NOT = { exists = scope:laamp_hooded_figure }
						}
						random_pool_character = {
							province = scope:visiting_location
							limit = { 
								1010_basic_merchant_checks_trigger = yes
								is_available_healthy_adult = yes
								1030_gallowsbait_character_trigger = yes
							}
							save_scope_as = laamp_hooded_figure
						}
					}
					#Otherwise create a thief
					if = {
						limit = {
							NOT = { exists = scope:laamp_hooded_figure }
						}
						#Create bodyguard to stuff in pool
						create_character = {
							template = bp1_yearly_2021_intrigue_person_template
							location = scope:visiting_location
							dynasty = none
							culture = scope:visiting_location.culture
							faith = scope:visiting_location.faith
							intrigue = { decent_skill_rating high_skill_rating }
							save_scope_as = laamp_hooded_figure
						}
						scope:laamp_hooded_figure ?= {
							#Chance to add a malus trait to this spectatular being
							if = {
								limit = { 
									NOR = { 
										has_trait = possessed_1 
										has_trait = lunatic_1
										has_trait = depressed_1
										has_trait = drunkard
										has_trait = hashishiyah
										has_trait = irritable
									}
								}
								hidden_effect = {
									random = {
										chance = 20
										random_list = {
											10 = { add_trait = possessed_1 }
											10 = { add_trait = lunatic_1 }
											10 = { add_trait = depressed_1 }
											10 = { add_trait = drunkard }
											10 = { add_trait = hashishiyah }
											10 = { add_trait = irritable }
										}
									}
								}
							}
							#... also, it's a criminal, so... yeah
							hidden_effect = {
								if = {
									limit = {
										NOT = { has_trait = gallowsbait }
									}
									add_trait = gallowsbait
									random_list = {
										#Bandit
										25 = {
											add_trait_xp = {
												trait = gallowsbait
												track = bandit
												value = {
												    integer_range = {
												        min = medium_lifestyle_random_xp_low
												        max = medium_lifestyle_random_xp_high
												    }
												}
											}
										}
										#Trickster
										25 = {
											add_trait_xp = {
												trait = gallowsbait
												track = trickster
												value = {
												    integer_range = {
												        min = medium_lifestyle_random_xp_low
												        max = medium_lifestyle_random_xp_high
												    }
												}
											}
										}
										#Thief
										25 = {
											add_trait_xp = {
												trait = gallowsbait
												track = thief
												value = {
												    integer_range = {
												        min = medium_lifestyle_random_xp_low
												        max = medium_lifestyle_random_xp_high
												    }
												}
											}
										}
										#Poacher
										25 = {
											add_trait_xp = {
												trait = gallowsbait
												track = poacher
												value = {
												    integer_range = {
												        min = medium_lifestyle_random_xp_low
												        max = medium_lifestyle_random_xp_high
												    }
												}
											}
										}
										#Marauder
										25 = {
											add_trait_xp = {
												trait = gallowsbait
												track = marauder
												value = {
												    integer_range = {
												        min = medium_lifestyle_random_xp_low
												        max = medium_lifestyle_random_xp_high
												    }
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
			#For the portrait
			scope:laamp_hooded_figure ?= { save_scope_as = 1030_second_character }
			#No decision-scumming
			set_variable = {
				name = laamp_decision_1000_checked_for_hood
				days = visit_settlement_cooldown_days
			}
		}
		#Set up the initial portraits
		if = {
			limit = {
				NOT = { exists = scope:1030_portraits_setup }
			}
			if = {
				limit = {
					exists = scope:laamp_spouse_material
					exists = scope:laamp_hooded_figure
				}
				#Spouse, Hood and Partner exists
				if = {
					limit = { exists = scope:visiting_partner }
					scope:visiting_partner = { save_scope_as = 1030_first_character }
				}
				scope:laamp_spouse_material = { save_scope_as = 1030_second_character }
				scope:laamp_hooded_figure = { save_scope_as = 1030_third_character }
			}
			else_if = {
				limit = { exists = scope:laamp_spouse_material }
				#Spouse and Partner exists
				if = {
					limit = { exists = scope:visiting_partner }
					scope:visiting_partner = { save_scope_as = 1030_first_character }
				}
				#Save ROOT
				save_scope_as = 1030_second_character
				scope:laamp_spouse_material = { save_scope_as = 1030_third_character }
			}
			else_if = {
				limit = { exists = scope:laamp_hooded_figure }
				#Hood and Partner exists
				if = {
					limit = { exists = scope:visiting_partner }
					scope:visiting_partner = { save_scope_as = 1030_first_character }
				}
				#Save ROOT
				save_scope_as = 1030_second_character
				scope:laamp_hooded_figure = { save_scope_as = 1030_third_character }
			}
			else_if = {
				limit = { exists = scope:visiting_partner }
				#Only Partner exists
				scope:visiting_partner = { save_scope_as = 1030_first_character }
				#Save ROOT
				save_scope_as = 1030_second_character
			}
			else = {
				#You're alone - save ROOT
				save_scope_as = 1030_second_character
			}
			save_scope_as = 1030_portraits_setup
		}
	}
	#Listen to a story
	option = {
		name = {
			text = {
				first_valid = {
					#Return to the storyteller
					triggered_desc = {
						trigger = { exists = scope:been_to_storyteller }
						desc = ep3_laamp_decision_event.1030.a_second
					}
					#First time at the storyteller's
					desc = ep3_laamp_decision_event.1030.a
				}
			}
		}
		trigger = {
			custom_tooltip = {
				text = ep3_laamp_decision_event.1030.a.cooldown.tt
				NOT = { exists = scope:laamp_decision_has_storied }
			}
		}
		show_as_unavailable = { always = yes }
		reason = storyteller
		custom_tooltip = ep3_laamp_decision_event.1030.a.tt
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = tavern }
		#Go to the storyteller
		trigger_event = ep3_laamp_decision_event.1031
		ai_chance = { base = 100 }
	}
	#Look for someone to recruit
	option = {
		name = {
			text = {
				first_valid = {
					#Return to the recruits
					triggered_desc = {
						trigger = { exists = scope:been_to_recruit }
						desc = ep3_laamp_decision_event.1030.b_second
					}
					#First time talking to recruits
					desc = ep3_laamp_decision_event.1030.b
				}
			}
		}
		trigger = {
			custom_tooltip = {
				text = ep3_laamp_decision_event.1030.b.cooldown.tt
				NOT = { exists = scope:laamp_decision_has_recruited }
			}
		}
		show_as_unavailable = { always = yes }
		reason = recruitment
		custom_tooltip = ep3_laamp_decision_event.1030.b.tt
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = tavern }
		#Go to the recruits
		trigger_event = ep3_laamp_decision_event.1033
		ai_chance = { base = 100 }
	}
	#Check out that Spouse Material
	option = {
		name = {
			text = {
				first_valid = {
					#Already scoped out the spouse
					triggered_desc = {
						trigger = { 
							OR = {
								exists = scope:been_to_spouse
								exists = scope:laamp_recurring_spouse
							}
						}
						desc = ep3_laamp_decision_event.1030.c_second
					}
					#First time talking to spouse
					desc = ep3_laamp_decision_event.1030.c
				}
			}
		}
		trigger = {
			exists = scope:laamp_spouse_material
			#Recently recruited a spouse, settle down there
			trigger_if = {
				limit = { has_variable = 1035_has_spoused_recently }
				custom_tooltip = {
					text = ep3_laamp_decision_event.1030.c.cooldown.tt
					always = no
				}
			}
			#Loc differences
			trigger_else_if = {
				limit = { scope:laamp_decision_has_spoused ?= flag:no }
				custom_tooltip = {
					text = ep3_laamp_decision_event.1030.c.failure.cooldown.tt
					always = no
				}
			}
			trigger_else = { always = yes }
		}
		show_as_unavailable = {
			#Show it if we return here from the Spouse screen
			trigger_if = {
				limit = { exists = scope:laamp_spouse_material }
				always = yes 
			}
			#If we are already married, don't show it
			trigger_else = { always = no }
		}
		reason = potential_spouse
		highlight_portrait = scope:laamp_spouse_material
		#Been there once already
		if = {
			limit = {
				OR = {
					exists = scope:laamp_recurring_spouse
					exists = scope:been_to_spouse
				}
			}
			custom_tooltip = ep3_laamp_decision_event.1030.c.tt_second
		}
		else = {
			custom_tooltip = ep3_laamp_decision_event.1030.c.tt
		}
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = tavern }
		#Go to the spouse material
		trigger_event = ep3_laamp_decision_event.1035
		ai_chance = { base = 100 }
	}
	#Rare Option: Visit Hooded Figure
	option = {
		name = {
			text = {
				first_valid = {
					#Return to the Hood noble
					triggered_desc = {
						trigger = { 
							exists = scope:been_to_hood
							exists = scope:laamp_disguised_noble
						}
						desc = ep3_laamp_decision_event.1030.d_third
					}
					#Return to the Hood thief
					triggered_desc = {
						trigger = { exists = scope:been_to_hood }
						desc = ep3_laamp_decision_event.1030.d_second
					}
					#First time at the Hood
					desc = ep3_laamp_decision_event.1030.d
				}
			}
		}
		trigger = {
			exists = scope:laamp_hooded_figure
			NOT = { exists = scope:laamp_decision_recruited_hood }
			is_ai = no
		}
		reason = hooded_character
		#Been there once already
		if = {
			limit = { exists = scope:been_to_hood }
			custom_tooltip = ep3_laamp_decision_event.1030.d.tt_second
		}
		else = {
			custom_tooltip = ep3_laamp_decision_event.1030.d.tt
		}
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = tavern }
		#Go to the hooded figure screen
		trigger_event = ep3_laamp_decision_event.1037
	}
	#I want to do something else
	option = {
		name = {
			text = {
				first_valid = {
					#Nothing left to do
					triggered_desc = {
						trigger = { 1030_done_with_tavern_trigger = yes }
						desc = ep3_laamp_decision_event.1030.e_second
					}
					#Back to main square
					desc = ep3_laamp_decision_event.1030.e
				}
			}
		}
		#Have we done everything? Are we closing off the option?
		if = {
			limit = { 1030_done_with_tavern_trigger = yes }
			#Clean up unnecessary variables and close off the option
			1030_finished_tavern_effect = yes
		}
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = tavern }
		#Go back to the main event
		1000_return_to_main_effect = yes
		ai_chance = { base = 100 }
	}
	after = {
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:tavern }
		remove_variable ?= 1030_use_partner_animation_var
	}
}


#Return to the holding hub (church grounds, castle grounds etc) from a subsequent event
scripted_effect 1031_been_to_effect = {
	#For desc flavor
	if = {
		limit = {
			NOT = { exists = scope:been_to_$GUILD$ }
		}
		save_scope_as = been_to_$GUILD$
	}
	#Go back to the previous screen
	if = {
		limit = { var:return_from_location ?= flag:tavern }
		1031_return_to_tavern_effect = yes
	}
	#Go back to church grounds
	if = {
		limit = { var:return_from_location ?= flag:church_grounds }
		1041_return_to_church_grounds_effect = yes
	}
	#Go back to castle grounds
	if = {
		limit = { var:return_from_location ?= flag:castle_grounds }
		1051_return_to_castle_effect = yes
	}
	#Go back to craftsmen district
	if = {
		limit = { var:return_from_location ?= flag:craftsmen }
		1061_return_to_craftsmen_effect = yes
	}
}

#We return to the tavern main room to peruse other options
scripted_effect 1031_return_to_tavern_effect = {
	custom_tooltip = ep3_laamp_decision_event.1031.return.tt
	trigger_event = ep3_laamp_decision_event.1030
}

#Set the correct variable to block off the Storyteller option and remove the desc flavor variable
scripted_effect 1031_storied_effect = {
	save_scope_as = laamp_decision_has_storied
	#Go back to the tavern main room
	hidden_effect = { 1031_return_to_tavern_effect = yes }
}

#The one that ya want
scripted_effect 1031_actual_skill_increase_effect = {
	if = {
		limit = { scope:1031_skill_to_buff = flag:diplomacy }
		add_diplomacy_skill = 1
	}
	if = {
		limit = { scope:1031_skill_to_buff = flag:martial }
		add_martial_skill = 1
	}
	if = {
		limit = { scope:1031_skill_to_buff = flag:stewardship }
		add_stewardship_skill = 1
	}
	if = {
		limit = { scope:1031_skill_to_buff = flag:intrigue }
		add_intrigue_skill = 1
	}
	if = {
		limit = { scope:1031_skill_to_buff = flag:learning }
		add_learning_skill = 1
	}
}

#Participation prize
scripted_effect 1031_add_skill_modifier_effect = {
	if = {
		limit = { scope:1031_skill_to_buff = flag:diplomacy }
		add_character_modifier = {
			modifier = laamp_decision_exotic_story_diplomacy_gain_modifier
			days = visit_settlement_minimum_cooldown_days
		}
	}
	if = {
		limit = { scope:1031_skill_to_buff = flag:martial }
		add_character_modifier = {
			modifier = laamp_decision_exotic_story_martial_gain_modifier
			days = visit_settlement_minimum_cooldown_days
		}
	}
	if = {
		limit = { scope:1031_skill_to_buff = flag:stewardship }
		add_character_modifier = {
			modifier = laamp_decision_exotic_story_stewardship_gain_modifier
			days = visit_settlement_minimum_cooldown_days
		}
	}
	if = {
		limit = { scope:1031_skill_to_buff = flag:intrigue }
		add_character_modifier = {
			modifier = laamp_decision_exotic_story_intrigue_gain_modifier
			days = visit_settlement_minimum_cooldown_days
		}
	}
	if = {
		limit = { scope:1031_skill_to_buff = flag:learning }
		add_character_modifier = {
			modifier = laamp_decision_exotic_story_learning_gain_modifier
			days = visit_settlement_minimum_cooldown_days
		}
	}
}

#Modified by how low the skill is - lower means higher chance
scripted_effect 1031_boost_lowest_skill_effect = {
	random_list = {
		2 = {
			desc = ep3_laamp_decision_event.1031.a_success.desc
			trigger = {
				trigger_if = {
					limit = { has_variable = 1031_skill_gain_variable }
					var:1031_skill_gain_variable != visit_settlement_skill_gain_cap_value
				}
				trigger_else = { always = yes }
			}
			#Skill is less than low_skill_rating
			modifier = {
				scope:1031_skill_to_buff_value < low_skill_rating
				add = 23
			}
			#Skill is less than average_skill_rating
			modifier = {
				scope:1031_skill_to_buff_value >= low_skill_rating
				scope:1031_skill_to_buff_value < average_skill_rating
				add = 18
			}
			#Skill is less than medium_skill_rating
			modifier = {
				scope:1031_skill_to_buff_value >= average_skill_rating
				scope:1031_skill_to_buff_value < medium_skill_rating
				add = 13
			}
			#Skill is less than high_skill_rating
			modifier = {
				scope:1031_skill_to_buff_value >= medium_skill_rating
				scope:1031_skill_to_buff_value < high_skill_rating
				add = 8
			}
			#Skill is less than very_high_skill_rating
			modifier = {
				scope:1031_skill_to_buff_value >= high_skill_rating
				scope:1031_skill_to_buff_value < very_high_skill_rating
				add = 3
			}
			#What do you mean, only see one side of the argument?
			modifier = {
				has_trait = zealous
				factor = 0.8
			}
			#Easier time finding the silver lining. Probs.
			modifier = {
				has_trait = eccentric
				factor = 2
			}
			send_interface_toast = {
				type = event_toast_effect_good
				title = ep3_laamp_decision_event.1031.a_success.t
				desc = ep3_laamp_decision_event.1031.a_success.desc
				left_icon = root
				#Increase skill
				1031_actual_skill_increase_effect = yes
			}
			#We cap the max amount of skill points gained
			if = {
				limit = {
					NOT = { has_variable = 1031_skill_gain_variable }
				}
				set_variable = {
					name = 1031_skill_gain_variable
					value = 1
				}
			}
			else_if = {
				limit = {
					has_variable = 1031_skill_gain_variable
					var:1031_skill_gain_variable != visit_settlement_skill_gain_cap_value
				}
				change_variable = {
					name = 1031_skill_gain_variable
					add = 1
				}
			}
			else = {
				#Nothing happens
			}
		}
		25 = {
			desc = ep3_laamp_decision_event.1031.a_semi_success.desc
			send_interface_toast = {
				type = event_toast_effect_neutral
				title = ep3_laamp_decision_event.1031.a_semi_success.t
				desc = ep3_laamp_decision_event.1031.a_semi_success.desc
				left_icon = root
				#Have some lifestyle xp
				if = {
					limit = { scope:1031_skill_to_buff = flag:diplomacy }
					add_diplomacy_lifestyle_xp = medium_lifestyle_xp
				}
				if = {
					limit = { scope:1031_skill_to_buff = flag:martial }
					add_martial_lifestyle_xp = medium_lifestyle_xp
				}
				if = {
					limit = { scope:1031_skill_to_buff = flag:stewardship }
					add_stewardship_lifestyle_xp = medium_lifestyle_xp
				}
				if = {
					limit = { scope:1031_skill_to_buff = flag:intrigue }
					add_intrigue_lifestyle_xp = medium_lifestyle_xp
				}
				if = {
					limit = { scope:1031_skill_to_buff = flag:learning }
					add_learning_lifestyle_xp = medium_lifestyle_xp
				}
			}
		}
		50 = {
			desc = ep3_laamp_decision_event.1031.a_failure.desc
			send_interface_toast = {
				type = event_toast_effect_neutral
				title = ep3_laamp_decision_event.1031.a_failure.t
				desc = ep3_laamp_decision_event.1031.a_failure.desc
				left_icon = root
				#Apply temporary skill modifier
				1031_add_skill_modifier_effect = yes
			}
		}
	}
}

#Used often enough to warrant a trigger
scripted_trigger 1031_is_max_witty_trigger = {
	has_trait = tourney_participant
	has_trait_xp = {
		trait = tourney_participant
		track = wit
		value = 100
	} 
}


#Storyteller
ep3_laamp_decision_event.1031 = {
	type = character_event
	title = ep3_laamp_decision_event.1031.t
	window = visit_settlement_window
	desc = {
		#Stay a while, and listen!
		random_valid = {
			triggered_desc = {
				trigger = {
				 	OR = {
				 		var:1031_saved_storyteller_state ?= 1
				 		var:1031_saved_storyteller_state ?= 9
				 	}
				}
				desc = ep3_laamp_decision_event.1031.desc_01
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 2
						var:1031_saved_storyteller_state ?= 10
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_02
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 3
						var:1031_saved_storyteller_state ?= 11
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_03
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 4
						var:1031_saved_storyteller_state ?= 12
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_04
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 5
						var:1031_saved_storyteller_state ?= 13
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_05
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 6
						var:1031_saved_storyteller_state ?= 14
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_06
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 7
						var:1031_saved_storyteller_state ?= 15
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_07
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 8
						var:1031_saved_storyteller_state ?= 16
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_08
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 9
						var:1031_saved_storyteller_state ?= 1
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_09
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 10
						var:1031_saved_storyteller_state ?= 2
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_10
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 11
						var:1031_saved_storyteller_state ?= 3
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_11
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 12
						var:1031_saved_storyteller_state ?= 4
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_12
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 13
						var:1031_saved_storyteller_state ?= 5
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_13
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 14
						var:1031_saved_storyteller_state ?= 6
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_14
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 15
						var:1031_saved_storyteller_state ?= 7
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_15
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 16
						var:1031_saved_storyteller_state ?= 8
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_16
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 17
						var:1031_saved_storyteller_state ?= 9
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_17
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 18
						var:1031_saved_storyteller_state ?= 10
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_18
			}
			triggered_desc = {
				trigger = {
					OR = {
						var:1031_saved_storyteller_state ?= 19
						var:1031_saved_storyteller_state ?= 11
					}
				}
				desc = ep3_laamp_decision_event.1031.desc_19
			}
		}
		desc = ep3_laamp_decision_event.1031.desc_outro
	}
	theme = landless_adventurer
	override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_learning" }
	override_icon = { reference = "gfx/interface/icons/event_types/type_learning.dds" }
	override_background = {
		trigger = {
			scope:visiting_location = { 1000_is_a_nomadic_holding_trigger = yes }
		}
		reference = bp1_bonfire 
	}
	override_background = {
		trigger = { 
			scope:visiting_location = {
				OR = {
					has_holding_type = tribal_holding
					has_holding_type = nomad_holding
					has_holding_type = herder_holding
				}
			} 
		}
		reference = bp1_kitchen_western
	}
	override_background = { reference = relaxing_room_location }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		triggered_animation = {
			trigger = { has_trait = zealous }
			animation = personality_cynical
		}
		animation = interested
	}
	center_portrait = {
		character = root
		triggered_animation = {
			trigger = { has_trait = eccentric }
			animation = happiness
		}
		triggered_animation = {
			trigger = { has_trait = zealous }
			animation = dismissal
		}
		animation = thinking
	}
	right_portrait = {
		character = scope:laamp_storyteller
		camera = camera_event_scheme_far_right
		animation = storyteller
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#Can we _not_ repeat the loc?
		if = {
			limit = { has_variable = 1031_saved_storyteller_state }
			#We're capped out? Reset.
			if = {
				limit = { var:1031_saved_storyteller_state = 19 }
				remove_variable ?= 1031_saved_storyteller_state
				set_variable = {
					name = 1031_saved_storyteller_state
					value = 1
					years = 10
				}
			}
			#No? Then just increment.
			else = {
				save_scope_value_as = {
					name = 1031_storyteller_state_cache
					value = var:1031_saved_storyteller_state
				}
				remove_variable ?= 1031_saved_storyteller_state
				set_variable = {
					name = 1031_saved_storyteller_state
					value = {
						value = scope:1031_storyteller_state_cache
						add = 1
					}
					years = 10
				}
			}
		}
		#Otherwise set up the counter
		else = {
			set_variable = {
				name = 1031_saved_storyteller_state
				value = {
					#Randomize where we start
					integer_range = {
						min = 1
						max = 16
					}
				}
				years = 10
			}
		}
		#Find our storyteller
		if = {
			#Do we already have a storyteller?
			limit = {
				NOT = { exists = scope:laamp_storyteller }
			}
			#Has this person been our storyteller in the past 10 years?
			random_pool_character = {
				province = scope:visiting_location
				limit = {
					1010_basic_merchant_checks_trigger = yes
					faith = scope:visiting_location.faith
					save_temporary_scope_as = saved_character_check
					#Let's avoid double-dipping
					1010_is_a_saved_storyteller_trigger = yes
					1010_is_a_saved_merchant_trigger = no
					1010_is_a_saved_peddler_trigger = no
					1010_is_a_saved_crier_trigger = no
					1010_is_a_saved_thief_trigger = no
					1010_is_a_saved_healer_trigger = no
					1010_is_a_saved_clergy_trigger = no
					1010_is_a_saved_physician_trigger = no
					1010_is_a_saved_bodyguard_trigger = no
					1010_is_a_saved_weaponsmith_trigger = no
					1010_is_a_saved_armorer_trigger = no
					1010_is_a_saved_jeweler_trigger = no
					1010_is_a_saved_quartermaster_trigger = no
				}
				save_scope_as = laamp_storyteller
			}
			#Otherwise find a storyteller in the pool
			if = {
				limit = { 
					NOT = { exists = scope:laamp_storyteller }
				}
				random_pool_character = {
					province = scope:visiting_location
					limit = { 
						1010_basic_merchant_checks_trigger = yes
						has_trait = lifestyle_reveler
					}
					save_scope_as = laamp_storyteller
				}
			}
			#Otherwise create a storyteller
			if = {
				limit = {
					NOT = { exists = scope:laamp_storyteller }
				}
				#Create storyteller to stuff in pool
				create_character = {
					template = generic_peasant_character
					location = scope:visiting_location
					dynasty = none
					trait = lifestyle_reveler
					culture = scope:visiting_location.culture
					faith = scope:visiting_location.faith
					save_scope_as = laamp_storyteller
				}
			}
			#Make 'em a Reveler
			scope:laamp_storyteller ?= {
				if = {
					limit = {
						NOT = { has_trait = lifestyle_reveler }
					}
					add_trait = lifestyle_reveler
					add_trait_xp = {
						trait = lifestyle_reveler
						value = {
						    integer_range = {
						        min = small_lifestyle_random_xp_mid
						        max = small_lifestyle_random_xp_high
						    }
						}
					}
				}
			}
			#Remember the storyteller
			1010_remember_vendor_character_effect = { GUILD = storyteller CHARACTER = scope:laamp_storyteller }
		}
		#What skill do we buff?
		if = {
			limit = {
				NOT = { exists = scope:1031_skill_to_buff }
			}
			#Roll for which skill to boost
			random_list = {
				1 = {
					save_scope_value_as = {
						name = 1031_skill_to_buff
						value = flag:diplomacy
					}
					save_scope_value_as = {
						name = 1031_skill_to_buff_value
						value = diplomacy
					}
				}
				1 = {
					save_scope_value_as = {
						name = 1031_skill_to_buff
						value = flag:martial
					}
					save_scope_value_as = {
						name = 1031_skill_to_buff_value
						value = martial
					}
				}
				1 = {
					save_scope_value_as = {
						name = 1031_skill_to_buff
						value = flag:stewardship
					}
					save_scope_value_as = {
						name = 1031_skill_to_buff_value
						value = stewardship
					}
				}
				1 = {
					save_scope_value_as = {
						name = 1031_skill_to_buff
						value = flag:intrigue
					}
					save_scope_value_as = {
						name = 1031_skill_to_buff_value
						value = intrigue
					}
				}
				1 = {
					save_scope_value_as = {
						name = 1031_skill_to_buff
						value = flag:learning
					}
					save_scope_value_as = {
						name = 1031_skill_to_buff_value
						value = learning
					}
				}
			}
		}
		#Save the xp trait as a static number
		if = {
			limit = {
				NOR = {
					#We're not already maxed in Wit
					1031_is_max_witty_trigger = yes
					exists = scope:storyteller_xp
				}	
			}
			save_scope_value_as = {
				name = storyteller_xp
				value = {
				    integer_range = {
				        min = small_lifestyle_random_xp_low
				        max = small_lifestyle_random_xp_mid
				    }
				}
			}	
		}
	}
	#Contemplate the story
	option = {
		name = {
			text = {
				first_valid = {
					#Eccentric appreciates this
					triggered_desc = {
						trigger = { has_trait = eccentric }
						desc = ep3_laamp_decision_event.1031.a_eccentric
					}
					#Zealous does not appreciate this
					triggered_desc = {
						trigger = { has_trait = zealous }
						desc = ep3_laamp_decision_event.1031.a_zealous
					}
					#'s alright I guess
					desc = ep3_laamp_decision_event.1031.a
				}
			}
		}
		trigger = {
			custom_tooltip = {
				text = ep3_laamp_decision_event.1031.a.cooldown.tt
				NOT = { has_variable = 1031_has_storied_recently }
			}
		}
		show_as_unavailable = { always = yes }
		#Set the cooldown on the action
		set_variable = {
			name = 1031_has_storied_recently
			days = visit_settlement_minimum_cooldown_days
		}
		#Chance to boost your lowest skill
		1031_boost_lowest_skill_effect = yes
		if = {
			limit = {
				has_trait = zealous
				NOT = { has_trait = eccentric }
			}
			stress_impact = { zealous = miniscule_stress_impact_gain }
		}
		#Set the variables and redirect us back to the tavern main room
		1031_storied_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				has_variable = 1031_skill_gain_variable
				var:1031_skill_gain_variable < visit_settlement_skill_gain_cap_value
				add = 400 #Just do it
			}
		}
	}
	#Learn revelry or strong-arm the skill gain
	option = {
		name = {
			text = {
				first_valid = {
					#I know this one!
					triggered_desc = {
						trigger = { 1031_is_max_witty_trigger = yes }
						desc = ep3_laamp_decision_event.1031.b_reveler
					}
					#Yeeh narration!
					desc = ep3_laamp_decision_event.1031.b
				}
			}
		}
		trigger = {
			#Put a cooldown on strongarming it
			trigger_if = {
				limit = { 1031_is_max_witty_trigger = yes }
				custom_tooltip = {
					text = ep3_laamp_decision_event.1031.b.cooldown.tt
					NOT = { has_variable = 1031_has_reveled_recently }
				}
			}
			#If we're zealous, we also need to be eccentric
			trigger_if = {
				limit = { has_trait = zealous }
				has_trait = eccentric
			}
			#Trigger for everyone else
			trigger_else = {
				always = yes
			}
		}
		show_as_unavailable = {
			#Hide if what you're missing is a trait
			trigger_if = {
				limit = { 
					has_trait = zealous
					NOT = { has_trait = eccentric }
				}
				always = no
			}
			trigger_else = { always = yes }	
		}
		#Strongarm it
		if = {
			limit = { 1031_is_max_witty_trigger = yes }
			1031_actual_skill_increase_effect = yes
			#Set the cooldown on the action
			set_variable = {
				name = 1031_has_reveled_recently
				months = visit_settlement_small_cooldown_days
			}
			stress_impact = {
				base = medium_stress_impact_gain
				ambitious = minor_stress_impact_loss
			}
		}
		#Otherwise learn something
		else = { 
			#Pay up
			pay_short_term_gold = {
				target = scope:laamp_storyteller
				gold = minor_gold_laamps_value
			}
			#Gain trait
			if = {
				limit = {
					NOT = { has_trait = tourney_participant }
				}
				add_trait = tourney_participant
				add_trait_xp = {
					trait = tourney_participant
					track = wit
					value = scope:storyteller_xp
				}
			}
			#Or be educated
			else = {
				add_trait_xp = {
					trait = tourney_participant
					track = wit
					value = scope:storyteller_xp
				}
			}
		}
		#Set the variables and redirect us back to the tavern main room
		1031_storied_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				1031_is_max_witty_trigger = no
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
			modifier = {
				1031_is_max_witty_trigger = yes
				stress_level > 1
				factor = 0
			}
		}
	}
	#Stress relief
	option = {
		name = {
			text = {
				first_valid = {
					#Blasphemy!
					triggered_desc = { 
						trigger = { has_trait = zealous }
						desc = ep3_laamp_decision_event.1031.c_zealous
					}
					#_I_ was entertained
					desc = ep3_laamp_decision_event.1031.c
				}
			}
		}
		trigger = {
			#Put a cooldown on relaxation
			custom_tooltip = {
				text = ep3_laamp_decision_event.1031.c.cooldown.tt
				NOT = { has_variable = 1031_has_relaxed_recently }
			}
		}
		show_as_unavailable = { always = yes }
		#Heathens!
		if = {
			limit = { has_trait = zealous }
			add_piety = minor_piety_gain
		}
		#Took my mind off of things
		stress_impact = { 
			base = miniscule_stress_impact_loss
			zealous = minor_stress_impact_loss
		}
		#Set the cooldown on the action
		set_variable = {
			name = 1031_has_relaxed_recently
			months = visit_settlement_minimum_cooldown_days
		}
		#Set the variables and redirect us back to the tavern main room
		1031_storied_effect = yes
		ai_chance = {
			base = 200 #Just do it
		}
	}
	#I want to go back
	option = {
		name = ep3_laamp_decision_event.1031.d
		#If you can't do anything, go in here, see the cooldown dates, go out and then we grey out the option
		if = {
			limit = {
				has_variable = 1031_has_storied_recently
				has_variable = 1031_has_reveled_recently
				has_variable = 1031_has_relaxed_recently
			}
			#Set the variables and redirect us back to the tavern main room
			1031_storied_effect = yes
		}
		else = {
			#Set the variables and redirect us back to the tavern main room
			1031_been_to_effect = { GUILD = storyteller }
		}
		ai_chance = { base = 100 }
	}
	after = {
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:storyteller }
	}
}


#Set the correct variable to block off the Recruitment option and remove the desc flavor variable
scripted_effect 1033_recruited_effect = {
	save_scope_as = laamp_decision_has_recruited
	#Go back to the tavern main room
	hidden_effect = { 1031_return_to_tavern_effect = yes }
}

#Tombola!
scripted_effect 1033_generate_character_effect = {
	random_list = {
		#Generic
		60 = {
			create_character = {
				template = generic_peasant_character
				location = scope:visiting_location
				dynasty = none
				culture = scope:visiting_location.culture
				faith = scope:visiting_location.faith
				diplomacy = { decent_skill_rating high_skill_rating }
				save_scope_as = 1033_new_character
			}
		}
		#Diplomacy
		10 = {
			#Some variation
			modifier = {
				scope:visiting_location = {
					OR = {
						has_holding_type = tribal_holding
						has_holding_type = nomad_holding
						has_holding_type = herder_holding
					}
				}
				factor = 2
			}
			create_character = {
				template = bp1_yearly_2021_diplomacy_person_template
				location = scope:visiting_location
				dynasty = none
				culture = scope:visiting_location.culture
				faith = scope:visiting_location.faith
				diplomacy = { decent_skill_rating high_skill_rating }
				save_scope_as = 1033_new_character
			}
		}
		#Martial
		10 = {
			modifier = {
				scope:visiting_location = { has_holding_type = castle_holding }
				factor = 2
			}
			create_character = {
				template = bp1_yearly_2021_martial_person_template
				location = scope:visiting_location
				dynasty = none
				culture = scope:visiting_location.culture
				faith = scope:visiting_location.faith
				martial = { decent_skill_rating high_skill_rating }
				save_scope_as = 1033_new_character
			}
		}
		#Stewardship
		10 = {
			modifier = {
				scope:visiting_location = { has_holding_type = city_holding }
				factor = 2
			}
			create_character = {
				template = bp1_yearly_2021_stewardship_person_template
				location = scope:visiting_location
				dynasty = none
				culture = scope:visiting_location.culture
				faith = scope:visiting_location.faith
				stewardship = { decent_skill_rating high_skill_rating }
				save_scope_as = 1033_new_character
			}
		}
		#Intrigue
		10 = {
			modifier = {
				scope:visiting_location = {
					OR = {
						has_holding_type = tribal_holding
						has_holding_type = nomad_holding
						has_holding_type = herder_holding
					}
				}
				factor = 2
			}
			create_character = {
				template = bp1_yearly_2021_intrigue_person_template
				location = scope:visiting_location
				dynasty = none
				culture = scope:visiting_location.culture
				faith = scope:visiting_location.faith
				intrigue = { decent_skill_rating high_skill_rating }
				save_scope_as = 1033_new_character
			}
		}
		#Learning
		10 = {
			modifier = {
				scope:visiting_location = { 
					OR = {
						has_holding_type = church_holding
						has_holding_type = temple_citadel_holding
					}
				}
				factor = 2
			}
			create_character = {
				template = bp1_yearly_2021_learning_person_template
				location = scope:visiting_location
				dynasty = none
				culture = scope:visiting_location.culture
				faith = scope:visiting_location.faith
				learning = { decent_skill_rating high_skill_rating }
				save_scope_as = 1033_new_character
			}
		}
		#... witch
		5 = {
			modifier = {
				scope:visiting_location = {
					OR = {
						has_holding_type = tribal_holding
						has_holding_type = nomad_holding
						has_holding_type = herder_holding
					}
				}
				factor = 2
			}
			create_character = {
				template = bp1_yearly_2021_learning_witch_template
				location = scope:visiting_location
				dynasty = none
				culture = scope:visiting_location.culture
				faith = scope:visiting_location.faith
				learning = { decent_skill_rating high_skill_rating }
				save_scope_as = 1033_new_character
			}
		}
	}
	scope:1033_new_character ?= {
		#Chance to add a malus trait to this spectatular being
		if = {
			limit = { 
				NOR = { 
					has_trait = possessed_1 
					has_trait = lunatic_1
					has_trait = depressed_1
					has_trait = drunkard
					has_trait = hashishiyah
					has_trait = irritable
				}
			}
			hidden_effect = {
				random = {
					chance = 20
					random_list = {
						10 = { add_trait = possessed_1 }
						10 = { add_trait = lunatic_1 }
						10 = { add_trait = depressed_1 }
						10 = { add_trait = drunkard }
						10 = { add_trait = hashishiyah }
						10 = { add_trait = irritable }
					}
				}
			}
		}
	}
	if = {
		limit = { scope:laamp_first_recruit ?= $SCOPE$ }
		scope:1033_new_character = { save_scope_as = laamp_first_recruit }
	}
	if = {
		limit = { scope:laamp_second_recruit ?= $SCOPE$ }
		scope:1033_new_character = { save_scope_as = laamp_second_recruit }
	}
	if = {
		limit = { scope:laamp_third_recruit ?= $SCOPE$ }
		scope:1033_new_character = { save_scope_as = laamp_third_recruit }
	}
}

#Used enough to warrant an effect
scripted_effect 1033_add_courtier_with_opinion_effect = {
	if = {
		limit = {
			has_perk = professional_workforce_perk
		}
		$TARGET$ = {
			if = {
				limit = {
					highest_skill_including_prowess = prowess
				}
				add_prowess_skill = 5
			}
			else_if = {
				limit = {
					highest_skill = intrigue
				}
				add_intrigue_skill = 5
			}
			else_if = {
				limit = {
					highest_skill = martial
				}
				add_martial_skill = 5
			}
			else_if = {
				limit = {
					highest_skill = stewardship
				}
				add_stewardship_skill = 5
			}
			else_if = {
				limit = {
					highest_skill = diplomacy
				}
				add_diplomacy_skill = 5
			}
			else_if = {
				limit = {
					highest_skill = learning
				}
				add_learning_skill = 5
			}
			hidden_effect = {
				force_character_skill_recalculation = yes
			}
		}
	}
	add_courtier = $TARGET$
	hidden_effect = {
		$TARGET$ = {
			add_opinion = {
				modifier = recruited_me_opinion
				target = root
				opinion = 50
			}
		}
	}
}

scripted_effect 1033_set_cost_effect = {
	save_scope_value_as = {
		name = $VALUE_NAME$_sum_skills
		value = {
			add = $CHARACTER$.diplomacy
			add = $CHARACTER$.martial
			add = $CHARACTER$.stewardship
			add = $CHARACTER$.intrigue
			add = $CHARACTER$.learning
			add = $CHARACTER$.prowess
		}
	}
	save_scope_value_as = {
        name = $VALUE_NAME$
        value = {
            integer_range = {
                min = medium_gold_laamps_value
                max = major_gold_laamps_value
            }
            #Cheaper out in the wilds
            if = {
                limit = { 
                    scope:visiting_location = {
						OR = {
							has_holding_type = tribal_holding
							has_holding_type = nomad_holding
							has_holding_type = herder_holding
						}
					}
                }
                multiply = 0.6
            }
            if = { #They're stellar? More expensive. :elmofire:
                limit = { scope:$VALUE_NAME$_sum_skills >= 120 } #Good in all skills?
                multiply = 8 #20 in all skills
            }
            else_if = {
                limit = { scope:$VALUE_NAME$_sum_skills >= 100 } #Good in four skills?
                multiply = 5
            }
            else_if = {
                limit = { scope:$VALUE_NAME$_sum_skills >= 80 } #Good in three skills?
                multiply = 4
            }
            else_if = {
                limit = { scope:$VALUE_NAME$_sum_skills >= 60 } #Good in two skills?
                multiply = 3
            }
            else_if = {
                limit = { scope:$VALUE_NAME$_sum_skills >= 40 } #Good in one-and-a-half skill? Should be roughly 90-110 gold
                multiply = 2.5
            }
            else_if = {
                limit = { scope:$VALUE_NAME$_sum_skills >= 20 } #Good in one skill?
                multiply = 1.5
            }
            #Add perk discounts and other things here.
        }
    }
}

#This is a remotely interesting character
scripted_trigger 1033_has_interesting_skillset_trigger = {
	OR = {
		diplomacy > high_skill_rating
		martial > high_skill_rating
		stewardship > high_skill_rating
		intrigue > high_skill_rating
		learning > high_skill_rating
		prowess > high_skill_rating
	}
}


#Recruitment 
ep3_laamp_decision_event.1033 = {
	type = character_event
	title = ep3_laamp_decision_event.1033.t
	window = visit_settlement_window
	desc = {
		#What's going down in the recruitment corner
		first_valid = {
			#We've returned to this scene, now what
			#RETURN: We have three recruits
			random_valid = {
				triggered_desc = { 
					trigger = {
						NOT = { exists = scope:laamp_generic_jane }
						exists = scope:been_to_recruit
						scope:recruit_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1033.desc_returned_01
				}
				triggered_desc = { 
					trigger = {
						NOT = { exists = scope:laamp_generic_jane }
						scope:recruit_loc_tracker ?= 1 
					}
					desc = ep3_laamp_decision_event.1033.desc_returned_02
				}
			}
			#RETURN: We have two recruits, and Jane
			random_valid = {
				triggered_desc = { 
					trigger = { 
						exists = scope:been_to_recruit
						scope:recruit_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1033.desc_returned_jane_01
				}
				triggered_desc = { 
					trigger = { scope:recruit_loc_tracker ?= 1 }
					desc = ep3_laamp_decision_event.1033.desc_returned_jane_02
				}
			}
			#FIRST TIME:
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_recruit }
				}
				desc = ep3_laamp_decision_event.1033.desc
			}	
		}
		#Do we have two or three potential recruits?
		first_valid = {
			triggered_desc = {
				trigger = {
					exists = scope:laamp_generic_jane
					NOT = { exists = scope:been_to_recruit }
				}
				desc = ep3_laamp_decision_event.1033.desc_mid_two
			}
			triggered_desc = {
				trigger = {
					NOT = { 
						exists = scope:been_to_recruit
						exists = scope:laamp_generic_jane
					}
				}
				desc = ep3_laamp_decision_event.1033.desc_mid_three
			}
		}
		#OUTRO:
		first_valid = {
			#We have a Visiting Partner
			triggered_desc = {
				trigger = {
					exists = scope:visiting_partner
					NOT = { exists = scope:laamp_generic_jane }
				}
				desc = ep3_laamp_decision_event.1033.desc_partner_outro
			}
			#We have a Generic Jane
			triggered_desc = {
				trigger = {
					exists = scope:laamp_generic_jane
					NOT = { exists = scope:been_to_recruit }
				}
				desc = ep3_laamp_decision_event.1033.desc_jane_outro
			}
			triggered_desc = {
				trigger = { exists = scope:laamp_generic_jane }
				desc = ep3_laamp_decision_event.1033.desc_returned_jane_outro
			}
			#We have no Visiting Partner or Generic Jane
			desc = ep3_laamp_decision_event.1033.desc_outro
		}
	}
	theme = landless_adventurer
	override_icon = { reference = "gfx/interface/icons/event_types/type_duty.dds" }
	override_background = { reference = feast }
	#Our recruits
	left_portrait = {
		trigger = { exists = scope:1033_first_character }
		character = scope:1033_first_character
		triggered_animation = {
			trigger = { 
				scope:recruit_loc_tracker ?= 1
				NOT = { scope:1033_first_character ?= scope:visiting_partner }
			}
			animation = flirtation
		}
		#Friendly
		triggered_animation = {
			trigger = { 
				scope:1033_first_character = { 1010_has_friendly_traits = yes } 
			}
			animation = admiration
		}
		#Business-minded
		triggered_animation = {
			trigger = { 
				scope:1033_first_character = { 1010_has_commerce_traits = yes } 
			}
			animation = schadenfreude
		}
		#Uninterested
		triggered_animation = {
			trigger = { 
				scope:1033_first_character = { 1010_has_uninterested_traits = yes } 
			}
			animation = personality_cynical
		}
		#Irrational
		triggered_animation = {
			trigger = { 
				scope:1033_first_character = { 1010_has_irrational_traits = yes } 
			}
			animation = personality_irrational
		}
		#A bit awkward
		triggered_animation = {
			trigger = { 
				scope:1033_first_character = { 1010_has_standoffish_traits = yes } 
			}
			animation = shame
		}
		animation = interested
	}
	center_portrait = {
		character = scope:1033_second_character
		triggered_animation = {
			trigger = { 
				scope:recruit_loc_tracker ?= 1
				scope:1033_second_character != root
			}
			animation = worry
		}
		#Friendly
		triggered_animation = {
			trigger = { 
				scope:1033_second_character = { 1010_has_friendly_traits = yes } 
			}
			animation = personality_compassionate
		}
		#Business-minded
		triggered_animation = {
			trigger = { 
				scope:1033_second_character = { 1010_has_commerce_traits = yes } 
			}
			animation = personality_dishonorable
		}
		#Uninterested
		triggered_animation = {
			trigger = { 
				scope:1033_second_character = { 1010_has_uninterested_traits = yes } 
			}
			animation = personality_callous
		}
		#Irrational
		triggered_animation = {
			trigger = { 
				scope:1033_second_character = { 1010_has_irrational_traits = yes } 
			}
			animation = laugh
		}
		#A bit awkward
		triggered_animation = {
			trigger = { 
				scope:1033_second_character = { 1010_has_standoffish_traits = yes } 
			}
			animation = disbelief
		}
		animation = hero_flex
	}
	right_portrait = {
		trigger = { exists = scope:1033_third_character }
		character = scope:1033_third_character
		camera = camera_event_scheme_center_forward
		triggered_animation = {
			trigger = { exists = scope:laamp_generic_jane }
			animation = personality_zealous
		}
		triggered_animation = {
			trigger = { 
				scope:recruit_loc_tracker ?= 1
				NOT = { exists = scope:laamp_generic_jane }
			}
			animation = disapproval
		}
		#Friendly
		triggered_animation = {
			trigger = { 
				scope:1033_third_character = { 1010_has_friendly_traits = yes } 
			}
			animation = personality_forgiving
		}
		#Business-minded
		triggered_animation = {
			trigger = { 
				scope:1033_third_character = { 1010_has_commerce_traits = yes } 
			}
			animation = personality_greedy
		}
		#Uninterested
		triggered_animation = {
			trigger = { 
				scope:1033_third_character = { 1010_has_uninterested_traits = yes } 
			}
			animation = disapproval
		}
		#Irrational
		triggered_animation = {
			trigger = { 
				scope:1033_third_character = { 1010_has_irrational_traits = yes } 
			}
			animation = eccentric
		}
		#A bit awkward
		triggered_animation = {
			trigger = { 
				scope:1033_third_character = { 1010_has_standoffish_traits = yes } 
			}
			animation = personality_coward
		}
		animation = scheme
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#For the background
		scope:visiting_location.county.holder = { save_scope_as = bg_override_char }
		#Can we _not_ repeat the loc?
		1025_set_and_check_scene_loc_tracker_scope_effect = { SCENE = recruit }
		#Create the characters
		if = {
			limit = {
				NOT = { exists = scope:laamp_first_recruit }
			}
			#First character
			random_pool_character = {
				province = scope:visiting_location
				limit = { 
					1010_basic_merchant_checks_trigger = yes
					#Remotely interesting
					1033_has_interesting_skillset_trigger = yes
				}
				save_scope_as = laamp_first_recruit
			}
			#Otherwise create 'em
			if = {
				limit = {
					NOT = { exists = scope:laamp_first_recruit }
				}
				#Create first recruit to stuff in pool
				save_scope_as = laamp_first_recruit
				1033_generate_character_effect = { SCOPE = scope:laamp_first_recruit }
			}
			#Set their cost
			1033_set_cost_effect = { CHARACTER = scope:laamp_first_recruit VALUE_NAME = first_recruit_cost }
			#Second character
			random_pool_character = {
				province = scope:visiting_location
				limit = { 
					1010_basic_merchant_checks_trigger = yes
					#Remotely interesting
					1033_has_interesting_skillset_trigger = yes
					this != scope:laamp_first_recruit
				}
				save_scope_as = laamp_second_recruit
			}
			#Otherwise create 'em
			if = {
				limit = {
					NOT = { exists = scope:laamp_second_recruit }
				}
				#Create second recruit to stuff in pool
				save_scope_as = laamp_second_recruit
				1033_generate_character_effect = { SCOPE = scope:laamp_second_recruit }
			}
			#Set their cost
			1033_set_cost_effect = { CHARACTER = scope:laamp_second_recruit VALUE_NAME = second_recruit_cost }
			#You have no one? Well. Have a generic Joe
			if = {
				limit = { 
					any_courtier = { count <= 2 }
				}
				#Grab someone random
				random_pool_character = {
					province = scope:visiting_location
					limit = { 
						1010_basic_merchant_checks_trigger = yes
						is_available_healthy_adult = yes
						NOR = { 
							this = scope:laamp_first_recruit 
							this = scope:laamp_second_recruit
						}
					}
					#More fun this way
					weight = {
						base = 1
						modifier = {
							any_secret = { exists = this }
							factor = 2
						}
					}
					save_scope_as = laamp_generic_jane
				}
				#Otherwise create 'em
				if = {
					limit = {
						NOT = { exists = scope:laamp_generic_jane }
					}
					#Create generic to stuff in pool
					create_character = {
						template = generic_peasant_character
						location = scope:visiting_location
						dynasty = none
						culture = scope:visiting_location.culture
						faith = scope:visiting_location.faith
						save_scope_as = laamp_generic_jane
					}
					#... you didn't think it would be _that_ easy, right?
					scope:laamp_generic_jane ?= {
						hidden_effect = {
							random = {
								chance = 20
								random_list = {
									#Have a murderer
									10 = { 
										trigger = { is_murderer_trigger = no }
							    		#Create a victim to kill
								    	create_character = {
											template = generic_peasant_character
											culture = scope:visiting_location.location.county.culture
											faith = scope:visiting_location.location.county.faith
											location = scope:visiting_location.location
											after_creation = { set_to_lowborn = yes }
											save_scope_as = 1030_previous_victim
										}
										scope:1030_previous_victim = {
											death = {
												death_reason = death_murder
												killer = scope:laamp_generic_jane
											}
										}
										#Set up secret
										scope:laamp_generic_jane = {
											add_secret = {
												type = secret_murder
												target = scope:1030_previous_victim
											}
										}
									}
									#Or a witch
									10 = { 
										trigger = { is_witch_trigger = no }
										add_secret = { type = secret_witch }
									}
									#Or a cannibal
									10 = { 
										trigger = { is_cannibal_trigger = no }
										add_secret = { type = secret_cannibal }
									}
									#Maybe a deviant?
									10 = { 
										trigger = { is_deviant_trigger = no }
										add_secret = { type = secret_deviant }
									}
								}		
							}
						}
					}
				}
			}
			#Third character
			if = {
				limit = {
					NOT = { exists = scope:laamp_generic_jane }
				}
				random_pool_character = {
					province = scope:visiting_location
					limit = { 
						1010_basic_merchant_checks_trigger = yes
						#Remotely interesting
						1033_has_interesting_skillset_trigger = yes
						NOR = { 
							this = scope:laamp_first_recruit 
							this = scope:laamp_second_recruit
						}
					}
					save_scope_as = laamp_third_recruit
				}
				if = {
					limit = {
						NOT = { exists = scope:laamp_third_recruit }
					}
					#Create third recruit to stuff in pool
					save_scope_as = laamp_third_recruit
					1033_generate_character_effect = { SCOPE = scope:laamp_third_recruit }
				}	
				#Set their cost
				if = {
					limit = { exists = scope:laamp_third_recruit }
					1033_set_cost_effect = { CHARACTER = scope:laamp_third_recruit VALUE_NAME = third_recruit_cost }
				}
			}
		}
		#Determine whom to display
		if = {
			limit = {
				NOT = { exists = scope:1033_second_character }
			}
			if = {
				limit = { exists = scope:laamp_first_recruit }
				scope:laamp_first_recruit = { save_scope_as = 1033_first_character }
			}
			if = {
				limit = { exists = scope:laamp_second_recruit }
				scope:laamp_second_recruit = { save_scope_as = 1033_second_character }
			}
			if = {
				limit = { exists = scope:laamp_generic_jane }
				scope:laamp_generic_jane = { save_scope_as = 1033_third_character }
			}
			if = {
				limit = {
					NOT = { exists = scope:1033_third_character }
					exists = scope:laamp_third_recruit
				}
				scope:laamp_third_recruit = { save_scope_as = 1033_third_character }
			}
			if = {
				limit = {
					NOT = { exists = scope:1033_first_character }
					exists = scope:visiting_partner
				}
				scope:visiting_partner = { save_scope_as = 1033_first_character }
			}
			if = {
				limit = {
					NOT = { exists = scope:1033_second_character }
				}
				save_scope_as = 1033_second_character
			}
		}
	}
	#Recruit character A
	option = {
		name = ep3_laamp_decision_event.1033.a
		#Pay gold
		pay_short_term_gold = {
			target = scope:laamp_first_recruit
			gold = scope:first_recruit_cost
		}
		#Hire wo/manpower
		1033_add_courtier_with_opinion_effect = { TARGET = scope:laamp_first_recruit }
		#Set the variables and redirect us back to the tavern main room
		1033_recruited_effect = yes
		#Rewards for the Camp Party
		hidden_effect = {
			if = {
				limit = {
					has_character_flag = better_recruitment_visit_holding_flag
				}
				scope:laamp_first_recruit = {
					ep3_camp_party_visit_holding_skills_boost = yes
				}
			}
		}
		ai_chance = {
			base = 50
			modifier = {
				short_term_gold < scope:first_recruit_cost
				short_term_gold < laamp_ai_spending_pants_value
				any_courtier = { count <= 2 }
				factor = 0
			}
		}
	}
	#Recruit character B
	option = {
		name = ep3_laamp_decision_event.1033.b
		#Pay gold
		pay_short_term_gold = {
			target = scope:laamp_second_recruit
			gold = scope:second_recruit_cost
		}
		#Hire wo/manpower
		1033_add_courtier_with_opinion_effect = { TARGET = scope:laamp_second_recruit }
		#Set the variables and redirect us back to the tavern main room
		1033_recruited_effect = yes
		hidden_effect = {
			if = {
				limit = {
					has_character_flag = better_recruitment_visit_holding_flag
				}
				scope:laamp_second_recruit = {
					ep3_camp_party_visit_holding_skills_boost = yes
				}
			}
		}
		ai_chance = {
			base = 50
			modifier = {
				short_term_gold < scope:second_recruit_cost
				short_term_gold < laamp_ai_spending_pants_value
				any_courtier = { count <= 2 }
				factor = 0
			}
		}
	}
	#Recruit character C
	option = {
		name = ep3_laamp_decision_event.1033.c
		trigger = {
			NOT = { exists = scope:laamp_generic_jane }
		}
		#Pay gold
		pay_short_term_gold = {
			target = scope:laamp_third_recruit
			gold = scope:third_recruit_cost
		}
		#Hire wo/manpower
		1033_add_courtier_with_opinion_effect = { TARGET = scope:laamp_third_recruit }
		#Set the variables and redirect us back to the tavern main room
		1033_recruited_effect = yes
		hidden_effect = {
			if = {
				limit = {
					has_character_flag = better_recruitment_visit_holding_flag
				}
				scope:laamp_third_recruit = {
					ep3_camp_party_visit_holding_skills_boost = yes
				}
			}
		}
		ai_chance = {
			base = 50
			modifier = {
				short_term_gold < scope:third_recruit_cost
				short_term_gold < laamp_ai_spending_pants_value
				any_courtier = { count <= 2 }
				factor = 0
			}
		}
	}
	#Generic Jane keeps waving their hand
	option = {
		name = ep3_laamp_decision_event.1033.d
		trigger = { 
			custom_tooltip = {
				text = ep3_laamp_decision_event.1033.d.cooldown.tt
				NOT = { has_variable = 1033_generic_jane_cooldown }
				exists = scope:laamp_generic_jane
			}
		}
		show_as_unavailable = {
			#Show that it's unavailable if it would actually be available
			trigger_if = {
				limit = {
					exists = scope:laamp_generic_jane
					has_variable = 1033_generic_jane_cooldown
				}
				always = yes
			}
			trigger_else = { always = no }
		}
		#Add 'em
		1033_add_courtier_with_opinion_effect = { TARGET = scope:laamp_generic_jane }
		set_variable = {
			name = 1033_generic_jane_cooldown
			days = visit_settlement_minimum_cooldown_days
		}
		#Set the variables and redirect us back to the tavern main room
		1033_recruited_effect = yes
		hidden_effect = {
			if = {
				limit = {
					has_character_flag = better_recruitment_visit_holding_flag
				}
				scope:laamp_generic_jane = {
					ep3_camp_party_visit_holding_skills_boost = yes
				}
			}
		}
		ai_chance = {
			base = 1000 #Just do it
		}
	}
	#I want to go back
	option = {
		name = ep3_laamp_decision_event.1033.e
		#Set the variables and redirect us back to the tavern main room
		1031_been_to_effect = { GUILD = recruit }
		ai_chance = {
			base = 100
			modifier = {
				has_trait = greedy
				factor = 2
			}
		}
	}
	after = {
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:recruit }
	}
}


#Set the correct variable to block off the Spouse option and remove the desc flavor variable
scripted_effect 1035_spoused_effect = {
	save_scope_value_as = {
		name = laamp_decision_has_spoused
		value = flag:yes
	}
	#Cooldown for prowling
	set_variable = {
		name = 1035_has_spoused_recently
		days = visit_settlement_minimum_cooldown_days
	}
	#Go back to the tavern main room
	hidden_effect = { 1031_return_to_tavern_effect = yes }
}


#Spouse material
ep3_laamp_decision_event.1035 = {
	type = character_event
	title = ep3_laamp_decision_event.1035.t
	window = visit_settlement_window
	desc = {
		#Well, hello there
		first_valid = {
			#We've returned to this scene, now what
			#RETURN: Generics
			random_valid = {
				triggered_desc = { 
					trigger = { 
						exists = scope:been_to_spouse
						scope:spouse_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1035.desc_returned_01
				}
				triggered_desc = { 
					trigger = { scope:spouse_loc_tracker ?= 1 }
					desc = ep3_laamp_decision_event.1035.desc_returned_02
				}
			}
			#FIRST TIME: We've seen this spouse-r before
			triggered_desc = {
				trigger = {
					exists = scope:laamp_recurring_spouse
					NOT = { exists = scope:been_to_spouse }
				}
				desc = ep3_laamp_decision_event.1035.desc_reused_spouse
			}
			#FIRST TIME:
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_spouse }
				}
				desc = ep3_laamp_decision_event.1035.desc
			}	
		}
	}
	theme = seduction
	override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_seduction" }
	override_background = {
		trigger = { 1000_is_a_nomadic_holding_trigger = yes }
		reference = ep3_military_tent #Give me other variations - like a yurt - and I'll use a yurt. Otherwise you get a tent.
	}
	override_background = {
		trigger = { 
			scope:visiting_location = {
				OR = {
					has_holding_type = tribal_holding
					has_holding_type = nomad_holding
					has_holding_type = herder_holding
				}
			} 
		}
		reference = tavern
	}
	override_background = { reference = tavern }
	center_portrait = {
		character = root
		camera = camera_event_scheme_vs_right_look_right
		triggered_animation = {
			trigger = { 
				OR = {
					has_trait = paranoid
					has_trait = craven
					has_trait = shy
				}
			}
			animation = shame
		}
		animation = ecstasy
	}
	right_portrait = {
		character = scope:laamp_spouse_material
		#First time engaging them
		triggered_animation = {
			trigger = {
				NOT = { exists = scope:been_to_spouse }
			}
			animation = personality_callous
		}
		animation = personality_cynical
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#Run this once: Re-save the portrait so the Spouse is not the 1030_second_character / 1030_third_character
		if = {
			limit = { scope:1030_second_character ?= scope:laamp_spouse_material }
			#If we have a partner, shuffle the portraits
			if = {
				limit = { exists = scope:visiting_partner }
				#Move ROOT into the second character slot
				save_scope_as = 1030_second_character
				scope:visiting_partner = { save_scope_as = 1030_first_character }
			}
			#Otherwise overwrite the portrait with ROOT to disappear the second one
			else = { save_scope_as = 1030_second_character }
		}
		else_if = {
			limit = { scope:1030_third_character ?= scope:laamp_spouse_material }
			#Overwrite the portrait with ROOT to disappear the third one
			save_scope_as = 1030_third_character
			#And move ROOT into the second character slot
			save_scope_as = 1030_second_character
		}
		#Can we _not_ repeat the loc?
		1025_set_and_check_scene_loc_tracker_scope_effect = { SCENE = spouse }
		#Remember this potential spouse -- for a while, at least
		add_to_variable_list = {
			name = 1025_remembered_spouse_potential_list
			target = scope:laamp_spouse_material
			days = visit_settlement_minimum_cooldown_days
		}
		#Set the drink cost
		if = {
			limit = {
				NOT = { exists = scope:spouse_drink_cost }
			}
			save_scope_value_as = {
				name = spouse_drink_cost
				value = {
					integer_range = {
					    min = tiny_gold_laamps_value
					    max = minor_gold_laamps_value
					}
				}
			}
		}
		#Pick a pick-up line
		if = {
			limit = {
				NOT = { exists = scope:1035_saved_pickup_line }
			}
			random_list = {
				10 = {
					save_scope_value_as = {
						name = 1035_saved_pickup_line
						value = flag:first
					}
				}
				10 = {
					save_scope_value_as = {
						name = 1035_saved_pickup_line
						value = flag:second
					}
				}
				10 = {
					save_scope_value_as = {
						name = 1035_saved_pickup_line
						value = flag:third
					}
				}
				10 = {
					save_scope_value_as = {
						name = 1035_saved_pickup_line
						value = flag:fourth
					}
				}
				10 = {
					save_scope_value_as = {
						name = 1035_saved_pickup_line
						value = flag:fifth
					}
				}
			}
		}	
	}
	#Buy 'em a drink
	option = {
		name = ep3_laamp_decision_event.1035.a
		#Pay gold
		remove_short_term_gold = scope:spouse_drink_cost
		#Have them join your camp
		1033_add_courtier_with_opinion_effect = { TARGET = scope:laamp_spouse_material } 
		#Set the variables and redirect us back to the tavern main room
		1035_spoused_effect = yes
		ai_chance = {
			base = 300
			modifier = {
				short_term_gold < scope:spouse_drink_cost
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
		}
	}
	#Intrigue Duel
	option = {
		name = {
			text = {
				first_valid = {
					triggered_desc = {
						trigger = { scope:1035_saved_pickup_line ?= flag:first }
						desc = ep3_laamp_decision_event.1035.b_first
					}
					triggered_desc = {
						trigger = { scope:1035_saved_pickup_line ?= flag:second }
						desc = ep3_laamp_decision_event.1035.b_second
					}
					triggered_desc = {
						trigger = { scope:1035_saved_pickup_line ?= flag:third }
						desc = ep3_laamp_decision_event.1035.b_third
					}
					triggered_desc = {
						trigger = { scope:1035_saved_pickup_line ?= flag:fourth }
						desc = ep3_laamp_decision_event.1035.b_fourth
					}
					triggered_desc = {
						trigger = { scope:1035_saved_pickup_line ?= flag:fifth }
						desc = ep3_laamp_decision_event.1035.b_fifth
					}
					#Fallback
					desc = ep3_laamp_decision_event.1035.b_fallback
				}
			}
		}
		trigger = {
			custom_tooltip = {
				text = ep3_laamp_decision_event.1035.b.cooldown.tt
				NOT = { has_variable = 1035_spouse_duelled_recently }
			}
		}
		show_as_unavailable = { always = yes }
		duel = {
			skill = intrigue
			value = average_skill_rating
			#Success: Hire 'em up
			50 = {		
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				desc = ep3_laamp_decision_event.1035.b.success
				send_interface_toast = {
					title = ep3_laamp_decision_event.1035.b.success
					left_icon = root
					right_icon = scope:laamp_spouse_material
					#Yippee!
					1033_add_courtier_with_opinion_effect = { TARGET = scope:laamp_spouse_material }
					#This 'finished' is different since it changes between flag:yes and flag:no
					1035_spoused_effect = yes
				}
			}
			#Failure: Bye, now
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -20
				}	
				desc = ep3_laamp_decision_event.1035.b.failure
				send_interface_toast = {
					type = event_toast_text_bad
					title = ep3_laamp_decision_event.1035.b.failure
					desc = ep3_laamp_decision_event.1035.b.failure.tt
					left_icon = root
					right_icon = scope:laamp_spouse_material
					#Oh well
					custom_tooltip = ep3_laamp_decision_event.1035.b.failure.tt
					#This 'finished' is different since it changes between flag:yes and flag:no
					save_scope_value_as = {
						name = laamp_decision_has_spoused
						value = flag:no
					}
					#Go back to the tavern main room
					1031_return_to_tavern_effect = yes
				}
			}
		}
		#Cooldown for the action
		set_variable = {
			name = 1035_spouse_duelled_recently
			days = visit_settlement_minimum_cooldown_days
		}
		ai_chance = { base = 200 }
	}
	#Triggered Option: Seducer
	option = {
		name = ep3_laamp_decision_event.1035.c
		trigger = { 
			has_trait = seducer
			is_ai = no
			trigger_if = {
				limit = { has_variable = 1035_spouse_unwinded_recently }
				custom_tooltip = {
					text = ep3_laamp_decision_event.1035.c.cooldown.tt
					always = no
				}
			}
		}
		show_as_unavailable = { always = yes } 
		#Pick 'em up
		progress_towards_lover_effect = {
			CHARACTER = scope:laamp_spouse_material
			REASON = lover_tavern_hookup
			OPINION = 50
		}
		add_courtier = scope:laamp_spouse_material
		save_scope_as = 1035_unwinded_with_spouse_potential
		#Cooldown for the action
		set_variable = {
			name = 1035_spouse_unwinded_recently
			months = visit_settlement_minimum_cooldown_days
		}
		#Set the variables and redirect us back to the tavern main room
		1035_spoused_effect = yes
	}
	#I want to go back
	option = {
		name = ep3_laamp_decision_event.1035.d
		#Set the variables and redirect us back to the tavern main room
		1031_been_to_effect = { GUILD = spouse }
		ai_chance = { base = 100 }
	}
	after = {
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:spouse }
	}
}


#Set the correct variable to block off the Hood option and remove the desc flavor variable
scripted_effect 1037_hooded_effect = {
	save_scope_value_as = {
		name = laamp_decision_recruited_hood
		value = flag:no
	}
	#Go back to the tavern main room
	hidden_effect = { 1031_return_to_tavern_effect = yes }
}

#This implementation hurts me as much as it hurts you
scripted_effect 1037_determine_highest_gallowsbait_track_effect = {
	if = {
		limit = { has_trait = gallowsbait }
		#Is any of it aced?
		if = {
			limit = {
				has_trait_xp = {
					trait = gallowsbait
					track = bandit
					value = 100 #Max value
				}
			}
			save_scope_as = ace_gallowsbait_bandit
		}
		else_if = {
			limit = {
				has_trait_xp = {
					trait = gallowsbait
					track = trickster
					value = 100 #Max value
				}
			}
			save_scope_as = ace_gallowsbait_trickster
		}
		else_if = {
			limit = {
				has_trait_xp = {
					trait = gallowsbait
					track = thief
					value = 100 #Max value
				}
			}
			save_scope_as = ace_gallowsbait_thief
		}
		else_if = {
			limit = {
				has_trait_xp = {
					trait = gallowsbait
					track = poacher
					value = 100 #Max value
				}
			}
			save_scope_as = ace_gallowsbait_poacher
		}
		else_if = {
			limit = {
				has_trait_xp = {
					trait = gallowsbait
					track = marauder
					value = 100 #Max value
				}
			}
			save_scope_as = ace_gallowsbait_marauder
		}
		#If two are roughly the same, randomize it
		random_list = {
			10 = {
				trigger = { exists = scope:ace_gallowsbait_bandit }
				save_scope_value_as = {
					name = 1037_highest_gallowsbait_track
					value = flag:bandit
				}
			}
			10 = {
				trigger = { exists = scope:ace_gallowsbait_trickster }
				save_scope_value_as = {
					name = 1037_highest_gallowsbait_track
					value = flag:trickster
				}
			}
			10 = {
				trigger = { exists = scope:ace_gallowsbait_thief }
				save_scope_value_as = {
					name = 1037_highest_gallowsbait_track
					value = flag:thief
				}
			}
			10 = {
				trigger = { exists = scope:ace_gallowsbait_poacher }
				save_scope_value_as = {
					name = 1037_highest_gallowsbait_track
					value = flag:poacher
				}
			}
			10 = {
				trigger = { exists = scope:ace_gallowsbait_marauder }
				save_scope_value_as = {
					name = 1037_highest_gallowsbait_track
					value = flag:marauder
				}
			}
		}
		#No? Then find an intermediate.
		if = {
			limit = {
				NOT = { exists = scope:1037_highest_gallowsbait_track }
			}
			if = {
				limit = {
					has_trait_xp = {
						trait = gallowsbait
						track = bandit
						value >= medium_lifestyle_random_xp_high
					}
				}
				save_scope_as = intermediate_gallowsbait_bandit
			}
			if = {
				limit = {
					has_trait_xp = {
						trait = gallowsbait
						track = trickster
						value >= medium_lifestyle_random_xp_high
					}
				}
				save_scope_as = intermediate_gallowsbait_trickster
			}
			if = {
				limit = {
					has_trait_xp = {
						trait = gallowsbait
						track = thief
						value >= medium_lifestyle_random_xp_high
					}
				}
				save_scope_as = intermediate_gallowsbait_thief
			}
			if = {
				limit = {
					has_trait_xp = {
						trait = gallowsbait
						track = poacher
						value >= medium_lifestyle_random_xp_high
					}
				}
				save_scope_as = intermediate_gallowsbait_poacher
			}
			if = {
				limit = {
					has_trait_xp = {
						trait = gallowsbait
						track = marauder
						value >= medium_lifestyle_random_xp_high
					}
				}
				save_scope_as = intermediate_gallowsbait_marauder
			}
			#If two are roughly the same, randomize it
			random_list = {
				10 = {
					trigger = { exists = scope:intermediate_gallowsbait_bandit }
					save_scope_value_as = {
						name = 1037_highest_gallowsbait_track
						value = flag:bandit
					}
				}
				10 = {
					trigger = { exists = scope:intermediate_gallowsbait_trickster }
					save_scope_value_as = {
						name = 1037_highest_gallowsbait_track
						value = flag:trickster
					}
				}
				10 = {
					trigger = { exists = scope:intermediate_gallowsbait_thief }
					save_scope_value_as = {
						name = 1037_highest_gallowsbait_track
						value = flag:thief
					}
				}
				10 = {
					trigger = { exists = scope:intermediate_gallowsbait_poacher }
					save_scope_value_as = {
						name = 1037_highest_gallowsbait_track
						value = flag:poacher
					}
				}
				10 = {
					trigger = { exists = scope:intermediate_gallowsbait_marauder }
					save_scope_value_as = {
						name = 1037_highest_gallowsbait_track
						value = flag:marauder
					}
				}
			}
		}
		#Still nothing? How about an average.
		if = {
			limit = {
				NOT = { exists = scope:1037_highest_gallowsbait_track }
			}
			if = {
				limit = {
					has_trait_xp = {
						trait = gallowsbait
						track = bandit
						value >= medium_lifestyle_random_xp_low
					}
				}
				save_scope_as = average_gallowsbait_bandit
			}
			if = {
				limit = {
					has_trait_xp = {
						trait = gallowsbait
						track = trickster
						value >= medium_lifestyle_random_xp_low
					}
				}
				save_scope_as = average_gallowsbait_trickster
			}
			if = {
				limit = {
					has_trait_xp = {
						trait = gallowsbait
						track = thief
						value >= medium_lifestyle_random_xp_low
					}
				}
				save_scope_as = average_gallowsbait_thief
			}
			if = {
				limit = {
					has_trait_xp = {
						trait = gallowsbait
						track = poacher
						value >= medium_lifestyle_random_xp_low
					}
				}
				save_scope_as = average_gallowsbait_poacher
			}
			if = {
				limit = {
					has_trait_xp = {
						trait = gallowsbait
						track = marauder
						value >= medium_lifestyle_random_xp_low
					}
				}
				save_scope_as = average_gallowsbait_marauder
			}
			#If two are roughly the same, randomize it
			random_list = {
				10 = {
					trigger = { exists = scope:average_gallowsbait_bandit }
					save_scope_value_as = {
						name = 1037_highest_gallowsbait_track
						value = flag:bandit
					}
				}
				10 = {
					trigger = { exists = scope:average_gallowsbait_trickster }
					save_scope_value_as = {
						name = 1037_highest_gallowsbait_track
						value = flag:trickster
					}
				}
				10 = {
					trigger = { exists = scope:average_gallowsbait_thief }
					save_scope_value_as = {
						name = 1037_highest_gallowsbait_track
						value = flag:thief
					}
				}
				10 = {
					trigger = { exists = scope:average_gallowsbait_poacher }
					save_scope_value_as = {
						name = 1037_highest_gallowsbait_track
						value = flag:poacher
					}
				}
				10 = {
					trigger = { exists = scope:average_gallowsbait_marauder }
					save_scope_value_as = {
						name = 1037_highest_gallowsbait_track
						value = flag:marauder
					}
				}
			}
		}
		#If we still don't have a scope here, we need to have another look at the character pool pull/create, 'cause then it didn't reach medium_lifestyle_random_xp_low in any track
	}
}

#Yupyup
scripted_effect 1037_hire_thief_effect = {
	hidden_effect = {
		reverse_add_opinion = {
			target = scope:laamp_hooded_figure
			modifier = recruited_me_opinion
			opinion = 30
		}
	}
	add_courtier = scope:laamp_hooded_figure
	#The actual effect happens in after
	show_as_tooltip = { 
		camp_officer_grant_effect = {
			EMPLOYER = root
			POS = master_thief
			CANDIDATE = scope:laamp_hooded_figure
		}
	}
	#This 'finished' is different since it changes between flag:yes and flag:no
	save_scope_value_as = {
		name = laamp_decision_recruited_hood
		value = flag:yes
	}
	#Go back to tavern
	hidden_effect = { 1031_return_to_tavern_effect = yes }
}

#Pretty self-explanatory
scripted_trigger 1037_maxed_gallowsbait_track_trigger = {
	OR = {
		has_trait_xp = {
			trait = gallowsbait
			track = bandit
			value = 100 #Max value
		}
		has_trait_xp = {
			trait = gallowsbait
			track = trickster
			value = 100 #Max value
		}
		has_trait_xp = {
			trait = gallowsbait
			track = thief
			value = 100 #Max value
		}
		has_trait_xp = {
			trait = gallowsbait
			track = poacher
			value = 100 #Max value
		}
		has_trait_xp = {
			trait = gallowsbait
			track = marauder
			value = 100 #Max value
		}
	}
}

scripted_effect 1037_noble_reward_effect = {
	add_contact = scope:laamp_disguised_noble
	add_hook_if_possible_default_length_effect = {
		TARGET = scope:laamp_disguised_noble 
		TYPE = favor_hook
	}
	progress_towards_friend_effect = {
		REASON = friend_rescued_from_tavern_brawl
		CHARACTER = scope:laamp_disguised_noble
		OPINION = default_friend_opinion
	}
}

#Duel for your highest skill stat
scripted_effect 1037_highest_skill_duel_effect = {
	if = {
		limit = { highest_skill = diplomacy }
		1037_duel_effect = { SKILL = diplomacy }
	}
	else_if = {
		limit = { highest_skill = stewardship }
		1037_duel_effect = { SKILL = stewardship }
	}
	else_if = {
		limit = { highest_skill = intrigue }
		1037_duel_effect = { SKILL = intrigue }
	}
	else_if = {
		limit = { highest_skill = learning }
		1037_duel_effect = { SKILL = learning }
	}
	else_if = {
		limit = { highest_skill = martial }
		1037_duel_effect = { SKILL = martial }
	}
	else_if = {
		limit = { highest_skill_including_prowess = prowess }
		1037_duel_effect = { SKILL = prowess }
	}
}

#Actual duel effect
scripted_effect 1037_duel_effect = {
	duel = {
		skill = $SKILL$
		value = medium_skill_rating
		#Success: Yay, free contact
		50 = {
			compare_modifier = {
				value = scope:duel_value
				multiplier = 3.5
				min = -49
			}
			desc = ep3_laamp_decision_event.1037.b.success
			send_interface_toast = {
				title = ep3_laamp_decision_event.1037.b.success.t
				left_icon = root
				right_icon = scope:laamp_disguised_noble
				#Woo rewards
				show_as_tooltip = { #Don't need two toasts for the hook
					add_contact = scope:laamp_disguised_noble
					progress_towards_friend_effect = {
						REASON = friend_rescued_from_tavern_brawl
						CHARACTER = scope:laamp_disguised_noble
						OPINION = default_friend_opinion
					}
				}
				hidden_effect = { 1037_noble_reward_effect = yes }
				#Go back to the main event
				1037_hooded_effect = yes
			}
		}
		#Failure: Whoopsie, they became wounded
		25 = {
			compare_modifier = {
				value = scope:duel_value
				multiplier = -3.5
				min = -20
			}	
			desc = ep3_laamp_decision_event.1037.b.failure
			send_interface_toast = {
				title = ep3_laamp_decision_event.1037.b.failure.t
				left_icon = root
				right_icon = scope:laamp_disguised_noble
				random_list = {
					50 = {
						#Less chance that _we_ get hurt if we're buff
						compare_modifier = { value = prowess }
						#Oops
						scope:laamp_disguised_noble = {
							increase_wounds_effect = { REASON = fight }
						}
					}
					50 = {
						#Owwie
						increase_wounds_effect = { REASON = fight }
					}
				}
				save_scope_value_as = {
					name = laamp_decision_recruited_hood
					value = flag:wounded
				}
				#Go back to the tavern main room
				1037_hooded_effect = yes
			}
		}
	}
}


#The hooded figure
ep3_laamp_decision_event.1037 = {
	type = character_event
	window = visit_settlement_window
	title = {
		first_valid = {
			#Noble
			triggered_desc = {
				trigger = { exists = scope:laamp_disguised_noble }
				desc = ep3_laamp_decision_event.1037.t_noble
			}
			#Thief
			desc = ep3_laamp_decision_event.1037.t
		}
	}
	desc = {
		#Hello, hooded person
		first_valid = {
			#We've returned to this scene, now what
			#RETURN: Noble
			random_valid = {
				triggered_desc = { 
					trigger = { 
						exists = scope:been_to_hood
						exists = scope:laamp_disguised_noble
						scope:hood_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1037.desc_noble_returned_01
				}
				triggered_desc = { 
					trigger = {
						exists = scope:laamp_disguised_noble
						scope:hood_loc_tracker ?= 1 
					}
					desc = ep3_laamp_decision_event.1037.desc_noble_returned_02
				}
			}
			#RETURN: Thief
			random_valid = {
				triggered_desc = { 
					trigger = {
						1000_is_a_nomadic_holding_trigger = no
						exists = scope:been_to_hood
						exists = scope:1037_neighboring_holding
						scope:hood_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1037.desc_returned_01
				}
				#Nomad variant
				triggered_desc = { 
					trigger = {
						1000_is_a_nomadic_holding_trigger = yes
						exists = scope:been_to_hood
						exists = scope:1037_neighboring_holding
						scope:hood_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1037.desc_nomad_returned_01
				}
				triggered_desc = { 
					trigger = {
						1000_is_a_nomadic_holding_trigger = no
						exists = scope:been_to_hood
						scope:hood_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1037.desc_returned_02
				}
				#Nomad variant
				triggered_desc = { 
					trigger = {
						1000_is_a_nomadic_holding_trigger = yes
						exists = scope:been_to_hood
						scope:hood_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1037.desc_nomad_returned_02
				}
				triggered_desc = { 
					trigger = { 
						1000_is_a_nomadic_holding_trigger = no
						scope:hood_loc_tracker ?= 1 
					}
					desc = ep3_laamp_decision_event.1037.desc_returned_03
				}
				#Nomad variant
				triggered_desc = { 
					trigger = {
						1000_is_a_nomadic_holding_trigger = yes
						scope:hood_loc_tracker ?= 1 
					}
					desc = ep3_laamp_decision_event.1037.desc_nomad_returned_03
				}
			}
			#FIRST TIME: We've seen this thief before
			triggered_desc = {
				trigger = {
					1000_is_a_nomadic_holding_trigger = no
					exists = scope:laamp_recurring_thief
					NOT = { exists = scope:been_to_hood }
				}
				desc = ep3_laamp_decision_event.1037.desc_reused_thief
			}
			#Nomad variant
			triggered_desc = {
				trigger = {
					1000_is_a_nomadic_holding_trigger = yes
					exists = scope:laamp_recurring_thief
					NOT = { exists = scope:been_to_hood }
				}
				desc = ep3_laamp_decision_event.1037.desc_nomad_reused_thief
			}
			#FIRST TIME: Hooded noble is in trouble!
			triggered_desc = {
				trigger = {
					exists = scope:laamp_disguised_noble
					NOT = { exists = scope:been_to_hood }
				}
				desc = ep3_laamp_decision_event.1037.desc_noble
			}
			#FIRST TIME: Hooded thief
			triggered_desc = {
				trigger = {
					1000_is_a_nomadic_holding_trigger = no
					NOT = { exists = scope:been_to_hood }
				}
				desc = ep3_laamp_decision_event.1037.desc
			}
			#Nomad variant
			triggered_desc = {
				trigger = {
					1000_is_a_nomadic_holding_trigger = yes
					NOT = { exists = scope:been_to_hood }
				}
				desc = ep3_laamp_decision_event.1037.desc_nomad
			}	
		}
	}
	theme = landless_adventurer
	override_sound = {
		trigger = { exists = scope:laamp_disguised_noble }
		reference = "event:/SFX/Events/Themes/sfx_event_theme_type_dynasty" 
	}
	override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_intrigue" }
	override_icon = {
		trigger = {
			NOT = { exists = scope:laamp_disguised_noble }
		}
		reference = "gfx/interface/icons/event_types/type_intrigue.dds"
	}
	override_background = {
		trigger = { exists = scope:laamp_disguised_noble }
		reference = tavern
	}
	override_background = {
		trigger = { 1000_is_a_nomadic_holding_trigger = yes }
		reference = ep3_relaxing_tent
	}
	override_background = { reference = bp1_wine_cellar }
	left_portrait = {
		trigger = { exists = scope:1037_left_character }
		character = scope:1037_left_character
		#Noble: Engaging the noble
		triggered_animation = {
			trigger = { 
				exists = scope:laamp_disguised_noble
				NOT = { exists = scope:been_to_hood }
			}
			animation = disbelief
		}
		#Noble: They're fighting
		triggered_animation = {
			trigger = { exists = scope:laamp_disguised_noble }
			animation = personality_coward
		}
		animation = interested
	}
	center_portrait = {
		character = scope:1037_center_character
		camera = camera_event_scheme_center_look_semi_right
		#Noble: First time engaging the noble
		triggered_animation = {
			trigger = {
				exists = scope:laamp_disguised_noble
				NOT = { exists = scope:been_to_hood }
			}
			#_Seating tax_?!
			animation = anger
		}
		#Noble: I am NOT paying
		triggered_animation = {
			trigger = { exists = scope:laamp_disguised_noble }
			animation = disapproval
		}
		#Thief: Is... cleaning up blood?
		triggered_animation = {
			trigger = { scope:hood_loc_tracker ?= 1 }
			animation = disbelief
		}
		#Thief: Don't like this
		triggered_animation = {
			trigger = { has_trait = honest }
			animation = stress
		}
		#Thief
		animation = personality_rational
	}
	right_portrait = {
		character = scope:1037_right_character
		camera = camera_event_scheme_far_right
		#Noble: Ruffian: First time engaging the noble
		triggered_animation = {
			trigger = {
				exists = scope:laamp_disguised_noble
				NOT = { exists = scope:been_to_hood }
			}
			#Menacing
			animation = menacing
		}
		#Noble: Ruffian: I am NOT paying
		triggered_animation = {
			trigger = { exists = scope:laamp_disguised_noble }
			animation = threatening
		}
		#Thief: Just cleaned up some blood. 's fine.
		triggered_animation = {
			trigger = {
				1000_is_a_nomadic_holding_trigger = yes
				scope:hood_loc_tracker ?= 1
			}
			#Happy to see you
			animation = spymaster
		}
		#Thief: First time engaging the thief
		triggered_animation = {
			trigger = {
				exists = scope:laamp_recurring_thief
				NOT = { exists = scope:been_to_hood }
			}
			#Happy to see you
			animation = ecstasy
		}
		#Thief: Whadda ya want
		triggered_animation = {
			trigger = {
				NOT = { exists = scope:been_to_hood }
			}
			#A bit reserved
			animation = disapproval
		}
		animation = chess_cocky
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#Run this once: Re-save the portrait so the Hood is not the 1030_third_character
		if = {
			limit = { scope:1030_third_character ?= scope:laamp_hooded_figure }
			#Shuffle Spouse over, if they exist
			if = {
				limit = { scope:1030_second_character ?= scope:laamp_spouse_material }
				scope:laamp_spouse_material ?= { save_scope_as = 1030_third_character }
			}
			#Otherwise overwrite the portrait with ROOT to disappear the third one
			else = { save_scope_as = 1030_third_character }
			#Move ROOT into the second character slot
			if = {
				limit = {
					NOT = { scope:1030_second_character ?= root }
				}
				save_scope_as = 1030_second_character
			}
			#Remember the thief
			if = {
				limit = {
					NOT = { exists = scope:laamp_disguised_noble }
				}
				1010_remember_vendor_character_effect = { GUILD = thief CHARACTER = scope:laamp_hooded_figure }
			}
		}
		#Tweak the portraits for the noble-fight
		if = {
			limit = { 
				exists = scope:laamp_disguised_noble
				NOT = { scope:1037_left_character ?= root }
			}
			#Move ourselves to the left
			save_scope_as = 1037_left_character
			#Plonk the perilous noble in the middle
			scope:laamp_disguised_noble = { save_scope_as = 1037_center_character }
			#Shove a ruffian on the right
			create_character = {
				template = generic_peasant_character
				location = scope:visiting_location
				dynasty = none
				culture = scope:visiting_location.culture
				faith = scope:visiting_location.faith
				after_creation = { set_to_lowborn = yes }
				save_scope_as = 1037_local_ruffian
			}
			scope:1037_local_ruffian = { save_scope_as = 1037_right_character }
		}
		#Otherwise set up the thief situation
		else_if = {
			limit = {
				NOR = { 
					exists = scope:laamp_disguised_noble 
					exists = scope:1037_center_character
				}
			}
			#We go in the middle
			save_scope_as = 1037_center_character
			#... and the thief on the right
			scope:laamp_hooded_figure = { save_scope_as = 1037_right_character }
		}
		#Can we _not_ repeat the loc?
		1025_set_and_check_scene_loc_tracker_scope_effect = { SCENE = hood }
		#Thief effects
		if = {
			limit = {
				NOR = {
					exists = scope:laamp_disguised_noble
					exists = scope:1037_neighboring_holding 
				}
			}
			#Save a neighboring holding
			location = {
				random_neighboring_province = { 
					limit = { 
						is_sea_province = no
						has_holding = yes
					}
					save_scope_as = 1037_neighboring_holding
				}
			}
			#Figure their highest Gallowbait track 
			scope:laamp_hooded_figure = { 1037_determine_highest_gallowsbait_track_effect = yes }
		}
		#Noble effects
		if = {
			limit = { exists = scope:laamp_disguised_noble }
			#Exactly how much does the hooded noble owe?
			save_scope_value_as = {
				name = noble_tab_value
				value = {
					value = scope:laamp_disguised_noble.medium_gold_value
					#Go outside of the city to drink, eh
					if = {
						limit = {
							scope:visiting_location = {
								OR = {
									has_holding_type = tribal_holding
									has_holding_type = nomad_holding
									has_holding_type = herder_holding
								}
							}
						}
						multiply = 0.5
					}
				}
			}
		}
	}
	#Noble: Pay their tab
	option = {
		name = ep3_laamp_decision_event.1037.a
		trigger = { exists = scope:laamp_disguised_noble }
		flavor = ep3_laamp_decision_event.1037.a.flavor
		#Pay up
		remove_short_term_gold = scope:noble_tab_value
		#Woo rewards
		1037_noble_reward_effect = yes
		#Quite the molah
		stress_impact = { greedy = minor_stress_impact_gain }
		#Set the variables and redirect us back to the tavern main room
		1037_hooded_effect = yes
	}
	#Noble: Duel the villain
	option = {
		name = {
			text = {
				first_valid = {
					triggered_desc = {
						trigger = { highest_skill_including_prowess = diplomacy }
						desc = ep3_laamp_decision_event.1037.b_diplomacy
					}
					triggered_desc = {
						trigger = { highest_skill_including_prowess = stewardship }
						desc = ep3_laamp_decision_event.1037.b_stewardship
					}
					triggered_desc = {
						trigger = { highest_skill_including_prowess = intrigue }
						desc = ep3_laamp_decision_event.1037.b_intrigue
					}
					triggered_desc = {
						trigger = { highest_skill_including_prowess = learning }
						desc = ep3_laamp_decision_event.1037.b_learning
					}
					triggered_desc = {
						trigger = { 
							OR = {
								highest_skill_including_prowess = martial 
								highest_skill_including_prowess = prowess
							}
						}
						desc = ep3_laamp_decision_event.1037.b_martial
					}
				}
			}
		}
		trigger = { exists = scope:laamp_disguised_noble }
		flavor = ep3_laamp_decision_event.1037.b.flavor
		#Duel effect
		1037_highest_skill_duel_effect = yes
	}
	#Noble Triggered Option: We're pretty bad, bro
	option = {
		name = ep3_laamp_decision_event.1037.c
		trigger = { 
			exists = scope:laamp_disguised_noble
			has_trait = gallowsbait
			OR = {
				#Bandit
				has_trait_xp = {
					trait = gallowsbait
					track = bandit
					value > 50 #Half-way
				}
				#Trickster
				has_trait_xp = {
					trait = gallowsbait
					track = trickster
					value > 50 #Half-way
				}
				#Thief
				has_trait_xp = {
					trait = gallowsbait
					track = thief
					value > 50 #Half-way
				}
				#Poacher
				has_trait_xp = {
					trait = gallowsbait
					track = poacher
					value > 50 #Half-way
				}
				#Marauder
				has_trait_xp = {
					trait = gallowsbait
					track = marauder
					value > 50 #Half-way
				}
			}
		}
		flavor = ep3_laamp_decision_event.1037.c.flavor
		if = {
			limit = {
				NOT = {
					has_trait_xp = {
						trait = gallowsbait
						track = marauder
						value = 100 #Max
					}
				}
			}
			add_trait_xp = {
				trait = gallowsbait
				track = marauder
				value = small_lifestyle_random_xp_low
			}
		}
		#Woo rewards
		1037_noble_reward_effect = yes
		#I just don't like being criminal, OK?
		stress_impact = {
			honest = minor_stress_impact_gain
		}	
		#Set the variables and redirect us back to the tavern main room
		1037_hooded_effect = yes
	}
	#Thief: Recruit them (expensive)
	option = {
		name = {
			text = {
				first_valid = {
					#I have an open position...
					triggered_desc = {
						trigger = { can_employ_court_position_type = master_thief_camp_officer }
						desc = ep3_laamp_decision_event.1037.d_thief_position
					}
					#Standard reply
					desc = ep3_laamp_decision_event.1037.d
				}
			}
		}
		#Replace it with the strongarm option if we have aced a Gallowsbait track
		trigger = {
			1037_maxed_gallowsbait_track_trigger = no 
			#Not available if it's the hooded noble
			NOT = { exists = scope:laamp_disguised_noble }
		}
		#Half if you can offer them an attractive position
		if = {
			limit = { can_employ_court_position_type = master_thief_camp_officer } #If we, sometime in the future, easily can determine which track of a scaling trait is highest, let's gate it to Thief track
			pay_short_term_gold = {
				target = scope:laamp_hooded_figure
				gold = {
					value = major_gold_laamps_value
					divide = 2
				}
			}
			#Hire them (effect in After)
			1037_hire_thief_effect = yes
		}
		#Otherwise pay up
		else = {
			pay_short_term_gold = {
				target = scope:laamp_hooded_figure
				gold = major_gold_laamps_value
			}
			#Have them join your camp
			1033_add_courtier_with_opinion_effect = { TARGET = scope:laamp_hooded_figure }
			#Set the variables and redirect us back to the tavern main room
			1037_hooded_effect = yes
		}
	}
	#Thief: Intrigue Duel
	option = {
		name = ep3_laamp_decision_event.1037.e
		#Replace it with the strongarm option if we have aced a Gallowsbait track
		trigger = {
			1037_maxed_gallowsbait_track_trigger = no 
			#Not available if it's the hooded noble
			NOT = { exists = scope:laamp_disguised_noble }
		}
		duel = {
			skill = intrigue
			target = scope:laamp_hooded_figure
			#Success: Hire 'em up
			50 = {		
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				min = 2
				desc = ep3_laamp_decision_event.1037.e.success
				send_interface_toast = {
					title = ep3_laamp_decision_event.1037.e.success
					left_icon = root
					right_icon = scope:laamp_hooded_figure
					#Yippee!
					if = {
						limit = { can_employ_court_position_type = master_thief_camp_officer }
						#Hire them (effect in After)
						1037_hire_thief_effect = yes
					}
					else = {
						1033_add_courtier_with_opinion_effect = { TARGET = scope:laamp_hooded_figure }

						#This 'finished' is different since it changes between flag:yes and flag:no
						save_scope_value_as = {
							name = laamp_decision_recruited_hood
							value = flag:yes
						}
						#Go back to tavern
						hidden_effect = { 1031_return_to_tavern_effect = yes }
					}
				}
			}
			#Failure: Bye, now
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -20
				}	
				desc = ep3_laamp_decision_event.1037.e.failure
				send_interface_toast = {
					type = event_toast_text_bad
					title = ep3_laamp_decision_event.1037.e.failure
					desc = ep3_laamp_decision_event.1037.e.failure.tt
					left_icon = root
					right_icon = scope:laamp_hooded_figure
					#Oh well
					custom_tooltip = ep3_laamp_decision_event.1037.e.failure.tt
					#This 'finished' is different since it changes between flag:yes and flag:no
					1037_hooded_effect = yes
				}
			}
		}
	}
	#Thief: Teach me about Gallowsbait...
	option = {
		name = ep3_laamp_decision_event.1037.f
		trigger = {
			#Unless you are full in whatever the hooded figure offers
			NOR = {
				#Bandit
				AND = { 
					has_trait = gallowsbait
					has_trait_xp = {
						trait = gallowsbait
						track = bandit
						value >= 100 #Max value
					}
					scope:1037_highest_gallowsbait_track ?= flag:bandit
				}
				#Trickster
				AND = { 
					has_trait = gallowsbait
					has_trait_xp = {
						trait = gallowsbait
						track = trickster
						value >= 100 #Max value
					}
					scope:1037_highest_gallowsbait_track ?= flag:trickster
				}
				#Thief
				AND = { 
					has_trait = gallowsbait
					has_trait_xp = {
						trait = gallowsbait
						track = thief
						value >= 100 #Max value
					}
					scope:1037_highest_gallowsbait_track ?= flag:thief
				}
				#Poacher
				AND = { 
					has_trait = gallowsbait
					has_trait_xp = {
						trait = gallowsbait
						track = poacher
						value >= 100 #Max value
					}
					scope:1037_highest_gallowsbait_track ?= flag:poacher
				}
				#Marauder
				AND = { 
					has_trait = gallowsbait
					has_trait_xp = {
						trait = gallowsbait
						track = marauder
						value >= 100 #Max value
					}
					scope:1037_highest_gallowsbait_track ?= flag:marauder
				}
			}
			#Not available if it's the hooded noble
			NOT = { exists = scope:laamp_disguised_noble }
		}
		#Get trait
		if = {
			limit = {
				NOT = { has_trait = gallowsbait }
			}
			add_trait = gallowsbait
		}
		#Or get a significant amount of experience in trait
		else = {
			#Pay gold
			pay_short_term_gold = {
				target = scope:laamp_hooded_figure
				gold = medium_gold_laamps_value
			}
			if = {
				limit = { scope:1037_highest_gallowsbait_track ?= flag:bandit }
				add_trait_xp = {
					trait = gallowsbait
					track = bandit
					value = trait_third_level_value
				}
			}
			else_if = {
				limit = { scope:1037_highest_gallowsbait_track ?= flag:trickster }
				add_trait_xp = {
					trait = gallowsbait
					track = trickster
					value = trait_third_level_value
				}
			}
			else_if = {
				limit = { scope:1037_highest_gallowsbait_track ?= flag:thief }
				add_trait_xp = {
					trait = gallowsbait
					track = thief
					value = trait_third_level_value
				}
			}
			else_if = {
				limit = { scope:1037_highest_gallowsbait_track ?= flag:poacher }
				add_trait_xp = {
					trait = gallowsbait
					track = poacher
					value = trait_third_level_value
				}
			}
			else_if = {
				limit = { scope:1037_highest_gallowsbait_track ?= flag:marauder }
				add_trait_xp = {
					trait = gallowsbait
					track = marauder
					value = trait_third_level_value
				}
			}
		}
		#Some Intrigue lifestyle gain, coming up
		add_intrigue_lifestyle_xp = medium_lifestyle_xp
		#Stressful for honest characters 
		stress_impact = {
			honest = minor_stress_impact_gain
		}
		#Set the variables and redirect us back to the tavern main room
		1037_hooded_effect = yes
	}
	#Thief Triggered Option: You have aced Gallowsbait in a track
	option = {
		name = ep3_laamp_decision_event.1037.g
		trigger = {
			has_trait = gallowsbait
			1037_maxed_gallowsbait_track_trigger = yes
			#Not available if it's the hooded noble
			NOT = { exists = scope:laamp_disguised_noble }
		}
		1033_add_courtier_with_opinion_effect = { TARGET = scope:laamp_hooded_figure }
		#Set the variables and redirect us back to the tavern main room
		1037_hooded_effect = yes
		ai_chance = {
			base = 100
		}
	}
	#I want to go back
	option = {
		name = ep3_laamp_decision_event.1037.h
		#Set the variables and redirect us back to the tavern main room
		1031_been_to_effect = { GUILD = hood }
	}
	after = {
		if = {
			limit = { scope:laamp_decision_recruited_hood ?= flag:yes }
			#Appoint them
			if = {
				limit = {
					can_appoint_char_to_court_position = {
						CHAR = scope:laamp_hooded_figure
						COURT_POS = master_thief_camp_officer
					}
				}
				camp_officer_grant_effect = {
					EMPLOYER = root
					POS = master_thief
					CANDIDATE = scope:laamp_hooded_figure
				}
			}
		}
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:hood }
	}
}


######################################################################
# CHURCH GROUNDS
# ep3_laamp_decision_event.1040
######################################################################

#Set the correct variable to block off the Church option and remove the desc flavor variable
scripted_effect 1040_finished_churched_effect = {
	remove_list_variable = {
		name = list_of_options
		target = flag:has_church_option
	}
	save_scope_as = laamp_decision_finished_church_option
}

#Nothing left for us to do
scripted_trigger 1040_done_with_church_trigger = {
	exists = scope:laamp_decision_has_healed
	exists = scope:laamp_decision_has_churched
	exists = scope:laamp_decision_has_gardened
	trigger_if = {
		limit = { exists = scope:laamp_physician_recruit }
		exists = scope:laamp_decision_recruited_physician
	}
}

#One of your sick kids who wouldn't fit the visiting_partner trigger
scripted_trigger 1040_sickly_minor_trigger = {
	location = root.location
	is_courtier_of = root
	is_travelling = no
	is_imprisoned = no
	1000_has_illness_or_wound_to_treat_trigger = yes
	age < 10
}


#Church Holding: Visit the local church grounds
ep3_laamp_decision_event.1040 = {
	type = character_event
	title = ep3_laamp_decision_event.1040.t
	window = visit_settlement_window
	desc = {
		#Intro
		first_valid = {
			#We've returned to this scene, now what
			#RETURN: We've returned from Main Square
			random_valid = {
				triggered_desc = { 
					trigger = { 
						var:return_from_location ?= flag:main_square
						exists = scope:been_to_church_grounds
						OR = {
							scope:church_grounds_loc_tracker ?= 0
							scope:church_grounds_loc_tracker ?= 2
						}
					}
					desc = ep3_laamp_decision_event.1040.desc_returned_01
				}
				triggered_desc = { 
					trigger = { 
						var:return_from_location ?= flag:main_square
						scope:church_grounds_loc_tracker ?= 1
					}
					desc = ep3_laamp_decision_event.1040.desc_returned_02
				}
			}
			#RETURN: We've returned from the Healer
			triggered_desc = {
				trigger = { var:return_from_location ?= flag:healer }
				desc = ep3_laamp_decision_event.1040.desc_returned_from_healer
			}
			#RETURN: We've returned from the Church
			triggered_desc = {
				trigger = { var:return_from_location ?= flag:church }
				desc = ep3_laamp_decision_event.1040.desc_returned_from_church
			}
			#RETURN: We've returned from the Garden
			triggered_desc = {
				trigger = { var:return_from_location ?= flag:garden }
				desc = ep3_laamp_decision_event.1040.desc_returned_from_garden
			}
			#RETURN: We've returned from the Physician
			triggered_desc = {
				trigger = { var:return_from_location ?= flag:physician }
				desc = ep3_laamp_decision_event.1040.desc_returned_from_physician
			}
			#FIRST TIME: First time here
			triggered_desc = {
				trigger = { 
					NOT = { exists = scope:been_to_church_grounds }
				}
				desc = ep3_laamp_decision_event.1040.desc
			}
		}
		#Outro
		first_valid = {
			#FIRST TIME: For some reason, you have both Sickly Minor and Physician
			triggered_desc = {
				trigger = {
					exists = scope:laamp_physician_recruit
					exists = scope:1040_sickly_minor
					NOT = { exists = scope:been_to_church_grounds }
				}
				desc = ep3_laamp_decision_event.1040.desc_outro_physician_sickly_minor
			}
			#FIRST TIME: First time here, look at the physician
			triggered_desc = {
				trigger = {
					exists = scope:laamp_physician_recruit
					NOT = { exists = scope:been_to_church_grounds }
				}
				desc = ep3_laamp_decision_event.1040.desc_outro_physician
			}
			#FIRST TIME: First time here, sickly minor
			triggered_desc = {
				trigger = {
					exists = scope:1040_sickly_minor
					NOT = { exists = scope:been_to_church_grounds }
				}
				desc = ep3_laamp_decision_event.1040.desc_outro_sickly_minor
			}
			#FIRST TIME: First time here, curious partner
			triggered_desc = {
				trigger = {
					exists = scope:visiting_partner
					NOT = { exists = scope:been_to_church_grounds }
				}
				desc = ep3_laamp_decision_event.1040.desc_outro_partner
			}
			#FIRST TIME: First time here
			triggered_desc = {
				trigger = {
					NOT = {  exists = scope:been_to_church_grounds }
				}
				desc = ep3_laamp_decision_event.1040.desc_outro
			}
			#RETURN: Partner - there is nothing left for us here
			triggered_desc = {
				trigger = { 
					exists = scope:visiting_partner
					1040_done_with_church_trigger = yes 
				}
				desc = ep3_laamp_decision_event.1040.desc_outro_return_partner_finished
			}
			#RETURN: There is nothing left for us here
			triggered_desc = {
				trigger = { 1040_done_with_church_trigger = yes }
				desc = ep3_laamp_decision_event.1040.desc_outro_return_finished
			}
			#RETURN: Physician did not move to their study, yet
			triggered_desc = {
				trigger = {
					exists = scope:laamp_physician_recruit
					NOR = { 
						exists = scope:been_to_physician
						exists = scope:laamp_decision_recruited_physician
					}
				}
				desc = ep3_laamp_decision_event.1040.desc_outro_physician_return
			}
			#RETURN: We've been here before
			first_valid = {
				#RETURN: Sickly minor is still at the healer's
				triggered_desc = {
					trigger = {
						exists = scope:1040_sickly_minor
						var:return_from_location ?= flag:healer
						scope:1040_sickly_minor = { has_any_illness = yes }
					}
					desc = ep3_laamp_decision_event.1040.desc_outro_sickly_minor_return
				}
				random_valid = {
					#RETURN: Partner flavor
					triggered_desc = {
						trigger = {
							exists = scope:visiting_partner
							exists = scope:been_to_church_grounds
							scope:church_grounds_loc_tracker ?= 0
						}
						desc = ep3_laamp_decision_event.1040.desc_outro_return_partner_01
					}
					triggered_desc = {
						trigger = {
							exists = scope:visiting_partner
							scope:church_grounds_loc_tracker ?= 1
						}
						desc = ep3_laamp_decision_event.1040.desc_outro_return_partner_02
					}
					triggered_desc = {
						trigger = {
							exists = scope:visiting_partner
							scope:church_grounds_loc_tracker ?= 2
						}
						desc = ep3_laamp_decision_event.1040.desc_outro_return_partner_03
					}
					#RETURN: Generics
					triggered_desc = {
						trigger = { 
							exists = scope:been_to_church_grounds
							scope:church_grounds_loc_tracker ?= 0
						}
						desc = ep3_laamp_decision_event.1040.desc_outro_return_01
					}
					triggered_desc = {
						trigger = { scope:church_grounds_loc_tracker ?= 1 }
						desc = ep3_laamp_decision_event.1040.desc_outro_return_02
					}
					triggered_desc = {
						trigger = { scope:church_grounds_loc_tracker ?= 2 }
						desc = ep3_laamp_decision_event.1040.desc_outro_return_03
					}
				}
			}
		}
	}
	theme = faith
	#Get outta here already
	override_effect_2d = {
		trigger = { 
			1040_done_with_church_trigger = yes
			scope:visiting_location = { is_drylands_or_desert_trigger = no }
		}
  		reference = rain	
	}
	override_background = { 
		trigger = {
			location = {
				culture = { has_graphical_east_asia_culture_group_trigger = no }
				geographical_region = world_asia_southeast
			}
		}
		reference = holy_site_generic
	}
	override_background = { reference = courtyard_location }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		#If it's our (tired) visiting partner
		triggered_animation = {
			trigger = { 1040_done_with_church_trigger = yes }
			animation = boredom
		}
		#Concerned about our kid
		triggered_animation = {
			trigger = {
				exists = scope:1040_sickly_minor
				is_close_family_of = scope:1040_sickly_minor
				OR = {
					AND = {
						var:return_from_location ?= flag:healer
						scope:1040_sickly_minor = { has_any_illness = yes }
					}
					NOT = { exists = scope:been_to_church_grounds }
				}
			}
			animation = stress
		}
		#Zealous dudette
		triggered_animation = {
			trigger = {
				scope:visiting_partner = { has_trait = zealous }
			}
			animation = personality_zealous
		}
		#Cynical dude
		triggered_animation = {
			trigger = {
				scope:visiting_partner = { has_trait = cynical }
			}
			animation = personality_cynical
		}
		#Friendly
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_friendly_traits = yes } 
			}
			animation = personality_forgiving
		}
		#Business-minded
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_commerce_traits = yes } 
			}
			animation = personality_greedy
		}
		#Uninterested
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_uninterested_traits = yes } 
			}
			animation = personality_callous
		}
		#Irrational
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_irrational_traits = yes } 
			}
			animation = personality_irrational
		}
		#A bit awkward
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_standoffish_traits = yes } 
			}
			animation = personality_coward
		}
		animation = survey
	}
	center_portrait = {
		character = root
		#Concerned about our kid
		triggered_animation = {
			trigger = {
				exists = scope:1040_sickly_minor
				OR = {
					AND = {
						var:return_from_location ?= flag:healer
						scope:1040_sickly_minor = { has_any_illness = yes }
					}
					NOT = { exists = scope:been_to_church_grounds }
				}
			}
			animation = worry
		}
		#Bah, humbug
		triggered_animation = {
			trigger = {
				OR = {
					has_trait = cynical
					any_secret = { type = secret_non_believer }
				}
			}
			animation = boredom
		}
		animation = personality_content
	}
	#Do we have a Physician?
	right_portrait = {
		trigger = { 
			exists = scope:1040_third_character
			#If this is root, then that means we have talked to the Physician, so let's disappear the portrait
			scope:1040_third_character != root
		}
		camera = camera_event_scheme_center_forward
		character = scope:1040_third_character
		#Otherwise it's the Physician
		animation = personality_zealous
	}
	#Shove the Physician as long as we've visited them but haven't actioned them
	lower_left_portrait = {
		trigger = {
			exists = scope:1040_fourth_character
			#Unless we've actioned them and overwritten them with ROOT
			scope:1040_fourth_character != root
		}
		character = scope:1040_fourth_character
	}
	#Show the kid here if not actioned
	lower_center_portrait = {
		trigger = { 
			exists = scope:1040_fifth_character
			scope:1040_sickly_minor = { has_any_illness = yes } 
			scope:1040_fifth_character != root
		}
		character = scope:1040_fifth_character
	}	
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#Set up the ancillary portraits to remind the player of the characters
		if = {
			#Physician exists
			limit = {
				#We've been to them at least once
				exists = scope:been_to_physician
				#We're not done with them yet
				AND = {
					exists = scope:laamp_physician_recruit
					NOT = { exists = scope:laamp_decision_recruited_physician }
				}
				#This isn't already the state
				NAND = {
					exists = scope:1040_fourth_character
					scope:1040_fourth_character ?= scope:laamp_physician_recruit
				}
			}
			scope:laamp_physician_recruit = { save_scope_as = 1040_fourth_character }
		}
		#Clear out the ancillary portrait(s)
		if = {
			limit = { 
				exists = scope:1040_fourth_character
				scope:laamp_physician_recruit ?= scope:1040_fourth_character
				exists = scope:laamp_decision_recruited_physician
			}
			#Overwrite with ROOT to hide that portrait
			save_scope_as = 1040_fourth_character
		}
		if = {
			limit = {
				exists = scope:1040_fifth_character
				scope:1040_sickly_minor ?= scope:1040_fifth_character
				exists = scope:laamp_decision_has_healed
			}
			#Overwrite with ROOT to hide that portrait
			save_scope_as = 1040_fifth_character
		}
		#Can we _not_ repeat the loc?
		1025_set_and_check_hub_loc_tracker_scope_effect = { HUB = church_grounds }
		#Do we have a sick minor we snuck along?
		if = {
			limit = {
				NOT = { exists = scope:1040_sickly_minor }
				any_close_family_member = { 1040_sickly_minor_trigger = yes }
			}
			random_close_family_member = {
				limit = { 1040_sickly_minor_trigger = yes }
				save_scope_as = 1040_sickly_minor
				save_scope_as = 1040_fifth_character
			}
		}
		#Rare: Spawn a spectacular Physician
		if = {
			limit = {
				NOT = { has_variable = laamp_decision_1000_checked_for_physician }
			}
			random_list = {
				80 = {
					#No Physician
				}
				20 = {
					#Has this person been our physician in the past 10 years?
					random_pool_character = {
						province = scope:visiting_location
						limit = {
							1010_basic_merchant_checks_trigger = yes
							save_temporary_scope_as = saved_character_check
							#Let's avoid double-dipping
							1010_is_a_saved_physician_trigger = yes
							1010_is_a_saved_merchant_trigger = no
							1010_is_a_saved_peddler_trigger = no
							1010_is_a_saved_crier_trigger = no
							1010_is_a_saved_storyteller_trigger = no
							1010_is_a_saved_thief_trigger = no
							1010_is_a_saved_healer_trigger = no
							1010_is_a_saved_clergy_trigger = no
							1010_is_a_saved_bodyguard_trigger = no
							1010_is_a_saved_weaponsmith_trigger = no
							1010_is_a_saved_armorer_trigger = no
							1010_is_a_saved_jeweler_trigger = no
							1010_is_a_saved_quartermaster_trigger = no	
						}
						save_scope_as = laamp_physician_recruit
						#Some more loc flavor shenanigans for these saved scopes
						save_scope_as = laamp_recurring_physician
					}
					#Otherwise find a physician in the pool
					if = {
						limit = { 
							NOT = { exists = scope:laamp_physician_recruit }
						}
						random_pool_character = {
							province = scope:visiting_location
							limit = { 
								1010_basic_merchant_checks_trigger = yes
								has_trait = devoted
								learning >= 15
								OR = {
									has_trait = lifestyle_physician
									has_trait = lifestyle_herbalist
									has_trait = lifestyle_mystic
								}
							}
							save_scope_as = laamp_physician_recruit
						}
					}
					#Otherwise create a physician
					if = {
						limit = {
							NOT = { exists = scope:laamp_physician_recruit }
						}
						#Create physician to stuff in pool
						create_character = {
							template = bp1_yearly_2021_learning_person_template
							location = scope:visiting_location
							dynasty = none
							culture = scope:visiting_location.culture
							faith = scope:visiting_location.faith
							learning = { decent_skill_rating high_skill_rating }
							save_scope_as = laamp_physician_recruit
						}
						scope:laamp_physician_recruit ?= {
							#Chance to add a malus trait to this spectatular being
							if = {
								limit = { 
									NOR = { 
										has_trait = possessed_1 
										has_trait = lunatic_1
										has_trait = depressed_1
										has_trait = drunkard
										has_trait = hashishiyah
										has_trait = irritable
										any_secret = { type = secret_witch }
									}
								}
								hidden_effect = {
									random = {
										chance = 20
										random_list = {
											10 = { add_trait = possessed_1 }
											10 = { add_trait = lunatic_1 }
											10 = { add_trait = depressed_1 }
											10 = { add_trait = drunkard }
											10 = { add_trait = hashishiyah }
											10 = { add_trait = irritable }
											10 = { 
												add_secret = { type = secret_witch }
											}
										}
									}
								}
							}
							if = {
								limit = {
									NOT = { has_trait = devoted }
								}
								add_trait = devoted
							}
						}
					}
					scope:laamp_physician_recruit = { save_scope_as = 1040_third_character }
					#Remember the physician
					1010_remember_vendor_character_effect = { GUILD = physician CHARACTER = scope:laamp_physician_recruit }
				}
			}
			#No decision-scumming
			set_variable = {
				name = laamp_decision_1000_checked_for_physician
				days = visit_settlement_cooldown_days
			}
		}
		#Make sure we remember the church isn't available because you were a thieving heathen
		if = {
			limit = {
				NOT = { exists = scope:laamp_decision_has_churched }
				has_variable = 1040_caught_stealing
			}
			save_scope_as = laamp_decision_has_churched
		}
	}
	#Attempt to improve your health // OR // Attempt to cure (curable) illness
	option = {
		name = {
			text = {
				first_valid = {
					#Sickly child is still waiting at the healer's
					triggered_desc = {
						trigger = { 
							exists = scope:been_to_healer
							exists = scope:1040_sickly_minor
							NOT = { exists = scope:laamp_decision_has_healed }
						}
						desc = ep3_laamp_decision_event.1040.a_second_sickly_minor
					}
					#Return to healer
					triggered_desc = {
						trigger = { exists = scope:been_to_healer }
						desc = ep3_laamp_decision_event.1040.a_second
					}
					#We are meeting a sickly child at the healer's
					triggered_desc = {
						trigger = { exists = scope:1040_sickly_minor }
						desc = ep3_laamp_decision_event.1040.a_sickly_minor
					}
					#First time going to healer
					desc = ep3_laamp_decision_event.1040.a
				}
			}
		}
		trigger = {
			custom_tooltip = {
				text = ep3_laamp_decision_event.1040.a.cooldown.tt
				NOT = { exists = scope:laamp_decision_has_healed }
			}
		}
		show_as_unavailable = { always = yes }
		reason = visit_healer
		custom_tooltip = ep3_laamp_decision_event.1040.a.tt
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = church_grounds }
		#Go to the Healer screen
		trigger_event = ep3_laamp_decision_event.1041
		ai_chance = { base = 100 }
	}
	#Visit church
	option = {
		name = {
			text = {
				first_valid = {
					#Return to church
					triggered_desc = {
						trigger = { exists = scope:been_to_church }
						desc = ep3_laamp_decision_event.1040.b_second
					}
					#First time at church
					desc = ep3_laamp_decision_event.1040.b
				}
			}
		}
		trigger = {
			#You were recently caught stealing from the church
			trigger_if = {
				limit = { has_variable = 1040_caught_stealing }
				custom_tooltip = {
					text = caught_stealing.tt
					always = no
				}
			}
			trigger_else = {
				custom_tooltip = {
					text = ep3_laamp_decision_event.1040.b.cooldown.tt
					NOT = { exists = scope:laamp_decision_has_churched }
				}
			}
		}
		show_as_unavailable = { always = yes }
		reason = visit_church
		custom_tooltip = ep3_laamp_decision_event.1040.b.tt
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = church_grounds }
		#Go to the Church screen
		trigger_event = ep3_laamp_decision_event.1043
		ai_chance = {
			base = 100
			modifier = {
				has_trait = zealous
				factor = 2
			}
			modifier = {
				has_trait = pilgrim
				factor = 2
			}
		}
	}
	#Convert to local faith // OR // Contemplate faith
	option = {
		name = {
			text = {
				first_valid = {
					#Convert to faith
					triggered_desc = {
						trigger = { exists = scope:been_to_garden }
						desc = ep3_laamp_decision_event.1040.c_second
					}
					#Contemplate faith
					desc = ep3_laamp_decision_event.1040.c
				}
			}
		}
		trigger = {
			custom_tooltip = {
				text = ep3_laamp_decision_event.1040.c.cooldown.tt
				NOT = { exists = scope:laamp_decision_has_gardened }
			}
		}
		show_as_unavailable = { always = yes }
		reason = visit_garden
		custom_tooltip = ep3_laamp_decision_event.1040.c.tt
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = church_grounds }
		#Go to the Garden screen
		trigger_event = ep3_laamp_decision_event.1045
		ai_chance = {
			base = 100
			modifier = {
				stress_level >= 2
				add = 400
			}
		}
	}
	#Rare Option: Hire cheaper, skilled, Physician
	option = {
		name = {
			text = {
				first_valid = {
					#Return to talk to physician
					triggered_desc = {
						trigger = { exists = scope:been_to_physician }
						desc = ep3_laamp_decision_event.1040.d_second
					}
					#First time talking to physician
					desc = ep3_laamp_decision_event.1040.d
				}
			}
		}
		trigger = {
			exists = scope:laamp_physician_recruit
			NOT = { exists = scope:laamp_decision_recruited_physician }
		}
		reason = recruit_physician
		custom_tooltip = ep3_laamp_decision_event.1040.d.tt
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = church_grounds }
		#For the Physician screen
		trigger_event = ep3_laamp_decision_event.1047
		ai_chance = {
			base = 1000 #Just do it
		}
	}
	#I want to do something else
	option = {
		name = {
			text = {
				first_valid = {
					#Nothing left to do
					triggered_desc = {
						trigger = { 1040_done_with_church_trigger = yes }
						desc = ep3_laamp_decision_event.1040.e_second
					}
					#Back to main square
					desc = ep3_laamp_decision_event.1040.e
				}
			}
		}
		#Have we done everything? Are we closing off the option?
		if = {
			limit = { 1040_done_with_church_trigger = yes }
			#Clean up unnecessary variables and close off the option
			1040_finished_churched_effect = yes
		}
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = church_grounds }
		#Go back to the main event
		1000_return_to_main_effect = yes
		ai_chance = { base = 100 }
	}
	after = {
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:church_grounds }
	}
}


#Pretty straight forward
scripted_effect 1041_chance_to_buff_item_rarity_effect = {
	random_list = {
		20 = {
			trigger = {
				exists = scope:laamp_healer_character
				$VENDOR$ = scope:laamp_healer_character
			}
			set_artifact_rarity_famed = yes
		}
		40 = {
			modifier = {
				exists = scope:laamp_jeweler_craftsman
				$VENDOR$ = scope:laamp_jeweler_craftsman
				factor = 2
			}
			set_artifact_rarity_masterwork = yes
		}
		80 = {
			set_artifact_rarity_common = yes
		}
	}
}

#Reused effect to set the value variables
scripted_effect 1041_set_item_value_effect = {
	#Weapon cost
	if = {
		limit = { has_variable = 1061_laamp_decision_weapon }
		if = {
			limit = { rarity = masterwork }
			set_variable = {
				name = 1061_weapon_value
				value = {
					value = root.major_gold_value
					multiply = { 1 1.5 }
				}
			}
		}
		else = {
			set_variable = {
				name = 1061_weapon_value
				value = {
					value = root.medium_gold_value
					multiply = { 0.75 1.25 }
				}
			}
		}
	}
	#Armor cost
	if = {
		limit = { has_variable = 1063_laamp_decision_armor }
		if = {
			limit = { rarity = masterwork }
			set_variable = {
				name = 1063_armor_value
				value = {
					value = root.major_gold_value
					multiply = { 1.5 2 }
				}
			}
		}
		else = {
			set_variable = {
				name = 1063_armor_value
				value = {
					value = root.medium_gold_value
					multiply = { 1.25 1.75 }
				}
			}
		}
	}
	#Accessory cost
	if = {
		limit = { 
			OR = {
				has_variable = 1041_laamp_decision_health_artifact
				has_variable = 1065_laamp_decision_accessory 
			}
		}
		if = {
			limit = { 
				rarity = famed
				has_variable = 1041_laamp_decision_health_artifact
			}
			set_variable = {
				name = 1065_accessory_value
				value = {
					value = root.massive_gold_value
					multiply = { 1 1.5 }
				}
			}
		}
		else_if = {
			limit = { rarity = masterwork }
			set_variable = {
				name = 1065_accessory_value
				value = {
					value = root.major_gold_value
					multiply = { 1.25 1.75 }
				}
			}
		}
		else = {
			set_variable = {
				name = 1065_accessory_value
				value = {
					value = root.medium_gold_value
					multiply = { 1 1.5 }
				}
			}
		}
	}
}

#We return to the church grounds event to peruse other options
scripted_effect 1041_return_to_church_grounds_effect = {
	custom_tooltip = ep3_laamp_decision_event.1041.return.tt
	trigger_event = ep3_laamp_decision_event.1040
}

#Set the correct variable to block off the Healer option and remove the desc flavor variable
scripted_effect 1041_healed_effect = {
	scope:1041_health_artifact = { remove_variable ?= 1065_accessory_value }
	remove_variable ?= 1041_healer_aptitude
	remove_variable ?= 1041_partner_healer_aptitude
	save_scope_as = laamp_decision_has_healed
	#Go back to church grounds
	hidden_effect = { 1041_return_to_church_grounds_effect = yes }
}

#Determine the variable effect based on their aptitude, one for the healer and one for the physician-partner
scripted_effect 1041_calculate_aptitude_modifier_effect = {
	if = {
		limit = {
			$CHARACTER$ = {
				aptitude = {
					court_position = court_physician_court_position
					value >= 1
				}
			}	
		}
		change_variable = {
			name = $VARIABLE$
			add = 1
		}
	}
	if = {
		limit = {
			$CHARACTER$ = {
				aptitude = {
					court_position = court_physician_court_position
					value >= 2
				}
			}	
		}
		change_variable = {
			name = $VARIABLE$
			add = 1
		}
	}
	if = {
		limit = {
			$CHARACTER$ = {
				aptitude = {
					court_position = court_physician_court_position
					value >= 3
				}
			}	
		}
		change_variable = {
			name = $VARIABLE$
			add = 1
		}
	}
	if = {
		limit = {
			$CHARACTER$ = {
				aptitude = {
					court_position = court_physician_court_position
					value >= 4
				}
			}	
		}
		change_variable = {
			name = $VARIABLE$
			add = 1
		}
	}
	if = {
		limit = {
			$CHARACTER$ = {
				aptitude = {
					court_position = court_physician_court_position
					value >= 5
				}
			}	
		}
		change_variable = {
			name = $VARIABLE$
			add = 1
		}
	}
}

#The actual removal-of-illness
scripted_effect 1041_remove_illness_or_wound_effect = {
	random_list = {
		100 = {
			trigger = { has_character_modifier = infected_wound_modifier }
			remove_character_modifier = infected_wound_modifier
		}
		100 = {
			trigger = { has_character_modifier = gangrene_modifier }
			remove_character_modifier = gangrene_modifier
		}
		100 = {
			trigger = { has_trait = wounded_1 }
			remove_trait = wounded_1
		}
		100 = {
			trigger = { has_trait = wounded_2 }
			remove_trait = wounded_2
		}
		100 = {
			trigger = { has_trait = wounded_3 }
			remove_trait = wounded_3
		}
		100 = {
			trigger = { has_trait = ill }
			remove_trait = ill
		}
		100 = {
			trigger = { has_trait = pneumonic }
			remove_trait = pneumonic
		}
		50 = {
			trigger = { has_trait = typhus }
			remove_trait = typhus
		}
		50 = {
			trigger = { has_trait = gout_ridden }
			remove_trait = gout_ridden
		}
		50 = {
			trigger = { has_trait = consumption }
			remove_trait = consumption
		}
		50 = {
			trigger = { has_trait = smallpox }
			remove_trait = smallpox
		}
		50 = {
			trigger = { has_trait = great_pox }
			remove_trait = great_pox
		}
		25 = {
			trigger = { has_trait = cancer }
			remove_trait = cancer
		}
		25 = {
			trigger = { has_trait = bubonic_plague }
			remove_trait = bubonic_plague
		}
		25 = {
			trigger = { has_trait = leper }
			remove_trait = leper
		}
	}
}

#Do you feel lucky?
scripted_effect 1041_treatment_roll_effect = {
	random_list = {
		#Failure
		70 = {
			#Some weighting based on the aptitude of the performing party (healer/physician-partner)
			modifier = {
				exists = $VARIABLE$
				$VARIABLE$ >= 5
				add = -15
			}
			modifier = {
				exists = $VARIABLE$
				$VARIABLE$ >= 4
				add = -15
			}
			modifier = {
				exists = $VARIABLE$
				$VARIABLE$ >= 3
				add = -15
			}
			#Notify us about the outcome
			if = {
				limit = { 
					NOT = { $TARGET_CHARACTER$ = root } #If our partner gets treated
				}
				send_interface_toast = {
					type = event_toast_text_bad
					title = ep3_laamp_decision_event.1041.treatment_failure.t
					desc = ep3_laamp_decision_event.1041.treatment_failure.desc
					left_icon = root
					right_icon = $TARGET_CHARACTER$
				}
			}
			else = {
				send_interface_toast = {
					type = event_toast_text_bad #If we get treated
					title = ep3_laamp_decision_event.1041.treatment_failure.t
					desc = ep3_laamp_decision_event.1041.treatment_failure.desc
					left_icon = root
				}
			}
			#Nothing happens
		}
		#Success
		30 = {
			modifier = {
				NOT = { $TARGET_CHARACTER$ = root } #The scoped character is either visiting_partner or sickly_minor
				$TARGET_CHARACTER$ = {
					age < 20
					is_child_of = root
				}
				add = 30
			}
			modifier = {
				NOT = { $TARGET_CHARACTER$ = root } #... a cold-hearted person can tweak this back later on when people complain about too low child mortality rates
				$TARGET_CHARACTER$ = {
					age < 10
					is_child_of = root
				}
				add = 30
			}
			#If our partner gets treated
			if = {
				limit = { 
					NOT = { $TARGET_CHARACTER$ = root } #The scoped character is either visiting_partner or sickly_minor
				}
				send_interface_toast = {
					type = event_toast_effect_good
					title = ep3_laamp_decision_event.1041.treatment_success.t
					left_icon = root
					right_icon = $TARGET_CHARACTER$
					$TARGET_CHARACTER$ = { 1041_remove_illness_or_wound_effect = yes }	
				}
			}
			#If we get treated, automatic toast
			else = { 1041_remove_illness_or_wound_effect = yes }	
		}
	}
}

#Someone learn-y or mystic
scripted_trigger 1041_physician_partner_trigger = {
	OR = {
		learning >= 15
		has_trait = lifestyle_physician
		has_trait = lifestyle_mystic
		has_trait = witch
	}
}


#Visit Healer
ep3_laamp_decision_event.1041 = {
	type = character_event
	title = ep3_laamp_decision_event.1041.t
	window = visit_settlement_window
	desc = {
		#What are they up to?
		first_valid = {
			#We've returned to this scene, now what
			#RETURN: A sick minor... is still here
			triggered_desc = {
				trigger = {
					exists = scope:1040_sickly_minor
					exists = scope:been_to_healer
				}
				desc = ep3_laamp_decision_event.1041.desc_returned_sickly_minor
			}
			#RETURN: Physician partner wants a stab at it
			triggered_desc = {
				trigger = {
					scope:visiting_partner ?= { 
						1041_physician_partner_trigger = yes
						1000_has_illness_or_wound_to_treat_trigger = no
					}
					exists = scope:been_to_healer
				}
				desc = ep3_laamp_decision_event.1041.desc_returned_physician_partner
			}
			#RETURN: Generics
			random_valid = {
				triggered_desc = { 
					trigger = { 
						exists = scope:been_to_healer
						scope:healer_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1041.desc_returned_01
				}
				triggered_desc = { 
					trigger = { scope:healer_loc_tracker ?= 1 }
					desc = ep3_laamp_decision_event.1041.desc_returned_02
				}
			}
			#FIRST TIME: A sick minor was snuck along
			triggered_desc = {
				trigger = {
					exists = scope:1040_sickly_minor
					NOT = { exists = scope:been_to_healer }
				}
				desc = ep3_laamp_decision_event.1041.desc_sickly_minor
			}
			#FIRST TIME: Our partner is actually pretty physician-y
			triggered_desc = {
				trigger = {
					scope:visiting_partner ?= { 
						1041_physician_partner_trigger = yes
						1000_has_illness_or_wound_to_treat_trigger = no
					}
					NOT = { exists = scope:been_to_healer }
				}
				desc = ep3_laamp_decision_event.1041.desc_physician_partner
			}
			#FIRST TIME: We've seen this healer before
			triggered_desc = {
				trigger = {
					exists = scope:laamp_recurring_healer_character
					NOT = { exists = scope:been_to_healer }
				}
				desc = ep3_laamp_decision_event.1041.desc_reused_healer
			}
			#FIRST TIME:
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_healer }
				}
				desc = ep3_laamp_decision_event.1041.desc
			}	
		}
		#Describe the artifact
		first_valid = {
			#RETURN: Horn artifact
			triggered_desc = {
				trigger = { 
					exists = scope:been_to_healer
					scope:1041_health_artifact = { has_variable = health_horn }
				}
				desc = ep3_laamp_decision_event.1041.desc_outro_return_horn
			}
			#FIRST TIME: Horn artifact
			triggered_desc = {
				trigger = { 
					NOT = { exists = scope:been_to_healer }
					scope:1041_health_artifact = { has_variable = health_horn }
				}
				desc = ep3_laamp_decision_event.1041.desc_outro_horn
			}
			#RETURN: Other artifacts
			triggered_desc = {
				trigger = { 
					exists = scope:been_to_healer
					scope:1041_health_artifact = { 
						NOT = { has_variable = health_horn }
					}
				}
				desc = ep3_laamp_decision_event.1041.desc_outro_return_artifact
			}
			#FIRST TIME: Other artifacts
			triggered_desc = {
				trigger = { 
					NOT = { exists = scope:been_to_healer }
					scope:1041_health_artifact = { 
						NOT = { has_variable = health_horn }
					}
				}
				desc = ep3_laamp_decision_event.1041.desc_outro_artifact
			}
		}
	}
	theme = medicine
	#Someone close to you is sick
	override_sound = { 
		trigger = { 
			OR = {
				scope:visiting_partner ?= { 1000_has_illness_or_wound_to_treat_trigger = yes }
				exists = scope:1040_sickly_minor
			}
		}
		reference = "event:/MUSIC/Cues/Events/Illness/mx_cue_illness"
	}
	override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_medicine" }
	override_background = { reference = physicians_study }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		#If it's our (tired) visiting partner
		triggered_animation = {
			trigger = { 1040_done_with_church_trigger = yes }
			animation = boredom
		}
		#Concerned about our kid
		triggered_animation = {
			trigger = {
				exists = scope:1040_sickly_minor
				is_close_family_of = scope:1040_sickly_minor
			}
			animation = stress
		}
		#Sick dudette
		triggered_animation = {
			trigger = { 1000_has_illness_or_wound_to_treat_trigger = yes }
			animation = pain
		}
		#Doctor dude
		triggered_animation = {
			trigger = { 1041_physician_partner_trigger = yes }
			animation = ecstasy
		}
		animation = thinking
	}
	center_portrait = {
		character = root
		triggered_animation = {
			trigger = { exists = scope:1040_sickly_minor }
			animation = worry
		}
		animation = personality_content
	}
	right_portrait = {
		character = scope:laamp_healer_character
		camera = camera_event_scheme_far_right
		animation = physician
	}
	#Do we have a sick minor?
	lower_left_portrait = {
		trigger = { exists = scope:1040_sickly_minor }
		character = scope:1040_sickly_minor
	}
	artifact = {
		target = scope:1041_health_artifact
		position = lower_right_portrait
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#Can we _not_ repeat the loc?
		1025_set_and_check_scene_loc_tracker_scope_effect = { SCENE = healer }
		#Find our healer
		if = {
			#Do we already have a healer?
			limit = {
				NOT = { exists = scope:laamp_healer_character }
			}
			#Has this person been our healer in the past 10 years?
			random_pool_character = {
				province = scope:visiting_location
				limit = {
					1010_basic_merchant_checks_trigger = yes
					save_temporary_scope_as = saved_character_check
					#Let's avoid double-dipping
					1010_is_a_saved_healer_trigger = yes
					1010_is_a_saved_merchant_trigger = no
					1010_is_a_saved_peddler_trigger = no
					1010_is_a_saved_crier_trigger = no
					1010_is_a_saved_storyteller_trigger = no
					1010_is_a_saved_thief_trigger = no
					1010_is_a_saved_clergy_trigger = no
					1010_is_a_saved_physician_trigger = no
					1010_is_a_saved_bodyguard_trigger = no
					1010_is_a_saved_weaponsmith_trigger = no
					1010_is_a_saved_armorer_trigger = no
					1010_is_a_saved_jeweler_trigger = no
					1010_is_a_saved_quartermaster_trigger = no
				}
				save_scope_as = laamp_healer_character
				#Some more loc flavor shenanigans for these saved scopes
				save_scope_as = laamp_recurring_healer_character
			}
			#Otherwise find a healer in the pool
			if = {
				limit = { 
					NOT = { exists = scope:laamp_healer_character }
				}
				random_pool_character = {
					province = scope:visiting_location
					limit = { 
						1010_basic_merchant_checks_trigger = yes
						has_trait = lifestyle_physician
					}
					save_scope_as = laamp_healer_character
				}
			}
			#Otherwise create a healer
			if = {
				limit = {
					NOT = { exists = scope:laamp_healer_character }
				}
				#Create healer to stuff in pool
				create_character = {
					template = physician_high_character_template
					location = scope:visiting_location
					dynasty = none
					culture = scope:visiting_location.culture
					faith = scope:visiting_location.faith
					save_scope_as = laamp_healer_character
				}
			}
			#Remember the healer
			1010_remember_vendor_character_effect = { GUILD = healer CHARACTER = scope:laamp_healer_character }
			#Find our healing artifact
			if = {
				limit = {
					NOT = { exists = scope:1041_health_artifact }
				}
				scope:laamp_healer_character ?= {
					#Have we created healing artifacts recently, which we can pull?
					if = {
						limit = {
							any_character_artifact ?= { has_variable = 1041_laamp_decision_health_artifact }
						}
						random_character_artifact = {
							limit = { has_variable = 1041_laamp_decision_health_artifact }
							save_scope_as = 1041_health_artifact
						}
					}
					#If we don't have any old healing artifacts; generate a new one!
					hidden_effect_new_object = { #HAZMAT SUIT OF ERROR SUPRESSION
						if = {
							limit = {
								NOT = { exists = scope:1041_health_artifact }
							}
							#Set rarity, maybe
							1041_chance_to_buff_item_rarity_effect = { VENDOR = scope:laamp_healer_character }
							#Generate healing artifact
							generate_health_trinket_effect = yes
							#Finalization
							scope:newly_created_health_artifact ?= {
								set_variable = {
									name = 1041_laamp_decision_health_artifact
									days = visit_settlement_cooldown_days
								}
								#Belt & suspenders
								set_variable = 1041_laamp_decision_health_artifact
								#Don't need no notification about this
								1020_suppress_artifact_notifications_effect = yes
								save_scope_as = 1041_health_artifact
							}
						}
						#Set the value of the health artifact
						scope:1041_health_artifact = { 1041_set_item_value_effect = yes }
					}
				}
			}
			if = {
				limit = {
					exists = scope:laamp_healer_character
					NOT = { has_variable = 1041_healer_aptitude }
				}
				#Calculate the healer's aptitude
				set_variable = {
					name = 1041_healer_aptitude
					value = 0
				}
				1041_calculate_aptitude_modifier_effect = { CHARACTER = scope:laamp_healer_character VARIABLE = 1041_healer_aptitude }
				#Calculate our physician friend's aptitude
				if = {
					limit = { 
						scope:visiting_partner ?= { 1041_physician_partner_trigger = yes }
					}
					set_variable = {
						name = 1041_partner_healer_aptitude
						value = 0
					}
					1041_calculate_aptitude_modifier_effect = { CHARACTER = scope:visiting_partner VARIABLE = 1041_partner_healer_aptitude }
				}
			}
		}
		#For the background
		scope:laamp_healer_character = {
			if = {
				limit = {
					is_ruler = no
					exists = court_owner
				}
				court_owner = { save_scope_as = bg_override_char }
			}
			else = {
				save_scope_as = bg_override_char
			}
		}
	}
	#Attempt to improve your health // OR // Attempt to cure (curable) illness
	option = {
		name = {
			text = {
				first_valid = {
					#We're ill
					triggered_desc = {
						trigger = { 1000_has_illness_or_wound_to_treat_trigger = yes }
						desc = ep3_laamp_decision_event.1041.a_ill
					}
					#Just a standard procedure
					desc = ep3_laamp_decision_event.1041.a
				}
			}
		}
		#We're ill, roll for some treatment
		if = {
			limit = { 1000_has_illness_or_wound_to_treat_trigger = yes }
			1041_treatment_roll_effect = { TARGET_CHARACTER = root VARIABLE = var:1041_healer_aptitude }
		}
		#Standard procedure health modifier
		else = {
			if = {
				limit = { has_character_modifier = laamp_decision_church_health_modifier }
				hidden_effect = { remove_character_modifier = laamp_decision_church_health_modifier }
			}
			add_character_modifier = {
				modifier = laamp_decision_church_health_modifier
				days = visit_settlement_cooldown_days
			}
		}
		pay_short_term_gold = {
			target = scope:laamp_healer_character
			gold = minor_gold_value
		}
		#Set the variables and redirect us back to the Church Grounds
		1041_healed_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				short_term_gold < minor_gold_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
			modifier = {
				1000_has_illness_or_wound_to_treat_trigger = no
				has_character_modifier = laamp_decision_church_health_modifier
				factor = 0
			}
		}
	}
	#Buy the health artifact
	option = {
		name = ep3_laamp_decision_event.1041.b
		scope:1041_health_artifact = {
			root = {
				pay_short_term_gold = {
					target = scope:laamp_healer_character
					gold = prev.var:1065_accessory_value
				}
			}
			set_owner = root
		}
		#Set the variables and redirect us back to the Church Grounds
		1041_healed_effect = yes
		ai_chance = {
			base = 50
			modifier = {
				short_term_gold < scope:1041_health_artifact.var:1065_accessory_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
		}
	}
	#Triggered Option: Your partner wants to try their hand at the procedure
	option = {
		name = ep3_laamp_decision_event.1041.c
		trigger = {
			scope:visiting_partner ?= { 
				1041_physician_partner_trigger = yes
				1000_has_illness_or_wound_to_treat_trigger = no
			}
			NOT = { exists = scope:1040_sickly_minor }
		}
		flavor = ep3_laamp_decision_event.1041.c.flavor
		#We're ill, roll for some treatment
		if = {
			limit = { 1000_has_illness_or_wound_to_treat_trigger = yes }
			1041_treatment_roll_effect = { TARGET_CHARACTER = root VARIABLE = var:1041_partner_healer_aptitude }
		}
		#Standard procedure health modifier
		else = {
			if = {
				limit = { has_character_modifier = laamp_decision_church_health_partner_modifier }
				hidden_effect = { remove_character_modifier = laamp_decision_church_health_partner_modifier }
			}
			add_character_modifier = {
				modifier = laamp_decision_church_health_partner_modifier
				days = visit_settlement_cooldown_days
			}
		}
		progress_towards_friend_effect = {
			REASON = friend_allowed_to_treat
			CHARACTER = scope:visiting_partner
			OPINION = default_friend_opinion
		}
		scope:visiting_partner = {
			if = {
				limit = {
					NOT = { has_trait = lifestyle_physician }
				}
				add_trait = lifestyle_physician
			}
			else_if = {
				limit = {
					has_trait = lifestyle_physician
					has_trait_xp = {
						trait = lifestyle_physician
						value < 100
					}
				}
				add_trait_xp = {
					trait = lifestyle_physician
					value = 40
				}
			}
			else = {
				add_learning_skill = 1
			}
		}
		#Set the variables and redirect us back to the Church Grounds
		1041_healed_effect = yes
		ai_chance = { base = 200 }
	}
	#Triggered Option: Your partner or sickly minor is ill
	option = {
		name = {
			text = ep3_laamp_decision_event.1041.d
			trigger = { exists = scope:1040_sickly_minor }
		}
		name = {
			text = ep3_laamp_decision_event.1041.d.partner
			trigger = { exists = scope:visiting_partner }
		}
		trigger = {
			OR = {
				scope:visiting_partner ?= { 1000_has_illness_or_wound_to_treat_trigger = yes }
				exists = scope:1040_sickly_minor
			}
		}
		if = {
			limit = { exists = scope:1040_sickly_minor }
			1041_treatment_roll_effect = { TARGET_CHARACTER = scope:1040_sickly_minor VARIABLE = var:1041_healer_aptitude }
			progress_towards_friend_effect = {
				REASON = friend_got_treatment
				CHARACTER = scope:1040_sickly_minor
				OPINION = default_friend_opinion
			}
		}
		else = {
			1041_treatment_roll_effect = { TARGET_CHARACTER = scope:visiting_partner VARIABLE = var:1041_healer_aptitude }
			progress_towards_friend_effect = {
				REASON = friend_got_treatment
				CHARACTER = scope:visiting_partner
				OPINION = default_friend_opinion
			}
		}
		pay_short_term_gold = {
			target = scope:laamp_healer_character
			gold = minor_gold_value
		}	
		#Set the variables and redirect us back to the Church Grounds
		1041_healed_effect = yes
		ai_chance = {
			base = 300
			modifier = {
				short_term_gold < minor_gold_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
		}
	}
	#I want to go back
	option = {
		name = ep3_laamp_decision_event.1041.e
		#Sets variables and returns us to church grounds screen
		1031_been_to_effect = { GUILD = healer }
		ai_chance = { base = 100 }
	}
	after = {
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:healer }
	}
}


#Set the correct variable to block off the Church option and remove the desc flavor variable
scripted_effect 1043_churched_effect = {
	save_scope_as = laamp_decision_has_churched
	#Go back to church grounds
	hidden_effect = { 1041_return_to_church_grounds_effect = yes }
}

#Not really into religion
scripted_trigger 1043_is_unzealous_trigger = {
	OR = {
		has_trait = cynical
		any_secret = { type = secret_non_believer }
	}
}


#Visit Church
ep3_laamp_decision_event.1043 = {
	type = character_event
	title = ep3_laamp_decision_event.1043.t
	window = visit_settlement_window
	desc = {
		#What are they up to?
		first_valid = {
			#We've returned to this scene, now what
			#RETURN: Generics
			random_valid = {
				triggered_desc = { 
					trigger = { 
						exists = scope:been_to_church
						scope:church_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1043.desc_returned_01
				}
				triggered_desc = { 
					trigger = { scope:church_loc_tracker ?= 1 }
					desc = ep3_laamp_decision_event.1043.desc_returned_02
				}
			}
			#FIRST TIME: We've seen this NunMonk before
			triggered_desc = {
				trigger = {
					exists = scope:laamp_recurring_clergy_character
					NOT = { exists = scope:been_to_church }
				}
				desc = ep3_laamp_decision_event.1043.desc_reused_clergy
			}
			#FIRST TIME:
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_church }
				}
				desc = ep3_laamp_decision_event.1043.desc
			}	
		}
		#How about some theft
		first_valid = {
			#RETURN: Longing master thief
			triggered_desc = {
				trigger = {
					scope:visiting_partner ?= { has_court_position = master_thief_camp_officer }
					exists = scope:been_to_church
				}
				desc = ep3_laamp_decision_event.1043.desc_return_outro_thief
			}
			#RETURN: Outro
			triggered_desc = {
				trigger = { exists = scope:been_to_church }
				desc = ep3_laamp_decision_event.1043.desc_return_outro
			}
			#FIRST TIME: Longing master thief
			triggered_desc = {
				trigger = {
					scope:visiting_partner ?= { has_court_position = master_thief_camp_officer }
					NOT = { exists = scope:been_to_church }
				}
				desc = ep3_laamp_decision_event.1043.desc_outro_thief
			}
			#FIRST TIME: Outro
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_church }
				}
				desc = ep3_laamp_decision_event.1043.desc_outro
			}
		}
	}
	theme = faith
	override_sound = { reference = "event:/MUSIC/Cues/Events/Sacral Happening/mx_cue_epic_sacral_moment" }
	override_background = { reference = temple }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		#Master thief
		triggered_animation = {
			trigger = { has_court_position = master_thief_camp_officer }
			animation = scheme
		}
		#Unzealous
		triggered_animation = {
			trigger = { 1043_is_unzealous_trigger = yes }
			animation = personality_cynical
		}
		#Zealous
		triggered_animation = {
			trigger = {
				scope:visiting_partner = { has_trait = zealous }
			}
			animation = ecstasy
		}
		#Friendly
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_friendly_traits = yes } 
			}
			animation = interested
		}
		#Business-minded
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_commerce_traits = yes } 
			}
			animation = personality_greedy
		}
		#Uninterested
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_uninterested_traits = yes } 
			}
			animation = boredom
		}
		#Irrational
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_irrational_traits = yes } 
			}
			animation = personality_irrational
		}
		#A bit awkward
		triggered_animation = {
			trigger = { 
				scope:visiting_partner = { 1010_has_standoffish_traits = yes } 
			}
			animation = disapproval
		}
		animation = personality_honorable
	}
	center_portrait = {
		character = root
		triggered_animation = {
			trigger = { 1043_is_unzealous_trigger = yes }
			animation = disapproval
		}
		animation = personality_content
	}
	right_portrait = {
		character = scope:laamp_clergy_character
		animation = personality_forgiving
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#For the background
		scope:visiting_location.county.holder = { save_scope_as = bg_override_char }
		#Can we _not_ repeat the loc?
		1025_set_and_check_scene_loc_tracker_scope_effect = { SCENE = church }
		#Find our clergy
		if = {
			#Do we already have a clergy?
			limit = {
				NOT = { exists = scope:laamp_clergy_character }
			}
			#Has this person been our clergy in the past 10 years?
			random_pool_character = {
				province = scope:visiting_location
				limit = {
					1010_basic_merchant_checks_trigger = yes
					faith = scope:visiting_location.faith
					save_temporary_scope_as = saved_character_check
					#Let's avoid double-dipping
					1010_is_a_saved_clergy_trigger = yes
					1010_is_a_saved_merchant_trigger = no
					1010_is_a_saved_peddler_trigger = no
					1010_is_a_saved_crier_trigger = no
					1010_is_a_saved_storyteller_trigger = no
					1010_is_a_saved_thief_trigger = no
					1010_is_a_saved_healer_trigger = no
					1010_is_a_saved_physician_trigger = no
					1010_is_a_saved_bodyguard_trigger = no
					1010_is_a_saved_weaponsmith_trigger = no
					1010_is_a_saved_armorer_trigger = no
					1010_is_a_saved_jeweler_trigger = no
					1010_is_a_saved_quartermaster_trigger = no
				}
				save_scope_as = laamp_clergy_character
				#Some more loc flavor shenanigans for these saved scopes
				save_scope_as = laamp_recurring_clergy_character
			}
			#Otherwise find a clergy in the pool
			if = {
				limit = { 
					NOT = { exists = scope:laamp_clergy_character }
				}
				random_pool_character = {
					province = scope:visiting_location
					limit = { 
						1010_basic_merchant_checks_trigger = yes
						has_trait = devoted
						faith = scope:visiting_location.faith
					}
					save_scope_as = laamp_clergy_character
				}
			}
			#Otherwise create a clergy
			if = {
				limit = {
					NOT = { exists = scope:laamp_clergy_character }
				}
				#Create clergy to stuff in pool
				create_character = {
					template = generic_peasant_character
					location = scope:visiting_location
					dynasty = none
					trait = devoted
					culture = scope:visiting_location.culture
					faith = scope:visiting_location.faith
					save_scope_as = laamp_clergy_character
				}
			}
			#Remember the clerger
			1010_remember_vendor_character_effect = { GUILD = clergy CHARACTER = scope:laamp_clergy_character }
		}
		#How much gold is in the collect; and how difficult is it?
		if = {
			limit = {
				NOT = { exists = scope:1043_collect_gold_value }
			}
			#Randomize the initial value
			set_variable = {
				name = 1043_collect_gold_difficulty
				value = {
					integer_range = {
						min = 0
						max = 2
					}
				}
			}
			#Then add difficulty based on how much gold is in the collect
			random_list = {
				10 = {
					save_scope_value_as = {
						name = 1043_collect_gold_value
						value = minor_gold_laamps_value
					}
					change_variable = {
						name = 1043_collect_gold_difficulty
						add = 1
					}
				}
				10 = {
					save_scope_value_as = {
						name = 1043_collect_gold_value
						value = medium_gold_laamps_value
					}
					change_variable = {
						name = 1043_collect_gold_difficulty
						add = 2
					}
				}
				10 = {
					save_scope_value_as = {
						name = 1043_collect_gold_value
						value = major_gold_laamps_value
					}
					change_variable = {
						name = 1043_collect_gold_difficulty
						add = 3
					}
				}
			}
			#Did we go robbing a bunch of churches previously?
			if = {
				limit = { 
					has_variable = 1043_heightened_security
					exists = var:1043_collect_gold_difficulty
				}
				change_variable = {
					name = 1043_collect_gold_difficulty
					add = var:1043_heightened_security
				}

			}
			#Set the difficulty
			if = {
				limit = { exists = var:1043_collect_gold_difficulty }
				if = {
					limit = { var:1043_collect_gold_difficulty >= 5 }
					save_scope_value_as = {
						name = 1043_collect_gold_difficulty_rating
						value = monumentally_high_skill_rating #Had to invent a new difficulty, just for you :hmmyes:
					}
				}
				else_if = {
					limit = { var:1043_collect_gold_difficulty = 4 }
					save_scope_value_as = {
						name = 1043_collect_gold_difficulty_rating
						value = extremely_high_skill_rating
					}
				}
				else_if = {
					limit = { var:1043_collect_gold_difficulty = 3 }
					save_scope_value_as = {
						name = 1043_collect_gold_difficulty_rating
						value = high_skill_rating
					}
				}
				else_if = {
					limit = { var:1043_collect_gold_difficulty = 2 }
					save_scope_value_as = {
						name = 1043_collect_gold_difficulty_rating
						value = medium_skill_rating
					}
				}
				else = {
					save_scope_value_as = {
						name = 1043_collect_gold_difficulty_rating
						value = low_skill_rating
					}
				}
			}
		}
	}
	#Donate some gold for piety
	option = {
		name = ep3_laamp_decision_event.1043.a
		flavor = {
			first_valid = {
				triggered_desc = {
					trigger = { 1043_is_unzealous_trigger = yes }
					desc = ep3_laamp_decision_event.1043.a.flavor_unzealous
				}
			}
		}
		if = {
			limit = { NOT = { exists = var:visit_settlement_church_donation } }
			set_variable = {
				name = visit_settlement_church_donation
				years = visit_settlement_medium_cooldown_year
				value = 1
			}
		}
		else = {
			set_local_variable = {
				name = visit_settlement_church_donation_temp
				value = var:visit_settlement_church_donation
			}
			set_variable = {
				name = visit_settlement_church_donation
				years = visit_settlement_medium_cooldown_year
				value = {
					value = local_var:visit_settlement_church_donation_temp
					add = 1
				}
			}
		}
		#Pay gold, feel more pious
		pay_short_term_gold = {
			target = scope:laamp_clergy_character
			gold = minor_gold_value
		}
		add_piety = visit_settlement_piety_gain_value
		#Roll for epiphanous clergy
		hidden_effect = {
			scope:laamp_clergy_character = {
				random_list = {
					95 = {
						modifier = { 
							has_trait = possessed_1
							factor = 0.5
						}
						#Nothing happens
					}
					5 = {
						modifier = {
							piety_level = high_piety_level
							add = 5
						}
						modifier = {
							piety_level = very_high_piety_level
							add = 5
						}
						modifier = {
							piety_level = max_piety_level
							add = 5
						}
						set_variable = 1043_is_epiphanous
					}
				}
			}
		}	
		stress_impact = {
			greedy = minor_stress_impact_gain
			zealous = minor_stress_impact_loss
			generous = minor_stress_impact_loss
			improvident = medium_stress_impact_loss #Throw 'em a bone
		}
		trigger_event = ep3_laamp_decision_event.1044
		ai_chance = {
			base = 100
			modifier = {
				has_trait = greedy
				factor = 0
			}
			modifier = {
				short_term_gold < minor_gold_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
		}
	}
	#Ask for blessing
	option = {
		name = ep3_laamp_decision_event.1043.b
		trigger = {
			NOR = { 
				has_character_modifier = laamp_decision_church_blessing_stress_loss_modifier
				has_character_modifier = laamp_decision_church_blessing_stress_gain_modifier
				piety_level < low_piety_level
			}
		}
		show_as_unavailable = { always = yes }
		reason = piety
		#Pokémon blue?
		add_character_modifier = {
			modifier = laamp_decision_church_blessing_stress_loss_modifier
			years = 5
		}
		#Set the variables and redirect us back to the Church Grounds
		1043_churched_effect = yes
		ai_chance = {
			base = 200
			modifier = {
				piety_level > medium_piety_level
				add = 300
			}
		}
	}
	#'Borrow' gold from the collect
	option = {
		name = {
			text = {
				first_valid = {
					triggered_desc = {
						trigger = {
							scope:visiting_partner ?= { has_court_position = master_thief_camp_officer }
						}
						desc = ep3_laamp_decision_event.1043.c_master_thief
					}
					triggered_desc = {
						trigger = { has_variable = 1043_heightened_security }
						desc = ep3_laamp_decision_event.1043.c_guarded
					}
					desc = ep3_laamp_decision_event.1043.c
				}
			}
		}
		trigger = { is_ai = no }
		flavor = {
			first_valid = {
				triggered_desc = {
					trigger = { 
						has_variable = 1043_heightened_security
						var:1043_heightened_security != 0
					}
					desc = ep3_laamp_decision_event.1043.c.flavor_guarded
				}
				desc = ep3_laamp_decision_event.1043.c.flavor
			}
		}
		duel = {
			skill = intrigue
			value = scope:1043_collect_gold_difficulty_rating
			#Success: Coin!
			50 = {
				modifier = {
					scope:visiting_partner ?= { has_court_position = master_thief_camp_officer }
					factor = 2
				}
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				min = 10
				desc = ep3_laamp_decision_event.1043.c.thievery_success.desc
				send_interface_toast = {
					title = ep3_laamp_decision_event.1043.c.thievery_success.t
					left_icon = root
					add_gold = scope:1043_collect_gold_value
				}
				hidden_effect = {
					#... fool me twice; shame on you.
					if = {
						limit = { has_variable = 1043_heightened_security }
						random_list = {
							50 = {
								#Nothing
							}
							50 = {
								#Save old value as temp
								set_variable = {
									name = 1043_heightened_security_temp
									value = var:1043_heightened_security
								}
								#Remove the variable we'll refresh
								remove_variable ?= 1043_heightened_security
								#Set the new proper variable and add the old value as well
								set_variable = {
									name = 1043_heightened_security
									value = {
										value = var:1043_heightened_security_temp
										add = 1
									}
									years = visit_settlement_medium_cooldown_year
								}
								#Then remove the temp
								remove_variable ?= 1043_heightened_security_temp
							}
						}
					}
					#Fool me once, shame on me...
					else = {
						set_variable = {
							name = 1043_heightened_security
							value = 0
							years = visit_settlement_medium_cooldown_year
						}
					}
				}
			}
			#Failure: Banished!
			50 = {
				modifier = {
					scope:visiting_partner ?= { has_court_position = master_thief_camp_officer }
					factor = 0.5
				}
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -20
				}
				desc = ep3_laamp_decision_event.1043.c.thievery_failure.desc
				send_interface_toast = {
					type = event_toast_text_bad
					title = ep3_laamp_decision_event.1043.c.thievery_failure.t
					desc = ep3_laamp_decision_event.1043.c.thievery_failure.desc
					left_icon = root
					custom_tooltip = ep3_laamp_decision_event.1041.return.tt
					#Shame on you
					add_piety = medium_piety_loss
					#Shame shame
					if = {
						limit = {
							NOT = { has_trait = gallowsbait }
						}
						add_trait = gallowsbait
					}
					else_if = {
						limit = {
							has_trait = gallowsbait
							has_trait_xp = {
								trait = gallowsbait
								track = thief
								value < 100
							}
						}
						add_trait_xp = {
							trait = gallowsbait
							track = thief
							value = small_lifestyle_random_xp_low
						}
					}
				}
				#You will not be going back to the church any time soon
				set_variable = {
					name = 1040_caught_stealing
					days = visit_settlement_small_cooldown_days
				}
			}
			#Critical Failure: The local guards are summoned
			10 = {
				trigger = {
					trigger_if = {
						limit = { exists = scope:visiting_partner }
						NOT = { 
							scope:visiting_partner = { has_court_position = master_thief_camp_officer } 
						}
					}
					trigger_else = { always = yes }
				}
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
				}	
				min = 5
				desc = ep3_laamp_decision_event.1043.c.thievery_critical_failure.desc
				send_interface_toast = {
					title = ep3_laamp_decision_event.1043.c.thievery_critical_failure.t
					left_icon = root
					#Quite the tussle
					increase_wounds_effect = { REASON = fight }
					#Shame on you
					add_piety = medium_piety_loss
					#Violent shame, even
					if = {
						limit = {
							NOT = { has_trait = gallowsbait }
						}
						add_trait = gallowsbait
					}
					else_if = {
						limit = {
							has_trait = gallowsbait
							has_trait_xp = {
								trait = gallowsbait
								track = bandit
								value < 100
							}
						}
						add_trait_xp = {
							trait = gallowsbait
							track = bandit
							value = small_lifestyle_random_xp_mid
						}
					}
				}	
				#You will not be going back to the church any time soon
				set_variable = {
					name = 1040_caught_stealing
					days = visit_settlement_small_cooldown_days
				}
			}
		}
		#Super-stressful for honest characters and zealous characters, IF you share faith
		if = {
			limit = { scope:visiting_location.county.faith = root.faith }
			stress_impact = {
				honest = major_stress_impact_gain
				zealous = major_stress_impact_gain
				deceitful = minor_stress_impact_loss
				greedy = minor_stress_impact_loss
			}
		}
		else = {
			stress_impact = {
				honest = major_stress_impact_gain
				deceitful = minor_stress_impact_loss
			}
		}
		#Set the variables and redirect us back to the Church Grounds
		1043_churched_effect = yes
	}
	#I want to go back
	option = {
		name = ep3_laamp_decision_event.1043.d
		#Sets variables and returns us to church grounds screen
		1031_been_to_effect = { GUILD = church }
		ai_chance = { base = 200 }
	}
	after = {
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:church }
	}
}

#Post-Donation
ep3_laamp_decision_event.1044 = {
	type = character_event
	title = ep3_laamp_decision_event.1043.t
	window = visit_settlement_window
	desc = {
		first_valid = {
			#Strange person thinks you're a reincarnation or something? Why not.
			triggered_desc = {
				trigger = {
					scope:laamp_clergy_character = { has_variable = 1043_is_epiphanous }
				}
				desc = ep3_laamp_decision_event.1044.desc_epiphany
			}
			desc = ep3_laamp_decision_event.1044.desc
		}
	}
	theme = faith
	override_sound = {
		trigger = {
			scope:laamp_clergy_character = { has_variable = 1043_is_epiphanous }
		}
		reference = "event:/DLC/FP4/MUSIC/Stingers/mx_stinger_legends_lvl_03" 
	}
	override_sound = { reference = "event:/MUSIC/Cues/Events/Low Key Positive/mx_cue_low_key_postive" }
	override_background = { reference = temple }
	override_effect_2d = {
		trigger = { 
			scope:laamp_clergy_character = { has_variable = 1043_is_epiphanous }
		}
		reference = legend_glow #Too much?
	}
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = { 
				scope:laamp_clergy_character = { has_variable = 1043_is_epiphanous }
			}
			animation = disbelief
		}
		triggered_animation = {
			trigger = { 1043_is_unzealous_trigger = yes }
			animation = shock
		}
		animation = admiration
	}
	right_portrait = {
		character = scope:laamp_clergy_character
		triggered_animation = {
			trigger = { has_variable = 1043_is_epiphanous }
			animation = shock
		}
		animation = happiness
	}
	#Do we have someone to display?
	lower_left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		hidden_effect = {
			scope:laamp_clergy_character = {
				if = {
					limit = { has_variable = 1043_is_epiphanous }
					add_trait = loyal
					add_trait = holy_warrior
				}
			}
		}
	}
	#Ask for blessing
	option = {
		name = {
			text = {
				first_valid = {
					triggered_desc = {
						trigger = {
							scope:laamp_clergy_character = { has_variable = 1043_is_epiphanous }
						}
						desc = ep3_laamp_decision_event.1044.a_epiphany
					}
					desc = ep3_laamp_decision_event.1044.a
				}
			}
		}
		trigger = {
			NOR = { 
				has_character_modifier = laamp_decision_church_blessing_stress_loss_modifier
				has_character_modifier = laamp_decision_church_blessing_stress_gain_modifier
				piety_level < low_piety_level
			}
		}
		show_as_unavailable = { always = yes }
		reason = piety
		#Or Pokémon red?
		add_character_modifier = {
			modifier = laamp_decision_church_blessing_stress_gain_modifier
			years = 5
		}	
		ai_chance = {
			base = 100
			modifier = {
				piety_level > medium_piety_level
				add = 300
			}
		}
	}
	#Triggered Option: Clergy Person wants to join your camp
	option = {
		name = ep3_laamp_decision_event.1044.b
		trigger = {
			scope:laamp_clergy_character = { has_variable = 1043_is_epiphanous }
		}
		add_courtier = scope:laamp_clergy_character
		ai_chance = {
			base = 100
			modifier = {
				has_trait = paranoid
				factor = 0
			}
		}
	}
	#Nah
	option = {
		name = {
			text = {
				first_valid = {
					triggered_desc = {
						trigger = {
							scope:laamp_clergy_character = { has_variable = 1043_is_epiphanous }
						}
						desc = ep3_laamp_decision_event.1044.c_epiphany
					}
					desc = ep3_laamp_decision_event.1044.c
				}
			}
		}
		#Tooltip so we know where we're going
		custom_tooltip = ep3_laamp_decision_event.1041.return.tt
		ai_chance = {
			base = 100
		}
	}
	after = {
		#Set the variables and redirect us back to the Church Grounds
		1043_churched_effect = yes
	}
}


#Set the correct variable to block off the Garden option and remove the desc flavor variable
scripted_effect 1045_gardened_effect = {
	save_scope_as = laamp_decision_has_gardened
	#Go back to church grounds
	hidden_effect = { 1041_return_to_church_grounds_effect = yes }
}

#Right?
scripted_trigger 1045_probably_knows_gardening_trigger = {
	OR = {
		has_trait = lifestyle_gardener
		has_trait = lifestyle_herbalist
		learning > high_skill_rating
	}	
}

#Used in enough places to warrant a trigger
scripted_trigger 1045_could_harvest_garden_trigger = {
	OR = {
		trigger_if = {
			limit = { exists = scope:visiting_partner }
			scope:visiting_partner = { 1045_probably_knows_gardening_trigger = yes }
		}
		1045_probably_knows_gardening_trigger = yes
	}
}

#Ditto
scripted_trigger 1045_could_unwind_in_garden_trigger = {
	scope:visiting_partner ?= { 
		OR = {
			AND = {
				has_relation_potential_lover = root
				root = { might_cheat_on_every_partner_trigger = yes }
			}
			has_relation_lover = root 
		}
	}
}


#Visit Garden
ep3_laamp_decision_event.1045 = {
	type = character_event
	title = ep3_laamp_decision_event.1045.t
	window = visit_settlement_window
	desc = {
		#What's going down in the garden
		first_valid = {
			#We've returned to this scene, now what
			#RETURN: Generics
			random_valid = {
				triggered_desc = { 
					trigger = { 
						exists = scope:been_to_garden
						scope:garden_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1045.desc_returned_01
				}
				triggered_desc = { 
					trigger = { scope:garden_loc_tracker ?= 1 }
					desc = ep3_laamp_decision_event.1045.desc_returned_02
				}
			}
			#FIRST TIME:
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_garden }
				}
				desc = ep3_laamp_decision_event.1045.desc
			}	
		}
		#Hey look, some plants
		first_valid = {
			#RETURN: Still partner plants
			triggered_desc = {
				trigger = {
					scope:visiting_partner ?= { 1045_probably_knows_gardening_trigger = yes }
					exists = scope:been_to_garden
				}
				desc = ep3_laamp_decision_event.1045.desc_outro_return_partner
			}
			#RETURN: Still plants
			triggered_desc = {
				trigger = {
					1045_probably_knows_gardening_trigger = yes
					exists = scope:been_to_garden
				}
				desc = ep3_laamp_decision_event.1045.desc_outro_return_gardener
			}
			#FIRST TIME: Partner PLAAANTSSS
			triggered_desc = {
				trigger = {
					scope:visiting_partner ?= { 1045_probably_knows_gardening_trigger = yes }
					NOT = { exists = scope:been_to_garden }
				}
				desc = ep3_laamp_decision_event.1045.desc_outro_partner
			}
			#FIRST TIME: PLAAANTSSS
			triggered_desc = {
				trigger = {
					1045_probably_knows_gardening_trigger = yes
					NOT = { exists = scope:been_to_garden }
				}
				desc = ep3_laamp_decision_event.1045.desc_outro_gardener
			}
		}
	}
	theme = faith
	override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_health_good" }
	override_background = { reference = garden }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		triggered_animation = {
			trigger = {
				NOT = { has_variable = 1045_has_harvested_recently }
				1045_probably_knows_gardening_trigger = yes 
			}
			animation = survey
		}
		animation = happiness
	}
	center_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				NOT = { has_variable = 1045_has_harvested_recently }
				scope:visiting_partner ?= { 1045_probably_knows_gardening_trigger = yes }
			}
			animation = interested
		}
		triggered_animation = {
			trigger = { 1045_probably_knows_gardening_trigger = yes }
			animation = survey
		}
		triggered_animation = {
			trigger = { faith != scope:visiting_location.faith }
			animation = stress
		}
		animation = thinking
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#For the background
		scope:visiting_location.county.holder = { save_scope_as = bg_override_char }
		#Can we _not_ repeat the loc?
		1025_set_and_check_scene_loc_tracker_scope_effect = { SCENE = garden }
	}
	#Convert / contemplate faith
	option = {
		name = {
			text = {
				first_valid = {
					#Convert to faith
					triggered_desc = {
						trigger = { 
							faith != scope:visiting_location.faith
						}
						desc = ep3_laamp_decision_event.1045.a_convert
					}
					#Contemplate faith
					desc = ep3_laamp_decision_event.1045.a
				}
			}
		}
		trigger = {
			custom_tooltip = {
				text = ep3_laamp_decision_event.1045.a.cooldown.tt
				NOT = { has_variable = 1045_contemplated_garden_recently }
			}	
		}
		show_as_unavailable = { always = yes }
		#Convert
		if = {
			limit = {
				faith != scope:visiting_location.faith
			}
			set_character_faith = scope:visiting_location.faith
			stress_impact = {
				base = minor_stress_impact_loss
				zealous = major_stress_impact_gain
			}
		}
		#Contemplate faith
		else = {
			stress_impact = {
				base = medium_stress_impact_loss
				content = minor_stress_impact_loss
				zealous = medium_stress_impact_loss
			}
		}
		#Cooldown for the action
		set_variable = {
			name = 1045_contemplated_garden_recently
			days = visit_settlement_minimum_cooldown_days
		}
		#Set the variables and redirect us back to the Church Grounds
		1045_gardened_effect = yes
		ai_chance = { 
			base = 100
			modifier = {
				faith != scope:visiting_location.faith
				has_trait = zealous
				factor = 0
			}
			modifier = {
				faith != scope:visiting_location.faith
				any_secret ?= { secret_type = secret_non_believer }
				add = 300
			}
		}
	}
	#Triggered Option: Those plants look edible
	option = {
		name = {
			text = {
				first_valid = {
					#Gardener friend
					triggered_desc = {
						trigger = { 
							scope:visiting_partner ?= { 1045_probably_knows_gardening_trigger = yes }
						}
						desc = ep3_laamp_decision_event.1045.b_partner
					}
					#Gardener self
					desc = ep3_laamp_decision_event.1045.b
				}
			}
		}
		trigger = {
			trigger_if = {
				limit = { has_variable = 1045_has_harvested_recently }
				custom_tooltip = {
					text = ep3_laamp_decision_event.1045.b.cooldown.tt
					always = no 
				}	
			}
			trigger_else = { 1045_could_harvest_garden_trigger = yes }	
		}
		show_as_unavailable = {
			#Only show it if you could've actually done it
			trigger_if = {
				limit = { 1045_could_harvest_garden_trigger = yes }
				always = yes
			}
			trigger_else = { always = no }
		}
		#Get some provisions
		if = {
			limit = {
				domicile ?= { provisions < max_provisions }
			}
			domicile ?= { 
				change_provisions = {
					value = {
						value = root.minor_gold_laamps_value
						multiply = {
							value = max_provisions
							divide = 250
							round = yes
							min = 1
						}
					}
				}
			}
		}
		#... or sell the morsels, if capped
		else = { add_gold = minor_gold_laamps_value }
		#Probably holy somewhere
		if = {
			limit = {
				faith = {
					OR = {
						has_doctrine = tenet_sanctity_of_nature
						trait_is_virtue = lifestyle_gardener
						trait_is_virtue = lifestyle_herbalist					
					}
				}
			}
			add_piety = medium_piety_gain
		}
		#Cooldown for the action
		set_variable = {
			name = 1045_has_harvested_recently
			days = visit_settlement_minimum_cooldown_days
		}
		#Set the variables and redirect us back to the Church Grounds
		1045_gardened_effect = yes
		ai_chance = {
			base = 1000 #Just do it
		}
	}
	#Triggered Option: Stress relief? Stress relief.
	option = {
		name = ep3_laamp_decision_event.1045.c
		trigger = {
			trigger_if = {
				limit = { has_variable = 1045_garden_unwinded_recently }
				custom_tooltip = {
					text = ep3_laamp_decision_event.1045.c.cooldown.tt
					always = no 
				}	
			}
			trigger_else = { 1045_could_unwind_in_garden_trigger = yes }	
		}
		show_as_unavailable = {
			#Only show it if you could've actually done it
			trigger_if = {
				limit = { 1045_could_unwind_in_garden_trigger = yes }
				always = yes
			}
			trigger_else = { always = no }
		}
		#Stress relief
		had_sex_with_effect = { CHARACTER = scope:visiting_partner PREGNANCY_CHANCE = pregnancy_chance }
		progress_towards_lover_effect = {
			CHARACTER = scope:visiting_partner
			REASON = lover_contemplative_sex
			OPINION = default_lover_opinion
		}
		#Probably holy to some?
		if = {
			limit = {
				faith = { has_doctrine = tenet_carnal_exaltation }
			}
			add_piety = medium_piety_gain
		}
		#Or not
		else_if = {
			limit = {
				faith = {
					OR = {
						trait_is_sin = lustful
						trait_is_sin = rakish
						trait_is_sin = seducer
					}
				}
			}
			add_piety = minor_piety_loss
		}
		#Cooldown for the action
		set_variable = {
			name = 1045_garden_unwinded_recently
			days = visit_settlement_minimum_cooldown_days
		}
		#Stress loss with some factors
		stress_impact = {
			base = medium_stress_impact_loss
			rakish = medium_stress_impact_loss
			seducer = minor_stress_impact_loss
			lustful = minor_stress_impact_loss
			paranoid = minor_stress_impact_gain
			chaste = minor_stress_impact_gain
		}
		#Set the variables and redirect us back to the Church Grounds
		1045_gardened_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				has_trait = lustful
				add = 500
			}
			modifier = {
				has_trait = rakish
				add = 500
			}
			modifier = {
				has_trait = chaste
				factor = 0
			}
		}
	}
	#I want to go back
	option = {
		name = ep3_laamp_decision_event.1045.d
		#Everything is on cooldown, I guess
		if = {
			limit = {
				has_variable = 1045_contemplated_garden_recently
				trigger_if = {
					limit = { 1045_could_harvest_garden_trigger = yes }
					has_variable = 1045_has_harvested_recently
				}
				trigger_if = {
					limit = { 1045_could_unwind_in_garden_trigger = yes }
					has_variable = 1045_garden_unwinded_recently
				}
			}
			1045_gardened_effect = yes
		}
		else = {
			#Sets variables and returns us to church grounds screen
			1031_been_to_effect = { GUILD = garden }
		}
		ai_chance = { base = 100 }
	}
	after = {
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:garden }
	}
}


#Hire the Physician, show/set the effects and variables 
scripted_effect 1047_hire_physician_effect = {
	hidden_effect = {
		reverse_add_opinion = {
			target = scope:laamp_physician_recruit
			modifier = recruited_me_opinion
			opinion = 30
		}
	}
	add_courtier = scope:laamp_physician_recruit
	#The actual effect happens in after
	show_as_tooltip = { 
		court_position_grant_effect = {
			EMPLOYER = root
			POS = court_physician
			CANDIDATE = scope:laamp_physician_recruit
		}
	}
	#This 'finished' is different since it changes between flag:yes and flag:no
	save_scope_value_as = {
		name = laamp_decision_recruited_physician
		value = flag:yes
	}
	#Go back to church grounds
	hidden_effect = { 1041_return_to_church_grounds_effect = yes }
}


#Visit Physician
ep3_laamp_decision_event.1047 = {
	type = character_event
	title = ep3_laamp_decision_event.1047.t
	window = visit_settlement_window
	desc = {
		#What're they doing?
		first_valid = {
			#We've returned to this scene, now what
			#RETURN:
			random_valid = {
				triggered_desc = { 
					trigger = { 
						exists = scope:been_to_physician
						scope:physician_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1047.desc_returned_01
				}
				triggered_desc = { 
					trigger = { scope:physician_loc_tracker ?= 1 }
					desc = ep3_laamp_decision_event.1047.desc_returned_02
				}
				triggered_desc = { 
					trigger = { scope:physician_loc_tracker ?= 2 }
					desc = ep3_laamp_decision_event.1047.desc_returned_03
				}
			}
			#FIRST TIME: We've seen this physician before
			triggered_desc = {
				trigger = {
					exists = scope:laamp_recurring_physician
					NOT = { exists = scope:been_to_physician }
				}
				desc = ep3_laamp_decision_event.1047.desc_reused_physician
			}
			#FIRST TIME:
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_physician }
				}
				desc = ep3_laamp_decision_event.1047.desc
			}	
		}
	}
	theme = learning
	override_sound = { reference = "event:/MUSIC/Cues/Events/Positive/mx_cue_postive_effect" }
	override_background = { reference = location_study }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		triggered_animation = {
			trigger = { 1041_physician_partner_trigger = yes }
			animation = interested
		}
		animation = personality_compassionate
	}
	center_portrait = {
		character = root
		animation = personality_rational
	}
	right_portrait = {
		character = scope:laamp_physician_recruit
		camera = camera_event_scheme_far_right
		animation = reading
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#Run this once: Re-save the portrait so the Physician is not the 1040_third_character (since they narratively moved to their study)
		if = {
			limit = { scope:1040_third_character = scope:laamp_physician_recruit }
			#Overwrite with ROOT to block off the portrait
			save_scope_as = 1040_third_character
			#Remember the bodyguard
			1010_remember_vendor_character_effect = { GUILD = physician CHARACTER = scope:laamp_physician_recruit }
		}
		#Can we _not_ repeat the loc?
		1025_set_and_check_hub_loc_tracker_scope_effect = { HUB = physician }
	}
	#Pay gold
	option = {
		name = ep3_laamp_decision_event.1047.a
		pay_short_term_gold = {
			target = scope:laamp_physician_recruit
			gold = minor_gold_value
		}
		#Wrap effect to hire 'em, set scope & return to church
		1047_hire_physician_effect = yes
		ai_chance = {
			base = 100 
			modifier = {
				short_term_gold < minor_gold_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
		}
	}
	#Have x piety
	option = {
		name = ep3_laamp_decision_event.1047.b
		trigger = { piety >= 1000 }
		show_as_unavailable = { always = yes }
		reason = piety
		#Wrap effect to hire 'em, set scope & return to church
		1047_hire_physician_effect = yes
		ai_chance = {
			base = 1000 #Just do it
		}
	}
	#Learning duel
	option = {
		name = ep3_laamp_decision_event.1047.c
		duel = {
			skill = learning
			value = average_skill_rating
			#Success: Hire 'em up
			50 = {		
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				modifier = {
					OR = {
						has_trait = scholar
						has_trait = whole_of_body
						has_trait = crusader_king
					}
					factor = 2
				}
				desc = ep3_laamp_decision_event.1047.c.success
				send_interface_toast = {
					title = ep3_laamp_decision_event.1047.c.success
					left_icon = root
					right_icon = scope:laamp_physician_recruit
					#Yippee!
					1047_hire_physician_effect = yes
				}
			}
			#Failure: Bye, now
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -20
				}
				modifier = {
					has_trait = zealous
					factor = 0.5
				}
				desc = ep3_laamp_decision_event.1047.c.failure
				send_interface_toast = {
					type = event_toast_text_bad
					title = ep3_laamp_decision_event.1047.c.failure
					desc = ep3_laamp_decision_event.1047.c.failure.tt
					left_icon = root
					right_icon = scope:laamp_physician_recruit
					#Oh well
					custom_tooltip = ep3_laamp_decision_event.1047.c.failure.tt
					#This 'finished' is different since it changes between flag:yes and flag:no
					save_scope_value_as = {
						name = laamp_decision_recruited_physician
						value = flag:no
					}
					1041_return_to_church_grounds_effect = yes
				}
			}
		}
		ai_chance = {
			base = 100
			modifier = {
				piety >= 1000
				factor = 0
			}
		}
	}
	#I want to go back
	option = {
		name = ep3_laamp_decision_event.1047.d
		#Sets variables and returns us to church grounds screen
		1031_been_to_effect = { GUILD = physician }
		ai_chance = {
			base = 100
			modifier = {
				employs_court_position = court_physician_court_position
				factor = 2
			}
		}
	}
	after = {
		if = {
			limit = { scope:laamp_decision_recruited_physician ?= flag:yes }
			#Appoint them
			if = {
				limit = {
					can_appoint_char_to_court_position = {
						CHAR = scope:laamp_physician_recruit
						COURT_POS = court_physician_court_position
					}
				}
				court_position_grant_effect = {
					EMPLOYER = root
					POS = court_physician
					CANDIDATE = scope:laamp_physician_recruit
				}
			}
		}
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:physician }
	}
}



######################################################################
# CASTLE GROUNDS
# ep3_laamp_decision_event.1050
######################################################################

#Set the correct variable to block off the Castle option and remove the desc flavor variable
scripted_effect 1050_finished_castle_effect = {
	remove_list_variable = {
		name = list_of_options
		target = flag:has_castle_option
	}
	save_scope_as = laamp_decision_finished_castle_option
}

#Can reinforce MaA
scripted_trigger 1050_has_maa_to_reinforce_trigger = {
	any_maa_regiment ?= { maa_current_troops_count < maa_max_troops_count }
}

#Nothing left for us to do
scripted_trigger 1050_done_with_castle_trigger = {
	exists = scope:laamp_decision_has_trained
	exists = scope:laamp_decision_has_garrisoned
	trigger_if = {
		limit = { 1050_has_maa_to_reinforce_trigger = yes }
		exists = scope:laamp_decision_has_reinforced
	}
	trigger_if = {
		limit = { exists = scope:laamp_bodyguard_recruit }
		exists = scope:laamp_decision_recruited_bodyguard
	}
}


#Castle Holding: Visit the local castle grounds 
ep3_laamp_decision_event.1050 = {
	type = character_event
	title = ep3_laamp_decision_event.1050.t
	window = visit_settlement_window
	desc = {
		#Intro
		first_valid = {
			#We've returned to this scene, now what
			#RETURN: We've returned from Main Square
			random_valid = {
				triggered_desc = { 
					trigger = { 
						var:return_from_location ?= flag:main_square
						exists = scope:been_to_castle_grounds
						OR = {
							scope:castle_loc_tracker ?= 0
							scope:castle_loc_tracker ?= 2
						}
					}
					desc = ep3_laamp_decision_event.1050.desc_returned_01
				}
				triggered_desc = { 
					trigger = { 
						var:return_from_location ?= flag:main_square
						scope:castle_loc_tracker ?= 1
					}
					desc = ep3_laamp_decision_event.1050.desc_returned_02
				}
			}
			#RETURN: We've returned from the Training ground
			triggered_desc = {
				trigger = { var:return_from_location ?= flag:training }
				desc = ep3_laamp_decision_event.1050.desc_returned_from_training
			}
			#RETURN: We've returned from the Garrison
			triggered_desc = {
				trigger = { var:return_from_location ?= flag:garrison }
				desc = ep3_laamp_decision_event.1050.desc_returned_from_garrison
			}
			#RETURN: We've returned from the Reinforcers
			triggered_desc = {
				trigger = { var:return_from_location ?= flag:reinforcers }
				desc = ep3_laamp_decision_event.1050.desc_returned_from_reinforcers
			}
			#RETURN: We've returned from the Bodyguard
			triggered_desc = {
				trigger = { var:return_from_location ?= flag:bodyguard }
				desc = ep3_laamp_decision_event.1050.desc_returned_from_bodyguard
			}
			#FIRST TIME: First time here
			triggered_desc = {
				trigger = { 
					NOT = { exists = scope:been_to_castle_grounds }
				}
				desc = ep3_laamp_decision_event.1050.desc
			}
		}
		#Mid - MaA option or not?
		first_valid = {
			#FIRST TIME: Yup, we can reinforce MaA
			triggered_desc = {
				trigger = {
					1050_has_maa_to_reinforce_trigger = yes
					NOT = { exists = scope:been_to_castle_grounds }
				}
				desc = ep3_laamp_decision_event.1050.mid_maa
			}
			#FIRST TIME: Nope, no MaA to reinforce
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_castle_grounds }
				}
				desc = ep3_laamp_decision_event.1050.mid_no_maa
			}
		}
		#Outro
		first_valid = {
			#FIRST TIME: First time here, look at the bodyguard
			triggered_desc = {
				trigger = {
					exists = scope:laamp_bodyguard_recruit
					NOT = { exists = scope:been_to_castle_grounds }
				}
				desc = ep3_laamp_decision_event.1050.desc_outro_bodyguard
			}
			#FIRST TIME: First time here, curious partner
			triggered_desc = {
				trigger = {
					exists = scope:visiting_partner
					NOT = { exists = scope:been_to_castle_grounds }
				}
				desc = ep3_laamp_decision_event.1050.desc_outro_partner
			}
			#FIRST TIME: First time here
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_castle_grounds }
				}
				desc = ep3_laamp_decision_event.1050.desc_outro
			}
			#RETURN: Partner - there is nothing left for us here
			triggered_desc = {
				trigger = { 
					exists = scope:visiting_partner
					1050_done_with_castle_trigger = yes 
				}
				desc = ep3_laamp_decision_event.1050.desc_outro_return_partner_finished
			}
			#RETURN: There is nothing left for us here
			triggered_desc = {
				trigger = { 1050_done_with_castle_trigger = yes }
				desc = ep3_laamp_decision_event.1050.desc_outro_return_finished
			}
			#RETURN: Bodyguard did not deviate, yet
			triggered_desc = {
				trigger = {
					exists = scope:laamp_bodyguard_recruit
					NOR = { 
						exists = scope:been_to_bodyguard
						exists = scope:laamp_decision_recruited_bodyguard
					}
				}
				desc = ep3_laamp_decision_event.1050.desc_outro_bodyguard_return
			}
			#RETURN: We've been here before
			random_valid = {
				#RETURN: Partner flavor
				triggered_desc = {
					trigger = {
						exists = scope:visiting_partner
						exists = scope:been_to_castle_grounds
						scope:castle_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1050.desc_outro_return_partner_01
				}
				triggered_desc = {
					trigger = {
						exists = scope:visiting_partner
						scope:castle_loc_tracker ?= 1
					}
					desc = ep3_laamp_decision_event.1050.desc_outro_return_partner_02
				}
				triggered_desc = {
					trigger = {
						exists = scope:visiting_partner
						scope:castle_loc_tracker ?= 2
					}
					desc = ep3_laamp_decision_event.1050.desc_outro_return_partner_03
				}
				#RETURN: Generics
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_castle_grounds
						scope:castle_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1050.desc_outro_return_01
				}
				triggered_desc = {
					trigger = { scope:castle_loc_tracker ?= 1 }
					desc = ep3_laamp_decision_event.1050.desc_outro_return_02
				}
				triggered_desc = {
					trigger = { scope:castle_loc_tracker ?= 2 }
					desc = ep3_laamp_decision_event.1050.desc_outro_return_03
				}
			}
		}
	}
	theme = martial
	#Get outta here already
	override_effect_2d = {
		trigger = { 
			1050_done_with_castle_trigger = yes
			scope:visiting_location = { is_drylands_or_desert_trigger = no }
		}
  		reference = rain	
	}
	override_background = {
		trigger = {
			scope:visiting_location = { 
				geographical_region = world_europe
				NOT = { geographical_region = world_europe_west_iberia }
			}
		}
		reference = gallows 
	}
	override_background = { reference = ep3_city_gate }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		#If it's our (tired) visiting partner
		triggered_animation = {
			trigger = { 1050_done_with_castle_trigger = yes }
			animation = boredom
		}
		animation = survey
	}
	center_portrait = {
		character = root
		triggered_animation = {
			trigger = { 
				exists = scope:laamp_bodyguard_recruit
				NOR = { 
					exists = scope:been_to_bodyguard
					exists = scope:laamp_decision_recruited_bodyguard
				}
			}
			animation = interested
		}
		triggered_animation = {
			trigger = { prowess < average_skill_rating }
			animation = personality_coward
		}
		animation = personality_bold
	}
	#Do we have someone to display?
	right_portrait = {
		trigger = { 
			exists = scope:1050_third_character
			#If this is root, then that means we have talked to the Bodyguard, so let's disappear the portrait
			scope:1050_third_character != root
		}
		character = scope:1050_third_character
		camera = camera_event_scheme_vs_extra_right_look_right
		#We've returned here and it's still the bodyguard
		triggered_animation = {
			trigger = { exists = scope:been_to_castle_grounds }
			animation = disapproval
		}
		#Otherwise some seething to go
		animation = rage
	}
	lower_left_portrait = {
		trigger = { 
			exists = scope:1050_fourth_character 
			scope:1050_fourth_character != root
		}
		character = scope:1050_fourth_character
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#Set up the ancillary portraits to remind the player of the characters
		if = {
			#Bodyguard exists
			limit = {
				#We've been to them at least once
				exists = scope:been_to_bodyguard
				#We're not done with them yet
				AND = {
					exists = scope:laamp_bodyguard_recruit
					NOT = { exists = scope:laamp_decision_recruited_bodyguard }
				}
				#This isn't already the state
				NAND = {
					exists = scope:1050_fourth_character
					scope:1050_fourth_character ?= scope:laamp_bodyguard_recruit
				}
			}
			scope:laamp_bodyguard_recruit = { save_scope_as = 1050_fourth_character }
		}
		#Clear out the ancillary portrait(s)
		if = {
			limit = { 
				exists = scope:1050_fourth_character
				scope:laamp_bodyguard_recruit ?= scope:1050_fourth_character
				exists = scope:laamp_decision_recruited_bodyguard
			}
			#Overwrite with ROOT to hide that portrait
			save_scope_as = 1050_fourth_character
		}
		#Can we _not_ repeat the loc?
		1025_set_and_check_hub_loc_tracker_scope_effect = { HUB = castle }
		#Rare: Spawn a spectacular Bodyguard
		if = {
			limit = {
				NOT = { has_variable = laamp_decision_1000_checked_for_bodyguard }
			}
			random_list = {
				80 = {
					#No Bodyguard
				}
				20 = {
					#Has this person been our bodyguard in the past 10 years?
					random_pool_character = {
						province = scope:visiting_location
						limit = {
							1010_basic_merchant_checks_trigger = yes
							save_temporary_scope_as = saved_character_check
							#Let's avoid double-dipping
							1010_is_a_saved_bodyguard_trigger = yes
							1010_is_a_saved_merchant_trigger = no
							1010_is_a_saved_peddler_trigger = no
							1010_is_a_saved_crier_trigger = no
							1010_is_a_saved_storyteller_trigger = no
							1010_is_a_saved_thief_trigger = no
							1010_is_a_saved_healer_trigger = no
							1010_is_a_saved_clergy_trigger = no
							1010_is_a_saved_physician_trigger = no
							1010_is_a_saved_weaponsmith_trigger = no
							1010_is_a_saved_armorer_trigger = no
							1010_is_a_saved_jeweler_trigger = no
							1010_is_a_saved_quartermaster_trigger = no
							can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:saved_character_check }
						}
						save_scope_as = laamp_bodyguard_recruit
						#Some more loc flavor shenanigans for these saved scopes
						save_scope_as = laamp_recurring_bodyguard
					}
					#Otherwise find a bodyguard in the pool
					if = {
						limit = { 
							NOT = { exists = scope:laamp_bodyguard_recruit }
						}
						random_pool_character = {
							province = scope:visiting_location
							limit = { 
								1010_basic_merchant_checks_trigger = yes
								is_available_healthy_adult = yes
								prowess > 15
								can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = this }
							}
							save_scope_as = laamp_bodyguard_recruit
						}
					}
					#Otherwise create a bodyguard
					if = {
						limit = {
							NOT = { exists = scope:laamp_bodyguard_recruit }
						}
						#Create bodyguard to stuff in pool
						create_character = {
							template = bp1_yearly_2021_martial_person_template
							location = scope:visiting_location
							dynasty = none
							culture = scope:visiting_location.culture
							faith = scope:visiting_location.faith
							prowess = { decent_skill_rating high_skill_rating }
							save_scope_as = laamp_bodyguard_recruit
						}
						scope:laamp_bodyguard_recruit ?= {
							#Chance to add a malus trait to this spectatular being
							if = {
								limit = { 
									NOR = { 
										has_trait = possessed_1 
										has_trait = lunatic_1
										has_trait = depressed_1
										has_trait = drunkard
										has_trait = hashishiyah
										has_trait = irritable
									}
								}
								hidden_effect = {
									random = {
										chance = 20
										random_list = {
											10 = { add_trait = possessed_1 }
											10 = { add_trait = lunatic_1 }
											10 = { add_trait = depressed_1 }
											10 = { add_trait = drunkard }
											10 = { add_trait = hashishiyah }
											10 = { add_trait = irritable }
										}
									}
								}
							}
						}
					}
					scope:laamp_bodyguard_recruit = { save_scope_as = 1050_third_character }
				}
			}
			#No decision-scumming
			set_variable = {
				name = laamp_decision_1000_checked_for_bodyguard
				days = visit_settlement_cooldown_days
			}
		}
	}
	#Train prowess
	option = {
		name = {
			text = {
				first_valid = {
					#Return to the training grounds
					triggered_desc = {
						trigger = { exists = scope:been_to_training }
						desc = ep3_laamp_decision_event.1050.a_second
					}
					#First time at the training grounds
					desc = ep3_laamp_decision_event.1050.a
				}
			}
		}
		trigger = {
			#Recruited the Master of Arms
			trigger_if = {
				limit = {
					exists = scope:laamp_disgruntled_moa
					scope:laamp_decision_has_trained ?= flag:no 
				}
				custom_tooltip = {
					text = recruited_maa.tt
					always = no
				}
			}
			#Been there, done that
			trigger_else_if = {
				limit = { scope:laamp_decision_has_trained ?= flag:yes }
				custom_tooltip = {
					text = ep3_laamp_decision_event.1050.a.cooldown.tt
					always = no
				}
			}
			trigger_else = { always = yes }
		}
		show_as_unavailable = { always = yes }
		reason = visit_training_grounds
		custom_tooltip = ep3_laamp_decision_event.1050.a.tt
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = castle_grounds }
		#Go to the training grounds
		trigger_event = ep3_laamp_decision_event.1051
		ai_chance = { base = 100 }
	}
	#Scout knights at the garrison
	option = {
		name = {
			text = {
				first_valid = {
					#Return to the garrison
					triggered_desc = {
						trigger = { exists = scope:been_to_garrison }
						desc = ep3_laamp_decision_event.1050.b_second
					}
					#First time at the garrison
					desc = ep3_laamp_decision_event.1050.b
				}
			}
		}
		trigger = {
			custom_tooltip = {
				text = ep3_laamp_decision_event.1050.b.cooldown.tt
				NOT = { exists = scope:laamp_decision_has_garrisoned }
			}
		}
		show_as_unavailable = { always = yes }
		reason = visit_garrison
		custom_tooltip = ep3_laamp_decision_event.1050.b.tt
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = castle_grounds }
		#Go to the garrison screen
		trigger_event = ep3_laamp_decision_event.1053
		ai_chance = { base = 100 }
	}
	#Check out the demoralized soldiers
	option = {
		name = {
			text = {
				first_valid = {
					#Already scoped out contract
					triggered_desc = {
						trigger = { exists = scope:been_to_reinforcers }
						desc = ep3_laamp_decision_event.1050.c_second
					}
					#First time reading contract
					desc = ep3_laamp_decision_event.1050.c
				}
			}
		}
		trigger = {
			trigger_if = {
				limit = { exists = scope:laamp_decision_has_reinforced }
				custom_tooltip = {
					text = ep3_laamp_decision_event.1050.c.cooldown.tt
					NOT = { exists = scope:laamp_decision_has_reinforced }
				}
			}
			trigger_else_if = {
				limit = {
					any_in_list = {
						variable = 1055_reinforced_recently
						this = scope:visiting_location
					}
				}
				custom_tooltip = {
					text = ep3_laamp_decision_event.1050.c.cooldown_province.tt
					NOT = {
						any_in_list = {
							variable = 1055_reinforced_recently
							this = scope:visiting_location
						}
					}
				}
			}
			trigger_else = { 1050_has_maa_to_reinforce_trigger = yes }
		}
		show_as_unavailable = { 
			OR = {
				1050_has_maa_to_reinforce_trigger = yes
				exists = scope:laamp_decision_has_reinforced
			}
		}
		reason = reinforce_maa
		custom_tooltip = ep3_laamp_decision_event.1050.c.tt
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = castle_grounds }
		#Go to the Town Crier
		trigger_event = ep3_laamp_decision_event.1055
		ai_chance = { base = 100 }
	}
	#Rare Option: Hire cheaper, skilled, Bodyguard
	option = {
		name = {
			text = {
				first_valid = {
					#Return to the Bodyguard
					triggered_desc = {
						trigger = { exists = scope:been_to_bodyguard }
						desc = ep3_laamp_decision_event.1050.d_second
					}
					#First time at the Bodyguard
					desc = ep3_laamp_decision_event.1050.d
				}
			}
		}
		trigger = {
			exists = scope:laamp_bodyguard_recruit
			NOT = { exists = scope:laamp_decision_recruited_bodyguard }
		}
		reason = recruit_bodyguard
		#Been there once already
		if = {
			limit = { exists = scope:been_to_bodyguard }
			custom_tooltip = ep3_laamp_decision_event.1050.d.tt_second
		}
		else = {
			custom_tooltip = ep3_laamp_decision_event.1050.d.tt
		}
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = castle_grounds }
		#Go to the bodyguard screen
		trigger_event = ep3_laamp_decision_event.1057
		ai_chance = {
			base = 500
		}
	}
	#I want to do something else
	option = {
		name = {
			text = {
				first_valid = {
					#Nothing left to do
					triggered_desc = {
						trigger = { 1050_done_with_castle_trigger = yes }
						desc = ep3_laamp_decision_event.1050.e_second
					}
					#Back to main square
					desc = ep3_laamp_decision_event.1050.e
				}
			}
		}
		#Have we done everything? Are we closing off the option?
		if = {
			limit = { 1050_done_with_castle_trigger = yes }
			#Clean up unnecessary variables and close off the option
			1050_finished_castle_effect = yes
		}
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = castle_grounds }
		#Go back to the main event
		1000_return_to_main_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = greedy
					has_trait = paranoid
				}
				add = 300
			}
		}
	}
	after = {
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:castle_grounds }
	}
}


#We return to the castle event to peruse other options
scripted_effect 1051_return_to_castle_effect = {
	custom_tooltip = ep3_laamp_decision_event.1051.return.tt
	trigger_event = ep3_laamp_decision_event.1050
}

#One, two, one, two, hepp-hepp-hepp
scripted_effect 1051_actual_training_effect = {
	#Pay for training if it ain't scope:visiting_partner
	if = {
		limit = { $TRAINER$ = scope:laamp_disgruntled_moa }
		pay_short_term_gold = {
			target = scope:laamp_disgruntled_moa
			gold = visit_settlement_paid_training_value
		}
	}
	#Add the prowess
	random_list = {
		#Athletisism!
		10 = {
			trigger = { 
				has_trait = athletic
				1051_skill_cap_trigger = no
			}
			desc = ep3_laamp_decision_event.1051.a_athletic.desc
			send_interface_toast = {
				type = event_toast_effect_good
				title = travel_events.2007.a_success_tt
				desc = ep3_laamp_decision_event.1051.a_athletic.desc
				left_icon = root
				#Increase skill
				add_prowess_skill = 2
			}
			hidden_effect = { 1051_increment_skill_gain_effect = yes }
		}
		#Regular prowess
		25 = {
			trigger = { 1051_skill_cap_trigger = no }
			desc = ep3_laamp_decision_event.1051.a.desc
			send_interface_toast = {
				type = event_toast_effect_good
				title = travel_events.2032.a_learning.tt
				desc = ep3_laamp_decision_event.1051.a.desc
				left_icon = root
				#Increase skill
				add_prowess_skill = 1
			}
			hidden_effect = { 1051_increment_skill_gain_effect = yes }
		}
		#Blademaster
		25 = { 
			trigger = {
				1051_skill_cap_trigger = yes
				1051_maxed_blademaster_trigger = no 
			}
			desc = ep3_laamp_decision_event.1051.a.desc
			send_interface_toast = {
				type = event_toast_effect_good
				title = travel_events.2007.a_soft_success_tt
				desc = ep3_laamp_decision_event.1051.a.desc
				left_icon = root
				#Gain trait
				if = {
					limit = {
						NOT = { has_trait = lifestyle_blademaster }
					}
					add_trait = lifestyle_blademaster
					add_trait_xp = {
						trait = lifestyle_blademaster
						value = scope:blademaster_xp
					}
				}
				#Or be educated
				else = {
					add_trait_xp = {
						trait = lifestyle_blademaster
						value = scope:blademaster_xp
					}
				}
			}
		}
		#... fallback.
		25 = { 
			trigger = {
				1051_skill_cap_trigger = yes
				1051_maxed_blademaster_trigger = yes
			}
			desc = ep3_laamp_decision_event.1051.a.desc
			send_interface_toast = {
				type = event_toast_effect_good
				title = travel_events.2003.b_success_tt
				desc = ep3_laamp_decision_event.1051.a.desc
				left_icon = root
				#Gain martial lifestyle xp
				add_martial_lifestyle_xp = medium_lifestyle_xp
				#... and some stress relief?
				stress_impact = {
					base = medium_stress_impact_loss
				}
			}
		}
		#Too much joshing around
		25 = {
			trigger = { scope:visiting_partner ?= $TRAINER$ }
			desc = ep3_laamp_decision_event.1051.c_joshing.desc
			send_interface_toast = {
				type = event_toast_text_neutral
				title = ep3_laamp_decision_event.1051.c_joshing.t
				desc = ep3_laamp_decision_event.1051.c_joshing.desc
				left_icon = root
				right_icon = scope:visiting_partner
			}
		}
		#Too much joshing around
		5 = {
			trigger = { scope:visiting_partner ?= $TRAINER$ }
			min = 5
			desc = ep3_laamp_decision_event.1051.c_wounded.desc
			send_interface_toast = {
				type = event_toast_text_neutral
				title = ep3_laamp_decision_event.1051.c_wounded.t
				desc = ep3_laamp_decision_event.1051.c_wounded.desc
				left_icon = root
				right_icon = scope:visiting_partner
				scope:visiting_partner = {
					increase_wounds_effect = { REASON = training_accident }
				}
			}
		}
	}
	#Set the variables and redirect us back to the Castle
	1051_finished_training_effect = yes
}

scripted_effect 1051_increment_skill_gain_effect = {
	#We cap the max amount of skill points gained
	if = {
		limit = {
			NOT = { has_variable = 1051_skill_gain_variable }
		}
		set_variable = {
			name = 1051_skill_gain_variable
			value = 1
		}
	}
	else_if = {
		limit = {
			has_variable = 1051_skill_gain_variable
			var:1051_skill_gain_variable != visit_settlement_skill_gain_cap_value
		}
		change_variable = {
			name = 1051_skill_gain_variable
			add = 1
		}
	}
	else = {
		#Nothing happens
	}
}

#Set the correct variable to block off the Training option and remove the desc flavor variable
scripted_effect 1051_finished_training_effect = {
	save_scope_value_as = {
		name = laamp_decision_has_trained
		value = flag:yes
	}
	#Go back to castle grounds
	hidden_effect = { 1051_return_to_castle_effect = yes }
}

#Find someone who isn't saved, doesn't dislike you and is pretty martial
scripted_trigger 1051_random_martial_character_trigger = {
	1010_basic_merchant_checks_trigger = yes
	save_temporary_scope_as = saved_character_check
	#Let's avoid double-dipping
	1010_is_a_saved_merchant_trigger = no
	1010_is_a_saved_peddler_trigger = no
	1010_is_a_saved_crier_trigger = no
	1010_is_a_saved_storyteller_trigger = no
	1010_is_a_saved_thief_trigger = no
	1010_is_a_saved_healer_trigger = no
	1010_is_a_saved_clergy_trigger = no
	1010_is_a_saved_physician_trigger = no
	1010_is_a_saved_bodyguard_trigger = no
	1010_is_a_saved_weaponsmith_trigger = no
	1010_is_a_saved_armorer_trigger = no
	1010_is_a_saved_jeweler_trigger = no
	1010_is_a_saved_quartermaster_trigger = no
	can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:saved_character_check }
	OR = {
		martial >= average_skill_rating
		prowess >= high_skill_rating
	}
}

scripted_trigger 1051_can_sparr_trigger = {
	is_adult = yes 
	scope:visiting_partner ?= {
		is_adult = yes
		is_healthy = yes
		martial >= high_skill_rating
		can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
	}
}

scripted_trigger 1051_skill_cap_trigger = {
	has_variable = 1051_skill_gain_variable
	var:1051_skill_gain_variable >= visit_settlement_skill_gain_cap_value
}

scripted_trigger 1051_maxed_blademaster_trigger = {
	has_trait = lifestyle_blademaster
	has_trait_xp = {
		trait = lifestyle_blademaster
		value = 100 #Max
	}
}

#Training Grounds
ep3_laamp_decision_event.1051 = { 
	type = character_event
	title = ep3_laamp_decision_event.1051.t
	window = visit_settlement_window
	desc = {
		#What're they doing?
		first_valid = {
			#We've returned to this scene, now what
			#RETURN:
			random_valid = {
				triggered_desc = { 
					trigger = { 
						exists = scope:been_to_training
						scope:training_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1051.desc_returned_01 
				}
				triggered_desc = { 
					trigger = { scope:training_loc_tracker ?= 1 }
					desc = ep3_laamp_decision_event.1051.desc_returned_02
				}
			}
			#FIRST TIME:
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_training }
				}
				desc = ep3_laamp_decision_event.1051.desc
			}	
		}
		#Martial partner outro
		first_valid = {
			#RETURN:
			triggered_desc = {
				trigger = { 
					exists = scope:been_to_training
					1051_can_sparr_trigger = yes
				}
				desc = ep3_laamp_decision_event.1051.desc_outro_return_martial_partner
			}
			#FIRST TIME:
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_training }
					1051_can_sparr_trigger = yes
				}
				desc = ep3_laamp_decision_event.1051.desc_outro_martial_partner
			}
		}
	}
	theme = martial
	override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_activity" }
	override_background = { reference = ep2_tournament }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		triggered_animation = {
			trigger = { 1051_can_sparr_trigger = yes }
			animation = marshal_shield
		}
		animation = thinking
	}
	center_portrait = {
		character = root
		animation = marshal
	}
	right_portrait = {
		character = scope:laamp_disgruntled_moa
		camera = camera_event_scheme_far_right
		animation = disapproval
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#Can we _not_ repeat the loc?
		1025_set_and_check_scene_loc_tracker_scope_effect = { SCENE = training }
		#Find our potential Master of Arms (MoA) character
		if = {
			#Do we already have a MoA?
			limit = {
				NOT = { exists = scope:laamp_disgruntled_moa }
			}
			#Don't really care about saving this character in a list
			random_pool_character = {
				province = scope:visiting_location
				limit = {
					1051_random_martial_character_trigger = yes
					has_trait = overseer
					has_trait = disloyal
				}
				alternative_limit = {
					1051_random_martial_character_trigger = yes
					has_trait = overseer
				}
				alternative_limit = {
					1051_random_martial_character_trigger = yes
					has_trait = disloyal
				}
				alternative_limit = { 1051_random_martial_character_trigger = yes }
				save_scope_as = laamp_disgruntled_moa
			}
			#Otherwise create a suiting candidate
			if = {
				limit = {
					NOT = { exists = scope:laamp_disgruntled_moa }
				}
				#Create MoA to stuff in pool
				create_character = {
					template = new_warrior_character
					location = scope:visiting_location
					dynasty = none
					trait = disloyal
					gender_female_chance = root_soldier_female_chance
					culture = scope:visiting_location.culture
					faith = scope:visiting_location.faith
					save_scope_as = laamp_disgruntled_moa
				}
			}
			hidden_effect = {
				scope:laamp_disgruntled_moa = {
					if = {
						limit = {
							NOT = { has_trait = overseer }
						}
						random_list = {
							75 = {
								#No trait
							}
							25 = {
								add_trait = overseer
							}
						}
					}
				}
			}
			if = {
				limit = { 1051_can_sparr_trigger = yes }
				scope:visiting_partner ?= { save_scope_as = fighting_child }
			}
		}
		#Save the xp trait as a static number
		if = {
			limit = {
				NOR = {
					1051_maxed_blademaster_trigger = yes
					exists = scope:blademaster_xp
				}
			}
			save_scope_value_as = {
				name = blademaster_xp
				value = {
				    integer_range = {
				        min = small_lifestyle_random_xp_low
				        max = small_lifestyle_random_xp_mid
				    }
				}
			}	
		}
	}
	#RAAAH TRAINING
	option = {
		name = ep3_laamp_decision_event.1051.a
		trigger = {
			gold >= visit_settlement_paid_training_value
		}
		show_as_unavailable = { always = yes }
		#Cue training montage
		1051_actual_training_effect = { TRAINER = scope:laamp_disgruntled_moa }
		ai_chance = {
			base = 100
			modifier = {
				prowess < low_skill_rating
				short_term_gold < tiny_gold_laamps_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
			modifier = {
				prowess < mediocre_skill_rating
				short_term_gold < minor_gold_laamps_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
			modifier = {
				prowess < decent_skill_rating
				short_term_gold < medium_gold_laamps_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
			modifier = {
				prowess < high_skill_rating
				short_term_gold < major_gold_laamps_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
			modifier = {
				prowess < extremely_high_skill_rating
				short_term_gold < massive_gold_laamps_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
		}
	}
	#Hire the guy as Master of Arms?
	option = {
		name = ep3_laamp_decision_event.1051.b
		trigger = {
			custom_description = {
				text = not_have_master_of_arms_building
				OR = {
					can_employ_court_position_type = master_of_arms_camp_officer
					employs_court_position = master_of_arms_camp_officer
				}
			}
		}
		reason = unlocked_master_of_arms
		show_as_unavailable = { always = yes }
		#Pay up
		pay_short_term_gold = {
			target = scope:laamp_disgruntled_moa
			gold = medium_gold_laamps_value
		}
		hidden_effect = {
			reverse_add_opinion = {
				target = scope:laamp_disgruntled_moa
				modifier = recruited_me_opinion
				opinion = 30
			}
		}
		add_courtier = scope:laamp_disgruntled_moa
		#The actual effect happens in after
		show_as_tooltip = {
			camp_officer_grant_effect = {
				EMPLOYER = root
				POS = master_of_arms
				CANDIDATE = scope:laamp_disgruntled_moa
			}
		}
		#This 'finished' is different since it changes between flag:yes and flag:no
		save_scope_value_as = {
			name = laamp_decision_has_trained
			value = flag:no
		}
		#Go back to castle grounds
		hidden_effect = { 1051_return_to_castle_effect = yes }
		ai_chance = {
			base = 100
			modifier = {
				short_term_gold < medium_gold_laamps_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
			modifier = {
				employs_court_position = master_of_arms_camp_officer
				factor = 0
			}
		}
	}
	#Triggered Option: Sparr with your martial partner
	option = {
		name = ep3_laamp_decision_event.1051.c
		trigger = { 1051_can_sparr_trigger = yes }
		#This erroneously claims that the option is available because of ROOT's martial
		show_unlock_reason = no
		#Training? Hopefully.
		1051_actual_training_effect = { TRAINER = scope:visiting_partner }
		#Do some bonding
		progress_towards_friend_effect = {
			CHARACTER = scope:visiting_partner
			REASON = friend_castle_sparring
			OPINION = 15
		}
		ai_chance = {
			base = 400
		}
	}
	#I want to do something else
	option = {
		name = ep3_laamp_decision_event.1051.d
		#Sets variables and returns us to castle grounds screen
		1031_been_to_effect = { GUILD = training }
		ai_chance = {
			base = 200
			modifier = {
				has_trait = greedy
				factor = 2
			}
		}
	}
	after = {
		if = {
			limit = { scope:laamp_decision_has_trained ?= flag:no }
			#Appoint them
			if = {
				limit = {
					can_appoint_char_to_court_position = {
						CHAR = scope:laamp_disgruntled_moa
						COURT_POS = master_of_arms_camp_officer
					}
				}
				camp_officer_grant_effect = {
					EMPLOYER = root
					POS = master_of_arms
					CANDIDATE = scope:laamp_disgruntled_moa
				}
			}
		}
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:training }
	}
}


#Set the correct variable to block off the Garrison option and remove the desc flavor variable
scripted_effect 1053_finished_garrison_effect = {
	save_scope_as = laamp_decision_has_garrisoned
	#Go back to castle grounds
	hidden_effect = { 1051_return_to_castle_effect = yes }
}

#Add the guard to your camp
scripted_effect 1053_add_guard_effect = {
	hidden_effect = {
		reverse_add_opinion = {
			target = $GUARD$
			modifier = recruited_me_opinion
			opinion = 30
		}
	}
	add_courtier = $GUARD$
	#Go back to castle grounds
	1053_finished_garrison_effect = yes
}

#Find someone who isn't saved, doesn't dislike you and is worse martial
scripted_trigger 1053_random_martial_character_trigger = {
	1010_basic_merchant_checks_trigger = yes
	save_temporary_scope_as = saved_character_check
	#Let's avoid double-dipping
	1010_is_a_saved_merchant_trigger = no
	1010_is_a_saved_peddler_trigger = no
	1010_is_a_saved_crier_trigger = no
	1010_is_a_saved_storyteller_trigger = no
	1010_is_a_saved_thief_trigger = no
	1010_is_a_saved_healer_trigger = no
	1010_is_a_saved_clergy_trigger = no
	1010_is_a_saved_physician_trigger = no
	1010_is_a_saved_bodyguard_trigger = no
	1010_is_a_saved_weaponsmith_trigger = no
	1010_is_a_saved_armorer_trigger = no
	1010_is_a_saved_jeweler_trigger = no
	1010_is_a_saved_quartermaster_trigger = no
	can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:saved_character_check }
	OR = {
		martial >= average_skill_rating
		prowess >= average_skill_rating
	}
}

#Find someone who isn't saved, doesn't dislike you and is less martial
scripted_trigger 1053_worse_martial_character_trigger = {
	1010_basic_merchant_checks_trigger = yes
	save_temporary_scope_as = saved_character_check
	#Let's avoid double-dipping
	1010_is_a_saved_merchant_trigger = no
	1010_is_a_saved_peddler_trigger = no
	1010_is_a_saved_crier_trigger = no
	1010_is_a_saved_storyteller_trigger = no
	1010_is_a_saved_thief_trigger = no
	1010_is_a_saved_healer_trigger = no
	1010_is_a_saved_clergy_trigger = no
	1010_is_a_saved_physician_trigger = no
	1010_is_a_saved_bodyguard_trigger = no
	1010_is_a_saved_weaponsmith_trigger = no
	1010_is_a_saved_armorer_trigger = no
	1010_is_a_saved_jeweler_trigger = no
	1010_is_a_saved_quartermaster_trigger = no
	can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:saved_character_check }
	1033_has_interesting_skillset_trigger = no
}

#Garrison
ep3_laamp_decision_event.1053 = {
	type = character_event
	title = ep3_laamp_decision_event.1053.t
	window = visit_settlement_window
	desc = {
		#What're they doing?
		first_valid = {
			#We've returned to this scene, now what
			#RETURN:
			random_valid = {
				triggered_desc = { 
					trigger = { 
						exists = scope:been_to_garrison
						scope:garrison_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1053.desc_returned_01 
				}
				triggered_desc = { 
					trigger = { scope:garrison_loc_tracker ?= 1 }
					desc = ep3_laamp_decision_event.1053.desc_returned_02
				}
			}
			#FIRST TIME:
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_garrison }
				}
				desc = ep3_laamp_decision_event.1053.desc
			}	
		}
	}
	theme = landless_adventurer
	override_icon = { reference = "gfx/interface/icons/event_types/type_duty.dds" }
	override_background = { reference = armory }
	left_portrait = {
		character = scope:1053_first_character
		#PARTNER:
		triggered_animation = {
			trigger = { scope:1053_first_character ?= scope:visiting_partner }
			animation = interested
		}
		#ROOT: Return
		triggered_animation = {
			trigger = {
				scope:1053_first_character = root 
				exists = scope:been_to_garrison 
			}
			animation = chess_cocky
		}
		#ROOT
		animation = admiration
	}
	center_portrait = {
		character = scope:laamp_talented_guard
		#They're counting coins
		triggered_animation = {
			trigger = { scope:garrison_loc_tracker ?= 1 }
			animation = steward
		}
		#They just won a game of cards
		triggered_animation = {
			trigger = { 
				exists = scope:been_to_garrison
				scope:garrison_loc_tracker ?= 0 
			}
			animation = personality_dishonorable
		}
		animation = hero_flex
	}
	right_portrait = {
		character = scope:laamp_plain_guard
		camera = camera_event_scheme_far_right
		#They were just asleep
		triggered_animation = {
			trigger = { scope:garrison_loc_tracker ?= 1 }
			animation = boredom
		}
		#They're tending their wounds
		triggered_animation = {
			trigger = { 
				exists = scope:been_to_garrison
				scope:garrison_loc_tracker ?= 0 
			}
			animation = pain
		}
		animation = disapproval
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#Can we _not_ repeat the loc?
		1025_set_and_check_scene_loc_tracker_scope_effect = { SCENE = garrison }
		#Find our garrison guards
		if = {
			#Do we already have the guards?
			limit = {
				NOT = { exists = scope:laamp_plain_guard }
			}
			#Don't really care about saving this character in a list
			random_pool_character = {
				province = scope:visiting_location
				limit = { 1053_worse_martial_character_trigger = yes }
				save_scope_as = laamp_plain_guard
			}
			#Otherwise create a suiting plain guard
			if = {
				limit = {
					NOT = { exists = scope:laamp_plain_guard }
				}
				#Create guard character to stuff in pool
				create_character = {
					template = bandit_character
					location = scope:visiting_location
					dynasty = none
					gender_female_chance = root_soldier_female_chance
					culture = scope:visiting_location.culture
					faith = scope:visiting_location.faith
					save_scope_as = laamp_plain_guard
				}
			}
			#Set their cost
			1033_set_cost_effect = { CHARACTER = scope:laamp_plain_guard VALUE_NAME = plain_guard_cost }
			#Don't really care about saving this character in a list
			random_pool_character = {
				province = scope:visiting_location
				limit = { 1053_random_martial_character_trigger = yes }
				save_scope_as = laamp_plain_guard
			}
			#Otherwise create a suiting talented guard
			if = {
				limit = {
					NOT = { exists = scope:laamp_talented_guard }
				}
				#Create guard character to stuff in pool
				create_character = {
					template = new_warrior_character
					location = scope:visiting_location
					dynasty = none
					gender_female_chance = root_soldier_female_chance
					culture = scope:visiting_location.culture
					faith = scope:visiting_location.faith
					save_scope_as = laamp_talented_guard
				}
			}
			#Set their cost
			1033_set_cost_effect = { CHARACTER = scope:laamp_talented_guard VALUE_NAME = talented_guard_cost }
		}
		#Set up the portrait
		if = {
			limit = {
				NOT = { exists = scope:1053_first_character }
			}
			#Partner first
			if = {
				limit = { exists = scope:visiting_partner }
				scope:visiting_partner = { save_scope_as = 1053_first_character }
			}
			#Otherwise ROOT
			else = { save_scope_as = 1053_first_character }
		}
		#For the background
		scope:laamp_plain_guard = {
			if = {
				limit = {
					is_ruler = no
					exists = court_owner
				}
				court_owner = { save_scope_as = bg_override_char }
			}
			else = {
				save_scope_as = bg_override_char
			}
		}
	}
	#Hey, FirstPerson, want to join us?
	option = {
		name = ep3_laamp_decision_event.1053.a
		pay_short_term_gold = {
			target = scope:laamp_plain_guard
			gold = scope:plain_guard_cost
		}
		#The actual adding of the guard and redirecting to castle grounds
		1053_add_guard_effect = { GUARD = scope:laamp_plain_guard }
		ai_chance = {
			base = 200
			modifier = {
				short_term_gold > scope:plain_guard_cost
				factor = 2
			}
		}
	}
	#How about you, more skilled SecondPerson?
	option = {
		name = ep3_laamp_decision_event.1053.b
		pay_short_term_gold = {
			target = scope:laamp_talented_guard
			gold = scope:talented_guard_cost
		}
		#The actual adding of the guard and redirecting to castle grounds
		1053_add_guard_effect = { GUARD = scope:laamp_talented_guard }
		ai_chance = {
			base = 100
			modifier = {
				short_term_gold > scope:talented_guard_cost
				factor = 2
			}
		}
	}
	#I just wanna play some dice.
	option = {
		name = ep3_laamp_decision_event.1053.c
		random_list = {
			35 = {
				desc = ep3_laamp_decision_event.1053.c.plain_wins
				send_interface_toast = {
					title = ep3_laamp_decision_event.1053.c.plain_wins
					left_icon = root
					right_icon = scope:laamp_plain_guard
					pay_short_term_gold = {
						target = scope:laamp_plain_guard
						gold = minor_gold_value
					}
				}
			}
			35 = {
				desc = ep3_laamp_decision_event.1053.c.talented_wins
				send_interface_toast = {
					title = ep3_laamp_decision_event.1053.c.talented_wins
					left_icon = root
					right_icon = scope:laamp_talented_guard
					pay_short_term_gold = {
						target = scope:laamp_talented_guard
						gold = minor_gold_value
					}
				}
			}
			30 = {
				desc = ep3_laamp_decision_event.1053.c.you_win
				send_interface_toast = {
					title = ep3_laamp_decision_event.1053.c.you_win
					left_icon = root
					scope:laamp_plain_guard = {
						pay_short_term_gold = {
							target = root
							gold = minor_gold_value
						}
					}
					scope:laamp_talented_guard = {
						pay_short_term_gold = {
							target = root
							gold = minor_gold_value
						}
					}
				}
			}
		}
		stress_impact = {
			base = minor_stress_impact_loss
			arbitrary = minor_stress_impact_loss
			improvident = minor_stress_impact_loss
		}
		#Go back to castle grounds
		1053_finished_garrison_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				short_term_gold < minor_gold_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
			modifier = {
				has_trait = greedy
				factor = 0
			}
		}
	}
	#I want to do something else
	option = {
		name = ep3_laamp_decision_event.1053.d
		#Sets variables and returns us to castle grounds screen
		1031_been_to_effect = { GUILD = garrison }
		ai_chance = {
			base = 200
			modifier = {
				has_trait = greedy
				factor = 2
			}
		}
	}
	after = {
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:garrison }
	}
}


#Set the correct scopes, and transfer us back to main
scripted_effect 1055_finished_reinforcers_effect = {
	save_scope_as = laamp_decision_has_reinforced
	add_to_variable_list = {
		name = 1055_reinforced_recently
		target = root.location
		days = visit_settlement_minimum_cooldown_days
	}
	#Go back to castle grounds
	hidden_effect = { 1051_return_to_castle_effect = yes }
}

#Pretty self-explanatory
scripted_effect 1055_calculate_reinforcements_effect = {
	if = {
		limit = { $RESOURCE$_level >= max_$RESOURCE$_level }
		custom_tooltip = {
			text = ep3_laamp_decision_event.1055.$RESOURCE$_full.tt
			every_in_list = {
				list = damaged_maa_regiments
				change_maa_troops_count = replenishable_troops_value
			}
		}
	}
	# 80%
	else_if = {
		limit = { $RESOURCE$_level >= very_high_$RESOURCE$_level }
		custom_tooltip = {
			text = ep3_laamp_decision_event.1055.$RESOURCE$_partial_80.tt
			every_in_list = {
				list = damaged_maa_regiments
				change_maa_troops_count = {
					value = replenishable_troops_value
					multiply = 0.8
				}
			}
		}
	}
	# 60%
	else_if = {
		limit = { $RESOURCE$_level >= high_$RESOURCE$_level }
		custom_tooltip = {
			text = ep3_laamp_decision_event.1055.$RESOURCE$_partial_60.tt
			every_in_list = {
				list = damaged_maa_regiments
				change_maa_troops_count = {
					value = replenishable_troops_value
					multiply = 0.6
				}
			}
		}
	}
	# 40%
	else_if = {
		limit = { $RESOURCE$_level >= medium_$RESOURCE$_level }
		custom_tooltip = {
			text = ep3_laamp_decision_event.1055.$RESOURCE$_partial_40.tt
			every_in_list = {
				list = damaged_maa_regiments
				change_maa_troops_count = {
					value = replenishable_troops_value
					multiply = 0.4
				}
			}
		}
	}
	# 20%
	else = {
		custom_tooltip = {
			text = ep3_laamp_decision_event.1055.$RESOURCE$_partial_20.tt
			every_in_list = {
				list = damaged_maa_regiments
				change_maa_troops_count = {
					value = replenishable_troops_value
					multiply = 0.2
				}
			}
		}
	}
}

#Well, are ya, punk?
scripted_trigger 1055_is_famous_trigger = {
	OR = {
		AND = {
			prestige_level = max_prestige_level
			NOT = { has_variable = 1055_reinforced_with_prestige_recently }
		}
		AND = {
			piety_level = max_piety_level
			NOT = { has_variable = 1055_reinforced_with_piety_recently }
		}
		AND = {
			has_trait = knight_errant
			has_trait_xp = {
				trait = knight_errant
				value = 100 #Max XP
			}
			NOT = { has_variable = 1055_reinforced_with_knight_errant_recently }
		}
	}
}


#Reinforcers
ep3_laamp_decision_event.1055 = {
	type = character_event
	title = ep3_laamp_decision_event.1055.t
	window = visit_settlement_window
	desc = {
		#What're they doing?
		first_valid = {
			#We've returned to this scene, now what
			#RETURN: Maxed prestige or piety
			triggered_desc = {
				trigger = {
					exists = scope:been_to_reinforcers
					1055_is_famous_trigger = yes
				}
				desc = ep3_laamp_decision_event.1055.desc_maxed_out_returned
			}
			#RETURN:
			random_valid = {
				triggered_desc = { 
					trigger = { 
						exists = scope:been_to_reinforcers
						scope:reinforcers_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1055.desc_returned_01 
				}
				triggered_desc = { 
					trigger = { scope:reinforcers_loc_tracker ?= 1 }
					desc = ep3_laamp_decision_event.1055.desc_returned_02
				}
			}
			#FIRST TIME: Maxed prestige or piety
			triggered_desc = {
				trigger = { 1055_is_famous_trigger = yes }
				desc = ep3_laamp_decision_event.1055.desc_maxed_out
			}
			#FIRST TIME:
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_reinforcers }
				}
				desc = ep3_laamp_decision_event.1055.desc
			}	
		}
	}
	theme = landless_adventurer
	override_sound = { 
		trigger = { 1055_is_famous_trigger = yes }
		reference = "event:/DLC/FP4/MUSIC/Stingers/mx_stinger_legends_lvl_03"
	}
	override_icon = { reference = "gfx/interface/icons/event_types/type_martial.dds" }
	override_background = { reference = ep3_camp }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		triggered_animation = {
			trigger = {
				root = { 1055_is_famous_trigger = yes }
			}
			animation = happiness
		}
		animation = survey
	}
	center_portrait = {
		character = root
		#Defender
		triggered_animation = {
			trigger = {
				has_trait = knight_errant
				has_trait_xp = {
					trait = knight_errant
					value = 100 #Max XP
				}
				NOT = { has_variable = 1055_reinforced_with_knight_errant_recently }
			}
			animation = marshal_shield
		}
		#Zealous
		triggered_animation = {
			trigger = {
				piety_level = max_piety_level
				NOT = { has_variable = 1055_reinforced_with_piety_recently }
			}
			animation = personality_zealous
		}
		#Prestigious
		triggered_animation = {
			trigger = {
				prestige_level = max_prestige_level
				NOT = { has_variable = 1055_reinforced_with_prestige_recently }
			}
			animation = hero_flex
		}
		triggered_animation = {
			trigger = { has_trait = greedy }
			animation = thinking
		}
		animation = betting
	}
	right_portrait = {
		character = scope:laamp_maa_reinforcer
		camera = camera_event_scheme_far_right
		triggered_animation = {
			trigger = {
				root = { 1055_is_famous_trigger = yes }
			}
			animation = personality_coward
		}
		animation = dismissal
	}
	#Am I overusing this?
	override_effect_2d = {
		trigger = { 1055_is_famous_trigger = yes }
		reference = legend_glow
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#Can we _not_ repeat the loc?
		1025_set_and_check_scene_loc_tracker_scope_effect = { SCENE = reinforcers }
		#Find a spokesperson
		if = {
			#Do we already have a spokesperson?
			limit = {
				NOT = { exists = scope:laamp_maa_reinforcer }
			}
			#Don't really care about saving this character in a list
			random_pool_character = {
				province = scope:visiting_location
				limit = { 1053_random_martial_character_trigger = yes }
				save_scope_as = laamp_maa_reinforcer
			}
			#Otherwise create a spokesperson
			if = {
				limit = {
					NOT = { exists = scope:laamp_plain_guard }
				}
				#Create spokesperson to stuff in pool
				create_character = {
					template = bandit_character
					location = scope:visiting_location
					dynasty = none
					gender_female_chance = root_soldier_female_chance
					culture = scope:visiting_location.culture
					faith = scope:visiting_location.faith
					save_scope_as = laamp_maa_reinforcer
				}
			}
		}
		scope:laamp_maa_reinforcer = {
			add_character_flag = {
				flag = wear_armor
				weeks = 1
			}
		}
		#Run this once
		if = {
			limit = {
				NOT = { exists = scope:least_damaged_maa_missing_soldiers }
			}
			every_maa_regiment = {
				limit = { maa_current_troops_count < maa_max_troops_count }
				add_to_list = damaged_maa_regiments
			}
			ordered_in_list = {
				list = damaged_maa_regiments
				order_by = {
					value = replenishable_troops_value
					multiply = -1
				}
				save_scope_value_as = {
					name = least_damaged_maa_missing_soldiers
					value = this.replenishable_troops_value
				}
			}
			save_scope_value_as = {
				name = num_damaged_maa_regiments
				value = list_size:damaged_maa_regiments
			}
		}
	}
	#Based on Prestige level
	option = {
		name = ep3_laamp_decision_event.1055.a
		trigger = { #This could be upgraded to diminishing returns
			custom_tooltip = {
				text = ep3_laamp_decision_event.1055.a.cooldown.tt
				NOT = { has_variable = 1055_reinforced_with_prestige_recently }
			}
		}
		show_as_unavailable = { always = yes }
		flavor = ep3_laamp_decision_event.1055.a.flavor
		reason = prestige_level
		#Basically the same as piety
		1055_calculate_reinforcements_effect = { RESOURCE = prestige }
		#Le cooldown
		set_variable = {
			name = 1055_reinforced_with_prestige_recently
			days = visit_settlement_minimum_cooldown_days
		}
		#Checkmark and block off the option
		1055_finished_reinforcers_effect = yes
		ai_chance = {
			base = 200
		}
	}
	#Based on Piety level
	option = {
		name = ep3_laamp_decision_event.1055.b
		trigger = { 
			piety_level >= low_piety_level 
		}
		show_as_unavailable = { always = yes }
		flavor = ep3_laamp_decision_event.1055.b.flavor
		reason = piety_level
		#Basically the same as prestige
		1055_calculate_reinforcements_effect = { RESOURCE = piety }
		#Le cooldown
		set_variable = {
			name = 1055_reinforced_with_piety_recently
			days = visit_settlement_minimum_cooldown_days
		}
		#Checkmark and block off the option
		1055_finished_reinforcers_effect = yes
		ai_chance = {
			base = 200
		}
	}
	#Scrounging for desperate soldiers with lower cost Provisions
	option = {
		name = ep3_laamp_decision_event.1055.c
		trigger = {
			domicile ?= { provisions >= scope:least_damaged_maa_missing_soldiers }
		}
		#Pick a random MaA to reinforce, fully
		custom_tooltip = {
			text = ep3_laamp_decision_event.1055.c.tt
			random_in_list = {
				list = damaged_maa_regiments
				change_maa_troops_count = replenishable_troops_value
			}
		}
		#For a cheaper sandwich
		domicile ?= { 
			change_provisions = {
				subtract = scope:least_damaged_maa_missing_soldiers
				divide = visit_settlement_provision_refill_value
			}
		}
		#No cooldown. For now.
		#Checkmark and block off the option
		1055_finished_reinforcers_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				domicile ?= { provisions < sixty_percent_provisions_value }
				factor = 0
			}
		}
	}
	#I am a Knight-Errant, you _fool_! Bask in my righteousness.
	option = {
		name = ep3_laamp_decision_event.1055.d
		trigger = {
			has_trait = knight_errant
			has_trait_xp = {
				trait = knight_errant
				value = 100 #Max XP
			}
			NOT = { has_variable = 1055_reinforced_with_knight_errant_recently }
		}
		show_as_unavailable = { has_variable = 1055_reinforced_with_knight_errant_recently }
		flavor = ep3_laamp_decision_event.1055.d.flavor
		reason = knight_errant
		#You're just that _good_
		custom_tooltip = {
			text = ep3_laamp_decision_event.1055.d.tt
			every_in_list = {
				list = damaged_maa_regiments
				change_maa_troops_count = replenishable_troops_value
			}
		}
		#Le cooldown
		set_variable = {
			name = 1055_reinforced_with_knight_errant_recently
			days = visit_settlement_minimum_cooldown_days
		}
		#Checkmark and block off the option
		1055_finished_reinforcers_effect = yes
		ai_chance = {
			base = 1000 #Just do it 
		}
	}
	#I want to do something else
	option = {
		name = ep3_laamp_decision_event.1055.e
		#Sets variables and returns us to castle grounds screen
		1031_been_to_effect = { GUILD = reinforcers }
		ai_chance = { base = 200 }
	}
	after = {
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:reinforcers }
	}
}

#Hire the Bodyguard, show/set the effects and variables 
scripted_effect 1057_hire_bodyguard_effect = {
	hidden_effect = {
		reverse_add_opinion = {
			target = scope:laamp_bodyguard_recruit
			modifier = recruited_me_opinion
			opinion = 30
		}
	}
	add_courtier = scope:laamp_bodyguard_recruit
	#The actual effect happens in after
	show_as_tooltip = {
		court_position_grant_effect = {
			EMPLOYER = root
			POS = bodyguard
			CANDIDATE = scope:laamp_bodyguard_recruit
		}
	}
	#This 'finished' is different since it changes between flag:yes and flag:no
	save_scope_value_as = {
		name = laamp_decision_recruited_bodyguard
		value = flag:yes
	}
	#Go back to castle grounds
	hidden_effect = { 1051_return_to_castle_effect = yes }
}


#Visit Bodyguard
ep3_laamp_decision_event.1057 = {
	type = character_event
	title = ep3_laamp_decision_event.1057.t
	window = visit_settlement_window
	desc = {
		#What're they doing?
		first_valid = {
			#We've returned to this scene, now what
			#RETURN:
			random_valid = {
				triggered_desc = { 
					trigger = { 
						exists = scope:been_to_bodyguard
						scope:bodyguard_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1057.desc_returned_01
				}
				triggered_desc = { 
					trigger = { scope:bodyguard_loc_tracker ?= 1 }
					desc = ep3_laamp_decision_event.1057.desc_returned_02
				}
				triggered_desc = { 
					trigger = { scope:bodyguard_loc_tracker ?= 2 }
					desc = ep3_laamp_decision_event.1057.desc_returned_03
				}
			}
			#FIRST TIME: We've seen this bodyguard before
			triggered_desc = {
				trigger = {
					exists = scope:laamp_recurring_bodyguard
					NOT = { exists = scope:been_to_bodyguard }
				}
				desc = ep3_laamp_decision_event.1057.desc_reused_bodyguard
			}
			#FIRST TIME:
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_bodyguard }
				}
				desc = ep3_laamp_decision_event.1057.desc
			}	
		}
	}
	theme = landless_adventurer
	override_sound = { reference = "event:/MUSIC/Cues/Events/Positive/mx_cue_postive_effect" }
	override_background = { reference = alley_day }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		#Slicing up carcasses
		triggered_animation = {
			trigger = { scope:bodyguard_loc_tracker ?= 1 }
			animation = disbelief
		}
		animation = worry
	}
	center_portrait = {
		character = root
		camera = camera_event_scheme_vs_extra_right_look_right
		#Slicing up carcasses
		triggered_animation = {
			trigger = { scope:bodyguard_loc_tracker ?= 1 }
			animation = fear
		}
		#Literal *flex*
		triggered_animation = {
			trigger = {
				OR = {
					has_trait = gallant
					prowess > high_skill_rating
				}
			}
			animation = hero_flex
		}
		animation = flirtation
	}
	right_portrait = {
		character = scope:laamp_bodyguard_recruit
		camera = camera_event_scheme_far_right
		#Still angry
		triggered_animation = {
			trigger = {
				NOT = { exists = scope:been_to_bodyguard }
			}
			animation = rage
		}
		#Had a pleasant conversation prior to interaction
		triggered_animation = {
			trigger = {
				exists = scope:been_to_bodyguard
				scope:bodyguard_loc_tracker ?= 0 
			}
			animation = personality_compassionate
		}
		#Slicing up carcasses
		triggered_animation = {
			trigger = { scope:bodyguard_loc_tracker ?= 1 }
			animation = hunting_knife_start
		}
		#State of life
		animation = disappointed
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#Run this once: Re-save the portrait so the Bodyguard is not the 1050_third_character (since they narratively moved to the alley)
		if = {
			limit = { scope:1050_third_character = scope:laamp_bodyguard_recruit }
			#Overwrite with ROOT to block off the portrait
			save_scope_as = 1050_third_character
			#Remember the bodyguard
			1010_remember_vendor_character_effect = { GUILD = bodyguard CHARACTER = scope:laamp_bodyguard_recruit }
		}
		#Can we _not_ repeat the loc?
		1025_set_and_check_hub_loc_tracker_scope_effect = { HUB = bodyguard }
	}
	#Pay gold
	option = {
		name = ep3_laamp_decision_event.1057.a
		pay_short_term_gold = {
			target = scope:laamp_bodyguard_recruit
			gold = minor_gold_value
		}
		#Wrap effect to hire 'em, set scope & return to castle
		1057_hire_bodyguard_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				short_term_gold < minor_gold_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
			modifier = {
				OR = {
					prowess > high_skill_rating
					has_trait = gallant
				}
				factor = 0
			}
		}
	}
	#Flex Prowess
	option = {
		name = ep3_laamp_decision_event.1057.b
		trigger = { 
			prowess > high_skill_rating
			NOT = { has_trait = gallant }
		}
		#Wrap effect to hire 'em, set scope & return to castle
		1057_hire_bodyguard_effect = yes
		ai_chance = {
			base = 1000 #Just do it
		}
	}
	#Diplomacy duel
	option = {
		name = ep3_laamp_decision_event.1057.c
		duel = {
			skill = diplomacy
			value = average_skill_rating
			#Success: Hire 'em up
			50 = {	
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				modifier = {
					OR = {
						has_trait = overseer
						has_trait = strategist
					}
					factor = 2
				}
				desc = ep3_laamp_decision_event.1057.c.success
				send_interface_toast = {
					title = ep3_laamp_decision_event.1057.c.success
					left_icon = root
					right_icon = scope:laamp_bodyguard_recruit
					#Yippee!
					1057_hire_bodyguard_effect = yes
				}
			}
			#Failure: Bye, now
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -20
				}
				modifier = {
					has_trait = zealous
					factor = 0.5
				}
				desc = ep3_laamp_decision_event.1057.c.failure
				send_interface_toast = {
					type = event_toast_text_bad
					title = ep3_laamp_decision_event.1057.c.failure
					desc = ep3_laamp_decision_event.1057.c.failure.tt
					left_icon = root
					right_icon = scope:laamp_bodyguard_recruit
					#Oh well
					custom_tooltip = ep3_laamp_decision_event.1057.c.failure.tt
					#This 'finished' is different since it changes between flag:yes and flag:no
					save_scope_value_as = {
						name = laamp_decision_recruited_bodyguard
						value = flag:no
					}
					1051_return_to_castle_effect = yes
				}
			}
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					prowess > high_skill_rating
					has_trait = gallant
				}
				factor = 0
			}
		}
	}
	#Triggered Option: Gallant-flex them
	option = {
		name = ep3_laamp_decision_event.1057.d
		trigger = { has_trait = gallant }
		show_as_unavailable = { always = yes }
		reason = gallant
		#Have a cherry on top
		scope:laamp_bodyguard_recruit = {
			hidden_effect = {
				if = {
					limit = { has_trait = disloyal }
					remove_trait = disloyal
				}
			}
			if = {
				limit = {
					NOT = { has_trait = loyal }
				}
				add_trait = loyal
			}
		}
		#Wrap effect to hire 'em, set scope & return to castle
		1057_hire_bodyguard_effect = yes
		ai_chance = {
			base = 1000 #Just do it
		}
	}
	#I want to do something else
	option = {
		name = ep3_laamp_decision_event.1057.e
		#Saves scopes and returns us to castle grounds screen
		1031_been_to_effect = { GUILD = bodyguard }
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = greedy
					has_trait = paranoid
				}
				add = 300
			}
		}
	}
	after = {
		if = {
			limit = { scope:laamp_decision_recruited_bodyguard ?= flag:yes }
			#Appoint them
			if = {
				limit = {
					can_appoint_char_to_court_position = {
						CHAR = scope:laamp_bodyguard_recruit
						COURT_POS = bodyguard_court_position
					}
				}
				court_position_grant_effect = {
					EMPLOYER = root
					POS = bodyguard
					CANDIDATE = scope:laamp_bodyguard_recruit
				}
			}
		}
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:bodyguard }
	}
}


######################################################################
# CRAFTSMEN
# ep3_laamp_decision_event.1060
######################################################################

#Set the correct variable to block off the Craftsmen option and remove the desc flavor variable
scripted_effect 1060_finished_craftsmen_effect = {
	remove_list_variable = {
		name = list_of_options
		target = flag:has_craftsman_option
	}
	save_scope_as = laamp_decision_finished_craftsmen_option
}

#Nothing left for us to do
scripted_trigger 1060_done_with_craftsmen_trigger = {
	exists = scope:laamp_decision_bought_weapon
	exists = scope:laamp_decision_bought_armor
	exists = scope:laamp_decision_bought_accessory
	trigger_if = {
		limit = { exists = scope:laamp_quartermaster_recruit }
		exists = scope:laamp_decision_recruited_quartermaster
	}
}

scripted_trigger 1060_is_quartermaster_available_trigger = {
	#They exist
	exists = scope:laamp_quartermaster_recruit
	#We've been there
	exists = scope:been_to_quartermaster
	#But we're not done with 'em
	NOT = { exists = scope:laamp_decision_recruited_quartermaster }
}


#City Holding: Visit the local city craftsmen
ep3_laamp_decision_event.1060 = {
	type = character_event
	title = ep3_laamp_decision_event.1060.t
	window = visit_settlement_window
	desc = {
		#Intro
		first_valid = {
			#We've returned to this scene, now what
			#RETURN: We've returned from Main Square
			random_valid = {
				triggered_desc = { 
					trigger = { 
						var:return_from_location ?= flag:main_square
						exists = scope:been_to_craftsmen
						OR = {
							scope:craftsmen_loc_tracker ?= 0
							scope:craftsmen_loc_tracker ?= 2
						}
					}
					desc = ep3_laamp_decision_event.1060.desc_returned_01
				}
				triggered_desc = { 
					trigger = { 
						var:return_from_location ?= flag:main_square
						scope:craftsmen_loc_tracker ?= 1
					}
					desc = ep3_laamp_decision_event.1060.desc_returned_02
				}
			}
			#RETURN: We've returned from the Weaponsmith
			triggered_desc = {
				trigger = { var:return_from_location ?= flag:weaponsmith }
				desc = ep3_laamp_decision_event.1060.desc_returned_from_weaponsmith
			}
			#RETURN: We've returned from the Armorer
			triggered_desc = {
				trigger = { var:return_from_location ?= flag:armorer }
				desc = ep3_laamp_decision_event.1060.desc_returned_from_armorer
			}
			#RETURN: We've returned from the Jeweler
			triggered_desc = {
				trigger = { var:return_from_location ?= flag:jeweler }
				desc = ep3_laamp_decision_event.1060.desc_returned_from_jeweler
			}
			#RETURN: We've returned from the Quartermaster
			triggered_desc = {
				trigger = { var:return_from_location ?= flag:quartermaster }
				desc = ep3_laamp_decision_event.1060.desc_returned_from_quartermaster
			}
			#FIRST TIME: First time here
			triggered_desc = {
				trigger = { 
					NOT = { exists = scope:been_to_craftsmen }
				}
				desc = ep3_laamp_decision_event.1060.desc
			}
		}
		#Outro
		first_valid = {
			#FIRST TIME: First time here, look at the quartermaster
			triggered_desc = {
				trigger = {
					exists = scope:laamp_quartermaster_recruit
					NOT = { exists = scope:been_to_craftsmen }
				}
				desc = ep3_laamp_decision_event.1060.desc_outro_quartermaster
			}
			#FIRST TIME: First time here, curious partner
			triggered_desc = {
				trigger = {
					exists = scope:visiting_partner
					NOT = { exists = scope:been_to_craftsmen }
				}
				desc = ep3_laamp_decision_event.1060.desc_outro_partner
			}
			#FIRST TIME: First time here
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_craftsmen }
				}
				desc = ep3_laamp_decision_event.1060.desc_outro
			}
			#RETURN: Partner - there is nothing left for us here
			triggered_desc = {
				trigger = { 
					exists = scope:visiting_partner
					1060_done_with_craftsmen_trigger = yes 
				}
				desc = ep3_laamp_decision_event.1060.desc_outro_return_partner_finished
			}
			#RETURN: There is nothing left for us here
			triggered_desc = {
				trigger = { 1060_done_with_craftsmen_trigger = yes }
				desc = ep3_laamp_decision_event.1060.desc_outro_return_finished
			}
			#RETURN: Quartermaster did not move to the tavern, yet
			triggered_desc = {
				trigger = {
					exists = scope:laamp_quartermaster_recruit
					NOR = { 
						exists = scope:been_to_quartermaster
						exists = scope:laamp_decision_recruited_quartermaster
					}
				}
				desc = ep3_laamp_decision_event.1060.desc_outro_quartermaster_return
			}
			#RETURN: We've been here before
			random_valid = {
				#RETURN: Partner flavor
				triggered_desc = {
					trigger = {
						exists = scope:visiting_partner
						exists = scope:been_to_craftsmen
						scope:craftsmen_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1060.desc_outro_return_partner_01
				}
				triggered_desc = {
					trigger = {
						exists = scope:visiting_partner
						scope:craftsmen_loc_tracker ?= 1
					}
					desc = ep3_laamp_decision_event.1060.desc_outro_return_partner_02
				}
				triggered_desc = {
					trigger = {
						exists = scope:visiting_partner
						scope:craftsmen_loc_tracker ?= 2
					}
					desc = ep3_laamp_decision_event.1060.desc_outro_return_partner_03
				}
				#RETURN: Generics
				triggered_desc = {
					trigger = { 
						exists = scope:been_to_craftsmen
						scope:craftsmen_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1060.desc_outro_return_01
				}
				triggered_desc = {
					trigger = { scope:craftsmen_loc_tracker ?= 1 }
					desc = ep3_laamp_decision_event.1060.desc_outro_return_02
				}
				triggered_desc = {
					trigger = { scope:craftsmen_loc_tracker ?= 2 }
					desc = ep3_laamp_decision_event.1060.desc_outro_return_03
				}
			}
		}
	}
	theme = stewardship
	#Get outta here already
	override_effect_2d = {
		trigger = { 
			1060_done_with_craftsmen_trigger = yes
			scope:visiting_location = { is_drylands_or_desert_trigger = no } 
		}
  		reference = rain	
	}
	override_background = { reference = market }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		#If it's our (tired) visiting partner
		triggered_animation = {
			trigger = { 1060_done_with_craftsmen_trigger = yes }
			animation = boredom
		}
		#If it's our visiting partner
		animation = survey
	}
	center_portrait = {
		character = root
		triggered_animation = {
			trigger = { has_trait = greedy }
			animation = stress
		}
		animation = personality_forgiving
	}
	#Do we have someone to display?
	right_portrait = {
		trigger = { 
			exists = scope:1060_third_character
			#If this is root, then that means we have talked to the Quartermaster so let's disappear the portrait
			scope:1060_third_character != root
		}
		character = scope:1060_third_character
		#Le Quartermaster
		animation = eyeroll
	}
	#The craftsmen
	lower_left_portrait = {
		#Let's remove them when the option is no longer available
		trigger = {
			scope:1060_fourth_character != root
		}
		character = scope:1060_fourth_character
	}
	lower_center_portrait = {
		#Let's remove them when the option is no longer available
		trigger = {
			scope:1060_fifth_character != root
		}
		character = scope:1060_fifth_character
	}
	lower_right_portrait = {
		#Let's remove them when the option is no longer available
		trigger = {
			scope:1060_sixth_character != root
		}
		character = scope:1060_sixth_character
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#Can we _not_ repeat the loc?
		1025_set_and_check_hub_loc_tracker_scope_effect = { HUB = craftsmen }
		#Find our weaponsmith
		if = {
			#Do we already have a weaponsmith?
			limit = {
				NOT = { exists = scope:laamp_weaponsmith_craftsman }
			}
			#Has this person been our weaponsmith in the past 10 years?
			random_pool_character = {
				province = scope:visiting_location
				limit = {
					1010_basic_merchant_checks_trigger = yes
					NOT = { has_trait = devoted } #Look, I like weaponsmith nuns as much as the next person, but it looked _slightly_ off
					save_temporary_scope_as = saved_character_check
					#Let's avoid double-dipping
					1010_is_a_saved_weaponsmith_trigger = yes
					1010_is_a_saved_merchant_trigger = no
					1010_is_a_saved_peddler_trigger = no
					1010_is_a_saved_crier_trigger = no
					1010_is_a_saved_storyteller_trigger = no
					1010_is_a_saved_thief_trigger = no
					1010_is_a_saved_healer_trigger = no
					1010_is_a_saved_clergy_trigger = no
					1010_is_a_saved_physician_trigger = no
					1010_is_a_saved_bodyguard_trigger = no
					1010_is_a_saved_armorer_trigger = no
					1010_is_a_saved_jeweler_trigger = no
					1010_is_a_saved_quartermaster_trigger = no
				}
				save_scope_as = laamp_weaponsmith_craftsman
				#Some more loc flavor shenanigans for these saved scopes
				save_scope_as = laamp_recurring_weaponsmith_craftsman
			}
			#Otherwise find a weaponsmith in the pool
			if = {
				limit = { 
					NOT = { exists = scope:laamp_weaponsmith_craftsman }
				}
				random_pool_character = {
					province = scope:visiting_location
					limit = { 
						1010_basic_merchant_checks_trigger = yes
						NOT = { has_trait = devoted } #Look, I like weaponsmith nuns as much as the next person, but it looked _slightly_ off
					}
					save_scope_as = laamp_weaponsmith_craftsman
				}
			}
			#Otherwise create a weaponsmith
			if = {
				limit = {
					NOT = { exists = scope:laamp_weaponsmith_craftsman }
				}
				#Create weaponsmith to stuff in pool
				create_character = {
					template = generic_peasant_character
					location = scope:visiting_location
					dynasty = none
					culture = scope:visiting_location.culture
					faith = scope:visiting_location.faith
					save_scope_as = laamp_weaponsmith_craftsman
				}
			}
			scope:laamp_weaponsmith_craftsman = { save_scope_as = 1060_fourth_character }
		}
		#And our armorer
		if = {
			#Do we already have an armorer?
			limit = {
				NOT = { exists = scope:laamp_armorer_craftsman }
			}
			#Has this person been our armorer in the past 10 years?
			random_pool_character = {
				province = scope:visiting_location
				limit = {
					1010_basic_merchant_checks_trigger = yes
					NOT = { has_trait = devoted } #Look, I like weaponsmith nuns as much as the next person, but it looked _slightly_ off
					save_temporary_scope_as = saved_character_check
					#Let's avoid double-dipping
					1010_is_a_saved_armorer_trigger = yes
					1010_is_a_saved_merchant_trigger = no
					1010_is_a_saved_peddler_trigger = no
					1010_is_a_saved_crier_trigger = no
					1010_is_a_saved_storyteller_trigger = no
					1010_is_a_saved_thief_trigger = no
					1010_is_a_saved_healer_trigger = no
					1010_is_a_saved_clergy_trigger = no
					1010_is_a_saved_physician_trigger = no
					1010_is_a_saved_bodyguard_trigger = no
					1010_is_a_saved_weaponsmith_trigger = no
					1010_is_a_saved_jeweler_trigger = no
					1010_is_a_saved_quartermaster_trigger = no
				}
				save_scope_as = laamp_armorer_craftsman
				#Some more loc flavor shenanigans for these saved scopes
				save_scope_as = laamp_recurring_armorer_craftsman
			}
			#Otherwise find an armorer in the pool
			if = {
				limit = { 
					NOT = { exists = scope:laamp_armorer_craftsman }
				}
				random_pool_character = {
					province = scope:visiting_location
					limit = { 
						1010_basic_merchant_checks_trigger = yes
						NOT = { has_trait = devoted } #Look, I like weaponsmith nuns as much as the next person, but it looked _slightly_ off
					}
					save_scope_as = laamp_armorer_craftsman
				}
			}
			#Otherwise create an armorer
			if = {
				limit = {
					NOT = { exists = scope:laamp_armorer_craftsman }
				}
				#Create armorer to stuff in pool
				create_character = {
					template = generic_peasant_character
					location = scope:visiting_location
					dynasty = none
					culture = scope:visiting_location.culture
					faith = scope:visiting_location.faith
					save_scope_as = laamp_armorer_craftsman
				}
			}
			scope:laamp_armorer_craftsman = { save_scope_as = 1060_fifth_character }
		}
		#And finally, our jeweler
		if = {
			#Do we already have a jeweler?
			limit = {
				NOT = { exists = scope:laamp_jeweler_craftsman }
			}
			#Has this person been our jeweler in the past 10 years?
			random_pool_character = {
				province = scope:visiting_location
				limit = {
					1010_basic_merchant_checks_trigger = yes
					NOT = { has_trait = devoted } #Look, I like weaponsmith nuns as much as the next person, but it looked _slightly_ off
					save_temporary_scope_as = saved_character_check
					#Let's avoid double-dipping
					1010_is_a_saved_jeweler_trigger = yes
					1010_is_a_saved_merchant_trigger = no
					1010_is_a_saved_peddler_trigger = no
					1010_is_a_saved_crier_trigger = no
					1010_is_a_saved_storyteller_trigger = no
					1010_is_a_saved_thief_trigger = no
					1010_is_a_saved_healer_trigger = no
					1010_is_a_saved_clergy_trigger = no
					1010_is_a_saved_physician_trigger = no
					1010_is_a_saved_bodyguard_trigger = no
					1010_is_a_saved_weaponsmith_trigger = no
					1010_is_a_saved_armorer_trigger = no
					1010_is_a_saved_quartermaster_trigger = no
				}
				save_scope_as = laamp_jeweler_craftsman
				#Some more loc flavor shenanigans for these saved scopes
				save_scope_as = laamp_recurring_jeweler_craftsman
			}
			#Otherwise find a jeweler in the pool
			if = {
				limit = { 
					NOT = { exists = scope:laamp_jeweler_craftsman }
				}
				random_pool_character = {
					province = scope:visiting_location
					limit = { 
						1010_basic_merchant_checks_trigger = yes
						NOT = { has_trait = devoted } #Look, I like weaponsmith nuns as much as the next person, but it looked _slightly_ off
					}
					save_scope_as = laamp_jeweler_craftsman
				}
			}
			#Otherwise create a jeweler
			if = {
				limit = {
					NOT = { exists = scope:laamp_jeweler_craftsman }
				}
				#Create jeweler to stuff in pool
				create_character = {
					template = generic_peasant_character
					location = scope:visiting_location
					dynasty = none
					culture = scope:visiting_location.culture
					faith = scope:visiting_location.faith
					save_scope_as = laamp_jeweler_craftsman
				}
			}
			scope:laamp_jeweler_craftsman = { save_scope_as = 1060_sixth_character }
		}
		#Rare: Spawn a spectacular Quartermaster
		if = {
			limit = {
				can_employ_court_position_type = quartermaster_camp_officer
				NOT = { has_variable = laamp_decision_1000_checked_for_quartermaster }
			}
			random_list = {
				80 = { 
					#No Quartermaster
				}
				20 = {
					trigger = { can_employ_court_position_type = quartermaster_camp_officer }
					#Has this person been our quartermaster in the past 10 years?
					random_pool_character = {
						province = scope:visiting_location
						limit = {
							1010_basic_merchant_checks_trigger = yes
							NOT = { has_trait = devoted } #Look, I like weaponsmith nuns as much as the next person, but it looked _slightly_ off
							save_temporary_scope_as = saved_character_check
							#Let's avoid double-dipping
							1010_is_a_saved_quartermaster_trigger = yes
							1010_is_a_saved_merchant_trigger = no
							1010_is_a_saved_peddler_trigger = no
							1010_is_a_saved_crier_trigger = no
							1010_is_a_saved_storyteller_trigger = no
							1010_is_a_saved_thief_trigger = no
							1010_is_a_saved_healer_trigger = no
							1010_is_a_saved_clergy_trigger = no
							1010_is_a_saved_physician_trigger = no
							1010_is_a_saved_bodyguard_trigger = no
							1010_is_a_saved_weaponsmith_trigger = no
							1010_is_a_saved_armorer_trigger = no
							1010_is_a_saved_jeweler_trigger = no
						}
						save_scope_as = laamp_quartermaster_recruit
						#Some more loc flavor shenanigans for these saved scopes
						save_scope_as = laamp_recurring_quartermaster
					}
					#Otherwise find a quartermaster in the pool
					if = {
						limit = { 
							NOT = { exists = scope:laamp_quartermaster_recruit }
						}
						random_pool_character = {
							province = scope:visiting_location
							limit = { 
								1010_basic_merchant_checks_trigger = yes
								NOT = { has_trait = devoted } #Look, I like weaponsmith nuns as much as the next person, but it looked _slightly_ off
								stewardship >= 15
								NOR = {
									has_trait = generous
									has_trait = profligate
									has_trait = improvident
								}
							}
							save_scope_as = laamp_quartermaster_recruit
						}
					}
					#Or create a quartermaster
					if = {
						limit = {
							NOT = { exists = scope:laamp_quartermaster_recruit }
						}
						#Create quartermaster to stuff in pool
						create_character = {
							template = bp1_yearly_2021_stewardship_person_template
							location = scope:visiting_location
							trait = arrogant
							dynasty = none
							culture = scope:visiting_location.culture
							faith = scope:visiting_location.faith
							stewardship = { decent_skill_rating high_skill_rating }
							save_scope_as = laamp_quartermaster_recruit
						}
						scope:laamp_quartermaster_recruit ?= {
							#Chance to add a malus trait to this spectatular being
							if = {
								limit = { 
									NOR = { 
										has_trait = possessed_1 
										has_trait = lunatic_1
										has_trait = depressed_1
										has_trait = drunkard
										has_trait = hashishiyah
										has_trait = irritable
									}
								}
								hidden_effect = {
									random = {
										chance = 20
										random_list = {
											10 = { add_trait = possessed_1 }
											10 = { add_trait = lunatic_1 }
											10 = { add_trait = depressed_1 }
											10 = { add_trait = drunkard }
											10 = { add_trait = hashishiyah }
											10 = { add_trait = irritable }
										}
									}
								}
							}
						}
					}
					scope:laamp_quartermaster_recruit = { save_scope_as = 1060_third_character }
				}
			}
			#No decision-scumming
			set_variable = {
				name = laamp_decision_1000_checked_for_quartermaster
				days = visit_settlement_cooldown_days
			}
		}
		#Fourth portrait
		if = {
			limit = {
				OR = {
					#If we've already finished off the Weaponsmith
					AND = {
						scope:1060_fourth_character = scope:laamp_weaponsmith_craftsman
						exists = scope:laamp_decision_bought_weapon
					}
					#And we did that before talking to the Quartermaster
					AND = {
						1060_is_quartermaster_available_trigger = yes
						scope:1060_fourth_character = root
					}
				}
			}
			#Put the Quartermaster in the slot, if they exist
			if = {
				limit = { 1060_is_quartermaster_available_trigger = yes }
				scope:laamp_quartermaster_recruit = { save_scope_as = 1060_fourth_character }
				#Hide the portrait with ROOT if they already are saved somewhere else
				if = {
					limit = { scope:1060_fifth_character ?= scope:laamp_quartermaster_recruit }
					save_scope_as = 1060_fifth_character
				}
				#Hide the portrait with ROOT if they already are saved somewhere else
				if = {
					limit = { scope:1060_sixth_character ?= scope:laamp_quartermaster_recruit }
					save_scope_as = 1060_sixth_character
				}
			}
			#Otherwise hide the portrait with ROOT
			else = { save_scope_as = 1060_fourth_character }
		}
		#Fifth portrait
		if = {
			limit = {
				OR = {
					#If we've already finished off the Armorer
					AND = {
						scope:1060_fifth_character = scope:laamp_armorer_craftsman
						exists = scope:laamp_decision_bought_armor
					}
					#And we did that before talking to the Quartermaster
					AND = {
						1060_is_quartermaster_available_trigger = yes
						scope:1060_fifth_character = root
					}
				}
			}
			#Put the Quartermaster in the slot, if they exist
			if = {
				limit = { 
					1060_is_quartermaster_available_trigger = yes
					NOR = { 
						scope:1060_fourth_character ?= scope:laamp_quartermaster_recruit
						scope:1060_sixth_character ?= scope:laamp_quartermaster_recruit
					}
				}
				scope:laamp_quartermaster_recruit = { save_scope_as = 1060_fifth_character }
			}
			#Otherwise hide the portrait with ROOT
			else = { save_scope_as = 1060_fifth_character }
		}
		#Sixth portrait
		if = {
			limit = {
				OR = {
					#If we've already finished off the Jeweler
					AND = {
						scope:1060_sixth_character = scope:laamp_jeweler_craftsman
						exists = scope:laamp_decision_bought_accessory
					}
					#And we did that before talking to the Quartermaster
					AND = {
						1060_is_quartermaster_available_trigger = yes
						scope:1060_sixth_character = root
					}
				}
			}
			#Put the Quartermaster in the slot, if they exist
			if = {
				limit = { 
					1060_is_quartermaster_available_trigger = yes
					NOR = { 
						scope:1060_fourth_character ?= scope:laamp_quartermaster_recruit
						scope:1060_fifth_character ?= scope:laamp_quartermaster_recruit
					}
				}
				scope:laamp_quartermaster_recruit = { save_scope_as = 1060_sixth_character }
			}
			#Otherwise hide the portrait with ROOT
			else = { save_scope_as = 1060_sixth_character }
		}
	}
	#Visit Weaponsmith
	option = {
		name = {
			text = {
				first_valid = {
					#Return to look at the weapons
					triggered_desc = {
						trigger = { exists = scope:been_to_weaponsmith }
						desc = ep3_laamp_decision_event.1060.a_second
					}
					#First time looking at weapons
					desc = ep3_laamp_decision_event.1060.a
				}
			}
		}
		trigger = {
			custom_tooltip = {
				text = ep3_laamp_decision_event.1060.a.cooldown.tt
				NOT = { exists = scope:laamp_decision_bought_weapon }
			}
		}
		show_as_unavailable = { always = yes }
		reason = visit_weaponsmith
		highlight_portrait = scope:laamp_weaponsmith_craftsman
		custom_tooltip = ep3_laamp_decision_event.1060.a.tt
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = craftsmen }
		#Go to the Weaponsmith screen
		trigger_event = ep3_laamp_decision_event.1061
		ai_chance = { base = 100 }
	}
	#Visit Armorer
	option = {
		name = {
			text = {
				first_valid = {
					#Return to look at the armor
					triggered_desc = {
						trigger = { exists = scope:been_to_armorer }
						desc = ep3_laamp_decision_event.1060.b_second
					}
					#First time looking at armor
					desc = ep3_laamp_decision_event.1060.b
				}
			}
		}
		trigger = {
			#Recruited the armorer
			trigger_if = {
				limit = { scope:laamp_decision_bought_armor ?= flag:no }
				custom_tooltip = {
					text = recruited_armorer.tt
					always = no
				}
			}
			#Been there, done that
			trigger_else_if = {
				limit = { scope:laamp_decision_bought_armor ?= flag:yes }
				custom_tooltip = {
					text = ep3_laamp_decision_event.1060.b.cooldown.tt
					always = no
				}
			}
			trigger_else = { exists = scope:laamp_armorer_craftsman }
		}
		show_as_unavailable = { always = yes }
		reason = visit_armorsmith
		highlight_portrait = scope:laamp_armorer_craftsman
		custom_tooltip = ep3_laamp_decision_event.1060.b.tt
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = craftsmen }
		#Go to the Armorer screen
		trigger_event = ep3_laamp_decision_event.1063
		ai_chance = { base = 100 }
	}
	#Visit Jeweler
	option = {
		name = {
			text = {
				first_valid = {
					#Return to look at the accessories
					triggered_desc = {
						trigger = { exists = scope:been_to_jeweler }
						desc = ep3_laamp_decision_event.1060.c_second
					}
					#First time looking at accessories
					desc = ep3_laamp_decision_event.1060.c
				}
			}
		}
		trigger = {
			custom_tooltip = {
				text = ep3_laamp_decision_event.1060.c.cooldown.tt
				NOT = { exists = scope:laamp_decision_bought_accessory }
			}
		}
		show_as_unavailable = { always = yes }
		reason = visit_jeweler
		highlight_portrait = scope:laamp_jeweler_craftsman
		custom_tooltip = ep3_laamp_decision_event.1060.c.tt
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = craftsmen }
		#Go to the Jeweler screen
		trigger_event = ep3_laamp_decision_event.1065
		ai_chance = { base = 100 }
	}
	#Rare Option: Hire cheaper, skilled, Quartermaster
	option = {
		name = {
			text = {
				first_valid = {
					#Return to talk to the Quartermaster
					triggered_desc = {
						trigger = { exists = scope:been_to_quartermaster }
						desc = ep3_laamp_decision_event.1060.d_second
					}
					#First time talking to the Quartermaster
					desc = ep3_laamp_decision_event.1060.d
				}
			}
		}
		trigger = { 
			exists = scope:laamp_quartermaster_recruit
			NOT = { exists = scope:laamp_decision_recruited_quartermaster }
		}
		reason = unlocked_quartermaster
		highlight_portrait = scope:laamp_quartermaster_recruit
		custom_tooltip = ep3_laamp_decision_event.1060.d.tt
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = craftsmen }
		#For the Quartermaster screen
		trigger_event = ep3_laamp_decision_event.1067
		ai_chance = { base = 500 }
	}
	#I want to do something else
	option = {
		name = {
			text = {
				first_valid = {
					#Nothing left to do
					triggered_desc = {
						trigger = { 1060_done_with_craftsmen_trigger = yes }
						desc = ep3_laamp_decision_event.1060.e_second
					}
					#Back to main square
					desc = ep3_laamp_decision_event.1060.e
				}
			}
		}
		#Have we done everything? Are we closing off the option?
		if = {
			limit = { 1060_done_with_craftsmen_trigger = yes }
			#Clean up unnecessary variables and close off the option
			1060_finished_craftsmen_effect = yes
		}
		#*Withered* - This needs to be done manually because the scope isn't saved before the next event is triggered if it's run in After = { ... }
		1030_save_hub_scope_effect = { HUB = craftsmen }
		#Go back to the main event
		1000_return_to_main_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = greedy
					has_trait = paranoid
				}
				add = 300
			}
		}
	}
	after = {
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:craftsmen }
	}
}


#Identify the weapon artifacts
scripted_effect 1061_set_weapon_variable_effect = {
	set_variable = {
		name = 1061_laamp_decision_weapon
		days = visit_settlement_cooldown_days
	}
}

#Simple enough
scripted_trigger 1061_is_rare_item_trigger = {
	OR = {
		rarity = masterwork
		rarity = famed 
		rarity = illustrious 
	}
}

#Chance to flush the inventory to simulate someone else buying the item or similar. Refresh the stock.
scripted_effect 1061_chance_to_flush_inventory_effect = {
	hidden_effect = {
		random_list = {
			#We didn't buy this one
			50 = {
				trigger = { 
					$FIRST_ITEM$ = { artifact_owner = $VENDOR$ }
				}
				#Less chance to destroy premium stuff
				modifier = {
					$FIRST_ITEM$ = { 1061_is_rare_item_trigger = yes }
					factor = 0.5
				}
				destroy_artifact = $FIRST_ITEM$
			}
			#Or this one
			50 = {
				trigger = { 
					$SECOND_ITEM$ = { artifact_owner = $VENDOR$ }
				}
				#Less chance to destroy premium stuff
				modifier = {
					$SECOND_ITEM$ = { 1061_is_rare_item_trigger = yes }
					factor = 0.5
				}
				destroy_artifact = $SECOND_ITEM$
			}
			#Nor this one?
			50 = {
				trigger = { 
					$THIRD_ITEM$ = { artifact_owner = $VENDOR$ }
				}
				#Less chance to destroy premium stuff
				modifier = {
					$THIRD_ITEM$ = { 1061_is_rare_item_trigger = yes }
					factor = 0.5
				}
				destroy_artifact = $THIRD_ITEM$
			}
		}
	}
}

#Chance for the vendor to have a real gem, once in a while
scripted_effect 1061_buff_item_modifiers_effect = {
	#Masterwork modifiers
	if = {
		limit = { rarity = masterwork }
		if = {
			limit = { has_variable = 1061_laamp_decision_weapon }
			add_scaled_artifact_modifier_prowess_effect = yes
			add_scaled_artifact_modifier_combat_effect = yes
		}
		if = {
			limit = { has_variable = 1063_laamp_decision_armor }
			add_scaled_artifact_modifier_negate_prowess_penalty_effect = yes
			add_scaled_artifact_modifier_terrain_advantage_effect = yes 		
		}
		if = {
			limit = { has_variable = 1065_laamp_decision_accessory }
			add_scaled_artifact_modifier_hire_mercenary_effect = yes
			add_scaled_artifact_modifier_prestige_effect = yes		
		}
	}
}

#We return to the craftsmen event to peruse other options
scripted_effect 1061_return_to_craftsmen_effect = {
	custom_tooltip = ep3_laamp_decision_event.1061.return.tt
	trigger_event = ep3_laamp_decision_event.1060
}

#Set the correct variable to block off the Weaponsmith option and remove the desc flavor variable
scripted_effect 1061_bought_weapon_effect = {
	scope:1061_first_weapon = { remove_variable ?= 1061_weapon_value }
	scope:1061_second_weapon = { remove_variable ?= 1061_weapon_value }
	scope:1061_third_weapon = { remove_variable ?= 1061_weapon_value }
	save_scope_as = laamp_decision_bought_weapon
	#Simulate shifting inventory
	1061_chance_to_flush_inventory_effect = {
		FIRST_ITEM = scope:1061_first_weapon
		SECOND_ITEM = scope:1061_second_weapon
		THIRD_ITEM = scope:1061_third_weapon
		VENDOR = scope:laamp_weaponsmith_craftsman
	}
	#Go back to craftsmen district
	hidden_effect = { 1061_return_to_craftsmen_effect = yes }
}

#The actual transfer
scripted_effect 1061_buy_item_effect = {
	#Weapon
	if = {
		limit = { has_variable = 1061_laamp_decision_weapon }
		root = {
			pay_short_term_gold = {
				target = scope:laamp_weaponsmith_craftsman
				gold = prev.var:1061_weapon_value #Is set via the 1041_set_item_value_effect on the artifact itself
			}
		}
	}
	#Armor
	if = {
		limit = { has_variable = 1063_laamp_decision_armor }
		root = {
			pay_short_term_gold = {
				target = scope:laamp_armorer_craftsman
				gold = prev.var:1063_armor_value
			}
		}
	}
	#Accessory
	if = {
		limit = { has_variable = 1065_laamp_decision_accessory }
		root = {
			pay_short_term_gold = {
				target = scope:laamp_jeweler_craftsman
				gold = prev.var:1065_accessory_value
			}
		}
	}
	set_owner = root
}


#Visit Weaponsmith
ep3_laamp_decision_event.1061 = {
	type = character_event
	title = ep3_laamp_decision_event.1061.t
	window = visit_settlement_window
	desc = {
		first_valid = {
			#We've returned to this scene, now what
			#RETURN: Generics
			random_valid = {
				triggered_desc = { 
					trigger = { 
						exists = scope:been_to_weaponsmith
						scope:weaponsmith_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1061.desc_returned_01
				}
				triggered_desc = { 
					trigger = { scope:weaponsmith_loc_tracker ?= 1 }
					desc = ep3_laamp_decision_event.1061.desc_returned_02
				}
			}
			#FIRST TIME: We've seen this weaponsmith before
			triggered_desc = {
				trigger = {
					exists = scope:laamp_recurring_weaponsmith_craftsman
					NOT = { exists = scope:been_to_weaponsmith }
				}
				desc = ep3_laamp_decision_event.1061.desc_reused_weaponsmith
			}
			#FIRST TIME:
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_weaponsmith }
				}
				desc = ep3_laamp_decision_event.1061.desc
			}	
		}
	}
	theme = stewardship
	override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_martial" }
	override_background = { reference = armory }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		animation = marshal_random_weapon
	}
	center_portrait = {
		character = root
		animation = thinking
	}
	right_portrait = {
		character = scope:laamp_weaponsmith_craftsman
		camera = camera_event_scheme_far_right
		animation = inspect_weapon
	}
	artifact = {
		target = scope:1061_first_weapon
		position = lower_left_portrait
	}
	artifact = {
		target = scope:1061_second_weapon
		position = lower_center_portrait
	}
	artifact = {
		target = scope:1061_third_weapon
		position = lower_right_portrait
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		location.province_owner = { save_scope_as = bg_override_char }
		#Can we _not_ repeat the loc?
		1025_set_and_check_scene_loc_tracker_scope_effect = { SCENE = weaponsmith }
		#Find our weapons
		if = {
			limit = {
				NOT = { exists = scope:1061_first_weapon }
			}
			scope:laamp_weaponsmith_craftsman = {
				#Have we created weapons recently, which we can pull?
				if = {
					limit = {
						any_character_artifact ?= { has_variable = 1061_laamp_decision_weapon }
					}
					every_character_artifact = {
						limit = { has_variable = 1061_laamp_decision_weapon }
						add_to_list = list_of_potential_weapons
					}
					random_in_list = {
						list = list_of_potential_weapons
						save_scope_as = 1061_first_weapon
					}
					random_in_list = {
						list = list_of_potential_weapons
						limit = {
							this != scope:1061_first_weapon
						}
						save_scope_as = 1061_second_weapon
					}
					random_in_list = {
						list = list_of_potential_weapons
						limit = {
							NOR = { 
								this = scope:1061_first_weapon
								this = scope:1061_second_weapon
							}
						}
						save_scope_as = 1061_third_weapon
					}
				}
				#If we don't have any old weapons; generate new ones!
				hidden_effect_new_object = { #HAZMAT SUIT OF ERROR SUPRESSION
					if = {
						limit = {
							NOT = { exists = scope:1061_first_weapon }
						}
						#Set rarity, maybe
						1041_chance_to_buff_item_rarity_effect = { VENDOR = scope:laamp_weaponsmith_craftsman }
						#Generate weapon
						create_artifact_weapon_effect = {
							OWNER = scope:laamp_weaponsmith_craftsman
							CREATOR = scope:laamp_weaponsmith_craftsman
							SET_WEAPON_TYPE = flag:no
						}
						#Finalization
						scope:newly_created_artifact ?= {
							1061_set_weapon_variable_effect = yes
							1061_buff_item_modifiers_effect = yes
							#Don't need no notification about this
							1020_suppress_artifact_notifications_effect = yes
							save_scope_as = 1061_first_weapon
						}
					}
					if = {
						limit = {
							NOT = { exists = scope:1061_second_weapon }
						}
						#Set rarity, maybe
						1041_chance_to_buff_item_rarity_effect = { VENDOR = scope:laamp_weaponsmith_craftsman }
						#Generate weapon
						create_artifact_weapon_effect = {
							OWNER = scope:laamp_weaponsmith_craftsman
							CREATOR = scope:laamp_weaponsmith_craftsman
							SET_WEAPON_TYPE = flag:no
						}
						#Finalization
						scope:newly_created_artifact ?= {
							1061_set_weapon_variable_effect = yes
							1061_buff_item_modifiers_effect = yes
							#Don't need no notification about this
							1020_suppress_artifact_notifications_effect = yes
							save_scope_as = 1061_second_weapon
						}
					}
					if = {
						limit = {
							NOT = { exists = scope:1061_third_weapon }
						}
						#Set rarity, maybe
						1041_chance_to_buff_item_rarity_effect = { VENDOR = scope:laamp_weaponsmith_craftsman }
						#Generate weapon
						create_artifact_weapon_effect = {
							OWNER = scope:laamp_weaponsmith_craftsman
							CREATOR = scope:laamp_weaponsmith_craftsman
							SET_WEAPON_TYPE = flag:no
						}
						#Finalization
						scope:newly_created_artifact ?= {
							1061_set_weapon_variable_effect = yes
							1061_buff_item_modifiers_effect = yes
							#Don't need no notification about this
							1020_suppress_artifact_notifications_effect = yes
							save_scope_as = 1061_third_weapon
						}
					}
					#Set the value of the weapons
					scope:1061_first_weapon = { 1041_set_item_value_effect = yes }
					scope:1061_second_weapon = { 1041_set_item_value_effect = yes }
					scope:1061_third_weapon = { 1041_set_item_value_effect = yes }
				}
			}
			#Remember the weaponsmith
			1010_remember_vendor_character_effect = { GUILD = weaponsmith CHARACTER = scope:laamp_weaponsmith_craftsman }
		}
	}
	#Weapon #1
	option = {
		name = ep3_laamp_decision_event.1061.a
		#Pay gold, transfer weapon
		scope:1061_first_weapon = { 1061_buy_item_effect = yes }
		#Then set correct variables and reroute us to the craftsmen
		1061_bought_weapon_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				short_term_gold < scope:1061_first_weapon.var:1061_weapon_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
		}
	}
	#Weapon #2
	option = {
		name = ep3_laamp_decision_event.1061.b
		#Pay gold, transfer weapon
		scope:1061_second_weapon = { 1061_buy_item_effect = yes }
		#Then set correct variables and reroute us to the craftsmen
		1061_bought_weapon_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				short_term_gold < scope:1061_second_weapon.var:1061_weapon_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
		}
	}
	#Weapon #3
	option = {
		name = ep3_laamp_decision_event.1061.c
		#Pay gold, transfer weapon
		scope:1061_third_weapon = { 1061_buy_item_effect = yes }
		#Then set correct variables and reroute us to the craftsmen
		1061_bought_weapon_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				short_term_gold < scope:1061_third_weapon.var:1061_weapon_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
		}
	}
	#I want to visit another craftsman
	option = {
		name = ep3_laamp_decision_event.1061.d
		#Sets variables and returns us to craftman screen
		1031_been_to_effect = { GUILD = weaponsmith }
		ai_chance = {
			base = 200
			modifier = {
				has_trait = greedy
				factor = 2
			}
		}
	}
	after = {
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:weaponsmith }
	}
}


#Identify the armor artifacts
scripted_effect 1063_set_armor_variable_effect = {
	set_variable = {
		name = 1063_laamp_decision_armor
		days = visit_settlement_cooldown_days
	}
}

#Set the correct variable to block off the Armorer option and remove the desc flavor variable
scripted_effect 1063_bought_armor_effect = {
	scope:1063_first_armor = { remove_variable ?= 1063_armor_value }
	scope:1063_second_armor = { remove_variable ?= 1063_armor_value }
	scope:1063_third_armor = { remove_variable ?= 1063_armor_value }
	save_scope_value_as = {
		name = laamp_decision_bought_armor
		value = flag:yes
	}
	#Simulate shifting inventory
	1061_chance_to_flush_inventory_effect = {
		FIRST_ITEM = scope:1063_first_armor
		SECOND_ITEM = scope:1063_second_armor
		THIRD_ITEM = scope:1063_third_armor
		VENDOR = scope:laamp_armorer_craftsman
	}
	#Go back to craftsmen district
	hidden_effect = { 1061_return_to_craftsmen_effect = yes }
}


#Visit Armorer
ep3_laamp_decision_event.1063 = {
	type = character_event
	title = ep3_laamp_decision_event.1063.t
	window = visit_settlement_window
	desc = {
		first_valid = {
			#We've returned to this scene, now what
			#RETURN: Generics
			random_valid = {
				triggered_desc = { 
					trigger = { 
						exists = scope:been_to_armorer
						scope:armorer_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1063.desc_returned_01
				}
				triggered_desc = { 
					trigger = { scope:armorer_loc_tracker ?= 1 }
					desc = ep3_laamp_decision_event.1063.desc_returned_02
				}
			}
			#FIRST TIME: We've seen this armorer before
			triggered_desc = {
				trigger = {
					exists = scope:laamp_recurring_armorer_craftsman
					NOT = { exists = scope:been_to_armorer }
				}
				desc = ep3_laamp_decision_event.1063.desc_reused_armorer
			}
			#FIRST TIME:
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_armorer }
				}
				desc = ep3_laamp_decision_event.1063.desc
			}	
		}
	}
	theme = stewardship
	override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_generic" }
	override_background = { reference = armory }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		animation = personality_content
	}
	center_portrait = {
		character = root
		animation = thinking
	}
	right_portrait = {
		character = scope:laamp_armorer_craftsman
		camera = camera_event_scheme_far_right
		animation = personality_bold
	}
	artifact = {
		target = scope:1063_first_armor
		position = lower_left_portrait
	}
	artifact = {
		target = scope:1063_second_armor
		position = lower_center_portrait
	}
	artifact = {
		target = scope:1063_third_armor
		position = lower_right_portrait
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		location.province_owner = { save_scope_as = bg_override_char }
		#Can we _not_ repeat the loc?
		1025_set_and_check_scene_loc_tracker_scope_effect = { SCENE = armorer }
		#Find our armors
		if = {
			limit = {
				NOT = { exists = scope:1063_first_armor }
			}
			scope:laamp_armorer_craftsman = {
				#Have we created armors recently, which we can pull?
				if = {
					limit = {
						any_character_artifact ?= { has_variable = 1063_laamp_decision_armor }
					}
					every_character_artifact = {
						limit = { has_variable = 1063_laamp_decision_armor }
						add_to_list = list_of_potential_armors
					}
					random_in_list = {
						list = list_of_potential_armors
						save_scope_as = 1063_first_armor
					}
					random_in_list = {
						list = list_of_potential_armors
						limit = {
							this != scope:1063_first_armor
						}
						save_scope_as = 1063_second_armor
					}
					random_in_list = {
						list = list_of_potential_armors
						limit = {
							NOR = { 
								this = scope:1063_first_armor
								this = scope:1063_second_armor
							}
						}
						save_scope_as = 1063_third_armor
					}
				}
				#If we don't have any old armors; generate new ones!
				hidden_effect_new_object = { #HAZMAT SUIT OF ERROR SUPRESSION
					if = {
						limit = {
							NOT = { exists = scope:1063_first_armor }
						}
						#Set rarity, maybe
						1041_chance_to_buff_item_rarity_effect = { VENDOR = scope:laamp_armorer_craftsman }
						#Generate armor
						create_artifact_armor_effect = {
							OWNER = scope:laamp_armorer_craftsman
							CREATOR = scope:laamp_armorer_craftsman
							SET_ARMOR_TYPE = flag:no
						}
						#Finalization
						scope:newly_created_artifact ?= {
							1063_set_armor_variable_effect = yes
							1061_buff_item_modifiers_effect = yes
							#Don't need no notification about this
							1020_suppress_artifact_notifications_effect = yes
							save_scope_as = 1063_first_armor
						}
					}
					if = {
						limit = {
							NOT = { exists = scope:1063_second_armor }
						}
						#Set rarity, maybe
						1041_chance_to_buff_item_rarity_effect = { VENDOR = scope:laamp_armorer_craftsman }
						#Generate armor
						create_artifact_armor_effect = {
							OWNER = scope:laamp_armorer_craftsman
							CREATOR = scope:laamp_armorer_craftsman
							SET_ARMOR_TYPE = flag:armor_type_lamellar
						}
						#Finalization
						scope:newly_created_artifact ?= {
							1063_set_armor_variable_effect = yes
							1061_buff_item_modifiers_effect = yes
							#Don't need no notification about this
							1020_suppress_artifact_notifications_effect = yes
							save_scope_as = 1063_second_armor
						}
					}
					if = {
						limit = {
							NOT = { exists = scope:1063_third_armor }
						}
						#Set rarity, maybe
						1041_chance_to_buff_item_rarity_effect = { VENDOR = scope:laamp_armorer_craftsman }
						#Generate armor
						create_artifact_armor_effect = {
							OWNER = scope:laamp_armorer_craftsman
							CREATOR = scope:laamp_armorer_craftsman
							SET_ARMOR_TYPE = flag:armor_type_scale
						}
						#Finalization
						scope:newly_created_artifact ?= {
							1063_set_armor_variable_effect = yes
							1061_buff_item_modifiers_effect = yes
							#Don't need no notification about this
							1020_suppress_artifact_notifications_effect = yes
							save_scope_as = 1063_third_armor
						}
					}
					#Set the value of the armors
					scope:1063_first_armor = { 1041_set_item_value_effect = yes }
					scope:1063_second_armor = { 1041_set_item_value_effect = yes }
					scope:1063_third_armor = { 1041_set_item_value_effect = yes }
				}
			}
			#Remember the armorer
			1010_remember_vendor_character_effect = { GUILD = armorer CHARACTER = scope:laamp_armorer_craftsman }
		}
	}
	#Armor #1
	option = {
		name = ep3_laamp_decision_event.1063.a
		#Pay gold, transfer armor
		scope:1063_first_armor = { 1061_buy_item_effect = yes }
		#Then set correct variables and reroute us to the craftsmen
		1063_bought_armor_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				short_term_gold < scope:1063_first_armor.var:1063_armor_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
		}
	}
	#Armor #2
	option = {
		name = ep3_laamp_decision_event.1063.b
		#Pay gold, transfer armor
		scope:1063_second_armor = { 1061_buy_item_effect = yes }
		#Then set correct variables and reroute us to the craftsmen
		1063_bought_armor_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				short_term_gold < scope:1063_second_armor.var:1063_armor_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
		}
	}
	#Armor #3
	option = {
		name = ep3_laamp_decision_event.1063.c
		#Pay gold, transfer armor
		scope:1063_third_armor = { 1061_buy_item_effect = yes }
		#Then set correct variables and reroute us to the craftsmen
		1063_bought_armor_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				short_term_gold < scope:1063_third_armor.var:1063_armor_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
		}
	}
	#TRIGGERED OPTION: Attempt to recruit the armorer
	option = {
		name = ep3_laamp_decision_event.1063.d
		trigger = { 
			custom_description = {
				text = not_have_armorer_building
				can_employ_court_position_type = armorer_camp_officer
			}
		}
		reason = unlocked_armorer
		pay_short_term_gold = {
			target = scope:laamp_armorer_craftsman
			gold = minor_gold_value
		}
		hidden_effect = {
			reverse_add_opinion = {
				target = scope:laamp_armorer_craftsman
				modifier = recruited_me_opinion
				opinion = 30
			}
		}
		add_courtier = scope:laamp_armorer_craftsman
		#The actual effect happens in after
		show_as_tooltip = {
			camp_officer_grant_effect = {
				EMPLOYER = root
				POS = armorer
				CANDIDATE = scope:laamp_armorer_craftsman
			}
		}
		#Sets variables and returns us to craftman screen
		save_scope_value_as = {
			name = laamp_decision_bought_armor
			value = flag:no
		}
		#Go back to craftsmen district
		hidden_effect = { 1061_return_to_craftsmen_effect = yes }
		ai_chance = {
			base = 100
			modifier = {
				short_term_gold < minor_gold_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
			modifier = {
				employs_court_position = armorer_camp_officer
				factor = 0
			}
		}
	}
	#I want to visit another craftsman
	option = {
		name = ep3_laamp_decision_event.1063.e
		#Sets variables and returns us to craftman screen
		1031_been_to_effect = { GUILD = armorer }
		ai_chance = {
			base = 200
			modifier = {
				has_trait = greedy
				factor = 2
			}
		}
	}
	after = {
		if = {
			limit = { scope:laamp_decision_bought_armor ?= flag:no }
			#Appoint them
			if = {
				limit = {
					can_appoint_char_to_court_position = {
						CHAR = scope:laamp_armorer_craftsman
						COURT_POS = armorer_camp_officer
					}
				}
				camp_officer_grant_effect = {
					EMPLOYER = root
					POS = armorer
					CANDIDATE = scope:laamp_armorer_craftsman
				}
			}
		}
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:armorer }
	}
}


#Identify the accessory artifacts
scripted_effect 1065_set_accessory_variable_effect = {
	set_variable = {
		name = 1065_laamp_decision_accessory
		days = visit_settlement_cooldown_days
	}
}

#Set the correct variable to block off the Jeweler option and remove the desc flavor variable
scripted_effect 1065_bought_accessory_effect = {
	scope:1065_first_accessory = { remove_variable ?= 1065_accessory_value }
	scope:1065_second_accessory = { remove_variable ?= 1065_accessory_value }
	scope:1065_third_accessory = { remove_variable ?= 1065_accessory_value }
	save_scope_as = laamp_decision_bought_accessory
	#Simulate shifting inventory
	1061_chance_to_flush_inventory_effect = {
		FIRST_ITEM = scope:1065_first_accessory
		SECOND_ITEM = scope:1065_second_accessory
		THIRD_ITEM = scope:1065_third_accessory
		VENDOR = scope:laamp_jeweler_craftsman
	}
	#Go back to craftsmen district
	hidden_effect = { 1061_return_to_craftsmen_effect = yes }
}


#Visit Jeweler
ep3_laamp_decision_event.1065 = {
	type = character_event
	title = ep3_laamp_decision_event.1065.t
	window = visit_settlement_window
	desc = {
		first_valid = {
			#We've returned to this scene, now what
			#RETURN: Generics
			random_valid = {
				triggered_desc = { 
					trigger = {
						exists = scope:been_to_jeweler
						scope:jeweler_loc_tracker ?= 0 
					}
					desc = ep3_laamp_decision_event.1065.desc_returned_01
				}
				triggered_desc = { 
					trigger = { scope:jeweler_loc_tracker ?= 1 }
					desc = ep3_laamp_decision_event.1065.desc_returned_02
				}
			}
			#FIRST TIME: We've seen this jeweler before
			triggered_desc = {
				trigger = {
					exists = scope:laamp_recurring_jeweler_craftsman
					NOT = { exists = scope:been_to_jeweler }
				}
				desc = ep3_laamp_decision_event.1065.desc_reused_jeweler
			}
			#FIRST TIME:
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_jeweler }
				}
				desc = ep3_laamp_decision_event.1065.desc
			}	
		}
	}
	theme = stewardship
	override_background = { reference = physicians_study }
	left_portrait = {
		trigger = { exists = scope:visiting_partner }
		character = scope:visiting_partner
		#It kinda makes sense, doesn't it?
		triggered_animation = {
			trigger = {
				exists = scope:been_to_jeweler
				scope:jeweler_loc_tracker ?= 0
			}
			animation = interested
		}
		animation = war_over_tie
	}
	center_portrait = {
		character = root
		#It kinda makes sense, doesn't it?
		triggered_animation = {
			trigger = {
				exists = scope:been_to_jeweler
				scope:jeweler_loc_tracker ?= 0
			}
			animation = disbelief
		}
		animation = thinking
	}
	right_portrait = {
		character = scope:laamp_jeweler_craftsman
		camera = camera_event_scheme_vs_center_look_left
		#It kinda makes sense, doesn't it?
		triggered_animation = {
			trigger = {
				exists = scope:been_to_jeweler
				scope:jeweler_loc_tracker ?= 0
			}
			animation = paranoia
		}
		triggered_animation = {
			trigger = { scope:jeweler_loc_tracker ?= 1 }
			animation = writing
		}
		animation = chess_cocky
	}
	artifact = {
		target = scope:1065_first_accessory
		position = lower_left_portrait
	}
	artifact = {
		target = scope:1065_second_accessory
		position = lower_center_portrait
	}
	artifact = {
		target = scope:1065_third_accessory
		position = lower_right_portrait
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		location.province_owner = { save_scope_as = bg_override_char }
		#Can we _not_ repeat the loc?
		1025_set_and_check_scene_loc_tracker_scope_effect = { SCENE = jeweler }
		#Find our accessories
		if = {
			limit = {
				NOT = { exists = scope:1065_first_accessory }
			}
			scope:laamp_jeweler_craftsman = {
				#Have we created accessories recently, which we can pull?
				if = {
					limit = {
						any_character_artifact ?= { has_variable = 1065_laamp_decision_accessory }
					}
					every_character_artifact = {
						limit = { has_variable = 1065_laamp_decision_accessory }
						add_to_list = list_of_potential_accessories
					}
					random_in_list = {
						list = list_of_potential_accessories
						save_scope_as = 1065_first_accessory
					}
					random_in_list = {
						list = list_of_potential_accessories
						limit = {
							this != scope:1065_first_accessory
						}
						save_scope_as = 1065_second_accessory
					}
					random_in_list = {
						list = list_of_potential_accessories
						limit = {
							NOR = { 
								this = scope:1065_first_accessory
								this = scope:1065_second_accessory
							}
						}
						save_scope_as = 1065_third_accessory
					}
				}
				#If we don't have any old accessories; generate new ones!
				hidden_effect_new_object = { #HAZMAT SUIT OF ERROR SUPRESSION
					if = {
						limit = {
							NOT = { exists = scope:1065_first_accessory }
						}
						#Set rarity, maybe
						1041_chance_to_buff_item_rarity_effect = { VENDOR = scope:laamp_armorer_craftsman }
						#Generate accessory
						random_list = {
							50 = {
								create_artifact_brooch_effect = {
									OWNER = scope:laamp_jeweler_craftsman
									SMITH = scope:laamp_jeweler_craftsman
								}
							}
							50 = {
							 	create_artifact_ring_effect = {
									OWNER = scope:laamp_jeweler_craftsman
									SMITH = scope:laamp_jeweler_craftsman
								}
							}
							50 = {
								create_artifact_necklace_effect = {
									OWNER = scope:laamp_jeweler_craftsman
									SMITH = scope:laamp_jeweler_craftsman
								}
							}
						}
					 	#Finalization
						scope:newly_created_artifact ?= {
							1065_set_accessory_variable_effect = yes
							1061_buff_item_modifiers_effect = yes
							#Don't need no notification about this
							1020_suppress_artifact_notifications_effect = yes
							save_scope_as = 1065_first_accessory
						}
					}
					if = {
						limit = {
							NOT = { exists = scope:1065_second_accessory }
						}
						#Set rarity, maybe
						1041_chance_to_buff_item_rarity_effect = { VENDOR = scope:laamp_armorer_craftsman }
						#Generate accessory
						random_list = {
							50 = {
								create_artifact_crown_effect = {
									OWNER = scope:laamp_jeweler_craftsman
									SMITH = scope:laamp_jeweler_craftsman
								}
							}
							50 = {
								create_artifact_regalia_effect = {
									OWNER = scope:laamp_jeweler_craftsman
									SMITH = scope:laamp_jeweler_craftsman
								}
							}
						}
						#Finalization
						scope:newly_created_artifact ?= {
							1065_set_accessory_variable_effect = yes
							1061_buff_item_modifiers_effect = yes
							#Don't need no notification about this
							1020_suppress_artifact_notifications_effect = yes
							save_scope_as = 1065_second_accessory
						}
					}
					if = {
						limit = {
							NOT = { exists = scope:1065_third_accessory }
						}
						#Set rarity, maybe
						1041_chance_to_buff_item_rarity_effect = { VENDOR = scope:laamp_armorer_craftsman }
						#Generate accessory
						random_list = {
							#Don't need two rings etc
							50 = {
								trigger = {
									NOT = { 
										scope:1065_first_accessory = { artifact_type = brooch }
									}
								}
								create_artifact_brooch_effect = {
									OWNER = scope:laamp_jeweler_craftsman
									SMITH = scope:laamp_jeweler_craftsman
								}
							}
							50 = {
								trigger = {
									NOT = { 
										scope:1065_first_accessory = { artifact_type = ring }
									}
								}
							 	create_artifact_ring_effect = {
									OWNER = scope:laamp_jeweler_craftsman
									SMITH = scope:laamp_jeweler_craftsman
								}
							}
							50 = {
								trigger = {
									NOT = { 
										scope:1065_first_accessory = { artifact_type = necklace }
									}
								}
								create_artifact_necklace_effect = {
									OWNER = scope:laamp_jeweler_craftsman
									SMITH = scope:laamp_jeweler_craftsman
								}
							}
						}
						#Finalization
						scope:newly_created_artifact ?= {
							1065_set_accessory_variable_effect = yes
							1061_buff_item_modifiers_effect = yes
							#Don't need no notification about this
							1020_suppress_artifact_notifications_effect = yes
							save_scope_as = 1065_third_accessory
						}
					}
					#Set the value of the accessories
					scope:1065_first_accessory = { 1041_set_item_value_effect = yes }
					scope:1065_second_accessory = { 1041_set_item_value_effect = yes }
					scope:1065_third_accessory = { 1041_set_item_value_effect = yes }
				}
				#Remember the jeweler
				1010_remember_vendor_character_effect = { GUILD = jeweler CHARACTER = scope:laamp_jeweler_craftsman }
			}
		}
	}
	#Accessory #1
	option = {
		name = ep3_laamp_decision_event.1065.a
		#Pay gold, transfer Accessory
		scope:1065_first_accessory = { 1061_buy_item_effect = yes }
		#Then set correct variables and reroute us to the craftsmen
		1065_bought_accessory_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				short_term_gold < scope:1065_first_accessory.var:1065_accessory_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
		}
	}
	#Accessory #2
	option = {
		name = ep3_laamp_decision_event.1065.b
		#Pay gold, transfer Accessory
		scope:1065_second_accessory = { 1061_buy_item_effect = yes }
		#Then set correct variables and reroute us to the craftsmen
		1065_bought_accessory_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				short_term_gold < scope:1065_second_accessory.var:1065_accessory_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
		}
	}
	#Accessory #3
	option = {
		name = ep3_laamp_decision_event.1065.c
		#Pay gold, transfer Accessory
		scope:1065_third_accessory = { 1061_buy_item_effect = yes }
		#Then set correct variables and reroute us to the craftsmen
		1065_bought_accessory_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				short_term_gold < scope:1065_third_accessory.var:1065_accessory_value
				short_term_gold < laamp_ai_spending_pants_value
				factor = 0
			}
		}
	}
	#I want to visit another craftsman
	option = {
		name = ep3_laamp_decision_event.1065.d
		#Sets variables and returns us to craftman screen
		1031_been_to_effect = { GUILD = jeweler }
		ai_chance = {
			base = 200
			modifier = {
				has_trait = greedy
				factor = 2
			}
		}
	}
	after = {
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:jeweler }
	}
}


#Hire the Quartermaster, show/set the effects and variables 
scripted_effect 1067_hire_quartermaster_effect = {
	hidden_effect = {
		reverse_add_opinion = {
			target = scope:laamp_quartermaster_recruit
			modifier = recruited_me_opinion
			opinion = 30
		}
	}
	add_courtier = scope:laamp_quartermaster_recruit
	#The actual effect happens in after
	show_as_tooltip = {
		camp_officer_grant_effect = {
			EMPLOYER = root
			POS = quartermaster
			CANDIDATE = scope:laamp_quartermaster_recruit
		}
	}
	#This 'finished' is different since it changes between flag:yes and flag:no
	save_scope_value_as = {
		name = laamp_decision_recruited_quartermaster
		value = flag:yes
	}
	#Go back to craftsmen district
	hidden_effect = { 1061_return_to_craftsmen_effect = yes }
}


#Visit Quartermaster
ep3_laamp_decision_event.1067 = {
	type = character_event
	title = ep3_laamp_decision_event.1067.t
	window = visit_settlement_window
	desc = {
		first_valid = {
			#We've returned to this scene, now what
			#RETURN:
			random_valid = {
				triggered_desc = { 
					trigger = { 
						exists = scope:been_to_quartermaster
						scope:quartermaster_loc_tracker ?= 0
					}
					desc = ep3_laamp_decision_event.1067.desc_returned_01
				}
				triggered_desc = { 
					trigger = { scope:quartermaster_loc_tracker ?= 1 }
					desc = ep3_laamp_decision_event.1067.desc_returned_02
				}
				triggered_desc = { 
					trigger = { scope:quartermaster_loc_tracker ?= 2 }
					desc = ep3_laamp_decision_event.1067.desc_returned_03
				}
			}
			#FIRST TIME: We've seen this quartermaster before
			triggered_desc = {
				trigger = {
					exists = scope:laamp_recurring_quartermaster
					NOT = { exists = scope:been_to_quartermaster }
				}
				desc = ep3_laamp_decision_event.1067.desc_reused_quartermaster
			}
			#FIRST TIME:
			triggered_desc = {
				trigger = {
					NOT = { exists = scope:been_to_quartermaster }
				}
				desc = ep3_laamp_decision_event.1067.desc
			}	
		}
	}
	theme = landless_adventurer
	override_sound = { reference = "event:/MUSIC/Cues/Events/Positive/mx_cue_postive_effect" }
	override_background = { reference = tavern }
	left_portrait = {
		character = root
		animation = scheme
	}
	right_portrait = {
		character = scope:laamp_quartermaster_recruit
		animation = drink_goblet
	}
	immediate = {
		#To prevent the character, for whatever reason, managing to not have the variable be removed when exiting VS
		temporarily_lock_visit_settlement_effect = yes
		#Run this once: Re-save the portrait so the Quartermaster is not the 1060_third_character (since they narratively moved to the tavern)
		if = {
			limit = { scope:1060_third_character = scope:laamp_quartermaster_recruit }
			#Overwrite the portrait with ROOT to disable it
			save_scope_as = 1060_third_character
			#Remember the Quartermaster
			1010_remember_vendor_character_effect = { GUILD = quartermaster CHARACTER = scope:laamp_quartermaster_recruit }
		}
		#Can we _not_ repeat the loc?
		1025_set_and_check_hub_loc_tracker_scope_effect = { HUB = quartermaster } #This is only a hub because it has 3 random locs
	}
	#Pay up
	option = {
		name = ep3_laamp_decision_event.1067.a
		pay_short_term_gold = {
			target = scope:laamp_quartermaster_recruit
			gold = minor_gold_value
		}
		#Wrap effect to hire 'em and also set up variables
		1067_hire_quartermaster_effect = yes
		ai_chance = {
			base = 100
			modifier = {
				any_courtier = { count >= many_followers_value }
				factor = 0
			}
		}
	}
	#I have a sizeable camp for you to manage
	option = {
		name = ep3_laamp_decision_event.1067.b
		trigger = {
			custom_tooltip = {
				text = not_enough_followers.tt
				any_courtier = { count >= many_followers_value }
			}
		}
		reason = many_followers
		#_Oh noes_
		show_as_unavailable = { always = yes }
		#Wrap effect to hire 'em and also set up variables
		1067_hire_quartermaster_effect = yes
		ai_chance = {
			base = 1000 #Just do it
		}
	}
	#Intrigue duel
	option = {
		name = ep3_laamp_decision_event.1067.c
		duel = {
			skill = intrigue
			value = average_skill_rating
			#Success: Hire 'em up
			50 = {		
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				desc = ep3_laamp_decision_event.1067.c.success
				send_interface_toast = {
					title = ep3_laamp_decision_event.1067.c.success
					left_icon = root
					right_icon = scope:laamp_quartermaster_recruit
					#Yippee!
					1067_hire_quartermaster_effect = yes
				}
			}
			#Failure: Bye, now
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -20
				}	
				desc = ep3_laamp_decision_event.1067.c.failure
				send_interface_toast = {
					type = event_toast_text_bad
					title = ep3_laamp_decision_event.1067.c.failure
					desc = ep3_laamp_decision_event.1067.c.failure.tt
					left_icon = root
					right_icon = scope:laamp_quartermaster_recruit
					#Oh well
					custom_tooltip = ep3_laamp_decision_event.1067.c.failure.tt
					#This 'finished' is different since it changes between flag:yes and flag:no
					save_scope_value_as = {
						name = laamp_decision_recruited_quartermaster
						value = flag:no
					}
					1061_return_to_craftsmen_effect = yes
				}
			}
		}
		ai_chance = {
			base = 100
			modifier = {
				any_courtier = { count >= many_followers_value }
				factor = 0
			}
		}
	}
	#Let's not
	option = {
		name = ep3_laamp_decision_event.1067.d
		#Sets variables and returns us to craftman screen
		1031_been_to_effect = { GUILD = quartermaster }
		ai_chance = {
			base = 100
			modifier = {
				any_courtier = { count >= many_followers_value }
				factor = 0
			}
		}
	}
	after = {
		if = {
			limit = { scope:laamp_decision_recruited_quartermaster ?= flag:yes }
			#Appoint them
			if = {
				limit = {
					can_appoint_char_to_court_position = {
						CHAR = scope:laamp_quartermaster_recruit
						COURT_POS = quartermaster_camp_officer
					}
				}
				camp_officer_grant_effect = {
					EMPLOYER = root
					POS = quartermaster
					CANDIDATE = scope:laamp_quartermaster_recruit
				}
			}
		}
		#What was our last location
		1000_update_last_location_effect = { LOCATION_FLAG = flag:quartermaster }
	}
}


######################################################################
# END
######################################################################


#Seasoned Visitor Decision

scripted_effect 1100_book_creation_effect = {
	if = {
		limit = {
			has_variable = poi_visited
		}
		if = {
			limit = {
				artifacts_use_indian_books_trigger = yes
			}
			create_artifact = {
				name = marco_polo_book_title
				type = journal
				template = marco_polo_book
				creator = root
				description = marco_polo_book_desc 
				visuals = indian_book
				save_scope_as = newly_created_artifact
				modifier = artifact_monthly_prestige_1_modifier
				wealth = 50
				quality = 10
			}
		}
		else = {
			create_artifact = {
				name = marco_polo_book_title
				type = journal
				template = marco_polo_book
				creator = root
				description = marco_polo_book_desc 
				visuals = book
				save_scope_as = newly_created_artifact
				modifier = artifact_monthly_prestige_1_modifier
				wealth = 50
				quality = 10
			}
		}
		hidden_effect = {
			if = {
				limit = {
					var:poi_visited >= 60
				}
				scope:newly_created_artifact = {
					add_artifact_modifier = artifact_monthly_lifestyle_xp_4_modifier
					set_artifact_rarity = illustrious
				}
			}
			else_if = {
				limit = {
					var:poi_visited >= 48
				}
				scope:newly_created_artifact = {
					add_artifact_modifier = artifact_monthly_lifestyle_xp_3_modifier
					set_artifact_rarity = famed
				}
			}
			else_if = {
				limit = {
					var:poi_visited >= 36
				}
				scope:newly_created_artifact = {
					add_artifact_modifier = artifact_monthly_lifestyle_xp_2_modifier
					set_artifact_rarity = masterwork
				}
			}
			else_if = {
				limit = {
					var:poi_visited >= 24
				}
				scope:newly_created_artifact = {
					add_artifact_modifier = artifact_monthly_lifestyle_xp_1_modifier
					set_artifact_rarity = common
				}
			}
	
			scope:newly_created_artifact = {
				remove_artifact_modifier = artifact_monthly_prestige_1_modifier
			}
		}
	}
}

scripted_effect 1100_lifestyle_perk_effect = {
	if = {
		limit = {
			has_variable = poi_visited
		}
		if = {
			limit = {
				var:poi_visited >= 56
			}
			add_relevant_lifestyle_perk_point_effect = { NUMBER = 5 }
		}
		else_if = {
			limit = {
				var:poi_visited >= 48
			}
			add_relevant_lifestyle_perk_point_effect = { NUMBER = 4 }
		}
		else_if = {
			limit = {
				var:poi_visited >= 40
			}
			add_relevant_lifestyle_perk_point_effect = { NUMBER = 3 }
		}
		else_if = {
			limit = {
				var:poi_visited >= 32
			}
			add_relevant_lifestyle_perk_point_effect = { NUMBER = 2 }
		}
		else_if = {
			limit = {
				var:poi_visited >= 24
			}
			add_relevant_lifestyle_perk_point_effect = { NUMBER = 1 }
		}
	}
}

ep3_laamp_decision_event.1100 = {
	type = character_event
	title = ep3_laamp_decision_event.1100.t
	desc = ep3_laamp_decision_event.1100.desc
	window = visit_settlement_window
	theme = travel
	override_background = { reference = relaxing_room }

	left_portrait = {
		character = root
		animation = writing
	}

	immediate = {
		add_character_flag = had_seasoned_visitor_decision
	}

	option = { #I will take it to my grave
		name = ep3_laamp_decision_event.1100.a
		flavor = ep3_laamp_decision_event.1100.a.flavor
		custom_tooltip = ep3_laamp_decision_event.1100.a.desc
		1100_lifestyle_perk_effect = yes

		ai_chance = {
			base = 50
		}
	}

	option = { #I will write it down for future generations
		name = ep3_laamp_decision_event.1100.b
		flavor = ep3_laamp_decision_event.1100.b.flavor
		1100_book_creation_effect = yes
		custom_tooltip = ep3_laamp_decision_event.1100.b.desc

		ai_chance = {
			base = 100
		}
	}

	option = { #Postpone the decision
		name = ep3_laamp_decision_event.1100.c
		flavor = ep3_laamp_decision_event.1100.c.flavor
		custom_tooltip = ep3_laamp_decision_event.1100.c.desc

		remove_character_flag = had_seasoned_visitor_decision

		hidden_effect = {
			add_prestige_no_experience = 1500
			add_gold = 500
		}

		ai_chance = {
			base = 0
		}
	}
}

#Zealous Missionary Decision

ep3_laamp_decision_event.1101 = {
	type = character_event
	title = ep3_laamp_decision_event.1101.t
	desc = ep3_laamp_decision_event.1101.desc
	window = visit_settlement_window
	theme = faith
	override_background = { reference = holy_site_generic }

	left_portrait = {
		character = root
		animation = prayer
	}

	override_effect_2d = {
		reference = legend_glow
	}

	immediate = {
		location = {
			save_scope_as = holy_site_location
		}
		set_variable = {
			name = holy_site_ascension
			value = scope:holy_site_location
		}
	}

	option = {
		name = ep3_laamp_decision_event.1101.a
		custom_tooltip = ep3_laamp_decision_event.1101.a.desc
	}
}

ep3_laamp_decision_event.1102 = {
	type = character_event
	title = ep3_laamp_decision_event.1102.t
	desc = ep3_laamp_decision_event.1102.desc
	window = visit_settlement_window
	theme = faith
	override_background = { reference = terrain }

	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				learning >= 12
			}
			animation = prayer
		}
		animation = personality_zealous
	}

	immediate = {
		add_character_flag = zealous_missionary_start
	}

	trigger = {
		has_variable = holy_site_ascension
	}

	option = {
		name = ep3_laamp_decision_event.1102.a
		give_nickname = nick_the_missionary
		custom_tooltip = ep3_laamp_decision_event.1102.a.desc
		add_character_flag = {
			flag = zealous_missionary_timer
			years = 10
		}
		trigger_event = ep3_laamp_decision_event.1103
		trigger_event = {
			id = ep3_laamp_decision_event.1104
			months = 122 #2 months after the timer runs out
		}
		set_variable = {
			name = num_counties_converted
			value = 0
		}

		ai_chance = {
			base = 100
		}
	}

	option = {
		name = ep3_laamp_decision_event.1102.b
		custom_tooltip = ep3_laamp_decision_event.1102.b.desc
		remove_character_flag = zealous_missionary_start
		ai_chance = {
			base = 0
		}
	}
	
}
ep3_laamp_decision_event.1103 = {
	type = character_event
	title = ep3_laamp_decision_event.1103.t
	window = visit_settlement_window
	desc = {
		random_valid = {
			triggered_desc = {
				trigger = { scope:current_location.county.faith = scope:current_location.county.holder.faith }
				desc = ep3_laamp_decision_event.1103.desc
			}
			desc = ep3_laamp_decision_event.1103.desc.alternative
		}
	}
	theme = faith
	override_background = { reference = terrain }

	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				martial >= 12
			}
			animation = inspect_weapon
		}
		triggered_animation = {
			trigger = {
				learning >= 12
			}
			animation = prayer
		}
		triggered_animation = {
			trigger = {
				always = yes
			}
			animation = personality_zealous
		}
	}

	immediate = {
		location = {
			save_scope_as = current_location
		}
	}

	trigger = { #Double safeguard
		has_character_flag = zealous_missionary_timer
		government_has_flag = government_is_landless_adventurer
		location ?= {
			has_holding = yes
		}
		NOT = {
			location.faith = root.faith
			is_ai = yes
			any_player = {
				OR = {
					this = location.county.holder
					this = location.county.holder.top_liege
				}
			}
		}
	}

	option = { #pray very hard
		name = {
			text = {
				random_valid = {
					desc = ep3_laamp_decision_event.1103.a
					desc = ep3_laamp_decision_event.1103.a.alternative
				}
			}
		}
		custom_tooltip = ep3_laamp_decision_event.1103.difficulty.desc
		custom_tooltip = ep3_laamp_decision_event.1103.a.desc

		duel = {
			skills = { diplomacy learning }
			value = very_high_skill_rating
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				modifier = {
					add = {
						subtract = location.county.county_opinion
					}
				}
				modifier = {
					factor = 0.75
					location.county.faith.religion = root.religion
				}
				modifier = {
					factor = 0.75
					knows_language_of_culture = location.county.culture
				}
				send_interface_toast = {
					type = event_toast_effect_good
					title = ep3_laamp_decision_event.1103.a.success
					left_icon = root
					right_icon = location.county
					location.county = {
						set_county_faith = root.faith
					}
					ep3_hasan_advance_radicalism = yes
				}
			}
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -49
				}
				modifier = {
					add = location.county.development_level
				}
				send_interface_toast = {
					type = event_toast_effect_good
					title = ep3_laamp_decision_event.1103.a.failure
					left_icon = root
					right_icon = location.county
					add_stress = major_stress_gain
				}
			}
		}
		add_stress = miniscule_stress_gain
		add_piety = {
			value = 10
			multiply = location.county.development_level
			min = 20
		}

		reverse_add_opinion = {
			modifier = vengeful_opinion
			opinion = -75
			target = location.county.holder
		}

		ai_chance = {
			base = 25
			modifier = {
				add = root.learning
			}
		}
	}

	option = {
		trigger = {
			root.faith = {
				NOR = {
					has_doctrine = tenet_dharmic_pacifism
					has_doctrine = tenet_pacifism
				}
			}

		}
		name = {
			text = {
				random_valid = {
					desc = ep3_laamp_decision_event.1103.b
					desc = ep3_laamp_decision_event.1103.b.alternative
				}
			}
		}
		flavor = ep3_laamp_decision_event.1103.b.flavor
		custom_tooltip = ep3_laamp_decision_event.1103.difficulty.desc
		custom_tooltip = ep3_laamp_decision_event.1103.b.desc

		duel = {
			skills = { martial intrigue }
			value = high_skill_rating
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				modifier = {
					add = {
						value = root.number_of_knights
						multiply = 10
					}
				}
				modifier = {
					add = root.current_military_strength
				}
				modifier = {
					factor = 1.2
					root.faith = {
						has_doctrine = tenet_armed_pilgrimages
					}
				}
				send_interface_toast = {
					type = event_toast_effect_good
					title = ep3_laamp_decision_event.1103.a.success
					left_icon = root
					right_icon = location.county
					location.county = {
						set_county_faith = root.faith
					}
					ep3_hasan_advance_radicalism = yes
				}
			}
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -49
				}
				modifier = {
					add = location.county.development_level
				}
				modifier = {
					add = location.barony.building_max_garrison
				}
				send_interface_toast = {
					type = event_toast_effect_good
					title = ep3_laamp_decision_event.1103.a.failure
					left_icon = root
					right_icon = location.county
					increase_wounds_effect = { REASON = fight }
					random_courtier ?= {
						increase_wounds_effect = { REASON = fight }
					}
				}
			}
		}

		add_piety = 50
		reverse_add_opinion = {
			modifier = vengeful_opinion
			opinion = -75
			target = location.county.holder
		}


		ai_chance = {
			base = 50
			modifier = {
				add = {
					value = root.current_military_strength
					multiply = 0.1
				}
			}
			modifier = {
				add = {
					value = location.barony.building_max_garrison
					multiply = -0.1
				}
			}
			modifier = {
				add = root.martial
			}
		}
	}

	option = {
		name = {
			text = {
				random_valid = {
					desc = ep3_laamp_decision_event.1103.c
					desc = ep3_laamp_decision_event.1103.c.alternative
				}
			}
		}
		flavor = ep3_laamp_decision_event.1103.c.flavor

		custom_tooltip = ep3_laamp_decision_event.1103.c.desc

		add_stress = minor_stress_gain

		ai_chance = {
			base = 0
		}
	}

	after = {
		hidden_effect = {
			if = {
				limit = {
					location.county.faith ?= root.faith
					exists = var:num_counties_converted
				}
				change_variable = {
					name = num_counties_converted
					add = 1
				}
			}
		}
	}
}

ep3_laamp_decision_event.1104 = {
	type = character_event
	title = ep3_laamp_decision_event.1104.t
	window = visit_settlement_window
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = {
					exists = scope:success
				}
				desc = ep3_laamp_decision_event.1104.desc
			}
			triggered_desc = {
				trigger = {
					exists = scope:failure
				}	
				desc = ep3_laamp_decision_event.1104.desc.failure
			}
		}
	}
	theme = faith
	override_background = { reference = terrain }

	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				exists = scope:success
			}
			animation = happiness
		}
		triggered_animation = {
			trigger = {
				exists = scope:failure
			}
			animation = shame
		}
	}

	override_effect_2d = {
		trigger = {
			exists = scope:success
		}	
		reference = legend_glow
	}

	override_effect_2d = {
		trigger = {
			exists = scope:failure
		}
		reference = rain
	}

	trigger = {
		has_variable = zealous_missionary_start
		NOT = {
			has_variable = zealous_missionary_timer
		}
	}

	immediate = {
		if = {
			limit = {
				has_variable = num_counties_converted
				var:num_counties_converted >= 3
			}
			save_scope_as = success
		}
		else = {
			save_scope_as = failure
		}
	}

	option = {
		trigger = {
			exists = scope:success
		}
		name = ep3_laamp_decision_event.1104.a
		add_piety = omega_piety_gain
		add_trait = saint
	}

	option = {
		trigger = {
			exists = scope:failure
		}
		name = ep3_laamp_decision_event.1104.b

		add_stress = monumental_stress_gain
		add_piety_level = -5
		if = {
			limit = {
				has_nickname = nick_the_missionary
			}
			remove_nickname = yes
			give_nickname = nick_the_unworthy
		}
	}
	
}

ep3_laamp_decision_event.1110 = {
	type = character_event
	title = ep3_laamp_decision_event.1110.t
	window = visit_settlement_window
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { exists = scope:first_kill }
				desc = ep3_laamp_decision_event.1110.desc.has_kill
			}
			desc = ep3_laamp_decision_event.1110.desc.hasnt_kill
		}
		desc = ep3_laamp_decision_event.1110.desc.outro
	}

	theme = war

	left_portrait = {
		character = root
		animation = celebrate_sword
	}

	override_background = { reference = battlefield }

	override_effect_2d = {	
		reference = legend_glow
	}

	immediate = {
		ordered_killed_character = {
			order_by = days_since_death
			save_scope_as = first_kill
		}
	}

	option = {
		name = ep3_laamp_decision_event.1110.a
		flavor = ep3_laamp_decision_event.1110.a.flavor
		custom_tooltip = ep3_laamp_decision_event.1110.a.desc
		add_character_flag = had_laamp_conq_decision
		trigger_event = {
			id = conqueror.0001
			months = 4
		}
		spawn_army = {
			men_at_arms = {
				type = accolade_maa_vanguards
				stacks = 2
			}
			men_at_arms = {
				type = accolade_maa_lancers
				stacks = 2
			}
			men_at_arms = {
				type = accolade_maa_archers
				stacks = 4
			}
			inheritable = no
			uses_supply = no
			location = root.location
			name = event_troop_default_name
		}
		if = {
			limit = {
				exists = location.kingdom.holder
			}
			add_pressed_claim = location.kingdom
			start_war = {
				cb = ep3_laamp_adventurer_kingdom_invasion
				target = location.kingdom.holder
				claimant = root
				target_title = location.kingdom
				target_title = location.kingdom.title_capital_county
			}
		}
		else_if = {
			limit = {
				exists = location.duchy.holder
			}
			add_pressed_claim = location.duchy
			start_war = {
				cb = claim_cb
				target = location.duchy.holder
				claimant = root
				target_title = location.duchy
				target_title = location.duchy.title_capital_county
			}
		}
		else_if = {
			limit = {
				exists = location.county.holder
			}
			add_pressed_claim = location.county
			start_war = {
				cb = claim_cb
				target = location.county.holder
				claimant = root
				target_title = location.county
			}
		}
		if = {
			limit = { has_dlc_feature = legends }
			create_legend_seed = {
				type = heroic
				quality = famed
				chronicle = conqueror_chronicle
			}
		}
	}
}

ep3_laamp_decision_event.1120 = {
	type = character_event
	title = ep3_laamp_decision_event.1120.t
	window = visit_settlement_window
	desc = ep3_laamp_decision_event.1120.desc

	theme = intrigue

	left_portrait = {
		character = root
		animation = personality_dishonorable
	}

	override_background = { reference = alley_night }

	override_effect_2d = {	
		reference = fog
	}

	
	immediate = {
		become_bandit_king_decision_effect = yes
		set_variable = {
			name = maa_number
			value = 0
		}
	}

	option = {
		name = ep3_laamp_decision_event.1120.a
		flavor = ep3_laamp_decision_event.1120.a.flavor

		set_variable = { #error spam prevention
			name = maa_number
			value = 0
		}

		bandit_king_maa_spawn_effect = yes
	}
}

ep3_laamp_decision_event.1130 = { #begin city construction
	type = character_event
	title = ep3_laamp_decision_event.1130.t
	window = visit_settlement_window
	desc = ep3_laamp_decision_event.1130.desc

	theme = stewardship

	override_background = { reference = terrain }

	left_portrait = {
		character = root
		animation = survey
	}

	immediate = {
		location = {
			save_scope_as = city_location
		}
	}

	option = { #less go
		name = ep3_laamp_decision_event.1130.a
		custom_tooltip = ep3_laamp_decision_event.1130.a.desc
		add_character_flag = laamp_city_builder
		scope:city_location = {
			begin_create_holding = {
				type = castle_holding
			}
			set_variable = laamp_city_construction
		}

		trigger_event = {
			id = ep3_laamp_decision_event.1131
			months = 1 # Checked monthly in trigger_fail for event
		}
		trigger_event = {
			id = ep3_laamp_decision_event.1133
			months = { 4 6 }
		}

		ai_chance = {
			base = 10
		}
	}

	option = { #I'm a silly goose, nvm
		name = ep3_laamp_decision_event.1130.b
		add_gold = 400

		ai_chance = {
			base = 0
		}
	}
}

ep3_laamp_decision_event.1131 = { #city is finished, wat do
	type = character_event
	title = ep3_laamp_decision_event.1131.t
	desc = ep3_laamp_decision_event.1131.desc

	theme = stewardship

	override_background = { reference = alley_day }

	left_portrait = {
		character = root
		animation = happiness
	}

	trigger = {
		scope:city_location = {
			has_holding_type = castle_holding
		}
	}

	immediate = { #reward building spawn
		save_scope_value_as = {
			name = year_of_construction
			value = current_year
		}

		laamp_city_builder_construction_effect = {
			FLAG = mill
			BUILDING = watermills
		}

		laamp_city_builder_construction_effect = {
			FLAG = castle
			BUILDING = castle
		}

		laamp_city_builder_construction_effect = {
			FLAG = manor
			BUILDING = farm_estates
		}

		laamp_city_builder_construction_effect = {
			FLAG = guilds
			BUILDING = guild_halls
		}

		laamp_city_builder_construction_effect = {
			FLAG = prayer_hall
			BUILDING = monastic_schools
		}
	}

	on_trigger_fail = {
		if = {
			limit = {
				scope:city_location = { #somehow, the city is still being built
					has_ongoing_construction = yes
					NOT = {
						has_holding = yes
					}
				}
			}
			trigger_event = {
				id = ep3_laamp_decision_event.1131
				months = 1
			}
		}
	}

	option = { #well, actually imma get the whole county
		name = ep3_laamp_decision_event.1131.a

		add_pressed_claim = scope:city_location.county
		add_pressed_claim = scope:city_location.barony
		start_war = {
			cb = claim_cb
			target = scope:city_location.county.holder
			claimant = root
			target_title = scope:city_location.county
			target_title = scope:city_location.barony
		}

		ai_chance = {
			base = 0
		}
	}

	option = { #the city existence is a reward enough
		name = ep3_laamp_decision_event.1131.b
		add_prestige = 2000
		give_nickname = nick_the_city_builder
		custom_tooltip = ep3_laamp_decision_event.1131.b.desc
		trigger_event = {
			id = ep3_laamp_decision_event.1140
			months = { 1 1 }
		}
		remove_character_flag = laamp_city_builder

		ai_chance = {
			base = 10
		}
	}

	after = {
		remove_character_flag = laamp_city_builder_guilds
		remove_character_flag = laamp_city_builder_guilds_upgrade
		remove_character_flag = laamp_city_builder_castle
		remove_character_flag = laamp_city_builder_castle_upgrade
		remove_character_flag = laamp_city_builder_manor
		remove_character_flag = laamp_city_builder_manor_upgrade
		remove_character_flag = laamp_city_builder_prayer_hall
		remove_character_flag = laamp_city_builder_prayer_hall_upgrade
		remove_character_flag = laamp_city_builder_mill
		remove_character_flag = laamp_city_builder_mill_upgrade	
	}
	
}

ep3_laamp_decision_event.1133 = { #get a mill
	type = character_event
	title = ep3_laamp_decision_event.1133.t
	window = visit_settlement_window
	desc = ep3_laamp_decision_event.1133.desc

	theme = stewardship

	override_background = { reference = terrain }

	left_portrait = {
		character = root
		animation = survey
	}

	trigger = {
		scope:city_location = {
			has_ongoing_construction = yes
			NOT = {
				has_holding_type = castle_holding
			}
		}
		OR = {
			stewardship >= 18
			has_trait = architect
		}
	}

	on_trigger_fail = {
		trigger_event = {
			id = ep3_laamp_decision_event.1134
			months = { 4 6 }
		}
	}

	option = { #cool
		name = ep3_laamp_decision_event.1133.a
		add_character_flag = laamp_city_builder_mill
		show_as_tooltip = {
			scope:city_location = {
				add_building = watermills_01
			}
		}
		remove_short_term_gold = 80

		ai_chance = {
			base = 0
		}

	}

	option = { #go for it!
		name = ep3_laamp_decision_event.1133.b
		add_character_flag = laamp_city_builder_mill_upgrade
		show_as_tooltip = {
			scope:city_location = {
				add_building = watermills_03
			}
		}
		remove_short_term_gold = 200

		ai_chance = {
			base = 10
		}
	}

	option = { #nah
		name = ep3_laamp_decision_event.1133.c

		ai_chance = {
			base = 0
		}
	}

	after = {
		trigger_event = {
			id = ep3_laamp_decision_event.1134
			months = { 4 6 }
		}
	}
	
}

ep3_laamp_decision_event.1134 = { #get more settlers, main building upgrade
	type = character_event
	title = ep3_laamp_decision_event.1134.t
	window = visit_settlement_window
	desc = ep3_laamp_decision_event.1134.desc

	theme = stewardship

	override_background = { reference = terrain }

	left_portrait = {
		character = root
		animation = survey
	}

	trigger = {
		scope:city_location = {
			has_ongoing_construction = yes
			NOT = {
				has_holding_type = castle_holding
			}
		}
		OR = {
			piety_level >= 3
			prestige_level >= 3
		}
	}

	on_trigger_fail = {
		trigger_event = {
			id = ep3_laamp_decision_event.1135
			months = { 4 6 }
		}
	}

	option = { #cool
		name = ep3_laamp_decision_event.1134.a
		add_character_flag = laamp_city_builder_castle
		scope:city_location = {
			show_as_tooltip = { add_building = castle_02 }
		}
		remove_short_term_gold = 20
		if = {
			limit = {
				piety_level >= 3
			}
			add_piety = -300
		}
		else = {
			add_prestige = -300
		}

		ai_chance = {
			base = 0
		}

	}

	option = { #go for it!
		name = ep3_laamp_decision_event.1134.b
		add_character_flag = laamp_city_builder_castle_upgrade
		scope:city_location = {
			show_as_tooltip = { add_building = castle_03 }
		}
		remove_short_term_gold = 40
		if = {
			limit = {
				piety_level >= 3
			}
			add_piety = -500
		}
		else = {
			add_prestige = -500
		}

		ai_chance = {
			base = 10
		}
	}

	option = { #nah
		name = ep3_laamp_decision_event.1134.c

		ai_chance = {
			base = 0
		}
	}

	after = {
		trigger_event = {
			id = ep3_laamp_decision_event.1135
			months = { 4 6 }
		}
	}
	
}

ep3_laamp_decision_event.1135 = { #argue for more favorable land assigment from county ruler, get manor houses building
	type = character_event
	title = ep3_laamp_decision_event.1135.t
	window = visit_settlement_window
	desc = ep3_laamp_decision_event.1135.desc

	theme = stewardship

	override_background = { reference = terrain }

	left_portrait = {
		character = root
		animation = survey
	}

	right_portrait = {
		character = scope:city_location.county.holder
		animation = thinking
	}

	trigger = {
		scope:city_location = {
			has_ongoing_construction = yes
			NOT = {
				has_holding_type = castle_holding
			}
		}
		scope:city_location.county.holder = {
			reverse_opinion = {
					target = root
					value >= 40
				}
		}
		NOR = {
			scope:city_location = {
				terrain = desert
				terrain = desert_mountains
			}
		}
	}

	option = { #cool
		name = ep3_laamp_decision_event.1135.a
		add_character_flag = laamp_city_builder_manor
		show_as_tooltip = {
			scope:city_location = {
				add_building = farm_estates_01
			}
		}
		pay_short_term_gold = {
			target = scope:city_location.county.holder
			gold = 80
		}
		remove_short_term_gold = 60

		ai_chance = {
			base = 0
		}
	}

	option = { #go for it!
		name = ep3_laamp_decision_event.1135.b
		add_character_flag = laamp_city_builder_manor_upgrade
		show_as_tooltip = {
			scope:city_location = {
				add_building = farm_estates_03
			}
		}
		pay_short_term_gold = {
			target = scope:city_location.county.holder
			gold = 120
		}
		remove_short_term_gold = 220

		ai_chance = {
			base = 10
		}
	}

	option = { #nah
		name = ep3_laamp_decision_event.1135.c

		ai_chance = {
			base = 0
		}
	}
	
}

ep3_laamp_decision_event.1136 = { #utilize connections, get guildhall
	type = character_event
	title = ep3_laamp_decision_event.1136.t
	window = visit_settlement_window
	desc = ep3_laamp_decision_event.1136.desc

	orphan = yes

	theme = stewardship

	override_background = { reference = terrain }

	left_portrait = {
		character = root
		animation = survey
	}

	trigger = {
		scope:city_location = {
			has_ongoing_construction = yes
			NOT = {
				has_holding_type = castle_holding
			}
		}
		prestige_level >= 3
	}

	on_trigger_fail = {
		trigger_event = {
			id = ep3_laamp_decision_event.1137
			months = { 4 6 }
		}
	}

	option = { #cool
		name = ep3_laamp_decision_event.1136.a
		add_character_flag = laamp_city_builder_guilds
		show_as_tooltip = {
			scope:city_location = {
				add_building = guild_halls_01
			}
		}
		add_prestige = -400
		remove_short_term_gold = 120

		ai_chance = {
			base = 0
		}

	}

	option = { #go for it!
		name = ep3_laamp_decision_event.1136.b
		add_character_flag = laamp_city_builder_guilds_upgrade
		show_as_tooltip = {
			scope:city_location = {
				add_building = guild_halls_03
			}
		}
		add_prestige = -600
		remove_short_term_gold = 200

		ai_chance = {
			base = 10
		}
	}

	option = { #nah
		name = ep3_laamp_decision_event.1136.c

		ai_chance = {
			base = 0
		}
	}

	after = {
		trigger_event = {
			id = ep3_laamp_decision_event.1137
			months = { 4 6 }
		}
	}
	
}

ep3_laamp_decision_event.1137 = { #utilize connections, get prayer hall
	type = character_event
	title = ep3_laamp_decision_event.1137.t
	window = visit_settlement_window
	desc = ep3_laamp_decision_event.1137.desc

	theme = stewardship

	override_background = { reference = terrain }

	left_portrait = {
		character = root
		animation = survey
	}

	trigger = {
		scope:city_location = {
			has_ongoing_construction = yes
			NOT = {
				has_holding_type = castle_holding
			}
		}
		piety_level >= 3
	}

	option = { #cool
		name = ep3_laamp_decision_event.1137.a
		add_character_flag = laamp_city_builder_prayer_hall
		show_as_tooltip = {
			scope:city_location = {
				add_building = monastic_schools_01
			}
		}
		add_piety = -400
		remove_short_term_gold = 120

		ai_chance = {
			base = 0
		}

	}

	option = { #go for it!
		name = ep3_laamp_decision_event.1137.b
		add_character_flag = laamp_city_builder_prayer_hall_upgrade
		show_as_tooltip = {
			scope:city_location = {
				add_building = monastic_schools_03
			}
		}
		add_piety = -600
		remove_short_term_gold = 200

		ai_chance = {
			base = 10
		}
	}

	option = { #nah
		name = ep3_laamp_decision_event.1137.c

		ai_chance = {
			base = 0
		}
	}
	
}

ep3_laamp_decision_event.1140 = { #city pays dividend
	hidden = yes

	trigger = {
		has_government = landless_adventurer_government
		current_year <= laamp_city_construction_year_value
	}

	immediate = {
		send_interface_toast = {
			type = event_toast_effect_good
			title = ep3_laamp_decision_event.1140.toast
			left_icon = scope:city_location.barony
			add_gold = {
				value = 0
				add = {
					value = 4
					multiply = scope:city_location.combined_building_level
				}
				add = {
					value = 3
					multiply = scope:city_location.county.development_level
				}
				multiply = { # Slowly decrease over time, by 1% every year
					value = {
						value = laamp_city_construction_year_value
						subtract = current_year
						divide = 100
					}
				}
				min = 25
				max = 200
			}
		}
		primary_title.holder ?= {
			trigger_event = {
				id = ep3_laamp_decision_event.1140
				months = { 11 13 }
			}
		}
	}	
}

##################################################
# Butcher Animals
# by Ewan Cowhig Croft
# 1201 - 1210
##################################################

scripted_effect 1201_prune_dog_stories_effect = {
	remove_dog_story_modifiers_effect = yes
	random_owned_story = {
		type = story_cycle_pet_dog
		hidden_effect = { end_story = yes }
	}
}


#	Your camp eats its dogs.
ep3_laamp_decision_event.1201 = {
	type = character_event
	title = ep3_laamp_decision_event.1201.t
	desc = {
		desc = ep3_laamp_decision_event.1201.desc.intro
		first_valid = {
			# There's a whole kennels being eaten, including our dog.
			triggered_desc = {
				trigger = {
					exists = scope:kennels_gone
					has_character_modifier = dog_story_modifier
				}
				desc = ep3_laamp_decision_event.1201.desc.eaten.kennels.have_dog
			}
			# There's a whole kennels being eaten, but we lack a dog.
			triggered_desc = {
				trigger = { exists = scope:kennels_gone }
				desc = ep3_laamp_decision_event.1201.desc.eaten.kennels.no_dog
			}
			# There's one dog being eaten, and it's ours.
			triggered_desc = {
				trigger = {
					scope:dogs_killed = 1
					has_character_modifier = dog_story_modifier
				}
				desc = ep3_laamp_decision_event.1201.desc.eaten.one.have_dog
			}
			# There's one dog being eaten, and it's someone else's.
			triggered_desc = {
				trigger = { scope:dogs_killed = 1 }
				desc = ep3_laamp_decision_event.1201.desc.eaten.one.no_dog
			}
			# There's many dogs being eaten, one of them ours.
			triggered_desc = {
				trigger = {
					scope:dogs_killed >= 4
					has_character_modifier = dog_story_modifier
				}
				desc = ep3_laamp_decision_event.1201.desc.eaten.many.have_dog
			}
			# There's many dogs being eaten, none of them ours.
			triggered_desc = {
				trigger = { scope:dogs_killed >= 4 }
				desc = ep3_laamp_decision_event.1201.desc.eaten.many.no_dog
			}
			# There's a bare handful of dogs being eaten, one of them ours.
			triggered_desc = {
				trigger = {
					scope:dogs_killed <= 3
					has_character_modifier = dog_story_modifier
				}
				desc = ep3_laamp_decision_event.1201.desc.eaten.some.have_dog
			}
			# There's a bare handful of dogs being eaten, none of them ours.
			desc = ep3_laamp_decision_event.1201.desc.eaten.some.no_dog
		}
		desc = ep3_laamp_decision_event.1201.desc.outro
	}
	theme = laamp
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = { has_trait = callous }
			animation = dismissal
		}
		animation = stress
	}
	right_portrait = {
		character = scope:portrait_char
		animation = fear
	}

	immediate = {
		# Apply cooldown.
		add_character_flag = {
			flag = recently_ate_dogs
			years = butcher_animals_decision_regular_cooldown_value
		}
		# Register how many provisions we'll get.
		domicile = {
			change_provisions = {
				value = {
					value = 0
					root = {
						every_courtier = {
							limit = { has_character_modifier = dog_story_modifier }
							add = butcher_animals_decision_dog_provision_value
						}
						if = {
							limit = { has_character_modifier = dog_story_modifier }
							add = butcher_animals_decision_dog_provision_value
						}
					}
					if = {
						limit = { has_domicile_building = baggage_train_kennel }
						add = butcher_animals_decision_dog_building_provision_value
					}
				}
			}
		}
		# Sort our aesthetics.
		## How many dogs are we losing?
		save_scope_value_as = {
			name = dogs_killed
			value = {
				every_courtier = {
					limit = { has_character_modifier = dog_story_modifier }
					add = 1
				}
				if = {
					limit = { has_character_modifier = dog_story_modifier }
					add = 1
				}
			}
		}
		## Grab a portrait if possible.
		random_courtier = {
			limit = {
				NOT = { has_trait = callous }
				has_character_modifier = dog_story_modifier
			}
			weight = {
				modifier = {
					add = 1000
					OR = {
						is_close_family_of = root
						is_consort_of = root
						has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = root }
					}
				}
			}
			save_scope_as = portrait_char
		}
		# Aaaand remove our dogs.
		## We do this separately in various blocks for proper tooltipping & linking.
		every_courtier = {
			custom = ep3_laamp_decision_event.1201.tt.followers_with_dogs
			limit = {
				NOT = { has_trait = callous }
				has_character_modifier = dog_story_modifier
			}
			add_opinion = {
				target = root
				modifier = butcher_opinion
				opinion = -25
			}
		}
		every_courtier = {
			limit = { has_character_modifier = dog_story_modifier }
			custom_tooltip = {
				text = ep3_laamp_decision_event.1201.tt.dog_lost
				subject = this
			}
		}
		hidden_effect = {
			every_courtier = { 1201_prune_dog_stories_effect = yes }
		}
		# Liquidate the kennels.
		domicile = {
			if = {
				limit = { has_domicile_building = baggage_train_kennel }
				remove_domicile_building = baggage_train_kennel
				# Flag that this happened.
				save_scope_value_as = {
					name = kennels_gone
					value = yes
				}
			}
		}
	}

	# Non-callous.
	option = {
		name = {
			text = {
				first_valid = {
					triggered_desc = {
						trigger = { has_character_modifier = dog_story_modifier }
						desc = ep3_laamp_decision_event.1201.a.own_dog
					}
					desc = ep3_laamp_decision_event.1201.a
				}
			}
		}
		
		# We do stress first because it's more if you eat your own pets.
		if = {
			limit = { has_character_modifier = dog_story_modifier }
			# Goodbye, good boy.
			custom_tooltip = {
				text = ep3_laamp_decision_event.1201.tt.your_dog_lost
				1201_prune_dog_stories_effect = yes
			}
			stress_impact = {
				base = massive_stress_gain
				sadistic = minor_stress_impact_loss
				compassionate = minor_stress_impact_gain
			}
		}
		else = {
			stress_impact = {
				base = major_stress_gain
				sadistic = minor_stress_impact_loss
				compassionate = minor_stress_impact_gain
			}
		}

		# The AI only takes this if they have no other option.
		ai_chance = { base = 0 }
	}
	
	# Callous.
	option = {
		name = {
			text = {
				first_valid = {
					triggered_desc = {
						trigger = { has_character_modifier = dog_story_modifier }
						desc = ep3_laamp_decision_event.1201.b.own_dog
					}
					desc = ep3_laamp_decision_event.1201.b
				}
			}
		}
		trigger = { has_trait = callous }
		trait = callous

		# Eh, I can get another.
		if = {
			limit = { has_character_modifier = dog_story_modifier }
			custom_tooltip = {
				text = ep3_laamp_decision_event.1201.tt.your_dog_lost
				1201_prune_dog_stories_effect = yes
			}
		}

		stress_impact = { callous = massive_stress_impact_loss }
		# If the AI is callous, they should always take this.
		ai_chance = { base = 1000 }
	}
}

scripted_effect 1202_prune_cat_stories_effect = {
	remove_cat_story_modifiers_effect = yes
	random_owned_story = {
		type = story_cycle_pet_cat
		hidden_effect = { end_story = yes }
	}
}

#	Your camp eats its cats.
ep3_laamp_decision_event.1202 = {
	type = character_event
	title = ep3_laamp_decision_event.1202.t
	desc = {
		desc = ep3_laamp_decision_event.1202.desc.intro
		first_valid = {
			# There's one cat being eaten, and it's ours.
			triggered_desc = {
				trigger = {
					scope:cats_killed = 1
					has_character_modifier = cat_story_modifier
				}
				desc = ep3_laamp_decision_event.1202.desc.eaten.one.have_cat
			}
			# There's one cat being eaten, and it's someone else's.
			triggered_desc = {
				trigger = { scope:cats_killed = 1 }
				desc = ep3_laamp_decision_event.1202.desc.eaten.one.no_cat
			}
			# There's many cats being eaten, one of them ours.
			triggered_desc = {
				trigger = {
					scope:cats_killed >= 4
					has_character_modifier = cat_story_modifier
				}
				desc = ep3_laamp_decision_event.1202.desc.eaten.many.have_cat
			}
			# There's many cats being eaten, none of them ours.
			triggered_desc = {
				trigger = { scope:cats_killed >= 4 }
				desc = ep3_laamp_decision_event.1202.desc.eaten.many.no_cat
			}
			# There's a bare handful of cats being eaten, one of them ours.
			triggered_desc = {
				trigger = { has_character_modifier = cat_story_modifier }
				desc = ep3_laamp_decision_event.1202.desc.eaten.some.have_cat
			}
			# There's a bare handful of cats being eaten, none of them ours.
			desc = ep3_laamp_decision_event.1202.desc.eaten.some.no_cat
		}
		desc = ep3_laamp_decision_event.1202.desc.outro
	}
	theme = laamp
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = { has_trait = callous }
			animation = dismissal
		}
		animation = stress
	}
	right_portrait = {
		character = scope:portrait_char
		animation = fear
	}

	immediate = {
		# Apply cooldown.
		add_character_flag = {
			flag = recently_ate_cats
			years = butcher_animals_decision_regular_cooldown_value
		}
		# Register how many provisions we'll get.
		domicile = {
			change_provisions = {
				value = {
					value = 0
					root = {
						every_courtier = {
							limit = { has_character_modifier = cat_story_modifier }
							add = butcher_animals_decision_cat_provision_value
						}
						if = {
							limit = { has_character_modifier = cat_story_modifier }
							add = butcher_animals_decision_cat_provision_value
						}
					}
				}
			}
		}
		# Sort our aesthetics.
		## How many cats are we losing?
		save_scope_value_as = {
			name = cats_killed
			value = {
				every_courtier = {
					limit = { has_character_modifier = cat_story_modifier }
					add = 1
				}
				if = {
					limit = { has_character_modifier = cat_story_modifier }
					add = 1
				}
			}
		}
		## Grab a portrait if possible.
		random_courtier = {
			limit = {
				NOT = { has_trait = callous }
				has_character_modifier = cat_story_modifier
			}
			weight = {
				modifier = {
					add = 1000
					OR = {
						is_close_family_of = root
						is_consort_of = root
						has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = root }
					}
				}
			}
			save_scope_as = portrait_char
		}
		# Aaaand remove our cats.
		## We do this separately in various blocks for proper tooltipping & linking.
		every_courtier = {
			custom = ep3_laamp_decision_event.1201.tt.followers_with_cats
			limit = {
				NOT = { has_trait = callous }
				has_character_modifier = cat_story_modifier
			}
			add_opinion = {
				target = root
				modifier = butcher_opinion
				opinion = -25
			}
		}
		every_courtier = {
			limit = { has_character_modifier = cat_story_modifier }
			custom_tooltip = {
				text = ep3_laamp_decision_event.1202.tt.cat_lost
				subject = this
			}
		}
		hidden_effect = {
			every_courtier = { 1202_prune_cat_stories_effect = yes }
		}
	}

	# Non-callous.
	option = {
		name = {
			text = {
				first_valid = {
					triggered_desc = {
						trigger = { has_character_modifier = cat_story_modifier }
						desc = ep3_laamp_decision_event.1202.a.own_cat
					}
					desc = ep3_laamp_decision_event.1202.a
				}
			}
		}
		
		# We do stress first because it's more if you eat your own pets.
		if = {
			limit = { has_character_modifier = cat_story_modifier }
			# Our regal companionship is ended.
			custom_tooltip = {
				text = ep3_laamp_decision_event.1202.tt.your_cat_lost
				1202_prune_cat_stories_effect = yes
			}
			stress_impact = {
				base = massive_stress_gain
				sadistic = minor_stress_impact_loss
				compassionate = minor_stress_impact_gain
			}
		}
		else = {
			stress_impact = {
				base = major_stress_gain
				sadistic = minor_stress_impact_loss
				compassionate = minor_stress_impact_gain
			}
		}

		# The AI only takes this if they have no other option.
		ai_chance = { base = 0 }
	}
	
	# Callous.
	option = {
		name = {
			text = {
				first_valid = {
					triggered_desc = {
						trigger = { has_character_modifier = cat_story_modifier }
						desc = ep3_laamp_decision_event.1202.b.own_cat
					}
					desc = ep3_laamp_decision_event.1202.b
				}
			}
		}
		trigger = { has_trait = callous }
		trait = callous

		# A cat is a cat.
		if = {
			limit = { has_character_modifier = cat_story_modifier }
			# Our regal companionship is ended.
			custom_tooltip = {
				text = ep3_laamp_decision_event.1202.tt.your_cat_lost
				1202_prune_cat_stories_effect = yes
			}
		}

		stress_impact = { callous = massive_stress_impact_loss }
		# If the AI is callous, they should always take this.
		ai_chance = { base = 1000 }
	}
}


scripted_effect 1203_prune_horse_stories_effect = {
	remove_horse_story_modifiers_effect = yes
	random_owned_story = {
		type = story_cycle_martial_lifestyle_warhorse
		end_story = yes
	}
}

#	Your camp eats its horses.
ep3_laamp_decision_event.1203 = {
	type = character_event
	title = ep3_laamp_decision_event.1203.t
	desc = {
		desc = ep3_laamp_decision_event.1203.desc.intro
		first_valid = {
			# Both your horse and your reserve steeds are getting eaten.
			triggered_desc = {
				trigger = {
					has_character_modifier = horse_story_modifier
					exists = scope:horses_gone
				}
				desc = ep3_laamp_decision_event.1203.desc.eaten.both
			}
			# Just your horse is getting eaten.
			triggered_desc = {
				trigger = { has_character_modifier = horse_story_modifier }
				desc = ep3_laamp_decision_event.1203.desc.eaten.own_horse
			}
			# Just the reserve steeds are getting eaten.
			triggered_desc = {
				trigger = { exists = scope:horses_gone }
				desc = ep3_laamp_decision_event.1203.desc.eaten.reserve_steeds
			}
		}
		desc = ep3_laamp_decision_event.1203.desc.outro
	}
	theme = laamp
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = { has_trait = callous }
			animation = dismissal
		}
		animation = stress
	}

	immediate = {
		# Apply cooldown.
		add_character_flag = {
			flag = recently_ate_horses
			years = butcher_animals_decision_regular_cooldown_value
		}
		# Make it look like we've killed our horse, but hold them till after for loc.
		show_as_tooltip = { 1203_prune_horse_stories_effect = yes }
		# Register how many provisions we'll get.
		domicile = {
			change_provisions = {
				root = {
					if = {
						limit = { has_character_modifier = horse_story_modifier }
						add = butcher_animals_decision_horse_provision_value
					}
				}
				if = {
					limit = { has_domicile_building = baggage_train_ample_steeds }
					add = butcher_animals_decision_horse_building_provision_value
				}
			}
			# Liquidate the horses.
			if = {
				limit = { has_domicile_building = baggage_train_ample_steeds }
				remove_domicile_building = baggage_train_ample_steeds
				# Flag that this happened.
				save_scope_value_as = {
					name = horses_gone
					value = yes
				}
			}
		}
	}

	# Non-callous: even in death, they carry us forward..
	option = {
		name = {
			text = {
				first_valid = {
					triggered_desc = {
						trigger = { exists = scope:horses_gone }
						desc = ep3_laamp_decision_event.1203.a.many_steeds
					}
					desc = ep3_laamp_decision_event.1203.a.single_steed
				}
			}
		}

		stress_impact = {
			base = major_stress_gain
			sadistic = minor_stress_impact_loss
			compassionate = minor_stress_impact_gain
		}
		# The AI only takes this if they have no other option.
		ai_chance = { base = 0 }
	}
	
	# Callous: you know, this isn't that bad actually...
	option = {
		name = ep3_laamp_decision_event.1203.b
		trigger = { has_trait = callous }
		trait = callous

		stress_impact = { callous = massive_stress_impact_loss }
		# If the AI is callous, they should always take this.
		ai_chance = { base = 1000 }
	}

	after = {
		hidden_effect = { 1203_prune_horse_stories_effect = yes }
	}
}

#	Your camp eats its elephants.
ep3_laamp_decision_event.1204 = {
	type = character_event
	title = ep3_laamp_decision_event.1204.t
	desc = ep3_laamp_decision_event.1204.desc
	theme = laamp
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = { has_trait = callous }
			animation = dismissal
		}
		animation = stress
	}

	immediate = {
		# Apply cooldown.
		add_character_flag = {
			flag = recently_ate_elephants
			years = butcher_animals_decision_elephant_cooldown_value
		}
		# Register how many provisions we'll get.
		domicile = {
			change_provisions = butcher_animals_decision_elephant_building_provision
			# Liquidate the elephants.
			if = {
				limit = { has_domicile_building = proving_grounds_elephantry_reserve }
				remove_domicile_building = proving_grounds_elephantry_reserve
			}
		}
	}

	# Non-callous.
	option = {
		name = ep3_laamp_decision_event.1204.a
		
		stress_impact = {
			base = major_stress_gain
			sadistic = minor_stress_impact_loss
			compassionate = minor_stress_impact_gain
		}
		# The AI only takes this if they have no other option.
		ai_chance = { base = 0 }
	}
	
	# Callous.
	option = {
		name = ep3_laamp_decision_event.1204.b
		trigger = { has_trait = callous }
		trait = callous

		stress_impact = { callous = massive_stress_impact_loss }
		# If the AI is callous, they should always take this.
		ai_chance = { base = 1000 }
	}

	# Will there be additional consequences?
	after = {
		if = {
			limit = {
				any_maa_regiment = { is_unit_type = elephant_cavalry }
			}
			trigger_event = {
				id = ep3_laamp_decision_event.1205
				years = 1
			}
		}
	}
}

#	Elephant survivors never forget.
ep3_laamp_decision_event.1205 = {
	type = character_event
	title = ep3_laamp_decision_event.1205.t
	desc = ep3_laamp_decision_event.1205.desc
	theme = laamp
	left_portrait = {
		character = root
		animation = shock
	}

	immediate = { add_character_modifier = ep3_laamp_decision_event_1205_modifier }

	# Damn and blast these recalcitrant beasts!
	option = {
		name = ep3_laamp_decision_event.1205.a

		custom_tooltip = ep3_laamp_decision_event.1205.a.tt

		# No stress, no AI.
	}
}

scripted_trigger ep3_laamp_decision_event_1300_age_diff_trigger = {
	OR = {
		age <= {
			value = scope:char_current.age
			add = 5
		}
		scope:char_current.age >= {
			value = age
			add = 5
		}
	}
}

#Youths of LAAMP-prone cultures consider becoming LAAMPs
ep3_laamp_decision_event.1300 = {
	hidden = yes
	trigger = {
		laamp_youth_cultural_tradition_trigger = yes
		#Looser skill reqs for eager-ass Normans
		trigger_if = {
			limit = {
				culture = {
					has_cultural_parameter = much_more_likely_to_be_laamps
				}
			}
			OR = {
				prowess >= 8
				martial >= 8
			}
		}
		trigger_else = {
			OR = {
				prowess >= 10
				martial >= 10
			}
		}
		ai_boldness > 0
		ai_energy > 0
	}
	immediate = {
		random = {
			chance = 0
			modifier = { add = ep3_laamp_chance_score_value }
			#Counteract bonus in above value somewhat
			modifier = {
				always = yes
				add = -50
			}
			create_landless_adventurer_title_effect = {
				REASON = flag:runaway_allowed
				FLAVOR_CHAR = liege
			}
			# Create a bunch of secondary chars to go on their adventure with them (so that Norman/Turkish bands don't immediately de-Normanify/Turkify).
			while = {
				count = 3
				create_character = {
					template = soldier_friend_character
					employer = root
					culture = root.culture
					faith = root.faith
					age = root.age
					gender_female_chance = root_soldier_female_chance
					after_creation = { add_to_list = created_chars_list }
				}
			}
			while = {
				count = 3
				create_character = {
					template = mercenary
					employer = root
					culture = root.culture
					faith = root.faith
					gender_female_chance = root_soldier_female_chance
					after_creation = { add_to_list = created_chars_list }
				}
			}
			## Plus add starting drama.
			every_in_list = {
				list = created_chars_list
				save_scope_as = char_current
				random_list = {
					100 = {
						trigger = {
							any_in_list = {
								list = created_chars_list
								can_set_relation_friend_trigger = { CHARACTER = scope:char_current }
							}
						}
						random_in_list = {
							list = created_chars_list
							limit = {
								can_set_relation_friend_trigger = { CHARACTER = scope:char_current }
							}
							set_random_friendship_reason = { TARGET = scope:char_current }
						}
					}
					100 = {
						trigger = {
							any_in_list = {
								list = created_chars_list
								can_set_relation_rival_trigger = { CHARACTER = scope:char_current }
							}
						}
						random_in_list = {
							list = created_chars_list
							limit = {
								can_set_relation_rival_trigger = { CHARACTER = scope:char_current }
							}
							set_random_rivalry_reason = {
								TARGET = scope:char_current
								RELATION = rival
							}
						}
					}
					100 = {
						trigger = {
							any_in_list = {
								list = created_chars_list
								ep3_laamp_decision_event_1300_age_diff_trigger = yes
								can_set_relation_lover_trigger = { CHARACTER = scope:char_current }
							}
						}
						random_in_list = {
							list = created_chars_list
							limit = {
								ep3_laamp_decision_event_1300_age_diff_trigger = yes
								can_set_relation_lover_trigger = { CHARACTER = scope:char_current }
							}
							set_random_lover_reason = { TARGET = scope:char_current }
						}
					}
				}
			}
			trigger_event = ep3_laamps.0003
			if = { # Debug AI tracking
				limit = { debug_only = yes }
				if = {
					limit = { exists = global_var:ai_birthday_cultrad_laamp_count }
					change_global_variable = {
						name = ai_birthday_cultrad_laamp_count
						add = 1
					}
				}
				else = {
					set_global_variable = {
						name = ai_birthday_cultrad_laamp_count
						value = 1
					}
				}
				debug_log = "AI became adventurer due to cultural tradition"
				debug_log_scopes = yes
			}
		}
	}
}
