﻿#Effects used in the Pets Expanded mod

######################################################################
# EFFECTS
######################################################################



#######################
#######################
# STORY SETUP
#######################
#######################
create_pet_dummy_effect = {
	$PET_OWNER$ = { save_scope_as = pet_owner }
	#We use a dummy character so that we can track name/gender better, and it also gives us some other benefits! 
	create_character = {
		age = 0
		#name = "​"
		dynasty = none
		gender_female_chance = pet_gender_female_chance
		location = scope:pet_owner.location
		#employer = scope:pet_owner
		faith = scope:pet_owner.faith
		culture = scope:pet_owner.culture
		save_scope_as = pet_dummy
	}
	scope:pet_dummy = {
		give_nickname = nick_pet_character
		death = {
			death_reason = death_vanished
		}
		make_unprunable = yes #To make sure the character doesn't disappear until we want it to
	}
	set_variable = {
		name = pet_dummy
		value = scope:pet_dummy
	}

	set_variable = {
		name = pet_has_not_been_named
		years = 1
	}

	if = {
		limit = { exists = scope:pet_owner.var:save_newly_created_pet_scope }
		#if = {
		#	limit = {
		#		scope:pet_owner.var:save_newly_created_pet_scope = flag:story
		#	}
		#	save_scope_as = story
		#}
		#else_if = {
		#	limit = {
		#		scope:pet_owner.var:save_newly_created_pet_scope = flag:new_story
		#	}
		#	save_scope_as = new_story
		#}
		scope:pet_owner = {
			set_variable = {
				name = save_newly_created_pet_scope
				value = prev
				days = 1
			}
		}
	}
}

cleanup_after_pet_story_creation_effect = {
	$PET_OWNER$ = { save_scope_as = pet_owner }
	if = {
		limit = {
			NOT = { exists = var:age_variable }
		}
		set_variable = {
			name = age_variable
			value = 0
		}
	}
	set_variable = {
		name = health
		value = flag:good
	}
	if = {
		limit = {
			exists = var:personality
			var:personality = flag:friendly
		}
		set_variable = {
			name = opinion_of_owner
			value = 4
		}
	}
	else = {
		set_variable = {
			name = opinion_of_owner
			value = 0
		}
	}
	
	if = {
		limit = {
			exists = scope:pet_owner.var:start_pet_story_mother
			exists = scope:pet_owner.var:start_pet_story_mother.var:pet_dummy
		}
		var:pet_dummy = {
			set_mother = scope:pet_owner.var:start_pet_story_mother.var:pet_dummy
		}
		scope:pet_owner.var:start_pet_story_mother = { remove_variable = is_pregnant }
		scope:pet_owner = { remove_variable = start_pet_story_mother }
	}
	if = {
		limit = {
			exists = scope:pet_owner.var:start_pet_story_father
			exists = scope:pet_owner.var:start_pet_story_father.var:pet_dummy
		}
		var:pet_dummy = {
			set_father = scope:pet_owner.var:start_pet_story_father.var:pet_dummy
		}
		scope:pet_owner = { remove_variable = start_pet_story_father }
	}

	set_variable = allowed_to_breed
	#If it's a player's pet they can decide freely, if it's an ai's pet we make an educated guess as to their choice
	if = {
		limit = { scope:pet_owner = { is_ai = no } }
		set_variable = allowed_to_roam_free
	}
	else = {
		random_list = {
			10 = {
				ai_value_modifier = {
					who = scope:pet_owner
					ai_boldness = 1
					ai_vengefulness = 0.75
					ai_rationality = -0.5
					ai_honor = -0.25
					ai_energy = -0.25
				}
				modifier = {
					add = 10
					exists = var:personality
					var:personality = flag:friendly
				}
				set_variable = allowed_to_roam_free
			}
			10 = {
				trigger = {
					scope:pet_owner = { employs_court_position = keeper_of_menagerie_court_position }
				}
				ai_value_modifier = {
					who = scope:pet_owner
					ai_compassion = 1
					ai_rationality = 1
				}
				modifier = {
					add = 10
					exists = var:personality
					var:personality = flag:aggressive
				}
				modifier = {
					add = 50
					pet_should_probably_not_roam_free_trigger = yes
				}
				#It's confined to the menagerie
			}
		}
	}

	#Remove variables saved on the owner
	story_owner = {
		if = {
			limit = {
				exists = var:pet_gender
			}
			remove_variable = pet_gender
		}

		#Update the owner's menagerie level
		update_menagerie_level_effect = yes
	}
}

update_vanilla_pet_effect = {
	if = {
		limit = {
			story_owner = { exists = var:original_pet_story }
		}
		if = {
			limit = {
				story_type = PE_story_cycle_cat
				story_owner = { exists = var:story_cycle_cat_name }
			}
			var:pet_dummy = {
				change_first_name = pets_expanded_cat_name_conversion
			}
			remove_variable = pet_has_not_been_named
		}
		else_if = {
			limit = {
				story_type = PE_story_cycle_dog
				story_owner = { exists = var:story_cycle_dog_name }
			}
			var:pet_dummy = {
				change_first_name = pets_expanded_dog_name_conversion
			}
			remove_variable = pet_has_not_been_named
		}
		else_if = {
			limit = {
				story_type = PE_story_cycle_horse
				story_owner = { exists = var:story_cycle_horse_name }
			}
			var:pet_dummy = {
				change_first_name = pets_expanded_horse_name_conversion
			}
			remove_variable = pet_has_not_been_named
		}

		#We connect the two stories so we can end them at the same time etc.
		set_variable = {
			name = original_pet_story
			value = story_owner.var:original_pet_story
		}
		
		story_owner.var:original_pet_story = {
			set_variable = {
				name = updated_pet_story
				value = root
			}
		}

		story_owner = { remove_variable = original_pet_story }
	}
}


#######################
# GUI EFFECTS
#######################

toggle_pet_window_variable_effect = {
	if = {
		limit = {
			has_variable = PE_gui_toggle
		}
		remove_variable = PE_gui_toggle
	}
	else = {
		set_variable = PE_gui_toggle

		#To remove the "highlight" on the button
		if = {
			limit = {
				NOT = { has_variable = PE_has_shown_button_highlight }
			}
			set_variable = PE_has_shown_button_highlight
		}
	}
}

check_and_close_animal_window_effect = {
	if = {
		limit = {
			NOR = {
				has_any_pet_trigger = yes
				AND = {
					has_variable_list = dead_pets_list
					any_in_list = {
						variable = dead_pets_list
						count >= 1
					}
				}
			}
			has_variable = PE_gui_toggle
		}
		remove_variable = PE_gui_toggle
	}
}

create_story_cycles_list_effect = {
	clear_variable_list = story_cycles

	save_scope_as = character_scope

	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_cat } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_cat }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:cat
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_dog } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_dog }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:dog
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_badger } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_badger }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:badger
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_bear } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_bear }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:bear
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_falcon } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_falcon }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:falcon
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_ferret } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_ferret }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:ferret
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_fox } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_fox }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:fox
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_hedgehog } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_hedgehog }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:hedgehog
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_lion } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_lion }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:lion
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_monkey } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_monkey }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:monkey
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_nightingale } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_nightingale }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:nightingale
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_parrot } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_parrot }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:parrot
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_rabbit } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_rabbit }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:rabbit
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_squirrel } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_squirrel }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:squirrel
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_tiger } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_tiger }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:tiger
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_weasel } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_weasel }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:weasel
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_elephant } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_elephant }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:elephant
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_hawk } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_hawk }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:hawk
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_raven } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_raven }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:raven
			}
		}
	}
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_horse } }
		every_owned_story = {
			limit = { story_type = PE_story_cycle_horse }
			save_scope_as = story_cycle_to_save
			scope:character_scope = {
				add_to_variable_list = {
					name = story_cycles
					target = scope:story_cycle_to_save
				}
			}
			set_variable = {
				name = story_type
				value = flag:horse
			}
		}
	}

	#Just to avoid errors
	if = {
		limit = { has_variable_list = dead_pets_list }
	}
}


# Menagerie level stuff
update_menagerie_modifier_effect = {
	if = {
		limit = {
			$menagerie_level$ >= PE_menagerie_level_high_value
		}
		if = {
			limit = {
				has_character_modifier = PE_menagerie_level_medium_modifier
			}
			remove_character_modifier = PE_menagerie_level_medium_modifier
			send_interface_message = {
				type = event_pets_expanded_neutral
				title = menagerie_level_increase_notification
				add_character_modifier = { modifier = PE_menagerie_level_high_modifier }
			}
		}
		else_if = {
			limit = {
				has_character_modifier = PE_menagerie_level_low_modifier
			}
			remove_character_modifier = PE_menagerie_level_low_modifier
			send_interface_message = {
				type = event_pets_expanded_neutral
				title = menagerie_level_increase_notification
				add_character_modifier = { modifier = PE_menagerie_level_high_modifier }
			}
		}
		else_if = {
			limit = {
				NOT = { has_character_modifier = PE_menagerie_level_high_modifier }
			}
			send_interface_message = {
				type = event_pets_expanded_neutral
				title = menagerie_level_increase_notification
				add_character_modifier = { modifier = PE_menagerie_level_high_modifier }
			}
		}
	}
	else_if = {
		limit = {
			$menagerie_level$ >= PE_menagerie_level_medium_value
		}
		if = {
			limit = {
				has_character_modifier = PE_menagerie_level_high_modifier
			}
			remove_character_modifier = PE_menagerie_level_high_modifier
			send_interface_message = {
				type = event_pets_expanded_bad
				title = menagerie_level_decrease_notification
				add_character_modifier = { modifier = PE_menagerie_level_medium_modifier }
			}
		}
		else_if = {
			limit = {
				has_character_modifier = PE_menagerie_level_low_modifier
			}
			remove_character_modifier = PE_menagerie_level_low_modifier
			send_interface_message = {
				type = event_pets_expanded_neutral
				title = menagerie_level_increase_notification
				add_character_modifier = { modifier = PE_menagerie_level_medium_modifier }
			}
		}
		else_if = {
			limit = {
				NOT = { has_character_modifier = PE_menagerie_level_medium_modifier }
			}
			send_interface_message = {
				type = event_pets_expanded_neutral
				title = menagerie_level_increase_notification
				add_character_modifier = { modifier = PE_menagerie_level_medium_modifier }
			}
		}
	}
	else_if = {
		limit = {
			$menagerie_level$ >= PE_menagerie_level_low_value
		}
		if = {
			limit = {
				has_character_modifier = PE_menagerie_level_high_modifier
			}
			remove_character_modifier = PE_menagerie_level_high_modifier
			send_interface_message = {
				type = event_pets_expanded_bad
				title = menagerie_level_decrease_notification
				add_character_modifier = { modifier = PE_menagerie_level_medium_modifier }
			}
		}
		else_if = {
			limit = {
				has_character_modifier = PE_menagerie_level_medium_modifier
			}
			remove_character_modifier = PE_menagerie_level_medium_modifier
			send_interface_message = {
				type = event_pets_expanded_bad
				title = menagerie_level_decrease_notification
				add_character_modifier = { modifier = PE_menagerie_level_low_modifier }
			}
		}
		else_if = {
			limit = {
				NOT = { has_character_modifier = PE_menagerie_level_low_modifier }
			}
			send_interface_message = {
				type = event_pets_expanded_neutral
				title = menagerie_level_increase_notification
				add_character_modifier = { modifier = PE_menagerie_level_low_modifier }
			}
		}
	}
}

update_menagerie_level_variable_change_effect = {
	if = {
		limit = { any_owned_story = { story_type = PE_story_cycle_$PET_TYPE$ } }
		set_variable = {
			name = menagerie_level_update_$PET_TYPE$
			value = 0
		}
		every_owned_story = {
			limit = { story_type = PE_story_cycle_$PET_TYPE$ }
			scope:character_scope = {
				change_variable = {
					name = menagerie_level_update_$PET_TYPE$
					add = 1
				}
			}
		}
		if = {
			limit = {
				var:menagerie_level_update_$PET_TYPE$ > PE_menagerie_level_variety_limit_value
			}
			set_variable = {
				name = menagerie_level_update_$PET_TYPE$
				value = PE_menagerie_level_variety_limit_value
			}
		}
		while = {
			limit = {
				var:menagerie_level_update_$PET_TYPE$ > 0
			}
			scope:character_scope = {
				change_variable = {
					name = menagerie_level_update_$PET_TYPE$
					add = -1
				}
				change_variable = {
					name = PE_menagerie_level
					add = PE_menagerie_level_increase_low_value
				}
			}
		}
		remove_variable = menagerie_level_update_$PET_TYPE$
	}
}

update_menagerie_level_effect = {
	save_scope_as = character_scope

	hidden_effect = {
		if = {
			limit = {
				is_landed = yes
			}
			if = {
				limit = {
					has_variable = PE_menagerie_level
				}
				set_variable = {
					name = PE_menagerie_level_old
					value = var:PE_menagerie_level
				}
			}
			set_variable = {
				name = PE_menagerie_level
				value = 0
			}


			change_variable = {
				name = PE_menagerie_level
				add = PE_menagerie_level_number_of_animals_value
			}
			change_variable = {
				name = PE_menagerie_level
				add = PE_menagerie_level_animal_variety_value
			}
			change_variable = {
				name = PE_menagerie_level
				add = PE_menagerie_level_status_animals_value
			}
			change_variable = {
				name = PE_menagerie_level
				add = PE_menagerie_level_animal_health_value
			}

			if = {
				limit = {
					any_court_position_holder = { type = keeper_of_menagerie_court_position }
				}
				change_variable = {
					name = PE_menagerie_level
					add = PE_menagerie_level_employs_keeper_value
				}
			}


			if = {
				limit = {
					has_variable = PE_menagerie_level_old
				}
				update_menagerie_modifier_effect = { menagerie_level = var:PE_menagerie_level }
				remove_variable = PE_menagerie_level_old
			}
		}
		#If you've become unlanded since the last check...
		else = {
			if = {
				limit = {
					has_variable = PE_menagerie_level
				}
				remove_variable = PE_menagerie_level
			}
		}
	}
}


#######################
# NAME THE PET
#######################
assign_name_options_pet_story_cycle_save_name_effect = {
	if = {
		limit = { NOT = { exists = var:pet_name_1 } }
		set_variable = {
			name = pet_name_1
			value = $PET_NAME$
		}
	}
	else_if = {
		limit = { NOT = { exists = var:pet_name_2 } }
		set_variable = {
			name = pet_name_2
			value = $PET_NAME$
		}
	}
	else_if = {
		limit = { NOT = { exists = var:pet_name_3 } }
		set_variable = {
			name = pet_name_3
			value = $PET_NAME$
		}
	}
}

#Pick out name options to show
assign_name_options_pet_story_cycle_effect = {
	random_list = {
		20 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_gray
				}
				scope:story.var:body_color = flag:gray
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_gray
			}
		}
		20 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_coal
				}
				scope:story.var:body_color = flag:black
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_coal
			}
		}
		20 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_night
				}
				scope:story.var:body_color = flag:black
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_night
			}
		}
		10 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_bruno
				}
				scope:story = {
					var:body_color = flag:brown
					var:pet_dummy = { is_female = no }
				}
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_bruno
			}
		}
		20 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_snow
				}
				scope:story.var:body_color = flag:white
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_snow
			}
		}
		20 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_dove
				}
				scope:story = {
					var:body_color = flag:white
					OR = {
						story_type = PE_story_cycle_parrot
						story_type = PE_story_cycle_falcon
						story_type = PE_story_cycle_nightingale
					}
				}
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_dove
			}
		}
		1 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_zucchini
				}
				scope:story = {
					story_type = PE_story_cycle_dog
					var:body_color = flag:white
				}
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_zucchini
			}
		}
		20 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_calliope
				}
				scope:story = {
					OR = {
						story_type = PE_story_cycle_parrot
						story_type = PE_story_cycle_nightingale
					}
					var:pet_dummy = { is_female = yes }
				}
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_calliope
			}
		}
		20 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_pierre
				}
				#Since it's a very french name we lock this to european heritage
				culture_has_european_heritage_pillar_trigger = yes
				scope:story = {
					story_type = PE_story_cycle_parrot
					var:pet_dummy = { is_female = no }
				}
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_pierre
			}
		}
		20 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_ava
				}
				scope:story = { story_type = PE_story_cycle_parrot }
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_ava
			}
		}
		20 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_polly
				}
				scope:story = { story_type = PE_story_cycle_parrot }
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_polly
			}
		}
		20 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_huntress
				}
				scope:story = {
					story_type = PE_story_cycle_falcon
					var:pet_dummy = { is_female = yes }
				}
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_huntress
			}
		}
		20 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_hunter
				}
				scope:story = {
					story_type = PE_story_cycle_falcon
					var:pet_dummy = { is_female = no }
				}
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_hunter
			}
		}
		20 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_bosco
				}
				scope:story = { story_type = PE_story_cycle_bear }
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_bosco
			}
		}
		5 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_honey
				}
				trigger_if = {
					limit = { NOT = { scope:story = { story_type = PE_story_cycle_bear } } }
					scope:story = {
						OR = {
							var:body_color = flag:golden
							var:body_color = flag:orange
							var:body_color = flag:tawny
						}
					}
				}
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_honey
			}
		}

		1 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_culture_prefix
				}
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_culture_prefix
			}
		}

		1 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_head_of_faith
				}
				exists = faith.religious_head
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_head_of_faith
			}
		}

		1 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_dynasty
				}
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_dynasty
			}
		}

		1 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_title
				}
				scope:story.var:pet_dummy = { sex_same_as = root }
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_title
			}
		}

		1 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_favorite_treat
				}
			}
			set_favorite_treat_effect = yes
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_favorite_treat
			}
		}

		10 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_pet_name
				}
			}
			assign_pet_name_pet_story_cycle_effect = yes
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_pet_name
			}
		}

		1 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_insult
				}
			}
			assign_insult_name_pet_story_cycle_effect = yes
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_insult
			}
		}

		10 = {
			trigger = {
				assign_name_options_pet_story_cycle_save_name_check_trigger = {
					PET_NAME = flag:name_lover
				}
				any_relation = { type = lover }
			}
			if = {
				limit = {
					any_relation = { type = soulmate }
				}
				random_relation = {
					type = soulmate
					save_scope_as = lover_scope
				}
				set_variable = {
					name = lover_scope
					value = scope:lover_scope
				}
			}
			else = {
				random_relation = {
					type = lover
					save_scope_as = lover_scope
				}
				set_variable = {
					name = lover_scope
					value = scope:lover_scope
				}
			}
			if = { #this is just to avoid errors
				limit = { exists = var:lover_scope }
			}
			assign_name_options_pet_story_cycle_save_name_effect = {
				PET_NAME = flag:name_lover
			}
		}
	}
}

assign_pet_name_pet_story_cycle_effect = {
	hidden_effect = {
		random_list = {
			10 = {
				set_variable = {
					name = name_pet_name_saved
					value = flag:darling
				}
			}

			10 = {
				set_variable = {
					name = name_pet_name_saved
					value = flag:dearest
				}
			}

			10 = {
				set_variable = {
					name = name_pet_name_saved
					value = flag:morsel
				}
			}

			10 = {
				set_variable = {
					name = name_pet_name_saved
					value = flag:little_firebrand
				}
			}

			10 = {
				set_variable = {
					name = name_pet_name_saved
					value = flag:songbird
				}
			}

			10 = {
				set_variable = {
					name = name_pet_name_saved
					value = flag:beloved
				}
			}

			10 = {
				set_variable = {
					name = name_pet_name_saved
					value = flag:beauty
				}
			}

			10 = {
				set_variable = {
					name = name_pet_name_saved
					value = flag:little_pet
				}
			}

			10 = {
				set_variable = {
					name = name_pet_name_saved
					value = flag:treasure
				}
			}

			10 = {
				set_variable = {
					name = name_pet_name_saved
					value = flag:sweetheart
				}
			}

			10 = {
				set_variable = {
					name = name_pet_name_saved
					value = flag:rose
				}
			}

			10 = {
				set_variable = {
					name = name_pet_name_saved
					value = flag:sweetness
				}
			}

			10 = {
				set_variable = {
					name = name_pet_name_saved
					value = flag:sunshine
				}
			}

			10 = {
				set_variable = {
					name = name_pet_name_saved
					value = flag:spring_blossom
				}
			}

			10 = {
				set_variable = {
					name = name_pet_name_saved
					value = flag:petal
				}
			}

			10 = {
				set_variable = {
					name = name_pet_name_saved
					value = flag:honeycomb
				}
			}
		}
	}
}

assign_insult_name_pet_story_cycle_effect = {
	hidden_effect = {
		scope:pet_dummy = {
			random_list = {
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:witch
						}
					}
					trigger = { is_female = yes }
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:doxy
						}
					}
					trigger = {
						is_adult = yes
						is_female = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:churl
						}
					}
					trigger = {
						is_male = yes
					}
				}		
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:knave
						}
					}
					trigger = { is_male = yes }
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:spawn_of_hell
						}
					}
					trigger = {
						faith.religion = { is_in_family = rf_abrahamic }
						OR = {
							has_personality_malicious_trigger = yes
							has_trait = cynical
						}
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:fiend
						}
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:buffoon
						}
					}
					trigger = {
						is_male = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:cur
						}
					}
					trigger = {
						is_male = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:bastard
						}
					}
					trigger = {
						is_male = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:coward
						}
					}
					trigger = {
						has_trait = craven
						is_male = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:coward_female
						}
					}
					trigger = {
						has_trait = craven
						is_female = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:boar
						}
					}
					trigger = {
						has_personality_dominant_trigger = yes
						is_male = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:boar_female
						}
					}
					trigger = {
						has_personality_dominant_trigger = yes
						is_female = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:brat
						}
					}
					trigger = {
						is_adult = no
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:rascal
						}
					}
					trigger = {
						is_adult = no
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:ankle_biter
						}
					}
					trigger = {
						age <= 6
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:whelp
						}
					}
					trigger = {
						age <= 8
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:changeling
						}
					}
					trigger = {
						is_adult = no
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:troll_spawn
						}
					}
					trigger = {
						is_adult = no
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:newt
						}
					}
					trigger = {
						is_adult = no
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:waif
						}
					}
					trigger = {
						is_adult = no
						OR = {
							NOT = { exists = father }
							father = { is_alive = no }
						}
						OR = {
							NOT = { exists = mother }
							mother = { is_alive = no }
						}
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:ragamuffin
						}
					}
					trigger = {
						is_adult = no
						OR = {
							NOT = { exists = father }
							father = { is_alive = no }
						}
						OR = {
							NOT = { exists = mother }
							mother = { is_alive = no }
						}
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:killcrop
						}
					}
					trigger = {
						is_adult = no
						has_trait = gluttonous
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:cox_comb
						}
					}
					trigger = {
						OR = {
							has_trait = arrogant
							AND = {
								NOT = { has_trait = humble }
								OR = {
									has_trait = beauty_good_2
									has_trait = beauty_good_3
								}
							}
						}
						is_male = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:cox_comb_female
						}
					}
					trigger = {
						OR = {
							has_trait = arrogant
							AND = {
								NOT = { has_trait = humble }
								OR = {
									has_trait = beauty_good_2
									has_trait = beauty_good_3
								}
							}
						}
						is_female = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:strumpet
						}
					}
					trigger = {
						is_female = yes
						is_adult = yes
						OR = {
							has_trait = lustful
							has_trait = seducer
						}
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:bedswerver
						}
					}
					trigger = {
						is_adult = yes
						OR = {
							has_trait = lustful
							has_trait = seducer
						}
						is_male = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:bedswerver_female
						}
					}
					trigger = {
						is_adult = yes
						OR = {
							has_trait = lustful
							has_trait = seducer
						}
						is_female = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:hag
						}
					}
					trigger = {
						is_adult = yes
						is_female = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:ogre
						}
					}
					trigger = {
						is_adult = yes
						is_male = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:wench
						}
					}
					trigger = {
						is_adult = yes
						is_female = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:swain
						}
					}
					trigger = {
						is_adult = yes
						is_male = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:oaf_insult
						}
					}
					trigger = {
						is_adult = yes
						OR = {
							has_trait = strong
							has_trait = physique_good
							has_trait = intellect_bad
							has_trait = dull
							has_trait = athletic
							has_trait = giant
						}
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:lummox
						}
					}
					trigger = {
						is_adult = yes
						OR = {
							has_trait = strong
							has_trait = physique_good
							has_trait = intellect_bad
							has_trait = dull
							has_trait = athletic
							has_trait = giant
						}
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:fopdoodle
						}
					}
					trigger = {
						is_adult = yes
						is_male = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:scullion
						}
					}
					trigger = {
						is_adult = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:commoner
						}
					}
					trigger = {
						is_adult = yes
						OR = {
							has_trait = peasant_leader
							has_dynasty = no
						}
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:sycophant
						}
					}
					trigger = {
						is_adult = yes
						#has_trait = loyal
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:banbury_cheese
						}
					}
					trigger = {
						is_adult = yes
						has_trait = spindly
						culture = { has_cultural_pillar = heritage_west_germanic }
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:bampot
						}
					}
					trigger = {
						is_adult = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:pervert
						}
					}
					trigger = {
						is_adult = yes
						has_trait = deviant
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:debaucher
						}
					}
					trigger = {
						is_adult = yes
						OR = {
							has_trait = deviant
							has_trait = rakish
							has_trait = lustful
						}
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:fool
						}
					}
					trigger = {
						is_adult = yes
					}
				}
				10 = {
					root = {
						set_variable = {
							name = name_insult_saved
							value = flag:kumquat
						}
					}
					trigger = {
						is_adult = yes
						culture = {
							OR = {
								culture_overlaps_geographical_region = world_burma
								culture_overlaps_geographical_region = world_india
							}
						}
					}
				}
			}
		}
	}
}


#######################
# CREATE THE PET
#######################

#Assign the personality of the pet
assign_pet_personality_effect = {
	save_temporary_scope_value_as = {
		name = pet_type
		value = flag:$PET_TYPE$
	}
	hidden_effect = {
		random_list = {
			50 = { #friendly
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:personality } }
						story_owner.var:personality = flag:friendly
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:friendly }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:friendly }
					}
				}
				modifier = {
					add = -20
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:aggressive }
					}
				}
				modifier = {
					add = -20
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:aggressive }
					}
				}
				modifier = {
					add = -20
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:skittish }
					}
				}
				modifier = {
					add = -20
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:skittish }
					}
				}
				# what pet is it? this is taken into account
				modifier = {
					add = 10
					scope:story = {
						OR = {
							story_type = PE_story_cycle_dog
							story_type = PE_story_cycle_cat
							story_type = PE_story_cycle_ferret
							story_type = PE_story_cycle_parrot
							story_type = PE_story_cycle_elephant
						}
					}
				}
				modifier = {
					add = 5
					scope:story = {
						OR = {
							story_type = PE_story_cycle_rabbit
							story_type = PE_story_cycle_raven
						}
					}
				}
				set_variable = {
					name = personality
					value = flag:friendly
				}
			}
			50 = { #aggressive
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:personality } }
						story_owner.var:personality = flag:aggressive
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:aggressive }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:aggressive }
					}
				}
				modifier = {
					add = -20
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:friendly }
					}
				}
				modifier = {
					add = -20
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:friendly }
					}
				}
				modifier = {
					add = 10
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:skittish }
					}
				}
				modifier = {
					add = 10
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:skittish }
					}
				}
				# what pet is it? this is taken into account
				modifier = {
					add = 10
					scope:story = {
						OR = {
							story_type = PE_story_cycle_badger
							story_type = PE_story_cycle_monkey
							story_type = PE_story_cycle_lion
							story_type = PE_story_cycle_tiger
							story_type = PE_story_cycle_hedgehog
						}
					}
				}
				modifier = {
					add = 5
					scope:story = {
						OR = {
							story_type = PE_story_cycle_cat
							story_type = PE_story_cycle_weasel
							story_type = PE_story_cycle_squirrel
						}
					}
				}
				set_variable = {
					name = personality
					value = flag:aggressive
				}
			}
			50 = { #mischievous
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:personality } }
						story_owner.var:personality = flag:mischievous
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:mischievous }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:mischievous }
					}
				}
				# what pet is it? this is taken into account
				modifier = {
					add = 10
					scope:story = {
						OR = {
							story_type = PE_story_cycle_raven
							story_type = PE_story_cycle_monkey
							story_type = PE_story_cycle_badger
							story_type = PE_story_cycle_parrot
						}
					}
				}
				modifier = {
					add = 5
					scope:story = {
						OR = {
							story_type = PE_story_cycle_cat
							story_type = PE_story_cycle_ferret
							story_type = PE_story_cycle_weasel
							story_type = PE_story_cycle_fox
							story_type = PE_story_cycle_elephant
							story_type = PE_story_cycle_bear
						}
					}
				}
				set_variable = {
					name = personality
					value = flag:mischievous
				}
			}
			50 = { #curious
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:personality } }
						story_owner.var:personality = flag:curious
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:curious }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:curious }
					}
				}
				modifier = {
					add = -10
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:lazy }
					}
				}
				modifier = {
					add = -10
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:lazy }
					}
				}
				# what pet is it? this is taken into account
				modifier = {
					add = 10
					scope:story = {
						OR = {
							story_type = PE_story_cycle_cat
							story_type = PE_story_cycle_raven
							story_type = PE_story_cycle_monkey
							story_type = PE_story_cycle_elephant
							story_type = PE_story_cycle_bear
						}
					}
				}
				modifier = {
					add = 5
					scope:story = {
						OR = {
							story_type = PE_story_cycle_lion
							story_type = PE_story_cycle_tiger
							story_type = PE_story_cycle_ferret
							story_type = PE_story_cycle_weasel
							story_type = PE_story_cycle_fox
							story_type = PE_story_cycle_dog
						}
					}
				}
				set_variable = {
					name = personality
					value = flag:curious
				}
			}
			50 = { #spoiled
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:personality } }
						story_owner.var:personality = flag:spoiled
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:spoiled }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:spoiled }
					}
				}
				modifier = {
					add = 20
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:lazy }
					}
				}
				modifier = {
					add = 20
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:lazy }
					}
				}
				# what pet is it? this is taken into account
				modifier = {
					add = 10
					scope:story = {
						OR = {
							story_type = PE_story_cycle_cat
							story_type = PE_story_cycle_lion
							story_type = PE_story_cycle_tiger
							story_type = PE_story_cycle_dog
							story_type = PE_story_cycle_parrot
							story_type = PE_story_cycle_monkey
						}
					}
				}
				modifier = {
					add = 5
					scope:story = {
						OR = {
							story_type = PE_story_cycle_ferret
							story_type = PE_story_cycle_weasel
							story_type = PE_story_cycle_elephant
							story_type = PE_story_cycle_falcon
							story_type = PE_story_cycle_hawk
							story_type = PE_story_cycle_raven
						}
					}
				}
				set_variable = {
					name = personality
					value = flag:spoiled
				}
			}
			50 = { #adventurous
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:personality } }
						story_owner.var:personality = flag:adventurous
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:adventurous }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:adventurous }
					}
				}
				modifier = {
					add = -20
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:lazy }
					}
				}
				modifier = {
					add = -20
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:lazy }
					}
				}
				# what pet is it? this is taken into account
				modifier = {
					add = 10
					scope:story = {
						OR = {
							story_type = PE_story_cycle_badger
							story_type = PE_story_cycle_cat
							story_type = PE_story_cycle_monkey
							story_type = PE_story_cycle_raven
						}
					}
				}
				modifier = {
					add = 5
					scope:story = {
						OR = {
							story_type = PE_story_cycle_elephant
							story_type = PE_story_cycle_ferret
							story_type = PE_story_cycle_weasel
							story_type = PE_story_cycle_dog
						}
					}
				}
				set_variable = {
					name = personality
					value = flag:adventurous
				}
			}
			50 = { #aloof
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:personality } }
						story_owner.var:personality = flag:aloof
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:aloof }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:aloof }
					}
				}
				modifier = {
					add = -20
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:friendly }
					}
				}
				modifier = {
					add = -20
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:friendly }
					}
				}
				modifier = {
					add = 20
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:skittish }
					}
				}
				# what pet is it? this is taken into account
				modifier = {
					add = 10
					scope:story = {
						OR = {
							story_type = PE_story_cycle_cat
							story_type = PE_story_cycle_hedgehog
							story_type = PE_story_cycle_weasel
							story_type = PE_story_cycle_fox
							story_type = PE_story_cycle_bear
						}
					}
				}
				modifier = {
					add = 5
					scope:story = {
						OR = {
							story_type = PE_story_cycle_squirrel
							story_type = PE_story_cycle_badger
							story_type = PE_story_cycle_rabbit
							story_type = PE_story_cycle_hawk
							story_type = PE_story_cycle_falcon
							story_type = PE_story_cycle_raven
							story_type = PE_story_cycle_nightingale
							story_type = PE_story_cycle_lion
							story_type = PE_story_cycle_tiger
						}
					}
				}
				modifier = {
					add = 20
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:skittish }
					}
				}
				set_variable = {
					name = personality
					value = flag:aloof
				}
			}
			50 = { #lazy
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:personality } }
						story_owner.var:personality = flag:lazy
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:lazy }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:lazy }
					}
				}
				modifier = {
					add = 20
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:spoiled }
					}
				}
				modifier = {
					add = 20
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:spoiled }
					}
				}
				modifier = {
					add = -20
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:adventurous }
					}
				}
				modifier = {
					add = -20
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:adventurous }
					}
				}
				# what pet is it? this is taken into account
				modifier = {
					add = 10
					scope:story = {
						OR = {
							story_type = PE_story_cycle_cat
							story_type = PE_story_cycle_bear
						}
					}
				}
				modifier = {
					add = 5
					scope:story = {
						OR = {
							story_type = PE_story_cycle_lion
							story_type = PE_story_cycle_tiger
						}
					}
				}
				set_variable = {
					name = personality
					value = flag:lazy
				}
			}
			50 = { #skittish
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:personality } }
						story_owner.var:personality = flag:skittish
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:skittish }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:skittish }
					}
				}
				modifier = {
					add = -20
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:friendly }
					}
				}
				modifier = {
					add = -20
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:friendly }
					}
				}
				modifier = {
					add = 20
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:aloof }
					}
				}
				modifier = {
					add = 20
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:aloof }
					}
				}
				modifier = {
					add = 10
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:personality = flag:aggressive }
					}
				}
				modifier = {
					add = 10
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:personality = flag:aggressive }
					}
				}
				# what pet is it? this is taken into account
				modifier = {
					add = 10
					scope:story = {
						OR = {
							story_type = PE_story_cycle_fox
							story_type = PE_story_cycle_hedgehog
							story_type = PE_story_cycle_rabbit
							story_type = PE_story_cycle_squirrel
							story_type = PE_story_cycle_nightingale
						}
					}
				}
				modifier = {
					add = 5
					scope:story = {
						OR = {
							story_type = PE_story_cycle_cat
							story_type = PE_story_cycle_weasel
							story_type = PE_story_cycle_badger
							story_type = PE_story_cycle_bear
						}
					}
				}

				set_variable = {
					name = personality
					value = flag:skittish
				}
			}
		}
	}
}

#Assign the body-color of the pet
assign_pet_body_color_effect = {

	save_temporary_scope_value_as = {
		name = pet_type
		value = flag:$PET_TYPE$
	}

	hidden_effect = {
		random_list = {
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:body_color } }
						story_owner.var:body_color = flag:green
					}
					scope:pet_type = flag:parrot
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:green }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:green }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:blue }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:blue }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						var:start_pet_story_mother = { var:body_color = flag:blue }
						OR = {
							var:start_pet_story_father = { var:body_color = flag:yellow }
							var:start_pet_story_father = { var:body_color = flag:orange }
							var:start_pet_story_father = { var:body_color = flag:golden }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						var:start_pet_story_father = { var:body_color = flag:blue }
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:yellow }
							var:start_pet_story_mother = { var:body_color = flag:orange }
							var:start_pet_story_mother = { var:body_color = flag:golden }
						}
					}
				}
				set_variable = {
					name = body_color
					value = flag:green
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:body_color } }
						story_owner.var:body_color = flag:blue
					}
					scope:pet_type = flag:parrot
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:blue }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:blue }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:green }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:green }
					}
				}
				set_variable = {
					name = body_color
					value = flag:blue
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:body_color } }
						story_owner.var:body_color = flag:red
					}
					OR = {
						scope:pet_type = flag:parrot
						scope:pet_type = flag:fox
						scope:pet_type = flag:dog
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:red }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:red }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:orange }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:orange }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						var:start_pet_story_mother = { var:body_color = flag:black }
						OR = {
							var:start_pet_story_father = { var:body_color = flag:orange }
							var:start_pet_story_father = { var:body_color = flag:golden }
							var:start_pet_story_father = { var:body_color = flag:yellow }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						var:start_pet_story_father = { var:body_color = flag:black }
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:orange }
							var:start_pet_story_mother = { var:body_color = flag:golden }
							var:start_pet_story_mother = { var:body_color = flag:yellow }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						var:start_pet_story_mother = { var:body_color = flag:brown }
						OR = {
							var:start_pet_story_father = { var:body_color = flag:orange }
							var:start_pet_story_father = { var:body_color = flag:golden }
							var:start_pet_story_father = { var:body_color = flag:yellow }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						var:start_pet_story_father = { var:body_color = flag:brown }
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:orange }
							var:start_pet_story_mother = { var:body_color = flag:golden }
							var:start_pet_story_mother = { var:body_color = flag:yellow }
						}
					}
				}
				set_variable = {
					name = body_color
					value = flag:red
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:body_color } }
						story_owner.var:body_color = flag:orange
					}
					NOR = {
						scope:pet_type = flag:falcon
						scope:pet_type = flag:ferret
						scope:pet_type = flag:hedgehog
						scope:pet_type = flag:elephant
						scope:pet_type = flag:horse
						scope:pet_type = flag:raven
					}
				}
				modifier = {
					add = 50
					scope:pet_type = flag:tiger
				}
				modifier = {
					add = 25
					scope:pet_type = flag:lion
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:orange }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:orange }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:red }
							var:start_pet_story_mother = { var:body_color = flag:brown }
						}
						OR = {
							var:start_pet_story_father = { var:body_color = flag:golden }
							var:start_pet_story_father = { var:body_color = flag:yellow }
							var:start_pet_story_father = { var:body_color = flag:cream }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						OR = {
							var:start_pet_story_father = { var:body_color = flag:red }
							var:start_pet_story_father = { var:body_color = flag:brown }
						}
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:golden }
							var:start_pet_story_mother = { var:body_color = flag:yellow }
							var:start_pet_story_mother = { var:body_color = flag:cream }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						var:start_pet_story_mother = { var:body_color = flag:red }
						OR = {
							var:start_pet_story_father = { var:body_color = flag:white }
							var:start_pet_story_father = { var:body_color = flag:gray }
							var:start_pet_story_father = { var:body_color = flag:silver }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						var:start_pet_story_father = { var:body_color = flag:red }
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:white }
							var:start_pet_story_mother = { var:body_color = flag:gray }
							var:start_pet_story_mother = { var:body_color = flag:silver }
						}
					}
				}
				set_variable = {
					name = body_color
					value = flag:orange
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:body_color } }
						story_owner.var:body_color = flag:golden
					}
					OR = {
						scope:pet_type = flag:tiger
						scope:pet_type = flag:lion
						scope:pet_type = flag:dog
						scope:pet_type = flag:monkey
						scope:pet_type = flag:ferret
					}
				}
				modifier = {
					add = 25
					scope:pet_type = flag:tiger
				}
				modifier = {
					add = 25
					scope:pet_type = flag:lion
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:golden }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:golden }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:yellow }
							var:start_pet_story_mother = { var:body_color = flag:cream }
						}
						OR = {
							var:start_pet_story_father = { var:body_color = flag:brown }
							var:start_pet_story_father = { var:body_color = flag:red }
							var:start_pet_story_father = { var:body_color = flag:orange }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						OR = {
							var:start_pet_story_father = { var:body_color = flag:yellow }
							var:start_pet_story_father = { var:body_color = flag:cream }
						}
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:brown }
							var:start_pet_story_mother = { var:body_color = flag:red }
							var:start_pet_story_mother = { var:body_color = flag:orange }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:red }
							var:start_pet_story_mother = { var:body_color = flag:orange }
						}
						OR = {
							var:start_pet_story_father = { var:body_color = flag:white }
							var:start_pet_story_father = { var:body_color = flag:gray }
							var:start_pet_story_father = { var:body_color = flag:silver }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						OR = {
							var:start_pet_story_father = { var:body_color = flag:red }
							var:start_pet_story_father = { var:body_color = flag:orange }
						}
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:white }
							var:start_pet_story_mother = { var:body_color = flag:gray }
							var:start_pet_story_mother = { var:body_color = flag:silver }
						}
					}
				}
				set_variable = {
					name = body_color
					value = flag:golden
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:body_color } }
						story_owner.var:body_color = flag:tawny
					}
					NOR = {
						scope:pet_type = flag:elephant
						scope:pet_type = flag:raven
					}
				}
				modifier = {
					add = 25
					scope:pet_type = flag:hawk
				}
				modifier = {
					add = 25
					scope:pet_type = flag:tiger
				}
				modifier = {
					add = 25
					scope:pet_type = flag:lion
				}
				modifier = {
					add = -40
					scope:pet_type = flag:parrot
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:tawny }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:tawny }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:yellow }
							var:start_pet_story_mother = { var:body_color = flag:cream }
						}
						OR = {
							var:start_pet_story_father = { var:body_color = flag:brown }
							var:start_pet_story_father = { var:body_color = flag:red }
							var:start_pet_story_father = { var:body_color = flag:orange }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						OR = {
							var:start_pet_story_father = { var:body_color = flag:yellow }
							var:start_pet_story_father = { var:body_color = flag:cream }
						}
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:brown }
							var:start_pet_story_mother = { var:body_color = flag:red }
							var:start_pet_story_mother = { var:body_color = flag:orange }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:red }
							var:start_pet_story_mother = { var:body_color = flag:orange }
						}
						OR = {
							var:start_pet_story_father = { var:body_color = flag:white }
							var:start_pet_story_father = { var:body_color = flag:gray }
							var:start_pet_story_father = { var:body_color = flag:silver }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						OR = {
							var:start_pet_story_father = { var:body_color = flag:red }
							var:start_pet_story_father = { var:body_color = flag:orange }
						}
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:white }
							var:start_pet_story_mother = { var:body_color = flag:gray }
							var:start_pet_story_mother = { var:body_color = flag:silver }
						}
					}
				}
				set_variable = {
					name = body_color
					value = flag:tawny
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:body_color } }
						story_owner.var:body_color = flag:cream
					}
					NOR = {
						scope:pet_type = flag:elephant
						scope:pet_type = flag:raven
					}
				}
				modifier = {
					add = 25
					scope:pet_type = flag:lion
				}
				modifier = {
					add = -40
					scope:pet_type = flag:parrot
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:cream }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:cream }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:red }
							var:start_pet_story_mother = { var:body_color = flag:orange }
							var:start_pet_story_mother = { var:body_color = flag:golden }
							var:start_pet_story_mother = { var:body_color = flag:brown }
							var:start_pet_story_mother = { var:body_color = flag:yellow }
						}
						OR = {
							var:start_pet_story_father = { var:body_color = flag:white }
							var:start_pet_story_father = { var:body_color = flag:gray }
							var:start_pet_story_father = { var:body_color = flag:silver }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						OR = {
							var:start_pet_story_father = { var:body_color = flag:red }
							var:start_pet_story_father = { var:body_color = flag:orange }
							var:start_pet_story_father = { var:body_color = flag:golden }
							var:start_pet_story_father = { var:body_color = flag:brown }
							var:start_pet_story_father = { var:body_color = flag:yellow }
						}
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:white }
							var:start_pet_story_mother = { var:body_color = flag:gray }
							var:start_pet_story_mother = { var:body_color = flag:silver }
						}
					}
				}
				set_variable = {
					name = body_color
					value = flag:cream
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:body_color } }
						story_owner.var:body_color = flag:yellow
					}
					NOR = {
						scope:pet_type = flag:fox
						scope:pet_type = flag:ferret
						scope:pet_type = flag:hedgehog
						scope:pet_type = flag:elephant
						scope:pet_type = flag:raven
						scope:pet_type = flag:horse
					}
				}
				modifier = {
					add = 25
					scope:pet_type = flag:lion
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:yellow }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:yellow }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						var:start_pet_story_mother = { var:body_color = flag:cream }
						OR = {
							var:start_pet_story_father = { var:body_color = flag:brown }
							var:start_pet_story_father = { var:body_color = flag:red }
							var:start_pet_story_father = { var:body_color = flag:orange }
							var:start_pet_story_father = { var:body_color = flag:golden }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						var:start_pet_story_father = { var:body_color = flag:cream }
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:brown }
							var:start_pet_story_mother = { var:body_color = flag:red }
							var:start_pet_story_mother = { var:body_color = flag:orange }
							var:start_pet_story_mother = { var:body_color = flag:golden }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:red }
							var:start_pet_story_mother = { var:body_color = flag:orange }
							var:start_pet_story_mother = { var:body_color = flag:golden }
							var:start_pet_story_mother = { var:body_color = flag:brown }
						}
						OR = {
							var:start_pet_story_father = { var:body_color = flag:white }
							var:start_pet_story_father = { var:body_color = flag:gray }
							var:start_pet_story_father = { var:body_color = flag:silver }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						OR = {
							var:start_pet_story_father = { var:body_color = flag:red }
							var:start_pet_story_father = { var:body_color = flag:orange }
							var:start_pet_story_father = { var:body_color = flag:golden }
							var:start_pet_story_father = { var:body_color = flag:brown }
						}
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:white }
							var:start_pet_story_mother = { var:body_color = flag:gray }
							var:start_pet_story_mother = { var:body_color = flag:silver }
						}
					}
				}
				set_variable = {
					name = body_color
					value = flag:yellow
				}
			}
			75 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:body_color } }
						story_owner.var:body_color = flag:brown
					}
					NOR = {
						scope:pet_type = flag:tiger
						scope:pet_type = flag:elephant
						scope:pet_type = flag:raven
					}
				}
				modifier = {
					add = -25
					scope:pet_type = flag:lion
				}
				modifier = {
					add = 25
					scope:pet_type = flag:bear
				}
				modifier = {
					add = -40
					scope:pet_type = flag:parrot
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:brown }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:brown }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						var:start_pet_story_mother = { var:body_color = flag:white }
						var:start_pet_story_father = { var:body_color = flag:black }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						var:start_pet_story_father = { var:body_color = flag:white }
						var:start_pet_story_mother = { var:body_color = flag:black }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:red }
							var:start_pet_story_mother = { var:body_color = flag:orange }
							var:start_pet_story_mother = { var:body_color = flag:golden }
							var:start_pet_story_mother = { var:body_color = flag:cream }
							var:start_pet_story_mother = { var:body_color = flag:yellow }
						}
						OR = {
							var:start_pet_story_father = { var:body_color = flag:black }
							var:start_pet_story_father = { var:body_color = flag:gray }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						OR = {
							var:start_pet_story_father = { var:body_color = flag:red }
							var:start_pet_story_father = { var:body_color = flag:orange }
							var:start_pet_story_father = { var:body_color = flag:golden }
							var:start_pet_story_father = { var:body_color = flag:cream }
							var:start_pet_story_father = { var:body_color = flag:yellow }
						}
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:black }
							var:start_pet_story_mother = { var:body_color = flag:gray }
						}
					}
				}
				set_variable = {
					name = body_color
					value = flag:brown
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:body_color } }
						story_owner.var:body_color = flag:gray
					}
				}
				modifier = {
					add = 40
					scope:pet_type = flag:elephant
				}
				modifier = {
					add = -40
					scope:pet_type = flag:parrot
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:gray }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:gray }
					}
				}
				modifier = {
					add = 40
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:silver }
					}
				}
				modifier = {
					add = 40
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:silver }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						var:start_pet_story_mother = { var:body_color = flag:white }
						var:start_pet_story_father = { var:body_color = flag:black }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						var:start_pet_story_father = { var:body_color = flag:white }
						var:start_pet_story_mother = { var:body_color = flag:black }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:golden }
							var:start_pet_story_mother = { var:body_color = flag:cream }
							var:start_pet_story_mother = { var:body_color = flag:yellow }
						}
						OR = {
							var:start_pet_story_father = { var:body_color = flag:black }
							var:start_pet_story_father = { var:body_color = flag:white }
							var:start_pet_story_father = { var:body_color = flag:silver }
						}
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						OR = {
							var:start_pet_story_father = { var:body_color = flag:golden }
							var:start_pet_story_father = { var:body_color = flag:cream }
							var:start_pet_story_father = { var:body_color = flag:yellow }
						}
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:black }
							var:start_pet_story_mother = { var:body_color = flag:white }
							var:start_pet_story_mother = { var:body_color = flag:silver }
						}
					}
				}
				set_variable = {
					name = body_color
					value = flag:gray
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:body_color } }
						story_owner.var:body_color = flag:silver
					}
					NOR = {
						scope:pet_type = flag:elephant
						scope:pet_type = flag:raven
					}
				}
				modifier = {
					add = -40
					scope:pet_type = flag:parrot
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:silver }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:silver }
					}
				}
				modifier = {
					add = 40
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:gray }
					}
				}
				modifier = {
					add = 40
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:gray }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						var:start_pet_story_mother = { var:body_color = flag:white }
						var:start_pet_story_father = { var:body_color = flag:black }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						var:start_pet_story_father = { var:body_color = flag:white }
						var:start_pet_story_mother = { var:body_color = flag:black }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:golden }
							var:start_pet_story_mother = { var:body_color = flag:cream }
							var:start_pet_story_mother = { var:body_color = flag:yellow }
						}
						OR = {
							var:start_pet_story_father = { var:body_color = flag:black }
							var:start_pet_story_father = { var:body_color = flag:white }
							var:start_pet_story_father = { var:body_color = flag:gray }
						}
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						OR = {
							var:start_pet_story_father = { var:body_color = flag:golden }
							var:start_pet_story_father = { var:body_color = flag:cream }
							var:start_pet_story_father = { var:body_color = flag:yellow }
						}
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:black }
							var:start_pet_story_mother = { var:body_color = flag:white }
							var:start_pet_story_mother = { var:body_color = flag:gray }
						}
					}
				}
				set_variable = {
					name = body_color
					value = flag:silver
				}
			}
			75 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:body_color } }
						story_owner.var:body_color = flag:black
					}
					NOR = {
						scope:pet_type = flag:tiger
						scope:pet_type = flag:lion
						scope:pet_type = flag:elephant
					}
				}
				modifier = {
					add = 40
					scope:pet_type = flag:raven
				}
				modifier = {
					add = -40
					scope:pet_type = flag:parrot
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:black }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:black }
					}
				}
				set_variable = {
					name = body_color
					value = flag:black
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:body_color } }
						story_owner.var:body_color = flag:white
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:white }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:white }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						OR = {
							var:start_pet_story_mother = { var:body_color = flag:gray }
							var:start_pet_story_mother = { var:body_color = flag:silver }
						}
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						OR = {
							var:start_pet_story_father = { var:body_color = flag:gray }
							var:start_pet_story_father = { var:body_color = flag:silver }
						}
					}
				}
				set_variable = {
					name = body_color
					value = flag:white
				}
			}
			35 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:body_color } }
						story_owner.var:body_color = flag:black_and_white
					}
					NOR = {
						scope:pet_type = flag:tiger
						scope:pet_type = flag:lion
						scope:pet_type = flag:elephant
						scope:pet_type = flag:raven
					}
				}
				modifier = {
					add = -40
					scope:pet_type = flag:parrot
				}
				modifier = {
					add = 75
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						var:start_pet_story_mother = { var:body_color = flag:white }
						var:start_pet_story_father = { var:body_color = flag:black }
					}
				}
				modifier = {
					add = 75
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						var:start_pet_story_father = { var:body_color = flag:white }
						var:start_pet_story_mother = { var:body_color = flag:black }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:body_color = flag:black_and_white }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:body_color = flag:black_and_white }
					}
				}
				set_variable = {
					name = body_color
					value = flag:black_and_white
				}
			}
		}

		if = {
			limit = {
				story_owner = { exists = var:body_color }
			}
			story_owner = { remove_variable = body_color }
		}
	}
}

#Assign the eye-color of the pet
assign_pet_eye_color_effect = {

	save_temporary_scope_value_as = {
		name = pet_type
		value = flag:$PET_TYPE$
	}

	if = {
		limit = { NOT = { exists = story_owner } }
		save_scope_as = story_owner
	}

	hidden_effect = {
		random_list = {
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:eye_color } }
						story_owner.var:eye_color = flag:black
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:eye_color = flag:black }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:eye_color = flag:black }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						var:start_pet_story_mother = { var:eye_color = flag:blue }
						OR = {
							var:start_pet_story_father = { var:eye_color = flag:copper }
							var:start_pet_story_father = { var:eye_color = flag:brown }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						var:start_pet_story_father = { var:eye_color = flag:blue }
						OR = {
							var:start_pet_story_mother = { var:eye_color = flag:copper }
							var:start_pet_story_mother = { var:eye_color = flag:brown }
						}
					}
				}
				set_variable = {
					name = eye_color
					value = flag:black
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:eye_color } }
						story_owner.var:eye_color = flag:gray
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:eye_color = flag:gray }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:eye_color = flag:gray }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						OR = {
							var:start_pet_story_mother = { var:eye_color = flag:blue }
							var:start_pet_story_mother = { var:eye_color = flag:black }
						}
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						OR = {
							var:start_pet_story_father = { var:eye_color = flag:blue }
							var:start_pet_story_father = { var:eye_color = flag:black }
						}
					}
				}
				set_variable = {
					name = eye_color
					value = flag:gray
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:eye_color } }
						story_owner.var:eye_color = flag:blue
					}
					trigger_if = {
						limit = { exists = scope:story }
						scope:story = {
							OR = {
								story_type = PE_story_cycle_cat
								story_type = PE_story_cycle_tiger
								story_type = PE_story_cycle_lion
								story_type = PE_story_cycle_parrot
								story_type = PE_story_cycle_monkey
								story_type = PE_story_cycle_nightingale
								story_type = PE_story_cycle_falcon
							}
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:eye_color = flag:blue }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:eye_color = flag:blue }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						OR = {
							var:start_pet_story_mother = { var:eye_color = flag:green }
							var:start_pet_story_mother = { var:eye_color = flag:emerald }
							var:start_pet_story_mother = { var:eye_color = flag:black }
						}
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						OR = {
							var:start_pet_story_father = { var:eye_color = flag:green }
							var:start_pet_story_father = { var:eye_color = flag:emerald }
							var:start_pet_story_father = { var:eye_color = flag:black }
						}
					}
				}
				set_variable = {
					name = eye_color
					value = flag:blue
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:eye_color } }
						story_owner.var:eye_color = flag:green
					}
					trigger_if = {
						limit = { exists = scope:story }
						scope:story = {
							OR = {
								story_type = PE_story_cycle_cat
								story_type = PE_story_cycle_tiger
								story_type = PE_story_cycle_parrot
								story_type = PE_story_cycle_monkey
								story_type = PE_story_cycle_nightingale
								story_type = PE_story_cycle_falcon
							}
						}
					}
				}
				modifier = {
					add = 40
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:eye_color = flag:green }
					}
				}
				modifier = {
					add = 40
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:eye_color = flag:green }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:eye_color = flag:emerald }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:eye_color = flag:emerald }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						var:start_pet_story_mother = { var:eye_color = flag:blue }
						OR = {
							var:start_pet_story_father = { var:eye_color = flag:yellow }
							var:start_pet_story_father = { var:eye_color = flag:amber }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						var:start_pet_story_father = { var:eye_color = flag:blue }
						OR = {
							var:start_pet_story_mother = { var:eye_color = flag:yellow }
							var:start_pet_story_mother = { var:eye_color = flag:amber }
						}
					}
				}
				set_variable = {
					name = eye_color
					value = flag:green
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:eye_color } }
						story_owner.var:eye_color = flag:emerald
					}
					trigger_if = {
						limit = { exists = scope:story }
						scope:story = {
							OR = {
								story_type = PE_story_cycle_cat
								story_type = PE_story_cycle_tiger
								story_type = PE_story_cycle_parrot
								story_type = PE_story_cycle_monkey
								story_type = PE_story_cycle_nightingale
								story_type = PE_story_cycle_falcon
							}
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:eye_color = flag:emerald }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:eye_color = flag:emerald }
					}
				}
				modifier = {
					add = 25
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:eye_color = flag:green }
					}
				}
				modifier = {
					add = 25
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:eye_color = flag:green }
					}
				}
				set_variable = {
					name = eye_color
					value = flag:emerald
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:eye_color } }
						story_owner.var:eye_color = flag:brown
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:eye_color = flag:brown }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:eye_color = flag:brown }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:eye_color = flag:copper }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:eye_color = flag:copper }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						var:start_pet_story_mother = { var:eye_color = flag:black }
						OR = {
							var:start_pet_story_father = { var:eye_color = flag:copper }
							var:start_pet_story_father = { var:eye_color = flag:amber }
							var:start_pet_story_father = { var:eye_color = flag:yellow }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						var:start_pet_story_father = { var:eye_color = flag:black }
						OR = {
							var:start_pet_story_mother = { var:eye_color = flag:copper }
							var:start_pet_story_mother = { var:eye_color = flag:amber }
							var:start_pet_story_mother = { var:eye_color = flag:yellow }
						}
					}
				}
				set_variable = {
					name = eye_color
					value = flag:brown
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:eye_color } }
						story_owner.var:eye_color = flag:hazel
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:eye_color = flag:hazel }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:eye_color = flag:hazel }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:eye_color = flag:copper }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:eye_color = flag:copper }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						var:start_pet_story_mother = { var:eye_color = flag:black }
						OR = {
							var:start_pet_story_father = { var:eye_color = flag:copper }
							var:start_pet_story_father = { var:eye_color = flag:amber }
							var:start_pet_story_father = { var:eye_color = flag:yellow }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						var:start_pet_story_father = { var:eye_color = flag:black }
						OR = {
							var:start_pet_story_mother = { var:eye_color = flag:copper }
							var:start_pet_story_mother = { var:eye_color = flag:amber }
							var:start_pet_story_mother = { var:eye_color = flag:yellow }
						}
					}
				}
				set_variable = {
					name = eye_color
					value = flag:hazel
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:eye_color } }
						story_owner.var:eye_color = flag:copper
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:eye_color = flag:copper }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:eye_color = flag:copper }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						OR = {
							var:start_pet_story_mother = { var:eye_color = flag:brown }
							var:start_pet_story_mother = { var:eye_color = flag:yellow }
							var:start_pet_story_mother = { var:eye_color = flag:amber }
						}
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						OR = {
							var:start_pet_story_father = { var:eye_color = flag:brown }
							var:start_pet_story_father = { var:eye_color = flag:yellow }
							var:start_pet_story_father = { var:eye_color = flag:amber }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						var:start_pet_story_mother = { var:eye_color = flag:brown }
						OR = {
							var:start_pet_story_father = { var:eye_color = flag:amber }
							var:start_pet_story_father = { var:eye_color = flag:yellow }
							var:start_pet_story_father = { var:eye_color = flag:gray }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						var:start_pet_story_father = { var:eye_color = flag:brown }
						OR = {
							var:start_pet_story_mother = { var:eye_color = flag:amber }
							var:start_pet_story_mother = { var:eye_color = flag:yellow }
							var:start_pet_story_mother = { var:eye_color = flag:gray }
						}
					}
				}
				set_variable = {
					name = eye_color
					value = flag:copper
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:eye_color } }
						story_owner.var:eye_color = flag:amber
					}
					trigger_if = {
						limit = { exists = scope:story }
						scope:story = {
							OR = {
								story_type = PE_story_cycle_cat
								story_type = PE_story_cycle_tiger
								story_type = PE_story_cycle_lion
								story_type = PE_story_cycle_parrot
								story_type = PE_story_cycle_monkey
								story_type = PE_story_cycle_nightingale
								story_type = PE_story_cycle_falcon
							}
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:eye_color = flag:amber }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:eye_color = flag:amber }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						OR = {
							var:start_pet_story_mother = { var:eye_color = flag:brown }
							var:start_pet_story_mother = { var:eye_color = flag:yellow }
							var:start_pet_story_mother = { var:eye_color = flag:copper }
						}
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						OR = {
							var:start_pet_story_father = { var:eye_color = flag:brown }
							var:start_pet_story_father = { var:eye_color = flag:yellow }
							var:start_pet_story_father = { var:eye_color = flag:copper }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						var:start_pet_story_mother = { var:eye_color = flag:yellow }
						OR = {
							var:start_pet_story_father = { var:eye_color = flag:copper }
							var:start_pet_story_father = { var:eye_color = flag:brown }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						var:start_pet_story_father = { var:eye_color = flag:yellow }
						OR = {
							var:start_pet_story_mother = { var:eye_color = flag:copper }
							var:start_pet_story_mother = { var:eye_color = flag:brown }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						var:start_pet_story_mother = { var:eye_color = flag:gray }
						OR = {
							var:start_pet_story_father = { var:eye_color = flag:copper }
							var:start_pet_story_father = { var:eye_color = flag:brown }
							var:start_pet_story_father = { var:eye_color = flag:amber }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						var:start_pet_story_father = { var:eye_color = flag:gray }
						OR = {
							var:start_pet_story_mother = { var:eye_color = flag:copper }
							var:start_pet_story_mother = { var:eye_color = flag:brown }
							var:start_pet_story_mother = { var:eye_color = flag:amber }
						}
					}
				}
				set_variable = {
					name = eye_color
					value = flag:amber
				}
			}
			50 = {
				trigger = {
					trigger_if = {
						limit = { story_owner = { exists = var:eye_color } }
						story_owner.var:eye_color = flag:yellow
					}
					trigger_if = {
						limit = { exists = scope:story }
						scope:story = {
							OR = {
								story_type = PE_story_cycle_cat
								story_type = PE_story_cycle_tiger
								story_type = PE_story_cycle_lion
								story_type = PE_story_cycle_parrot
								story_type = PE_story_cycle_monkey
								story_type = PE_story_cycle_nightingale
								story_type = PE_story_cycle_falcon
							}
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:eye_color = flag:yellow }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:eye_color = flag:yellow }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_mother
						var:start_pet_story_mother = { var:eye_color = flag:amber }
					}
				}
				modifier = {
					add = 30
					story_owner = {
						exists = var:start_pet_story_father
						var:start_pet_story_father = { var:eye_color = flag:amber }
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_mother
						exists = var:start_pet_story_father
						var:start_pet_story_mother = { var:eye_color = flag:gray }
						OR = {
							var:start_pet_story_father = { var:eye_color = flag:copper }
							var:start_pet_story_father = { var:eye_color = flag:amber }
						}
					}
				}
				modifier = {
					add = 50
					story_owner = {
						exists = var:start_pet_story_father
						exists = var:start_pet_story_mother
						var:start_pet_story_father = { var:eye_color = flag:gray }
						OR = {
							var:start_pet_story_mother = { var:eye_color = flag:copper }
							var:start_pet_story_mother = { var:eye_color = flag:amber }
						}
					}
				}
				set_variable = {
					name = eye_color
					value = flag:yellow
				}
			}
		}



		if = {
			limit = {
				story_owner = { exists = var:eye_color }
			}
			story_owner = { remove_variable = eye_color }
		}
	}
}



#######################
#######################
# START/END/TRANSFER STORY
#######################
#######################

start_pet_story_cycle_and_save_scope_effect = {
	set_variable = save_newly_created_pet_scope
	start_pet_story_cycle_effect = { PET_TYPE = $PET_TYPE$ }
}

# Start a new story from existing pets! If there's no known father, use the mother's scope as argument
start_story_cycle_from_birth_effect = {
	$MOTHER_SCOPE$ = { save_temporary_scope_as = mother_scope_temp }
	$FATHER_SCOPE$ = { save_temporary_scope_as = father_scope_temp }
	set_variable = {
		name = start_pet_story_mother
		value = scope:mother_scope_temp
	}
	if = {
		limit = { NOT = { scope:mother_scope_temp = scope:father_scope_temp } }
		set_variable = {
			name = start_pet_story_father
			value = scope:father_scope_temp
		}
	}

	start_pet_story_cycle_and_save_scope_effect = {
		PET_TYPE = $PET_TYPE$
	}
}

#Effect to start a pet story cycle
start_pet_story_cycle_effect = {
	custom_description = {
		text = PE_start_$PET_TYPE$_story_cycle_tt
	}
	hidden_effect = {
		create_story = PE_story_cycle_$PET_TYPE$
	}
}

start_pet_story_cycle_from_story_scope_effect = {
	if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_cat }
		}
		start_pet_story_cycle_effect = { PET_TYPE = cat }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_dog }
		}
		start_pet_story_cycle_effect = { PET_TYPE = dog }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_badger }
		}
		start_pet_story_cycle_effect = { PET_TYPE = badger }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_bear }
		}
		start_pet_story_cycle_effect = { PET_TYPE = bear }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_falcon }
		}
		start_pet_story_cycle_effect = { PET_TYPE = falcon }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_ferret }
		}
		start_pet_story_cycle_effect = { PET_TYPE = ferret }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_fox }
		}
		start_pet_story_cycle_effect = { PET_TYPE = fox }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_hedgehog }
		}
		start_pet_story_cycle_effect = { PET_TYPE = hedgehog }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_lion }
		}
		start_pet_story_cycle_effect = { PET_TYPE = lion }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_monkey }
		}
		start_pet_story_cycle_effect = { PET_TYPE = monkey }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_nightingale }
		}
		start_pet_story_cycle_effect = { PET_TYPE = nightingale }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_parrot }
		}
		start_pet_story_cycle_effect = { PET_TYPE = parrot }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_rabbit }
		}
		start_pet_story_cycle_effect = { PET_TYPE = rabbit }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_squirrel }
		}
		start_pet_story_cycle_effect = { PET_TYPE = squirrel }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_tiger }
		}
		start_pet_story_cycle_effect = { PET_TYPE = tiger }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_weasel }
		}
		start_pet_story_cycle_effect = { PET_TYPE = weasel }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_elephant }
		}
		start_pet_story_cycle_effect = { PET_TYPE = elephant }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_hawk }
		}
		start_pet_story_cycle_effect = { PET_TYPE = hawk }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_raven }
		}
		start_pet_story_cycle_effect = { PET_TYPE = raven }
	}
	else_if = {
		limit = {
			$SCOPE$ = { story_type = PE_story_cycle_horse }
		}
		start_pet_story_cycle_effect = { PET_TYPE = horse }
	}
}

start_random_pet_story_cycle_and_save_scope_effect = {
	random_list = {
		25 = {
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = cat }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		25 = {
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = dog }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		10 = {
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = badger }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		15 = {
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = falcon }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		15 = {
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = ferret }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		10 = {
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = fox }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		10 = {
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = hedgehog }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		10 = {
			modifier = {
				factor = 0
				capital_province = {
					NOR = {
						geographical_region = world_africa
						geographical_region = world_asia_minor
					}
				}
			}
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = monkey }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		10 = {
			modifier = {
				factor = 0
				capital_province = { geographical_region = world_europe_north }
			}
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = nightingale }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		10 = {
			modifier = {
				factor = 0
				capital_province = { geographical_region = world_europe }
			}
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = parrot }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		15 = {
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = rabbit }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		15 = {
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = squirrel }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		15 = {
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = weasel }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		15 = {
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = hawk }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		15 = {
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = raven }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		5 = {
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = bear }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		1 = {
			modifier = {
				factor = 0
				capital_province = {
					NOR = {
						geographical_region = world_africa
						geographical_region = world_middle_east
					}
				}
			}
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = lion }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		1 = {
			modifier = {
				factor = 0
				capital_province = {
					NOR = {
						geographical_region = world_steppe
						geographical_region = world_india
						geographical_region = world_burma
						geographical_region = world_middle_east_persia
					}
				}
			}
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = tiger }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		1 = {
			modifier = {
				factor = 0
				NOT = { capital_province = { geographical_region = world_innovation_elephants } }
			}
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = elephant }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
		10 = {
			start_pet_story_cycle_and_save_scope_effect = { PET_TYPE = horse }
			var:save_newly_created_pet_scope ?= { save_scope_as = story }
		}
	}
}


#Effect to transfer the pet to another character
transfer_pet_story_cycle_to_effect = {
	$STORY$ = { save_temporary_scope_as = story_scope }
	$CHARACTER$ = { save_temporary_scope_as = recipient_scope }
	show_as_tooltip = {
		end_pet_story_cycle_from_story_scope_effect = { STORY = scope:story_scope }
	}

	if = {
		limit = { exists = var:story_cycle_cat_name}
		remove_variable = story_cycle_cat_name
	}
	if = {
		limit = { exists = var:story_cycle_dog_name}
		remove_variable = story_cycle_dog_name
	}

	scope:story_scope = {
		make_story_owner = scope:recipient_scope

		#If it's the double-whammy that is an old pet story, we also give 'em the other one. Two for one, what a deal!  
		#if = {
		#	limit = { exists = var:original_martial_lifestyle_warhorse_story }
		#	var:original_martial_lifestyle_warhorse_story = { make_story_owner = scope:recipient_scope }
		#}
		#else_if = {
		#	limit = { exists = var:original_pet_cat_story }
		#	var:original_pet_cat_story = { make_story_owner = scope:recipient_scope }
		#}
		#else_if = {
		#	limit = { exists = var:original_pet_dog_story }
		#	var:original_pet_dog_story = { make_story_owner = scope:recipient_scope }
		#}
		if = {
			limit = { exists = var:updated_pet_story }
			var:updated_pet_story = { make_story_owner = scope:recipient_scope }
		}
		if = {
			limit = { exists = var:original_pet_story }
			var:original_pet_story = { make_story_owner = scope:recipient_scope }
		}

		#set opinion to 0
		set_variable = {
			name = opinion_of_owner
			value = 0
		}


		#To allow free roaming and breeding again, if it was turned off
		if = {
			limit = { NOT = { exists = var:allowed_to_roam_free } }
			set_variable = allowed_to_roam_free
		}
		if = {
			limit = { exists = var:block_free_roam_toggle }
			remove_variable = block_free_roam_toggle
		}
		if = {
			limit = { NOT = { exists = var:allowed_to_breed } }
			set_variable = allowed_to_breed
		}
		if = {
			limit = { exists = var:block_breeding_toggle }
			remove_variable = block_breeding_toggle
		}
	}

	#Update the new owner's menagerie level
	scope:recipient_scope = {
		hidden_effect = {
			update_menagerie_level_effect = yes
		}
	}
}

pet_death_check_effect = {
	save_temporary_scope_value_as = {
		name = pet_type
		value = flag:$PET_TYPE$
	}
	random = {
		chance = 10
		pets_expanded_pet_death_modifier = { PET_TYPE = $PET_TYPE$ }
		
		set_variable = pet_is_dying
		story_owner = {
			if = {
				limit = { scope:pet_type = flag:cat }
				add_character_flag = cat_is_dying
			}
			else_if = {
				limit = { scope:pet_type = flag:dog }
				add_character_flag = dog_is_dying
			}
			trigger_event = pets_expanded.9901
		}
	}
}

end_pet_story_cycle_from_story_scope_effect = {
	$STORY$ = { save_temporary_scope_as = story_scope }
	scope:story_scope = {
		story_owner = {
			if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_cat }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = cat
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_dog }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = dog
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_badger }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = badger
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_bear }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = bear
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_falcon }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = falcon
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_ferret }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = ferret
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_fox }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = fox
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_hedgehog }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = hedgehog
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_lion }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = lion
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_monkey }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = monkey
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_nightingale }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = nightingale
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_parrot }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = parrot
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_rabbit }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = rabbit
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_squirrel }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = squirrel
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_tiger }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = tiger
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_weasel }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = weasel
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_elephant }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = elephant
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_hawk }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = hawk
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_raven }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = raven
				}
			}
			else_if = {
				limit = {
					scope:story_scope = { story_type = PE_story_cycle_horse }
				}
				end_pet_story_cycle_effect = {
					STORY = scope:story_scope
					PET_TYPE = horse
				}
			}
		}
	}
}

end_pet_story_cycle_effect = {
	$STORY$ = { save_temporary_scope_as = story_scope }

	#If you have them selected in the pet view window we deselect them
	if = {
		limit = {
			exists = var:selected_story_scope
			var:selected_story_scope = scope:story_scope
		}
		remove_variable = selected_story_scope
		remove_variable = selected_story_type
	}
	#If the pet is dying (and we're not ending the story for another reason) we save them
	if = {
		limit = {
			scope:story_scope = { exists = var:pet_is_dying }
			#But only for players
			is_ai = no
		}
		add_to_variable_list = {
			name = dead_pets_list
			target = scope:story_scope.var:pet_dummy
		}
		add_to_variable_list = {
			name = dead_$PET_TYPE$_list
			target = scope:story_scope.var:pet_dummy
		}
	}
	if = {
		limit = { scope:story_scope = { story_type = PE_story_cycle_cat } }
		custom_description = {
			text = PE_end_cat_story_cycle_tt
		}
		scope:story_scope = { end_story = yes }
		if = {
			limit = {
				has_character_modifier = cat_story_modifier
			}
			remove_character_modifier = cat_story_modifier
		}
		if = {
			limit = {
				has_character_modifier = cat_story_allergy_modifier
			}
			remove_character_modifier = cat_story_allergy_modifier
		}
		if = {
			limit = {
				any_spouse = {
					has_character_modifier = cat_story_allergy_modifier
				}
			}
			random_spouse = {
				limit = {
					has_character_modifier = cat_story_allergy_modifier
				}
				remove_character_modifier = cat_story_allergy_modifier
			}
		}
		if = {
			limit = {
				has_character_modifier = rat_hunting_cat_modifier
			}
			remove_character_modifier = rat_hunting_cat_modifier
		}
		if = {
			limit = {
				has_character_modifier = adventurous_pet_modifier
			}
			remove_character_modifier = adventurous_pet_modifier
		}
		if = {
			limit = {
				has_character_modifier = feral_pet_modifier
			}
			remove_character_modifier = feral_pet_modifier
		}

		if = {
			limit = { has_character_flag = cat_is_dying }
			remove_character_flag = cat_is_dying
		}
	}
	else_if = {
		limit = { scope:story_scope = { story_type = PE_story_cycle_dog } }
		custom_description = {
			text = PE_end_dog_story_cycle_tt
		}
		scope:story_scope = { end_story = yes }
		if = {
			limit = {
				has_character_modifier = dog_story_modifier
			}
			remove_character_modifier = dog_story_modifier
		}
		if = {
			limit = {
				has_character_modifier = dog_story_walking_modifier
			}
			remove_character_modifier = dog_story_walking_modifier
		}
		if = {
			limit = {
				has_character_modifier = rat_hunting_dog_modifier
			}
			remove_character_modifier = rat_hunting_dog_modifier
		}
		if = {
			limit = {
				has_character_modifier = adventurous_pet_modifier
			}
			remove_character_modifier = adventurous_pet_modifier
		}
		if = {
			limit = {
				has_character_modifier = feral_pet_modifier
			}
			remove_character_modifier = feral_pet_modifier
		}
		if = {
			limit = {
				has_character_modifier = dog_story_scenthound_modifier
			}
			remove_character_modifier = dog_story_scenthound_modifier
		}
		if = {
			limit = {
				has_character_modifier = dog_story_beasthound_modifier
			}
			remove_character_modifier = dog_story_beasthound_modifier
		}

		if = {
			limit = { has_character_flag = dog_is_dying }
			remove_character_flag = dog_is_dying
		}
	}
	else = {
		custom_description = {
			text = PE_end_$PET_TYPE$_story_cycle_tt
		}
		scope:story_scope = { end_story = yes }
	}

	hidden_effect = {
		#Update the owner's menagerie level
		update_menagerie_level_effect = yes
	}
}



#######################
#######################
# STORY MAINTENANCE
#######################
#######################

trigger_ongoing_pet_event_effect = {
	story_owner = {
		set_variable = {
			name = had_pet_event_recently
			months = 6
		}
		trigger_event = {
			on_action = pets_expanded_ongoing_events
		}
	}
}

pets_expanded_on_story_end_effect = {
	if = {
		limit = {
			exists = var:original_pet_story
			var:original_pet_story = {
				NOT = { exists = var:is_ending }
			}
		}
		set_variable = is_ending
		var:original_pet_story = { end_story = yes }
	}

	#To make the dummy character pruneable again if the owner was an ai
	if = {
		limit = {
			story_owner = { is_ai = yes }
		}
		var:pet_dummy = {
			make_unprunable = no
		}
	}

	#To make the dummy character pruneable again if they're not shown as a "parent button"
	var:pet_dummy = {
		if = {
			limit = {
				OR = {
					NOT = {
						any_child = { exists = var:pet_dummy }
					}
					AND = {
						any_child = {
							exists = var:pet_dummy
							save_temporary_scope_as = child_scope
						}
						NOT = {
							story_owner = {
								any_owned_story = {
									exists = var:pet_dummy
									var:pet_dummy = scope:child_scope
								}
							}
						}
					}
				}
			}
			make_unprunable = no
		}
	}
}

pets_expanded_on_owner_death_effect = {
	save_scope_as = story_scope
	story_owner = { save_temporary_scope_as = story_owner }

	scope:story_owner = {
		if = {
			limit = {
				exists = player_heir
				player_heir = { is_alive = yes }
			}
			player_heir = {
				save_scope_as = heir_scope
			}
			#If they really liked the prev owner, the heir gets an event
			if = {
				limit = {
					scope:story_scope = {
						exists = var:opinion_of_owner
						var:opinion_of_owner >= good_pet_opinion
					}
					scope:heir_scope = {
						NOT = {
							has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:story_owner }
						}
					}
				}
				scope:story_scope = {
					set_variable = {
						name = prev_owner
						value = scope:story_owner
					}
				}
				scope:heir_scope = {
					trigger_event = {
						id = pets_expanded.1020
						days = { 7 14 }
					}
				}
			}
			transfer_pet_story_cycle_to_effect = {
				STORY = scope:story_scope
				CHARACTER = scope:heir_scope
			}
		}
		else = {
			scope:story = { end_story = yes }
		}
	}
}



#######################
#######################
# CHANGE STUFF FOR THE PET
#######################
#######################

pet_disallow_free_roam_effect = {
	if = {
		limit = { exists = var:allowed_to_roam_free }
		remove_variable = allowed_to_roam_free
	}
	set_variable = {
		name = block_free_roam_toggle
		value = yes
		years = 2
	}
	if = { limit = { exists = var:block_free_roam_toggle } } #Just to avoid errors
	custom_tooltip = pet_disallow_free_roam_effect_tt
}

pet_disallow_breeding_effect = {
	if = {
		limit = { exists = var:allowed_to_breed }
		remove_variable = allowed_to_breed
	}
	set_variable = {
		name = block_breeding_toggle
		value = yes
		years = 2
	}
	if = { limit = { exists = var:block_breeding_toggle } } #Just to avoid errors
	custom_tooltip = pet_disallow_breeding_effect_tt
}

pet_opinion_change_effect = {
	$STORY$ = {
		change_variable = {
			name = opinion_of_owner
			add = pet_opinion_$CHANGE$_value
		}
		var:pet_dummy = { save_scope_as = pet_dummy_for_tooltip }
	}
	custom_description = {
		text = PE_pet_opinion_$CHANGE$_tt
		subject = $STORY$.var:pet_dummy
	}
	#Update the owner's menagerie level
	hidden_effect = {
		$STORY$ = { story_owner = { update_menagerie_level_effect = yes } }
	}
}

# Set the pet's health!
# Can only be "good", "bad", or "fine"
pets_expanded_set_health_effect = {
	save_temporary_scope_value_as = {
		name = new_pet_health
		value = flag:$NEW_HEALTH$
	}
	custom_description = {
		text = PE_set_health_$NEW_HEALTH$_tt
		subject = var:pet_dummy
	}
	if = {
		limit = {
			exists = var:health
		}
		if = {
			limit = {
				scope:new_pet_health = flag:good
			}
			set_variable = {
				name = health
				value = flag:good
			}
		}
		else_if = {
			limit = {
				scope:new_pet_health = flag:bad
			}
			set_variable = {
				name = health
				value = flag:bad
			}
		}
		else_if = {
			limit = {
				scope:new_pet_health = flag:fine
			}
			set_variable = {
				name = health
				value = flag:fine
			}
		}
	}

	#Update the owner's menagerie level
	hidden_effect = {
		story_owner = { update_menagerie_level_effect = yes }
	}
}

# Set the relationship between two pets
# Possible relations:
#	hateful
#	friendly
#	bonded
pets_expanded_set_pet_relation_effect = {
	save_temporary_scope_value_as = {
		name = relation
		value = flag:$RELATION$
	}
	$PET_1$ = { save_temporary_scope_as = pet_1 }
	$PET_2$ = { save_temporary_scope_as = pet_2 }

	scope:pet_1 = {
		if = {
			limit = {
				OR = {
					AND = {
						has_variable_list = pet_to_pet_relation_$RELATION$
						NOT = {
							any_in_list = {
								variable = pet_to_pet_relation_$RELATION$
								this = scope:pet_2
							}
						}
					}
					NOT = { has_variable_list = pet_to_pet_relation_$RELATION$ }
				}
			}
			add_to_variable_list = {
				name = pet_to_pet_relation_$RELATION$
				target = scope:pet_2
			}
		}
	}

	scope:pet_2 = {
		if = {
			limit = {
				OR = {
					AND = {
						has_variable_list = pet_to_pet_relation_$RELATION$
						NOT = {
							any_in_list = {
								variable = pet_to_pet_relation_$RELATION$
								this = scope:pet_1
							}
						}
					}
					NOT = { has_variable_list = pet_to_pet_relation_$RELATION$ }
				}
			}
			add_to_variable_list = {
				name = pet_to_pet_relation_$RELATION$
				target = scope:pet_1
			}
		}
	}

	# Friends? Let's make sure they don't still hate each other
	if = {
		limit = {
			scope:relation = flag:friendly
		}
		scope:pet_1 = {
			if = {
				limit = {
					has_variable_list = pet_to_pet_relation_hateful
					any_in_list = {
						variable = pet_to_pet_relation_hateful
						this = scope:pet_2
					}
				}
				remove_list_variable = {
					name = pet_to_pet_relation_hateful
					target = scope:pet_2
				}
			}
		}
		scope:pet_2 = {
			if = {
				limit = {
					has_variable_list = pet_to_pet_relation_hateful
					any_in_list = {
						variable = pet_to_pet_relation_hateful
						this = scope:pet_1
					}
				}
				remove_list_variable = {
					name = pet_to_pet_relation_hateful
					target = scope:pet_1
				}
			}
		}
	}

	# Bonded? Let's make sure they don't still hate each other, and that they're also listed as friendly
	if = {
		limit = {
			scope:relation = flag:bonded
		}
		scope:pet_1 = {
			if = {
				limit = {
					has_variable_list = pet_to_pet_relation_hateful
					any_in_list = {
						variable = pet_to_pet_relation_hateful
						this = scope:pet_2
					}
				}
				remove_list_variable = {
					name = pet_to_pet_relation_hateful
					target = scope:pet_2
				}
			}

			# THIS MADE THE WHOLE THING NOT LOAD AT ALL, do not enable lol
			#if = {
			#	limit = {
			#		NOT = { pet_to_pet_relation_friendly_trigger = { OTHER_PET = scope:pet_2 } }
			#	}
			#	pets_expanded_set_pet_relation_effect = {
			#		PET_1 = scope:pet_1
			#		PET_2 = scope:pet_2
			#		RELATION = friendly
			#	}
			#}
		}
		scope:pet_2 = {
			if = {
				limit = {
					has_variable_list = pet_to_pet_relation_hateful
					any_in_list = {
						variable = pet_to_pet_relation_hateful
						this = scope:pet_1
					}
				}
				remove_list_variable = {
					name = pet_to_pet_relation_hateful
					target = scope:pet_1
				}
			}

			# THIS MADE THE WHOLE THING NOT LOAD AT ALL, do not enable lol
			#if = {
			#	limit = {
			#		NOT = { pet_to_pet_relation_friendly_trigger = { OTHER_PET = scope:pet_1 } }
			#	}
			#	pets_expanded_set_pet_relation_effect = {
			#		PET_1 = scope:pet_1
			#		PET_2 = scope:pet_2
			#		RELATION = friendly
			#	}
			#}
		}
	}

	# Hateful? Let's make sure they don't still like each other, and that they're also not bonded anymore
	if = {
		limit = {
			scope:relation = flag:hateful
		}
		scope:pet_1 = {
			if = {
				limit = {
					has_variable_list = pet_to_pet_relation_friendly
					any_in_list = {
						variable = pet_to_pet_relation_friendly
						this = scope:pet_2
					}
				}
				remove_list_variable = {
					name = pet_to_pet_relation_friendly
					target = scope:pet_2
				}
			}
			if = {
				limit = {
					has_variable_list = pet_to_pet_relation_bonded
					any_in_list = {
						variable = pet_to_pet_relation_bonded
						this = scope:pet_2
					}
				}
				remove_list_variable = {
					name = pet_to_pet_relation_bonded
					target = scope:pet_2
				}
			}
		}
		scope:pet_2 = {
			if = {
				limit = {
					has_variable_list = pet_to_pet_relation_friendly
					any_in_list = {
						variable = pet_to_pet_relation_friendly
						this = scope:pet_1
					}
				}
				remove_list_variable = {
					name = pet_to_pet_relation_friendly
					target = scope:pet_1
				}
			}
			if = {
				limit = {
					has_variable_list = pet_to_pet_relation_bonded
					any_in_list = {
						variable = pet_to_pet_relation_bonded
						this = scope:pet_1
					}
				}
				remove_list_variable = {
					name = pet_to_pet_relation_bonded
					target = scope:pet_1
				}
			}
		}
	}


	#To avoid errors
	if = {
		limit = { always = no }
		set_variable = pet_to_pet_relation_friendly
		set_variable = pet_to_pet_relation_bonded
		set_variable = pet_to_pet_relation_hateful
	}
}



#######################
#######################
# EVENT MAINTENANCE
#######################
#######################

save_pet_dummy_scope_effect = {
	scope:story.var:pet_dummy ?= { save_scope_as = pet_dummy }
}

pets_expanded_setup_event_effect = {
	hidden_effect = {
		save_pet_dummy_scope_effect = yes
		scope:story ?= {
			set_variable = busy_in_events
		}
	}
}

pets_expanded_cleanup_after_event_effect = {
	remove_variable = busy_in_events
}


pets_expanded_injured_by_animal_effect = {
	$STORY$ = { save_temporary_scope_as = story_scope }
	if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_cat }
		}
		increase_wounds_effect = { REASON = bitten_by_cat }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_dog }
		}
		increase_wounds_effect = { REASON = mauled_by_dog }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_badger }
		}
		increase_wounds_effect = { REASON = mauled_by_badger }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_bear }
		}
		increase_wounds_effect = { REASON = mauled_by_bear }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_falcon }
		}
		increase_wounds_effect = { REASON = scratched_by_falcon }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_ferret }
		}
		increase_wounds_effect = { REASON = bitten_by_ferret }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_fox }
		}
		increase_wounds_effect = { REASON = bitten_by_fox }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_hedgehog }
		}
		increase_wounds_effect = { REASON = bitten_by_hedgehog }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_lion }
		}
		increase_wounds_effect = { REASON = mauled_by_lion }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_monkey }
		}
		increase_wounds_effect = { REASON = mauled_by_monkey }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_nightingale }
		}
		increase_wounds_effect = { REASON = scratched_by_nightingale }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_parrot }
		}
		increase_wounds_effect = { REASON = scratched_by_parrot }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_rabbit }
		}
		increase_wounds_effect = { REASON = bitten_by_rabbit }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_squirrel }
		}
		increase_wounds_effect = { REASON = bitten_by_squirrel }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_tiger }
		}
		increase_wounds_effect = { REASON = mauled_by_tiger }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_weasel }
		}
		increase_wounds_effect = { REASON = bitten_by_weasel }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_elephant }
		}
		increase_wounds_effect = { REASON = trampled_by_elephant }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_hawk }
		}
		increase_wounds_effect = { REASON = scratched_by_hawk }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_raven }
		}
		increase_wounds_effect = { REASON = scratched_by_raven }
	}
	else_if = {
		limit = {
			scope:story_scope = { story_type = PE_story_cycle_horse }
		}
		increase_wounds_effect = { REASON = kicked_by_horse }
	}
}