namespace = bp3_roaming

### Setup Events
# Arrival Event
bp3_roaming.0005 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0005.t
	desc = bp3_roaming.0005.desc
	theme = roaming_activity

	left_portrait = {
		character = scope:host
		triggered_animation = {
			trigger = {
				location = {
					roaming_activity_monsoon_trigger = yes
				}
			}
			animation = scheme
		}
		triggered_animation = {
			trigger = {
				location = {
					roaming_activity_winter_trigger = yes
					terrain = mountains
				}
			}
			animation = shiver
		}
		animation = survey_staff
	}

	right_portrait = {
		trigger = {
			exists = scope:special_guest
		}
		character = scope:special_guest
		triggered_animation = {
			trigger = {
				location = {
					roaming_activity_monsoon_trigger = yes
				}
			}
			animation = scheme
		}
		triggered_animation = {
			trigger = {
				location = {
					roaming_activity_winter_trigger = yes
					terrain = mountains
				}
			}
			animation = shiver
		}
		animation = happiness
	}

	override_effect_2d = {
		reference = rain
		trigger = {
			location = {
				roaming_activity_monsoon_trigger = yes
			}
		}
	}

	widgets = {
		widget = {
			is_shown = {
				location = {
					roaming_activity_winter_trigger = yes
					NOT = { terrain = mountains }
				}
			}
			gui = "event_window_widget_vfx_snow"
			container = "foreground_shader_vfx_container"
		}

		widget = {
			is_shown = {
				location = {
					roaming_activity_winter_trigger = yes
					terrain = mountains
				}
			}
			gui = "event_window_widget_vfx_snowstorm"
			container = "foreground_shader_vfx_container"
		}
	}

	override_effect_2d = { # Fallback, will be chosen if the others weren't
		trigger = {
			scope:province = {
				roaming_activity_monsoon_trigger = no
				roaming_activity_winter_trigger = no
			}
		}
		reference = legend_glow
	}

	immediate = {
		save_scope_as = root_scope
		roaming_tally_variable_effect = { TYPE = stress VALUE = miniscule_stress_impact_loss }
		hidden_effect = {
			involved_activity = {
				add_activity_log_entry = {
					key = roaming_start_of_the_journey_key
					tags = { activity_log }
					character = root
					root = {
						show_as_tooltip = {
							stress_impact = {
								base = miniscule_stress_impact_loss
							}
						}
					}
				}
			}
		}
	}

	option = {
		name = bp3_roaming.0005.a
		trigger = {
			location = {
				OR = {
					terrain = forest
					terrain = farmlands
					terrain = drylands
					terrain = oasis
					terrain = wetlands
					terrain = taiga
					terrain = floodplains
				}
				has_winter_trigger = no
				NAND = {
					tropical_seasons_region_trigger = yes
					middle_of_year_season_trigger = yes
				}
			}
		}
		stress_impact = {
			base = miniscule_stress_impact_loss
		}
		roaming_tally_variable_effect = { TYPE = stress VALUE = miniscule_stress_impact_loss }
	}

	option = {
		name = bp3_roaming.0005.b
		trigger = {
			location = {
				OR = {
					terrain = hills
					terrain = mountains
					terrain = plains
					terrain = desert_mountains
					terrain = desert
					terrain = jungle
					terrain = steppe
				}
				has_winter_trigger = no
				NAND = {
					tropical_seasons_region_trigger = yes
					middle_of_year_season_trigger = yes
				}
			}
		}
		stress_impact = {
			base = miniscule_stress_impact_loss
		}
		roaming_tally_variable_effect = { TYPE = stress VALUE = miniscule_stress_impact_loss }
	}

	option = {
		name = bp3_roaming.0005.c
		trigger = {
			location = {
				has_winter_trigger = yes
			}
		}
		stress_impact = {
			base = miniscule_stress_impact_loss
		}
		roaming_tally_variable_effect = { TYPE = stress VALUE = miniscule_stress_impact_loss }
	}

	option = {
		name = bp3_roaming.0005.d
		trigger = {
			location = {
				tropical_seasons_region_trigger = yes
				middle_of_year_season_trigger = yes
			}
		}
		stress_impact = {
			base = miniscule_stress_impact_loss
		}
		roaming_tally_variable_effect = { TYPE = stress VALUE = miniscule_stress_impact_loss }
	}
}

# Ending Event
bp3_roaming.0010 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0010.t
	desc = bp3_roaming.0010.desc
	theme = roaming_activity

	left_portrait = {
		character = scope:host
		animation = scheme
	}

	right_portrait = {
		character = scope:special_guest
		animation = idle
		trigger = {
			exists = scope:special_guest
		}
	}

	option = {
		name = bp3_roaming.0010.a
		stress_impact = {
			base = roaming_outro_stress_loss_value
			athletic = medium_stress_impact_loss
			lifestyle_traveler = minor_stress_impact_loss
		}
		if = {
			limit = {
				has_trait = depressed_1
				has_character_flag = roaming_very_strong_stress_loss
			}
			remove_trait = depressed_1
		}
	}

	after = {
		remove_character_flag = roaming_weak_stress_loss
		remove_character_flag = roaming_medium_stress_loss
		remove_character_flag = roaming_strong_stress_loss
		remove_character_flag = roaming_very_strong_stress_loss
	}
}

### Mid-Activity Events
# The View (Mountains/Hills/Desert Mountains)
bp3_roaming.0050 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0050.t
	desc = bp3_roaming.0050.desc
	theme = roaming_activity

	left_portrait = {
		character = scope:host
		animation = survey_staff
	}

	right_portrait = {
		character = scope:special_guest
		animation = idle
		trigger = {
			exists = scope:special_guest
		}
	}

	trigger = {
		location = {
			OR = {
				terrain = mountains
				terrain = hills
				terrain = desert_mountains
			}
		}
	}

	option = {
		name = bp3_roaming.0050.a
		roaming_progress_events_reward_effect = { LOG_KEY = breathtaking_view_key }
	}
}

# The Oasis (Oasis/Desert/Drylands)
bp3_roaming.0060 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0060.t
	desc = bp3_roaming.0060.desc
	theme = roaming_activity

	override_background = { reference = ce1_legendary_oasis }

	left_portrait = {
		character = scope:host
		animation = survey_staff
	}

	right_portrait = {
		character = scope:special_guest
		animation = idle
		trigger = {
			exists = scope:special_guest
		}
	}

	trigger = {
		location = {
			OR = {
				terrain = oasis
				terrain = desert
				terrain = drylands
			}
		}
	}

	option = {
		name = bp3_roaming.0060.a
		roaming_progress_events_reward_effect = { LOG_KEY = the_oasis_key }
	}
}

# The Path's End (Forest/Taiga/Jungle)
bp3_roaming.0070 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0070.t
	desc = {
		desc = bp3_roaming.0070.desc.intro
		first_valid = {
			triggered_desc = {
				trigger = {
					has_government = landless_adventurer_government
				}
				desc = bp3_roaming.0070.desc.landless
			}
			desc = bp3_roaming.0070.desc.landed
		}
	}
	theme = roaming_activity

	override_background = {
		trigger = {
			location = { terrain = jungle }
		}
		reference = wilderness_jungle
	}

	override_background = {
		trigger = {
			location = { has_winter_trigger = no }
		}
		reference = wilderness_forest_pine
	}

	left_portrait = {
		character = scope:host
		animation = scheme
	}

	right_portrait = {
		character = scope:special_guest
		animation = idle
		trigger = {
			exists = scope:special_guest
		}
	}

	trigger = {
		location = {
			OR = {
				terrain = forest
				terrain = taiga
				terrain = jungle
			}
		}
	}

	option = {
		name = bp3_roaming.0070.a
		roaming_progress_events_reward_effect = { LOG_KEY = paths_end_key }
	}
}

# The Ocean Scent (Fallback for ocean adjacent provinces)
bp3_roaming.0080 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0080.t
	desc = bp3_roaming.0080.desc
	theme = roaming_activity

	override_background = { reference = bp3_coast }

	left_portrait = {
		character = scope:host
		animation = survey_staff
	}

	right_portrait = {
		character = scope:special_guest
		animation = idle
		trigger = {
			exists = scope:special_guest
		}
	}

	trigger = {
		location = {
			is_coastal = yes
		}
	}

	option = {
		name = bp3_roaming.0080.a
		roaming_progress_events_reward_effect = { LOG_KEY = ocean_scent_key }
	}
}

# The River at Journey's End (Fallback for terrain that hasn't been covered)
bp3_roaming.0090 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0090.t
	desc = bp3_roaming.0090.desc
	theme = roaming_activity

	override_background = { reference = ce1_legendary_spring }

	left_portrait = {
		character = scope:host
		animation = survey_staff
	}

	right_portrait = {
		character = scope:special_guest
		animation = idle
		trigger = {
			exists = scope:special_guest
		}
	}

	trigger = {
		location = {
			is_coastal = no
			NOR = {
				terrain = mountains
				terrain = hills
				terrain = desert_mountains
				terrain = oasis
				terrain = desert
				terrain = drylands
				terrain = forest
				terrain = taiga
				terrain = jungle
			}
		}
	}

	option = {
		name = bp3_roaming.0090.a
		roaming_progress_events_reward_effect = { LOG_KEY = river_journeys_end_key }
	}
}

### Random Events
# Meeting a Stranger
bp3_roaming.0100 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0100.t
	desc = {
		desc = bp3_roaming.0100.desc
		triggered_desc = {
			desc = bp3_roaming.0100.desc.companion
			trigger = {
				exists = scope:special_guest
			}
		}
	}
	theme = roaming_activity

	left_portrait = {
		character = scope:host
		animation = survey_staff
	}

	center_portrait = {
		character = scope:special_guest
		animation = happiness
	}

	right_portrait = {
		character = scope:ancient_traveler
		animation = scheme
	}

	cooldown = { months = 3 }

	weight_multiplier = {
		base = 1
		modifier = {
			OR = {
				has_activity_intent = reduce_stress_intent
				has_activity_intent = roaming_mystic_intent
			}
			factor = 1.5
		}
	}

	immediate = {
		save_scope_value_as = {
			name = trait_xp
			value = { integer_range = { min = 3 max = 5 } }
		}
		create_character = {
			location = root.location
			gender_female_chance = {
				if = {
					limit = { root.faith = { has_doctrine = doctrine_gender_male_dominated } }
					add = 0
				}
				else_if = {
					limit = { root.faith = { has_doctrine = doctrine_gender_female_dominated } }
					add = 100
				}
				else = {
					add = 50
				}
			}
			template = ancient_forest_traveler_character
			save_scope_as = ancient_traveler
		}
	}

	option = {
		name = bp3_roaming.0100.a
		flavor = bp3_roaming.0100.a.flavor
		scope:ancient_traveler = { silent_disappear_ai_if_not_hired = yes }
		if = {
			limit = {
				has_trait = lifestyle_mystic
			}
			involved_activity = {
				add_activity_log_entry = {
					key = roaming_pondering_stone_mystic_key
					tags = { activity_log }
					character = scope:host
					root = {
						add_trait_xp = {
							trait = lifestyle_mystic
							value = scope:trait_xp
						}
					}
				}
			}
			roaming_tally_variable_effect = { TYPE = mystic_xp VALUE = scope:trait_xp }
		}
		random_list = {
			10 = {
				trigger = { NOT = { has_character_modifier = pondering_rulership_modifier } }
				roaming_pondering_stone_effect = { TYPE = rulership }
			}
			10 = {
				trigger = { NOT = { has_character_modifier = pondering_religion_modifier } }
				roaming_pondering_stone_effect = { TYPE = religion }
			}
			10 = {
				trigger = { NOT = { has_character_modifier = pondering_war_modifier } }
				roaming_pondering_stone_effect = { TYPE = war }
			}
			10 = {
				trigger = { NOT = { has_character_modifier = pondering_schemes_modifier } }
				roaming_pondering_stone_effect = { TYPE = schemes }
			}
			10 = {
				trigger = { NOT = { has_character_modifier = pondering_management_modifier } }
				roaming_pondering_stone_effect = { TYPE = management }
			}
			10 = {
				trigger = { NOT = { has_character_modifier = pondering_travel_modifier } }
				roaming_pondering_stone_effect = { TYPE = travel }
			}
			10 = {
				trigger = { NOT = { has_trait = lifestyle_mystic } }
				involved_activity = {
					add_activity_log_entry = {
						key = roaming_pondering_stone_key
						tags = { activity_log }
						character = scope:host
						root = {
							add_trait = lifestyle_mystic
							set_variable = roaming_tally_mystic
						}
					}
				}
			}
		}

		stress_impact = { lifestyle_mystic = minor_stress_impact_loss }
		roaming_tally_stress_impact_effect = { TRAIT = lifestyle_mystic VALUE = minor_stress_impact_loss }

		ai_chance = {
			base = 100
			modifier = {
				factor = 1.5
				has_trait = lifestyle_mystic
			}
		}
	}

	option = {
		name = bp3_roaming.0100.b
		involved_activity = {
			add_activity_log_entry = {
				key = roaming_resting_stone_key
				tags = { activity_log }
				character = scope:host
				root = {
					stress_impact = {
						base = minor_stress_impact_loss
						athletic = medium_stress_gain
						lazy = medium_stress_impact_loss
					}
					roaming_tally_variable_effect = { TYPE = stress VALUE = minor_stress_impact_loss }
					roaming_tally_stress_impact_effect = { TRAIT = athletic VALUE = minor_stress_gain }
					roaming_tally_stress_impact_effect = { TRAIT = lazy VALUE = medium_stress_impact_loss }
				}
			}
		}

		scope:ancient_traveler = { silent_disappear_ai_if_not_hired = yes }

		ai_chance = {
			base = 100
			modifier = {
				factor = 0
				has_trait = athletic
			}
		}
	}

	option = {
		name = bp3_roaming.0100.c
		flavor = bp3_roaming.0100.c.flavor
		duel = {
			skill = learning
			target = scope:ancient_traveler
			50 = {
				desc = bp3_roaming.0100.c.win
				compare_modifier = {
					 value = scope:duel_value
					 multiplier = 1.5
					 min = -49
				}
				involved_activity = {
					add_activity_log_entry = {
						key = roaming_old_man_key
						tags = { activity_log }
						character = scope:host
						root = {
							send_interface_toast = {
								type = event_generic_good
								title = bp3_roaming.0100.c.win
								left_icon = root
								add_learning_lifestyle_xp = 250
								roaming_tally_variable_effect = {
									TYPE = learning_lifestyle_xp
									VALUE = 250
								}
								add_learning_skill = 1
								roaming_tally_variable_effect = {
									TYPE = learning_skill
									VALUE = 1
								}
							}
						}
					}
				}
			}
			50 = {
				desc = bp3_roaming.0100.c.neutral
				compare_modifier = {
					 value = scope:duel_value
					 multiplier = -1.5
					 min = -49
				}
				involved_activity = {
					add_activity_log_entry = {
						key = roaming_old_man_key
						tags = { activity_log }
						character = scope:host
						root = {
							send_interface_toast = {
								type = event_generic_neutral
								title = bp3_roaming.0100.c.neutral
								add_visiting_courtier = scope:ancient_traveler
							}
						}
					}
				}
			}
			50 = {
				desc = bp3_roaming.0100.c.loss
				compare_modifier = {
					 value = scope:duel_value
					 multiplier = -1
					 min = -49
				}
				involved_activity = {
					add_activity_log_entry = {
						key = roaming_old_man_key
						tags = { activity_log }
						character = scope:host
						root = {
							send_interface_toast = {
								type = event_generic_bad
								title = bp3_roaming.0100.c.loss
							}
						}
					}
				}
			}
		}
		stress_impact = {
			gregarious = minor_stress_impact_loss
			shy = medium_stress_gain
		}
		roaming_tally_stress_impact_effect = { TRAIT = gregarious VALUE = minor_stress_impact_loss }
		roaming_tally_stress_impact_effect = { TRAIT = shy VALUE = medium_stress_gain }

		ai_chance = {
			base = 100
			modifier = {
				factor = 0
				has_trait = shy
			}
		}
	}

	option = {
		name = bp3_roaming.0100.d
		trigger = {
			has_trait = lifestyle_poet
		}
		involved_activity = {
			add_activity_log_entry = {
				key = roaming_ancient_traveler_poet_key
				tags = { activity_log }
				character = root
				root = {
					roaming_fame_reward_event_effect = { VALUE = roaming_reward_fame_medium }
					stress_impact = {
						honest = medium_stress_gain
						deceitful = minor_stress_impact_loss
					}
					roaming_tally_stress_impact_effect = { TRAIT = honest VALUE = minor_stress_gain }
					roaming_tally_stress_impact_effect = { TRAIT = deceitful VALUE = minor_stress_impact_loss }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 10
				has_trait = lifestyle_poet
			}
			modifier = {
				factor = 0
				has_trait = honest
			}
		}
	}
}

# Normal Animal Sighting
bp3_roaming.0110 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0110.t
	desc = {
		desc = bp3_roaming.0110.desc
		triggered_desc = {
			trigger = {
				exists = scope:special_guest
			}
			desc = bp3_roaming.0110.desc.companion
		}
	}
	theme = roaming_activity

	override_background = {
		trigger = {
			location = {
				terrain = forest
				has_winter_trigger = no
			}
		}
		reference = ep2_hunt_foggy_forest
	}

	left_portrait = {
		character = scope:host
		triggered_animation = {
			trigger = {
				OR = {
					scope:sighting_county = {
						OR = {
							var:animal_type = flag:fox
							var:animal_type = flag:hare
						}
					}
					has_trait = lifestyle_hunter
					prowess >= 25
				}
			}
			animation = personality_bold
		}
		triggered_animation = {
			trigger = {
				NOR = {
					scope:sighting_county = {
						OR = {
							var:animal_type = flag:fox
							var:animal_type = flag:hare
						}
					}
					has_trait = lifestyle_hunter
					prowess >= 25
				}
			}
			animation = paranoia
		}
	}

	center_portrait = {
		character = scope:special_guest
		animation = fear
	}

	cooldown = { months = 3 }

	weight_multiplier = {
		base = 1
		modifier = {
			OR = {
				has_activity_intent = reduce_stress_intent
				has_activity_intent = roaming_storyteller_intent
			}
			factor = 1.5
		}
	}

	override_effect_2d = {
		reference = rain
		trigger = {
			location = {
				tropical_seasons_region_trigger = yes
				middle_of_year_season_trigger = yes
			}
		}
	}

	widget = {
		is_shown = {
			location = { has_winter_trigger = yes }
		}
		gui = "event_window_widget_vfx_snow"
		container = "foreground_shader_vfx_container"
	}

	override_effect_2d = {
		reference = fog
		trigger = {
			location = {
				has_winter_trigger = no
				NAND = {
					tropical_seasons_region_trigger = yes
					middle_of_year_season_trigger = yes
				}
			}
		}
	}

	trigger = {
		NOT = {
			any_sub_realm_county = { has_county_modifier = hunt_sighting_standard_modifier }
		}
	}

	immediate = {
		location = { save_scope_as = sighting_province }
		location.county = {
			save_scope_as = sighting_county
			hunt_activity_standard_game_effect = { PROVINCE = scope:sighting_province HUNTER = root }
		}
	}

	option = {
		name = bp3_roaming.0110.a
		involved_activity = {
			add_activity_log_entry = {
				key = roaming_animal_sighting_key
				tags = { activity_log }
				character = root
				root = {
					roaming_fame_reward_event_effect = { VALUE = roaming_reward_fame_medium }
					scope:sighting_county = {
						# Create new sighting
						hunt_create_sighting_effect = {
							TYPE = standard
							ANIMAL = var:animal_type
							OWNER = root
						}
					}
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 1.5
				OR = {
					has_trait = lifestyle_hunter
					has_trait = athletic
				}
			}
		}
	}

	option = {
		name = {
			text = bp3_roaming.0110.b.weakling
			trigger = {
				NOR = {
					scope:sighting_county = {
						OR = {
							var:animal_type = flag:fox
							var:animal_type = flag:hare
						}
					}
					has_trait = lifestyle_hunter
					prowess >= 25
				}
			}
		}
		name = {
			text = bp3_roaming.0110.b.hunter
			trigger = {
				OR = {
					scope:sighting_county = {
						OR = {
							var:animal_type = flag:fox
							var:animal_type = flag:hare
						}
					}
					has_trait = lifestyle_hunter
					prowess >= 25
				}
			}
		}
		involved_activity = {
			add_activity_log_entry = {
				key = roaming_animal_sighting_key
				tags = { activity_log }
				character = root
				root = {
					roaming_fame_reward_event_effect = { VALUE = roaming_reward_fame_medium }
					stress_impact = { base = medium_stress_impact_loss }
					roaming_tally_variable_effect = { TYPE = stress VALUE = medium_stress_impact_loss }
				}
			}
		}

		ai_chance = {
			base = 100
		}
	}

	option = {
		name = bp3_roaming.0110.c
		trigger = {
			has_trait = lifestyle_poet
		}
		involved_activity = {
			add_activity_log_entry = {
				key = roaming_animal_sighting_poet_key
				tags = { activity_log }
				character = root
				root = {
					roaming_fame_reward_event_effect = { VALUE = roaming_reward_fame_very_high }
					stress_impact = {
						honest = medium_stress_gain
						deceitful = minor_stress_impact_loss
					}
					roaming_tally_stress_impact_effect = { TRAIT = honest VALUE = minor_stress_gain }
					roaming_tally_stress_impact_effect = { TRAIT = deceitful VALUE = minor_stress_impact_loss }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 10
				has_trait = lifestyle_poet
			}
		}
	}
}

# Legendary Animal Sighting
bp3_roaming.0120 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0120.t
	desc = {
		desc = bp3_roaming.0120.desc
		triggered_desc = {
			desc = bp3_roaming.0120.desc.companion
			trigger = {
				exists = scope:special_guest
			}
		}
	}
	theme = roaming_activity

	override_background = {
		trigger = {
			location = {
				terrain = forest
				has_winter_trigger = no
			}
		}
		reference = ep2_hunt_foggy_forest
	}

	left_portrait = {
		character = scope:host
		triggered_animation = {
			trigger = {
				OR = {
					scope:sighting_county = {
						OR = {
							var:animal_type = flag:fox
							var:animal_type = flag:hare
						}
					}
					has_trait = lifestyle_hunter
					prowess >= 25
				}
			}
			animation = personality_bold
		}
		triggered_animation = {
			trigger = {
				NOR = {
					scope:sighting_county = {
						OR = {
							var:animal_type = flag:fox
							var:animal_type = flag:hare
						}
					}
					has_trait = lifestyle_hunter
					prowess >= 25
				}
			}
			animation = paranoia
		}
	}

	center_portrait = {
		character = scope:special_guest
		animation = fear
	}

	cooldown = { months = 3 }

	weight_multiplier = {
		base = 1
		modifier = {
			OR = {
				has_activity_intent = reduce_stress_intent
				has_activity_intent = roaming_storyteller_intent
			}
			factor = 1.5
		}
	}

	override_effect_2d = {
		reference = rain
		trigger = {
			location = {
				tropical_seasons_region_trigger = yes
				middle_of_year_season_trigger = yes
			}
		}
	}

	widget = {
		is_shown = {
			location = { has_winter_trigger = yes }
		}
		gui = "event_window_widget_vfx_snow"
		container = "foreground_shader_vfx_container"
	}

	override_effect_2d = {
		reference = fog
		trigger = {
			location = {
				has_winter_trigger = no
				NAND = {
					tropical_seasons_region_trigger = yes
					middle_of_year_season_trigger = yes
				}
			}
		}
	}

	trigger = {
		NOT = {
			any_sub_realm_county = {
				has_county_modifier = hunt_sighting_legendary_modifier
			}
		}
	}

	immediate = {
		location = { save_scope_as = sighting_province }
		location.county = {
			save_scope_as = sighting_county
			hunt_activity_standard_game_effect = { PROVINCE = scope:sighting_province HUNTER = root }
		}
	}

	option = {
		name = bp3_roaming.0120.a
		involved_activity = {
			add_activity_log_entry = {
				key = roaming_legendary_sighting_key
				tags = { activity_log }
				character = root
				root = {
					roaming_fame_reward_event_effect = { VALUE = roaming_reward_fame_very_high }
					scope:sighting_county = {
						# Create new sighting
						hunt_create_sighting_effect = {
							TYPE = legendary
							ANIMAL = var:animal_type
							OWNER = root
						}
					}
				}
			}
		}
		start_hunt_mystical_animal_story_cycle_effect = yes

		ai_chance = {
			base = 100
			modifier = {
				factor = 1.5
				OR = {
					has_trait = lifestyle_hunter
					has_trait = athletic
				}
			}
		}
	}

	option = {
		name = bp3_roaming.0120.b
		involved_activity = {
			add_activity_log_entry = {
				key = roaming_legendary_sighting_key
				tags = { activity_log }
				character = root
				root = {
					roaming_fame_reward_event_effect = { VALUE = roaming_reward_fame_very_high }
					stress_impact = { base = massive_stress_impact_loss }
					roaming_tally_variable_effect = { TYPE = stress VALUE = massive_stress_impact_loss }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 10
				stress > 90
			}
		}
	}

	option = {
		name = bp3_roaming.0120.c
		trigger = {
			has_trait = lifestyle_poet
		}
		involved_activity = {
			add_activity_log_entry = {
				key = roaming_legendary_sighting_poet_key
				tags = { activity_log }
				character = root
				root = {
					roaming_fame_reward_event_effect = { VALUE = roaming_reward_fame_legendary }
					stress_impact = {
						honest = medium_stress_gain
						deceitful = minor_stress_impact_loss
					}
					roaming_tally_stress_impact_effect = { TRAIT = honest VALUE = minor_stress_gain }
					roaming_tally_stress_impact_effect = { TRAIT = deceitful VALUE = minor_stress_impact_loss }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 10
				has_trait = lifestyle_poet
			}
		}
	}
}

# A Battlefield Forgotten
bp3_roaming.0130 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0130.t
	desc = {
		desc = bp3_roaming.0130.desc
		triggered_desc = {
			desc = bp3_roaming.0130.desc.companion
			trigger = {
				exists = scope:special_guest
			}
		}
	}
	theme = battle

	left_portrait = {
		character = scope:host
		animation = worry
	}

	center_portrait = {
		character = scope:special_guest
		animation = fear
	}

	override_effect_2d = {
		reference = fog
	}

	cooldown = { months = 3 }

	weight_multiplier = {
		base = 1
		modifier = {
			has_activity_intent = roaming_storyteller_intent
			factor = 1.5
		}
	}

	option = {
		name = bp3_roaming.0130.a
		involved_activity = {
			add_activity_log_entry = {
				key = roaming_battlefield_prayer_key
				tags = { activity_log }
				character = root
				root = {
					roaming_fame_reward_event_effect = { VALUE = roaming_reward_fame_medium }

					add_piety = medium_piety_gain
					roaming_tally_variable_effect = { TYPE = piety VALUE = medium_piety_gain }

					stress_impact = {
						compassionate = minor_stress_impact_loss
						zealous = minor_stress_impact_loss
					}
					roaming_tally_stress_impact_effect = { TRAIT = compassionate VALUE = minor_stress_impact_loss }
					roaming_tally_stress_impact_effect = { TRAIT = zealous VALUE = minor_stress_impact_loss }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 1.5
				OR = {
					has_trait = zealous
					has_trait = compassionate
				}
			}
		}
	}

	option = {
		name = bp3_roaming.0130.b

		involved_activity = {
			add_activity_log_entry = {
				key = roaming_battlefield_scavenging_key
				tags = { activity_log }
				character = root
				root = {
					roaming_fame_reward_event_effect = { VALUE = roaming_reward_fame_medium }

					add_gold = minor_gold_value
					roaming_tally_variable_effect = { TYPE = gold VALUE = minor_gold_value }

					stress_impact = {
						greedy = minor_stress_impact_loss
						compassionate = minor_stress_gain
						generous = medium_stress_gain
					}
					roaming_tally_stress_impact_effect = { TRAIT = greedy VALUE = minor_stress_impact_loss }
					roaming_tally_stress_impact_effect = { TRAIT = compassionate VALUE = minor_stress_gain }
					roaming_tally_stress_impact_effect = { TRAIT = generous VALUE = medium_stress_gain }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 0
				OR = {
					has_trait = compassionate
					has_trait = generous
				}
			}
		}
	}

	option = {
		name = bp3_roaming.0130.c
		trigger = {
			has_trait = lifestyle_poet
		}
		involved_activity = {
			add_activity_log_entry = {
				key = roaming_battlefield_poet_key
				tags = { activity_log }
				character = root
				root = {
					roaming_fame_reward_event_effect = { VALUE = roaming_reward_fame_very_high }

					stress_impact = {
						honest = medium_stress_gain
						deceitful = minor_stress_impact_loss
					}
					roaming_tally_stress_impact_effect = { TRAIT = honest VALUE = minor_stress_gain }
					roaming_tally_stress_impact_effect = { TRAIT = deceitful VALUE = minor_stress_impact_loss }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 10
				has_trait = lifestyle_poet
			}
		}
	}
}

# A Night in the Wilds
bp3_roaming.0140 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0140.t
	desc = {
		desc = bp3_roaming.0140.desc
		triggered_desc = {
			desc = bp3_roaming.0140.desc.companion
			trigger = {
				exists = scope:special_guest
			}
		}
	}
	theme = roaming_activity
	override_background = { reference = ep3_campfire }

	left_portrait = {
		character = scope:host
		animation = paranoia
	}

	cooldown = { months = 3 }

	weight_multiplier = {
		base = 1
		modifier = {
			has_activity_intent = roaming_mystic_intent
			factor = 1.5
		}
	}

	immediate = {
		save_scope_value_as = {
			name = trait_xp
			value = { integer_range = { min = 5 max = 8 } }
		}
	}

	option = {
		name = bp3_roaming.0140.a
		involved_activity = {
			add_activity_log_entry = {
				key = roaming_night_scare_key
				tags = { activity_log }
				character = root
				root = {
					stress_impact = {
						base = miniscule_stress_gain
					}
					roaming_tally_variable_effect = { TYPE = stress VALUE = miniscule_stress_gain }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 1.5
				has_trait = content
			}
		}
	}

	option = {
		name = bp3_roaming.0140.b
		involved_activity = {
			random_list = {
				50 = {
					desc = bp3_roaming.0140.b.2
					add_activity_log_entry = {
						key = roaming_night_sleep_key
						tags = { activity_log }
						character = root
						root = {
							send_interface_toast = {
								type = event_generic_good
								title = bp3_roaming.0140.b.2
								left_icon = root
								stress_impact = {
									base = minor_stress_impact_loss
								}
								roaming_tally_variable_effect = { TYPE = stress VALUE = minor_stress_impact_loss }
							}
						}
					}
				}
				50 = {
					desc = bp3_roaming.0140.b.1
					add_activity_log_entry = {
						key = roaming_night_threat_key
						tags = { activity_log }
						character = root
						root = {
							send_interface_toast = {
								type = event_generic_bad
								title = bp3_roaming.0140.b.1
								left_icon = root
								stress_impact = {
									base = minor_stress_gain
								}
								roaming_tally_variable_effect = { TYPE = stress VALUE = minor_stress_gain }
							}
						}
					}
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 1.5
				has_trait = paranoid
			}
		}
	}

	option = {
		name = bp3_roaming.0140.c
		trigger = {
			has_trait = lifestyle_poet
		}

		involved_activity = {
			add_activity_log_entry = {
				key = roaming_night_poet_key
				tags = { activity_log }
				character = root
				root = {
					roaming_fame_reward_event_effect = { VALUE = roaming_reward_fame_medium }

					stress_impact = {
						base = miniscule_stress_gain
						honest = medium_stress_gain
						deceitful = minor_stress_impact_loss
					}
					roaming_tally_variable_effect = { TYPE = stress VALUE = miniscule_stress_gain }
					roaming_tally_stress_impact_effect = { TRAIT = honest VALUE = minor_stress_gain }
					roaming_tally_stress_impact_effect = { TRAIT = deceitful VALUE = minor_stress_impact_loss }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 10
				has_trait = lifestyle_poet
			}
		}
	}

	option = {
		name = bp3_roaming.0140.d

		trigger = {
			has_trait = lifestyle_mystic
		}

		involved_activity = {
			add_activity_log_entry = {
				key = roaming_night_mystic_key
				tags = { activity_log }
				character = root
				root = {
					add_trait_xp = {
						trait = lifestyle_mystic
						value = scope:trait_xp
					}
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 10
				has_trait = lifestyle_mystic
			}
		}
	}
}

# A Quiet Pond
bp3_roaming.0150 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0150.t
	desc = {
		desc = bp3_roaming.0150.desc
		triggered_desc = {
			desc = bp3_roaming.0150.desc.no_companion
			trigger = {
				NOT = { exists = scope:special_guest }
			}
		}
		triggered_desc = {
			desc = bp3_roaming.0150.desc.companion
			trigger = {
				exists = scope:special_guest
			}
		}
	}
	theme = roaming_activity
	override_background = {
		reference = ce1_legendary_oasis
		trigger = {
			location = {
				OR = {
					terrain = desert
					terrain = desert_mountains
				}
			}
		}
	}
	override_background = {
		reference = ce1_legendary_spring
		trigger = {
			location = {
				NOR = {
					terrain = desert
					terrain = desert_mountains
				}
			}
		}
	}

	left_portrait = {
		character = scope:host
		animation = survey_staff
	}

	center_portrait = {
		character = scope:special_guest
		animation = happiness
	}

	cooldown = { months = 3 }

	weight_multiplier = {
		base = 1
		modifier = {
			has_activity_intent = reduce_stress_intent
			factor = 1.5
		}
	}

	option = {
		name = bp3_roaming.0150.a

		involved_activity = {
			add_activity_log_entry = {
				key = roaming_quiet_pond_key
				tags = { activity_log }
				character = root
				root = {
					stress_impact = {
						base = minor_stress_impact_loss
						lazy = minor_stress_impact_loss
					}
					roaming_tally_variable_effect = { TYPE = stress VALUE = minor_stress_impact_loss }
					roaming_tally_stress_impact_effect = { TRAIT = lazy VALUE = minor_stress_impact_loss }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 1.5
				has_trait = lazy
			}
		}
	}

	option = {
		name = bp3_roaming.0150.b
		trigger = {
			has_trait = lifestyle_poet
		}

		involved_activity = {
			add_activity_log_entry = {
				key = roaming_quiet_pond_poet_key
				tags = { activity_log }
				character = root
				root = {
					roaming_fame_reward_event_effect = { VALUE = roaming_reward_fame_medium }

					stress_impact = {
						honest = medium_stress_gain
						deceitful = minor_stress_impact_loss
					}
					roaming_tally_stress_impact_effect = { TRAIT = honest VALUE = minor_stress_gain }
					roaming_tally_stress_impact_effect = { TRAIT = deceitful VALUE = minor_stress_impact_loss }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 10
				has_trait = lifestyle_poet
			}
		}
	}
}

# The Ruined Building
bp3_roaming.0160 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0160.t
	desc = {
		desc = bp3_roaming.0160.desc
		triggered_desc = {
			desc = bp3_roaming.0160.desc.no_companion
			trigger = {
				NOT = { exists = scope:special_guest }
			}
		}
		triggered_desc = {
			desc = bp3_roaming.0160.desc.companion
			trigger = {
				exists = scope:special_guest
			}
		}
		desc = bp3_roaming.0160.desc.outro
	}
	theme = roaming_activity
	override_background = {
		reference = burning_building_west
	}

	override_effect_2d = {
		reference = smoke
	}

	left_portrait = {
		character = scope:host
		animation = disbelief
	}

	center_portrait = {
		character = scope:special_guest
		animation = fear
	}

	cooldown = { months = 3 }

	weight_multiplier = {
		base = 1
	}

	option = {
		name = bp3_roaming.0160.a
		involved_activity = {
			add_activity_log_entry = {
				key = roaming_burning_farm_piety_key
				tags = { activity_log }
				character = root
				root = {
					add_piety = medium_piety_gain
					roaming_tally_variable_effect = { TYPE = piety VALUE = medium_piety_gain }

					stress_impact = {
						compassionate = minor_stress_impact_loss
						zealous = minor_stress_impact_loss
					}
					roaming_tally_stress_impact_effect = { TRAIT = compassionate VALUE = minor_stress_impact_loss }
					roaming_tally_stress_impact_effect = { TRAIT = zealous VALUE = minor_stress_impact_loss }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 0
				has_trait = greedy
			}
		}
	}

	option = {
		name = bp3_roaming.0160.b
		involved_activity = {
			add_activity_log_entry = {
				key = roaming_burning_farm_greedy_key
				tags = { activity_log }
				character = root
				root = {
					add_gold = tiny_gold_value
					roaming_tally_variable_effect = { TYPE = gold VALUE = tiny_gold_value }

					stress_impact = {
						greedy = minor_stress_impact_loss
						compassionate = minor_stress_gain
						generous = medium_stress_gain
					}
					roaming_tally_stress_impact_effect = { TRAIT = greedy VALUE = minor_stress_impact_loss }
					roaming_tally_stress_impact_effect = { TRAIT = compassionate VALUE = minor_stress_gain }
					roaming_tally_stress_impact_effect = { TRAIT = generous VALUE = medium_stress_gain }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 0
				OR = {
					has_trait = compassionate
					has_trait = generous
				}
			}
		}
	}

	option = {
		name = bp3_roaming.0160.c
		trigger = {
			has_trait = lifestyle_poet
		}

		involved_activity = {
			add_activity_log_entry = {
				key = roaming_burning_farm_poet_key
				tags = { activity_log }
				character = root
				root = {
					roaming_fame_reward_event_effect = { VALUE = roaming_reward_fame_medium }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 10
				has_trait = lifestyle_poet
			}
		}
	}
}

# A Quiet Day
bp3_roaming.0170 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0170.t
	desc = {
		desc = bp3_roaming.0170.desc
		triggered_desc = {
			desc = bp3_roaming.0170.desc.no_companion
			trigger = {
				NOT = { exists = scope:special_guest }
			}
		}
		triggered_desc = {
			desc = bp3_roaming.0170.desc.companion
			trigger = {
				exists = scope:special_guest
			}
		}
	}
	theme = roaming_activity

	cooldown = { months = 3 }

	left_portrait = {
		character = scope:host
		animation = happiness
	}

	right_portrait = {
		character = scope:special_guest
		animation = laugh
	}

	override_effect_2d = {
		reference = legend_glow
	}

	weight_multiplier = {
		base = 1
		modifier = {
			OR = {
				has_activity_intent = reduce_stress_intent
				has_activity_intent = roaming_befriend_intent
			}
			factor = 1.5
		}
	}

	option = {
		name = bp3_roaming.0170.a
		roaming_progress_events_reward_effect = { LOG_KEY = roaming_quiet_day_key }
	}
}

# Are we there yet?
bp3_roaming.0180 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0180.t
	desc = bp3_roaming.0180.desc
	theme = roaming_activity

	left_portrait = {
		character = scope:host
		animation = happiness
	}

	right_portrait = {
		character = scope:special_guest
		animation = disappointed
	}

	cooldown = { months = 3 }

	weight_multiplier = {
		base = 1
		modifier = {
			OR = {
				has_activity_intent = reduce_stress_intent
				has_activity_intent = roaming_befriend_intent
			}
			factor = 1.5
		}
	}

	trigger = {
		scope:special_guest ?= {
			OR = {
				age <= 16
				has_trait = lazy
				has_trait = impatient
				current_weight > 50
			}
		}
		NOR = {
			has_trait = lazy
			has_trait = impatient
		}
	}

	option = {
		name = bp3_roaming.0180.a
		involved_activity = {
			add_activity_log_entry = {
				key = roaming_tired_mutterings_lies_key
				tags = { activity_log }
				character = root
				root = {
					stress_impact = {
						base = minor_stress_impact_loss
						honest = medium_stress_gain
						deceitful = medium_stress_impact_loss
						callous = minor_stress_impact_loss
					}
					roaming_tally_variable_effect = { TYPE = stress VALUE = medium_stress_impact_loss }
					roaming_tally_stress_impact_effect = { TRAIT = honest VALUE = medium_stress_gain }
					roaming_tally_stress_impact_effect = { TRAIT = deceitful VALUE = medium_stress_impact_loss }
					roaming_tally_stress_impact_effect = { TRAIT = callous VALUE = minor_stress_impact_loss }
				}
			}
		}
		random = {
			chance = 10
			involved_activity = {
				add_activity_log_entry = {
					key = roaming_tired_mutterings_athletic_key
					tags = { activity_log }
					character = root
					root = {
						send_interface_toast = {
							type = event_generic_good
							title = bp3_roaming.0180.a_short
							left_icon = root
							add_trait = athletic
							set_variable = roaming_tally_athletic
						}
					}
				}
			}
		}

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

	option = {
		name = bp3_roaming.0180.b
		involved_activity = {
			add_activity_log_entry = {
				key = roaming_tired_mutterings_break_key
				tags = { activity_log }
				character = scope:special_guest
				scope:special_guest = {
					reverse_add_opinion = {
						modifier = friendliness_opinion
						target = root
						opinion = 15
					}
					roaming_tally_variable_effect = { TYPE = opinion VALUE = 15 }
				}
				root = {
					reverse_add_opinion = {
						modifier = friendliness_opinion
						target = scope:special_guest
						opinion = 15
					}
					roaming_tally_variable_effect = { TYPE = opinion VALUE = 15 }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 0
				OR = {
					has_trait = sadistic
					has_trait = athletic
					has_trait = callous
				}
			}
		}
	}
}

# A chance to talk
bp3_roaming.0190 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0190.t
	desc = bp3_roaming.0190.desc
	theme = roaming_activity

	left_portrait = {
		character = scope:host
		animation = happiness
	}

	right_portrait = {
		character = scope:special_guest
		animation = laugh
	}

	cooldown = { months = 3 }

	weight_multiplier = {
		base = 1
		modifier = {
			has_activity_intent = roaming_befriend_intent
			factor = 1.5
		}
	}

	trigger = {
		exists = scope:special_guest
	}

	immediate = {
		random_courtier_or_guest = {
			limit = {
				NOR = {
					this = root
					this = scope:special_guest
				}
				age > 5
			}
			save_scope_as = random_courtier
		}
	}

	option = {
		name = bp3_roaming.0190.a
		involved_activity = {
			add_activity_log_entry = {
				key = roaming_chance_to_talk_key
				tags = { activity_log }
				character = root
				scope:special_guest = {
					reverse_add_opinion = {
						modifier = friendliness_opinion
						target = root
						opinion = 20
					}
					roaming_tally_variable_effect = { TYPE = opinion VALUE = 20 }
				}
				root = {
					reverse_add_opinion = {
						modifier = friendliness_opinion
						target = scope:special_guest
						opinion = 20
					}
					roaming_tally_variable_effect = { TYPE = opinion VALUE = 20 }
				}
			}
		}
	}
}

# Astronomical Sight
bp3_roaming.0200 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0200.t
	desc = bp3_roaming.0200.desc
	theme = roaming_activity

	override_background = {
		reference = bp1_bonfire
	}

	left_portrait = {
		character = scope:host
		animation = happiness
	}

	right_portrait = {
		character = scope:special_guest
		animation = admiration
	}

	cooldown = { years = 1 }

	option = {
		name = bp3_roaming.0200.a
		involved_activity = {
			add_activity_log_entry = {
				key = roaming_nightsky_canvas_key
				tags = { activity_log }
				character = root
				scope:host = {
					stress_impact = {
						base = medium_stress_impact_loss
						zealous = medium_stress_impact_loss
					}
					add_wanderer_lifestyle_xp = 500
					roaming_tally_stress_impact_effect = { TRAIT = zealous VALUE = medium_stress_impact_loss }
					roaming_fame_reward_event_effect = { VALUE = roaming_reward_fame_very_high }
				}
			}
		}
	}
}

# The Birds Overhead
bp3_roaming.0210 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0210.t
	desc = bp3_roaming.0210.desc
	theme = roaming_activity

	left_portrait = {
		character = scope:host
		animation = survey_staff
	}

	right_portrait = {
		character = scope:special_guest
		animation = happiness
	}

	cooldown = { months = 3 }

	weight_multiplier = {
		base = 1
		modifier = {
			OR = {
				has_activity_intent = reduce_stress_intent
				has_activity_intent = roaming_befriend_intent
				has_activity_intent = roaming_storyteller_intent
			}
			factor = 1.5
		}
	}

	option = {
		name = bp3_roaming.0210.a
		roaming_progress_events_reward_effect = { LOG_KEY = the_birds_overhead_key }
	}
}

# The Forgotten Village
bp3_roaming.0220 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0220.t
	desc = bp3_roaming.0220.desc
	theme = roaming_activity

	override_background = { reference = market_tribal }

	left_portrait = {
		character = scope:host
		animation = shock
	}

	right_portrait = {
		character = scope:peasant_character
		hide_info = yes
		animation = dismissal
	}

	cooldown = { months = 3 }

	weight_multiplier = {
		base = 1
		modifier = {
			has_activity_intent = roaming_mystic_intent
		}
	}

	immediate = {
		create_character = {
			template = peasant_character
			faith = scope:province.faith
			culture = scope:province.culture
			gender = root
			location = scope:province
			save_scope_as = peasant_character
		}
	}

	option = {
		name = {
			trigger = {
				is_landless_adventurer = no
			}
			text = bp3_roaming.0220.a
		}
		name = {
			trigger = {
				has_government = landless_adventurer_government
			}
			text = bp3_roaming.0220.a.landless
		}
		involved_activity = {
			add_activity_log_entry = {
				key = the_forgotten_village_key
				tags = { activity_log }
				character = root
				root = {
					roaming_gold_reward_APA_effect = { REWARD = tiny_gold_value }
					stress_impact = {
						greedy = minor_stress_impact_loss
						generous = minor_stress_gain
					}
					roaming_tally_stress_impact_effect = { TRAIT = greedy VALUE = minor_stress_impact_loss }
					roaming_tally_stress_impact_effect = { TRAIT = generous VALUE = minor_stress_gain }
					if = {
						limit = {
							has_government = landless_adventurer_government
							NOT = { has_trait = gallowsbait }
						}
						add_trait = gallowsbait
					}
					else_if = {
						limit = {
							has_government = landless_adventurer_government
							has_trait = gallowsbait
						}
						add_trait_xp = {
							trait = gallowsbait
							track = thief
							value = 5
						}
					}
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 1.5
				has_trait = greedy
			}
			modifier = {
				factor = 0
				has_trait = generous
			}
		}
	}

	option = {
		name = bp3_roaming.0220.b
		involved_activity = {
			add_activity_log_entry = {
				key = the_forgotten_village_key
				tags = { activity_log }
				character = root
				root = {
					scope:province = {
						add_province_modifier = {
							modifier = roaming_forgotten_village_modifier
							years = 10
						}
					}
					stress_impact = {
						lifestyle_mystic = minor_stress_impact_loss
						gregarious = minor_stress_impact_loss
					}
					roaming_tally_stress_impact_effect = { TRAIT = lifestyle_mystic VALUE = minor_stress_impact_loss }
					roaming_tally_stress_impact_effect = { TRAIT = gregarious VALUE = minor_stress_impact_loss }
				}
			}
		}

		random = {
			chance = roaming_mystic_chance_value
			involved_activity = {
				add_activity_log_entry = {
					key = the_forgotten_village_mystic_key
					tags = { activity_log }
					character = root
					root = {
						send_interface_message = {
							type = event_generic_good
							title = bp3_roaming.0220.b.mystic

							roaming_mystic_xp_APA_effect = { REWARD = 3 }
							if = {
								limit = {
									NOT = { has_trait = lifestyle_mystic }
								}
								add_trait = lifestyle_mystic
							}
						}
					}
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 1.5
				OR = {
					has_trait = gregarious
					has_trait = lifestyle_mystic
				}
			}
		}
	}

	option = {
		name = bp3_roaming.0220.c
		involved_activity = {
			add_activity_log_entry = {
				key = the_forgotten_village_key
				tags = { activity_log }
				character = root
				root = {
					roaming_fame_reward_event_effect = { VALUE = roaming_reward_fame_medium }
					stress_impact = { lifestyle_poet = minor_stress_impact_loss }
					roaming_tally_stress_impact_effect = { TRAIT = lifestyle_poet VALUE = minor_stress_impact_loss }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 1.5
				has_trait = lifestyle_poet
			}
		}
	}

	after = {
		scope:peasant_character = {
			silent_disappear_ai_if_not_hired = yes
		}
	}
}

# The Hermit
bp3_roaming.0230 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0230.t
	desc = bp3_roaming.0230.desc
	theme = roaming_activity

	left_portrait = {
		character = scope:host
		animation = boredom
	}

	right_portrait = {
		character = scope:hermit_character
		animation = debating
	}

	cooldown = { months = 3 }

	trigger = {
		scope:province.religion = {
			any_faith = {
				this != root.faith
				num_county_followers < 3
			}
		}
	}

	weight_multiplier = {
		base = 1
		modifier = {
			factor = 1.5
			has_activity_intent = roaming_mystic_intent
		}
	}

	immediate = {
		scope:province.religion = {
			random_faith = {
				limit = {
					this != root.faith
					num_county_followers < 3
				}
				save_scope_as = hermit_faith
			}
		}
		create_character = {
			template = peasant_character
			faith = scope:hermit_faith
			culture = scope:province.culture
			gender = root
			location = scope:province
			save_scope_as = hermit_character
			after_creation = {
				add_trait = eccentric
				add_character_flag = roaming_character
			}
		}
	}

	option = {
		name = bp3_roaming.0230.a

		involved_activity = {
			add_activity_log_entry = {
				key = the_hermit_key
				tags = { activity_log }
				character = root
				root = {
					add_character_modifier = {
						modifier = roaming_the_hermit_modifier
						years = 10
					}
					stress_impact = { zealous = major_stress_gain }
					roaming_tally_stress_impact_effect = { TRAIT = zealous VALUE = major_stress_gain }
				}
			}
		}

		random = {
			chance = roaming_mystic_chance_value
			involved_activity = {
				add_activity_log_entry = {
					key = the_hermit_learning_key
					tags = { activity_log }
					character = root
					root = {
						send_interface_message = {
							type = event_generic_good
							title = bp3_roaming.0230.a.hermit

							roaming_mystic_xp_APA_effect = { REWARD = 3 }
							if = {
								limit = {
									NOT = { has_trait = lifestyle_mystic }
								}
								add_trait = lifestyle_mystic
							}
						}
					}
				}
			}
		}

		scope:hermit_character = {
			silent_disappear_ai_if_not_hired = yes
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 1.5
				has_trait = lifestyle_mystic
			}
			modifier = {
				factor = 0
				has_trait = zealous
			}
		}
	}

	option = {
		name = bp3_roaming.0230.b
		trigger = {
			NOR = {
				any_secret = { type = secret_crypto_religionist }
				exists = secret_faith
				scope:hermit_faith = faith
			}
		}

		involved_activity = {
			add_activity_log_entry = {
				key = the_hermit_key
				tags = { activity_log }
				character = root
				root = {
					custom_tooltip = bp3_roaming.0230.b.tooltip
					make_character_crypto_religionist_effect = { CRYPTO_RELIGION = scope:hermit_faith }
					stress_impact = { zealous = major_stress_gain }
					roaming_tally_stress_impact_effect = { TRAIT = zealous VALUE = major_stress_gain }
				}
			}
		}

		scope:hermit_character = {
			silent_disappear_ai_if_not_hired = yes
		}

		ai_chance = {
			base = 0
			modifier = {
				add = 100
				OR = {
					has_trait = lunatic
					has_trait = eccentric
				}
			}
		}
	}

	option = {
		name = bp3_roaming.0230.c

		involved_activity = {
			add_activity_log_entry = {
				key = the_hermit_key
				tags = { activity_log }
				character = root
				root = {
					add_piety = medium_piety_gain
					roaming_tally_variable_effect = { TYPE = piety VALUE = medium_piety_gain }

					scope:hermit_character = {
						death = {
							death_reason = death_murder
							killer = root
						}
					}

					stress_impact = { zealous = medium_stress_impact_loss }
					roaming_tally_stress_impact_effect = { TRAIT = zealous VALUE = medium_stress_impact_loss }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 1.5
				has_trait = zealous
			}
		}
	}
}

# A Night to Remember
bp3_roaming.0240 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0240.t
	desc = bp3_roaming.0240.desc
	theme = roaming_activity

	override_background = { reference = ep3_campfire }

	left_portrait = {
		character = scope:host
		animation = stunned
	}

	cooldown = { months = 3 }

	weight_multiplier = {
		base = 1
		modifier = {
			OR = {
				has_activity_intent = reduce_stress_intent
				has_activity_intent = roaming_storyteller_intent
				has_activity_intent = roaming_mystic_intent
			}
			factor = 1.5
		}
	}

	trigger = {
		scope:province = {
			NOT = { has_province_modifier = wayfarer_astronomical_phenomenon }
		}
	}

	option = {
		name = bp3_roaming.0240.a
		involved_activity = {
			add_activity_log_entry = {
				key = a_night_to_remember_key
				tags = { activity_log }
				character = root
				root = {
					if = {
						limit = {
							has_trait = lifestyle_mystic
							has_activity_intent = roaming_mystic_intent
						}
					}
					else = {
						roaming_fame_reward_event_effect = { VALUE = roaming_reward_fame_medium }
					}
					stress_impact = { base = minor_stress_impact_loss }
					roaming_tally_variable_effect = { TYPE = stress VALUE = minor_stress_impact_loss }
				}
			}
		}
	}
}

# A Small Grave
bp3_roaming.0250 = {
	type = activity_event
	content_source = dlc_015
	title = bp3_roaming.0250.t
	desc = bp3_roaming.0250.desc
	theme = roaming_activity

	left_portrait = {
		character = scope:host
		animation = prayer
	}

	cooldown = { months = 3 }

	weight_multiplier = {
		base = 1
	}

	immediate = {
		save_scope_value_as = {
			name = randomized_chance
			value = { integer_range = { min = 1 max = 20 } }
		}
	}

	option = {
		name = bp3_roaming.0250.a
		involved_activity = {
			add_activity_log_entry = {
				key = a_small_grave_key
				tags = { activity_log }
				character = root
				root = {
					add_piety = medium_piety_gain
					roaming_tally_variable_effect = { TYPE = piety VALUE = medium_piety_gain }
					stress_impact = { zealous = medium_stress_impact_loss }
					roaming_tally_stress_impact_effect = { TRAIT = zealous VALUE = medium_stress_impact_loss }
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 1.5
				has_trait = zealous
			}
		}
	}

	option = {
		name = bp3_roaming.0250.b
		add_piety = medium_piety_loss
		roaming_tally_variable_effect = { TYPE = piety VALUE = medium_piety_loss }
		show_as_tooltip = {
			random_list = {
				1 = {
					desc = no_treasure
					show_chance = no
				}
				1 = {
					desc = small_treasure
					show_chance = no
					add_gold = tiny_gold_value
				}
				1 = {
					desc = medium_treasure
					show_chance = no
					add_gold = minor_gold_value
				}
				1 = {
					desc = large_treasure
					show_chance = no
					add_gold = medium_gold_value
					custom_tooltip = bp3_roaming.0250.artifact
				}
			}
			stress_impact = { greedy = medium_stress_impact_loss }
		}
		hidden_effect_new_object = {
			involved_activity = {
				add_activity_log_entry = {
					key = a_small_grave_key
					tags = { activity_log }
					character = root
					root = {
						if = {
							limit = {
								scope:randomized_chance > 18
							}
							hidden_effect = {
								create_character = {
									template = merchant_template
									faith = scope:province.faith
									culture = scope:province.culture
									gender = root
									location = scope:province
									save_scope_as = blacksmith_character
								}
								scope:blacksmith_character = {
									random_list = {
										1 = {
											create_artifact_weapon_effect = {
												OWNER = scope:blacksmith_character
												CREATOR = scope:blacksmith_character
												SET_WEAPON_TYPE = flag:no
											}
										}
										1 = {
											create_artifact_armor_effect = {
												OWNER = scope:blacksmith_character
												CREATOR = scope:blacksmith_character
												SET_ARMOR_TYPE = flag:no
											}
										}
										1 = {
											create_artifact_brooch_effect = {
												OWNER = scope:blacksmith_character
												SMITH = scope:blacksmith_character
											}
										}
									}
								}
							}
							send_interface_message = {
								type = event_generic_good
								title = large_treasure

								scope:newly_created_artifact ?= {
									set_owner = {
										target = root
										history = {
											actor = root
											recipient = root
											location = scope:province
											type = discovered
										}
									}
								}
								add_gold = medium_gold_value
							}
						}
						else_if = {
							limit = {
								scope:randomized_chance > 13
							}
							send_interface_message = {
								type = event_generic_good
								title = medium_treasure

								add_gold = minor_gold_value
							}
						}
						else_if = {
							limit = {
								scope:randomized_chance > 7
							}
							send_interface_message = {
								type = event_generic_good
								title = small_treasure

								add_gold = tiny_gold_value
							}
						}
						else = {
							send_interface_message = {
								type = event_generic_good
								title = no_treasure
							}
						}
						stress_impact = {
							greedy = minor_stress_impact_loss
							generous = minor_stress_gain
							zealous = minor_stress_gain
						}
						roaming_tally_stress_impact_effect = { TRAIT = greedy VALUE = minor_stress_impact_loss }
						roaming_tally_stress_impact_effect = { TRAIT = generous VALUE = minor_stress_gain }
						roaming_tally_stress_impact_effect = { TRAIT = zealous VALUE = minor_stress_gain }
					}
				}
			}
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 1.5
				has_trait = greedy
			}
			modifier = {
				factor = 0
				OR = {
					has_trait = zealous
					has_trait = generous
				}
			}
		}
	}

	after = {
		scope:blacksmith_character ?= {
			silent_disappear_ai_if_not_hired = yes
		}
	}
}
