﻿#EK NOTE: removed real world regions

namespace = wanderer_lifestyle_events

wanderer_lifestyle_events.10 = { # Restlessness
	type = character_event
	content_source = dlc_015
	title = wanderer_lifestyle_events.10.t
	desc = wanderer_lifestyle_events.10.desc
	theme = wanderer_journey_focus
	override_background = { reference = corridor_day }

	cooldown = { years = 10 }

	left_portrait = {
		character = root
		animation = anger
	}
	
	trigger = {
		has_lifestyle = wanderer_lifestyle
		NOR = {
			has_trait = lazy
			has_trait = reclusive
		}
	}

	immediate = {

	}

	option = { 
		name = wanderer_lifestyle_events.10.a
		add_character_modifier = wanderer_restlessness_modifier
		custom_tooltip = wanderer_lifestyle_events.10.a.tt
	}
}

wanderer_lifestyle_events.20 = { # Reminiscing about a previous journey
	type = character_event
	content_source = dlc_015
	title = wanderer_lifestyle_events.20.t
	desc = {
		desc = wanderer_lifestyle_events.20.desc
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:reminiscing_location = { has_special_building = yes }
				}
				desc = wanderer_lifestyle_events.20.desc.special_building
			}
			triggered_desc = {
				trigger = {
					scope:reminiscing_location = { is_coastal = yes }
				}
				desc = wanderer_lifestyle_events.20.desc.coastal
			}
			triggered_desc = {
				trigger = {
					scope:reminiscing_location = { is_riverside_province = yes }
				}
				desc = wanderer_lifestyle_events.20.desc.river
			}
			triggered_desc = {
				trigger = {
					scope:reminiscing_location = { has_holding_type = castle_holding }
				}
				desc = wanderer_lifestyle_events.20.desc.castle
			}
			triggered_desc = {
				trigger = {
					scope:reminiscing_location = { has_holding_type = city_holding }
				}
				desc = wanderer_lifestyle_events.20.desc.city
			}
			desc = wanderer_lifestyle_events.20.desc.people
		}
		first_valid = {
			triggered_desc = {
				trigger = {
					exists = scope:listening_child
				}
				desc = wanderer_lifestyle_events.20.desc.outro_child
			}
			desc = wanderer_lifestyle_events.20.desc.outro
		}
	}
	theme = wanderer_journey_focus
	override_background = { reference = study }

	cooldown = { years = 10 }

	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				exists = scope:listening_child
			}
			animation = debating
		}
		animation = boredom
	}

	right_portrait = {
		character = scope:listening_child
		animation = laugh
	}
	
	trigger = {
		has_lifestyle = wanderer_lifestyle
		has_variable_list = visited_poi
		NOT = { has_variable = reminiscing_location }
		any_in_list = {
			variable = visited_poi
			NOT = { county.holder.top_liege = root.top_liege }
		}
	}

	immediate = {
		mapmaking_mythical_lie_effect = yes
		random_in_list = {
			limit = {
				NOT = { county.holder.top_liege = root.top_liege }
			}
			variable = visited_poi
			save_scope_as = reminiscing_location
		}
		random_child = {
			limit = {
				is_adult = no
				age >= 6
				OR = {
					has_trait = curious
					has_trait = pensive
					has_trait = ambitious
					has_trait = gregarious
					has_trait = brave
				}
			}
			save_scope_as = listening_child
		}
	}

	option = {
		name = wanderer_lifestyle_events.20.a
		trigger = {
			exists = scope:listening_child
		}
		duel = {
			skills = { intrigue diplomacy }
			target = scope:listening_child
			50 = {
				desc = wanderer_lifestyle_events.20.a.win
				compare_modifier = {
					 value = scope:duel_value
					 multiplier = 3.5
					 min = -49
				}
				scope:listening_child = {
					progress_towards_friend_effect = {
						REASON = friend_composer_stories
						CHARACTER = root
						OPINION = default_friend_opinion
					}
				}
			}
			50 = {
				desc = wanderer_lifestyle_events.20.a.lose
				compare_modifier = {
					 value = scope:duel_value
					 multiplier = -3.5
					 min = -49
				}
				scope:listening_child = {
					add_opinion = {
						modifier = friendliness_opinion
						target = root
						opinion = 5
					}
				}
			}
		}

		stress_impact = {
			gregarious = minor_stress_impact_loss
			deceitful = minor_stress_impact_loss
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 5
				OR = {
					has_trait = gregarious
					has_trait = deceitful
				}
			}
		}
	}

	option = { 
		name = {
			trigger = {
				exists = scope:listening_child
			}
			text = wanderer_lifestyle_events.20.b.child
		}
		name = {
			trigger = {
				NOT = { exists = scope:listening_child}
			}
			text = wanderer_lifestyle_events.20.b
		}
		custom_tooltip = wanderer_lifestyle_events.20.b.tt

		set_variable = {
			name = reminiscing_location
			value = scope:reminiscing_location
		}

		stress_impact = {
			honest = minor_stress_impact_loss
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 5
				has_trait = honest
			}
		}
	}
}

wanderer_lifestyle_events.25 = { # Follow-up
	type = character_event
	content_source = dlc_015
	title = wanderer_lifestyle_events.25.t
	desc = wanderer_lifestyle_events.25.desc
	theme = wanderer_journey_focus

	override_background = { reference = market }

	cooldown = { years = 10 }

	left_portrait = {
		character = root
		animation = survey
	}

	immediate = {
		remove_variable = reminiscing_location
		location = { save_scope_as = province_location }
	}

	option = {
		name = wanderer_lifestyle_events.25.a
		if = {
			limit = {
				has_lifestyle = wanderer_lifestyle
			}
			add_wanderer_lifestyle_xp = 250
		}
		stress_impact = {
			base = medium_stress_impact_loss
		}
	}
}

scripted_trigger dreams_of_distant_lands_region_trigger = {
	NOT = { 
		root.capital_county.title_province = {
			geographical_region = geographical_region:mundus_tamriel_$REGION$ # EK EDIT
		}
	}
}

scripted_effect dreams_of_distant_lands_animal_effect = {
	set_variable = {
		name = dreams_of_distant_lands_$REGION$
		value = { integer_range = { min = 1 max = $MAX$ } }
	}
}

scripted_trigger dreams_of_distant_lands_singular_animal_trigger = {
	#EK DISABLED
	#OR = {
	#	AND = {
	#		has_variable = dreams_of_distant_lands_europe
	#		var:dreams_of_distant_lands_europe = 2
	#	}
	#	AND = {
	#		has_variable = dreams_of_distant_lands_africa
	#		var:dreams_of_distant_lands_africa = 3
	#	}
	#	AND = {
	#		has_variable = dreams_of_distant_lands_middle_east
	#		OR = {
	#			var:dreams_of_distant_lands_middle_east = 2
	#			var:dreams_of_distant_lands_middle_east = 3
	#		}
	#	}
	#	AND = {
	#		has_variable = dreams_of_distant_lands_india
	#		var:dreams_of_distant_lands_india = 1
	#	}
	#	AND = {
	#		has_variable = dreams_of_distant_lands_tibet
	#		var:dreams_of_distant_lands_tibet = 1
	#	}
	#	AND = {
	#		has_variable = dreams_of_distant_lands_steppe
	#		var:dreams_of_distant_lands_steppe = 1
	#	}
	#}
	always = no
}

wanderer_lifestyle_events.30 = { # Dreams of Distant Lands
	type = character_event
	content_source = dlc_015
	title = wanderer_lifestyle_events.30.t
	desc = {
		desc = wanderer_lifestyle_events.30.desc
		first_valid = {
			triggered_desc = {
				trigger = {
					dreams_of_distant_lands_singular_animal_trigger = yes
				}
				desc = wanderer_lifestyle_events.30.desc.singular
			}
			desc = wanderer_lifestyle_events.30.desc.plural
		}
	}
	theme = wanderer_journey_focus

	override_background = { reference = study }

	cooldown = { years = 10 }

	left_portrait = {
		character = root
		animation = reading
	}

	trigger = {
		is_ai = no
		has_lifestyle = wanderer_lifestyle
		#EK EDIT
		#NOR = {
		#	has_variable = dreams_of_distant_lands_europe
		#	has_variable = dreams_of_distant_lands_africa
		#	has_variable = dreams_of_distant_lands_middle_east
		#	has_variable = dreams_of_distant_lands_india
		#	has_variable = dreams_of_distant_lands_tibet
		#	has_variable = dreams_of_distant_lands_steppe
		#}
	}

	immediate = {
		random_list = {
			#EK EDIT
			10 = { # Cyrodiil
				trigger = { dreams_of_distant_lands_region_trigger = { REGION = cyrodiil } }
				dreams_of_distant_lands_animal_effect = { REGION = cyrodiil MAX = 2 }
			}
			10 = { # Hammerfell
				trigger = { dreams_of_distant_lands_region_trigger = { REGION = hammerfell } }
				dreams_of_distant_lands_animal_effect = { REGION = hammerfell MAX = 3 }
			}
			10 = { # Black Marsh
				trigger = { dreams_of_distant_lands_region_trigger = { REGION = black_marsh } }
				dreams_of_distant_lands_animal_effect = { REGION = black_marsh MAX = 3 }
			}
			10 = { # Elsweyr
				trigger = { dreams_of_distant_lands_region_trigger = { REGION = elsweyr } }
				dreams_of_distant_lands_animal_effect = { REGION = elsweyr MAX = 3 }
			}
			10 = { # Morrowind
				trigger = { dreams_of_distant_lands_region_trigger = { REGION = morrowind } }
				dreams_of_distant_lands_animal_effect = { REGION = morrowind MAX = 3 }
			}
			10 = { # High Rock
				trigger = { dreams_of_distant_lands_region_trigger = { REGION = high_rock } }
				dreams_of_distant_lands_animal_effect = { REGION = high_rock MAX = 3 }
			}
			10 = { # Skyrim
				trigger = { dreams_of_distant_lands_region_trigger = { REGION = skyrim } }
				dreams_of_distant_lands_animal_effect = { REGION = skyrim MAX = 3 }
			}
			10 = { # Summerset
				trigger = { dreams_of_distant_lands_region_trigger = { REGION = summerset_isles } }
				dreams_of_distant_lands_animal_effect = { REGION = summerset_isles MAX = 3 }
			}
			10 = { # Valenwood
				trigger = { dreams_of_distant_lands_region_trigger = { REGION = valenwood } }
				dreams_of_distant_lands_animal_effect = { REGION = valenwood MAX = 3 }
			}
			10 = { # Yokuda
				trigger = { dreams_of_distant_lands_region_trigger = { REGION = yokuda } }
				dreams_of_distant_lands_animal_effect = { REGION = yokuda MAX = 3 }
			}
			#EK EDIT END
		}

		create_character = {
			template = merchant_template
			faith = root.faith
			culture = root.culture
			gender = root
			location = root.location
			save_scope_as = traveler_character
		}
	}

	option = {
		name = {
			trigger = {
				dreams_of_distant_lands_singular_animal_trigger = yes
			}
			text = wanderer_lifestyle_events.30.a.singular
		}
		name = {
			trigger = {
				dreams_of_distant_lands_singular_animal_trigger = no
			}
			text = wanderer_lifestyle_events.30.a.plural
		}
		#EK DISABLED
		#switch = {
		#	trigger = has_variable
		#	dreams_of_distant_lands_europe = { custom_tooltip = wanderer_lifestyle_events.30.a.europe }
		#	dreams_of_distant_lands_africa = { custom_tooltip = wanderer_lifestyle_events.30.a.africa }
		#	dreams_of_distant_lands_middle_east = { custom_tooltip = wanderer_lifestyle_events.30.a.asia }
		#	dreams_of_distant_lands_india = { custom_tooltip = wanderer_lifestyle_events.30.a.india }
		#	dreams_of_distant_lands_tibet = { custom_tooltip = wanderer_lifestyle_events.30.a.tibet }
		#	dreams_of_distant_lands_steppe = { custom_tooltip = wanderer_lifestyle_events.30.a.steppe }
		#}
	}

	after = {
		scope:traveler_character = {
			silent_dissapear_ai_if_not_hired = yes
		}
	}
}

scripted_trigger dreams_of_distant_lands_followup_trigger = {
	AND = {
		has_variable = dreams_of_distant_lands_$REGION$
		location = {
			geographical_region = geographical_region:mundus_tamriel_$REGION$
		}
	}
}

scripted_effect dreams_of_distant_lands_followup_reward_effect = {
	if = {
		limit = {
			has_lifestyle = wanderer_lifestyle
		}
		add_wanderer_lifestyle_perk_points = 1
	}
	stress_impact = {
		base = major_stress_impact_loss
	}
}

wanderer_lifestyle_events.35 = { # Dreams of Distant Lands - Followup
	type = character_event
	content_source = dlc_015
	title = wanderer_lifestyle_events.35.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = {
					dreams_of_distant_lands_singular_animal_trigger = yes
				}
				desc = wanderer_lifestyle_events.35.desc.singular
			}
			desc = wanderer_lifestyle_events.35.desc.plural
		}
		random_valid = {
			triggered_desc = {
				trigger = {
					dreams_of_distant_lands_singular_animal_trigger = yes
				}
				desc = wanderer_lifestyle_events.35.desc.singular.adorable
			}
			triggered_desc = {
				trigger = {
					dreams_of_distant_lands_singular_animal_trigger = yes
				}
				desc = wanderer_lifestyle_events.35.desc.singular.neutral
			}
			triggered_desc = {
				trigger = {
					dreams_of_distant_lands_singular_animal_trigger = yes
				}
				desc = wanderer_lifestyle_events.35.desc.singular.taken_aback
			}
			desc = wanderer_lifestyle_events.35.desc.plural.adorable
			desc = wanderer_lifestyle_events.35.desc.plural.neutral
			desc = wanderer_lifestyle_events.35.desc.plural.taken_aback
		}
	}
	theme = wanderer_journey_focus

	override_background = { reference = wilderness }

	left_portrait = {
		character = root
		animation = survey
	}

	trigger = {
		has_bp3_dlc_trigger = yes
		NOT = { has_variable = wanderer_lifestyle_events_35_done }
		OR = {
			#EK EDIT
			dreams_of_distant_lands_followup_trigger = { REGION = cyrodiil }
			dreams_of_distant_lands_followup_trigger = { REGION = high_rock }
			dreams_of_distant_lands_followup_trigger = { REGION = hammerfell }
			dreams_of_distant_lands_followup_trigger = { REGION = skyrim }
			dreams_of_distant_lands_followup_trigger = { REGION = summerset_isles }
			dreams_of_distant_lands_followup_trigger = { REGION = elsweyr }
			dreams_of_distant_lands_followup_trigger = { REGION = black_marsh }
			dreams_of_distant_lands_followup_trigger = { REGION = yokuda }
			dreams_of_distant_lands_followup_trigger = { REGION = valenwood }
			dreams_of_distant_lands_followup_trigger = { REGION = morrowind }
			#EK EDIT END
		}
	}

	immediate = {
		location = { save_scope_as = province_location }
		mp_delay_travel_plan = { DAYS = 90 }
		set_variable = wanderer_lifestyle_events_35_done
		create_character_memory = {
			type = found_exotic_animal
		}
	}

	option = {
		name = wanderer_lifestyle_events.35.a
		dreams_of_distant_lands_followup_reward_effect = yes
		duel = {
			skills = { prowess }
			value = 25
			40 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				desc = wanderer_lifestyle_events.35.a.win
				add_character_modifier = {
					modifier = wanderer_exotic_animal_modifier
					years = 15
				}
			}
			60 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -49
				}
				desc = wanderer_lifestyle_events.35.a.lose
				add_prestige = -100
				increase_wounds_no_death_effect = { REASON = wild_animal }
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 5
				OR = {
					has_trait = brave
					has_trait = ambitious
					has_trait = greedy
				}
			}
		}
	}

	option = {
		name = {
			trigger = {
				dreams_of_distant_lands_singular_animal_trigger = yes
			}
			text = wanderer_lifestyle_events.35.b.singular
		}
		name = {
			trigger = {
				dreams_of_distant_lands_singular_animal_trigger = no
			}
			text = wanderer_lifestyle_events.35.b.plural
		}
		dreams_of_distant_lands_followup_reward_effect = yes

		ai_chance = {
			base = 100
			modifier = {
				factor = 5
				NOR = {
					has_trait = brave
					has_trait = ambitious
					has_trait = greedy
				}
			}
		}
	}

	after = {
		mp_resume_travel_plan = yes
	}
}

scripted_effect wanderer_lifestyle_events_40_successful_barter_effect = {
	send_interface_toast = {
		type = event_generic_good
		title = wanderer_lifestyle_events.40.success_title
		left_icon = root
		right_icon = scope:provisions_merchant
		remove_short_term_gold = {
			value = scope:supply_gold_cost_special
		}	
		stress_impact = {
			greedy = medium_stress_impact_loss
		}
	}
}

scripted_effect wanderer_lifestyle_events_40_failed_barter_effect = {
	send_interface_toast = {
		type = event_generic_bad
		title = wanderer_lifestyle_events.40.fail_title
		left_icon = root
		right_icon = scope:provisions_merchant
		remove_short_term_gold = {
			value = { 
				value = scope:supply_gold_cost_special
				multiply = 1.35
			}
		}
		stress_impact = {
			greedy = minor_stress_impact_gain
			profligate = minor_stress_impact_loss # It's ok i love wasting money anyways
		}
	}
}


wanderer_lifestyle_events.40 = { # Miscommunication
	type = character_event
	title = wanderer_lifestyle_events.40.t
	desc = wanderer_lifestyle_events.40.desc
	
	theme = wanderer_journey_focus

	cooldown = { years = 10 }
	override_background = { reference = market }

	left_portrait = {
		character = root 
		animation = thinking
	}

	right_portrait  = {
		character = scope:provisions_merchant
		animation = stress
	}

	immediate = {
		create_character = {
			template = merchant_template
			dynasty = none
			location = root.domicile.domicile_location
			culture = root.domicile.domicile_location.county.culture
			faith = root.domicile.domicile_location.county.faith
			save_scope_as = provisions_merchant
		}
		# Find the normal cost of the provisions, and add the merchants discount
		save_scope_value_as = {
			name = supply_gold_cost_special
			value = {
				add = major_gold_laamps_value
				multiply = 0.5
			}
		}
	}

	trigger = {
		is_landless_adventurer = yes
		has_lifestyle = wanderer_lifestyle
		domicile.provisions <= twenty_percent_provisions_value
		NOT = { knows_language_of_culture = root.domicile.domicile_location.county.culture }
	}
	
	# The merchant's price *should* be half the price of provisions normally, but in this scenario, you would be charged ~3/4ths without bartering, so it's always cheaper to buy from this event.
	
	option = { # Learning challenge
		name = wanderer_lifestyle_events.40.language
		duel = {
			skill = learning
			value = decent_skill_rating
			desc = wanderer_lifestyle_events.40.language_tt
			30 = {
				desc = wanderer_lifestyle_events.40.language_tt.success
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -29
				}
				wanderer_lifestyle_events_40_successful_barter_effect = yes
				if = {
					limit = {
						num_of_known_languages < language_soft_cap
					}
					random_list = {
						10 = {
							show_chance = no
							desc = wanderer_lifestyle_events.40.language_learned
							modifier = {
								add = {
									value = learning
									multiply = 1.5
								}
								is_alive = yes
							}
							learn_language_of_culture = scope:provisions_merchant.culture
						}
						90 = {
							show_chance = no
							desc = wanderer_lifestyle_events.40.language_nothing
						}
					}
				}
			}
			50 = {
				desc = wanderer_lifestyle_events.40.language_tt.fail
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -49
				}
				wanderer_lifestyle_events_40_failed_barter_effect = yes
			}
		}
		domicile ?= { 
			change_provisions = {
				value = {
					value = max_provisions 
					subtract = provisions
				}
			}
		}

		ai_chance = {
			base = 75
		}
		
	}

	option = { # Stewardship/Intrigue challenge
		name = wanderer_lifestyle_events.40.barter
		duel = {
			skills = { stewardship intrigue }
			value = decent_skill_rating
			desc = wanderer_lifestyle_events.40.barter_tt
			50 = {
				desc = wanderer_lifestyle_events.40.barter_tt.success
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				wanderer_lifestyle_events_40_successful_barter_effect = yes
			}
			50 = {
				desc = wanderer_lifestyle_events.40.language_tt.fail
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -49
				}
				wanderer_lifestyle_events_40_failed_barter_effect = yes
			}
		}
		domicile ?= { 
			change_provisions = {
				value = {
					value = max_provisions 
					subtract = provisions
				}
			}
		}

		ai_chance = {
			base = 75
			modifier = {
				factor = 1.25 
				has_trait = deceitful
			}
			modifier = {
				factor = -1.25 
				has_trait = honest
			}
		}
	}

	option = { 
		name = wanderer_lifestyle_events.40.fold
		# You pay a tad more for not trying (but its still discounted)
		remove_short_term_gold = {
			value = { 
				value = scope:supply_gold_cost_special
				multiply = 1.6
			}
		}
		domicile ?= { 
			change_provisions = {
				value = {
					value = max_provisions 
					subtract = provisions
				}
			}
		}

		stress_impact = {
			greedy = medium_stress_impact_gain
			profligate = medium_stress_impact_loss # I love wasting money
			generous = minor_stress_impact_loss
		}

		ai_chance = {
			base = 50
			modifier = {
				factor = 2
				has_trait = profligate
			}
			modifier = {
				factor = 1.5
				has_trait = generous
			}
		}
	}

	option = { # Mom says we have food at home (fake news)
		name = wanderer_lifestyle_events.40.meh

		stress_impact = {
			base = miniscule_stress_impact_gain # Ok well we dont have food
			lazy = minor_stress_impact_loss # Rather avoid the conflict
			shy = minor_stress_impact_loss
			craven = minor_stress_impact_loss 
			stubborn = miniscule_stress_impact_gain # Wouldn't back away from conflict
			greedy = minor_stress_impact_loss # I love saving money
		}

		ai_chance = {
			base = 25
			modifier = {
				factor = 2
				OR = {
					has_trait = lazy
					has_trait = shy
					has_trait = greedy
				}
			}
		}
	}

}