﻿# Override of vanilla story_cycle_pet_eagle: shows the mod's 4 custom portraits via var:bap_eagle_type.
# Generated by tools/make_pet_overrides.py - vanilla logic preserved.

story_cycle_pet_eagle = {
	visible = yes

	icon = {
		trigger = { var:bap_eagle_type ?= flag:golden }
		reference = "gfx/interface/icons/pets/bap_eagle_golden.dds"
	}
	icon = {
		trigger = { var:bap_eagle_type ?= flag:steppe }
		reference = "gfx/interface/icons/pets/bap_eagle_steppe.dds"
	}
	icon = {
		trigger = { var:bap_eagle_type ?= flag:imperial }
		reference = "gfx/interface/icons/pets/bap_eagle_imperial.dds"
	}
	icon = {
		trigger = { var:bap_eagle_type ?= flag:whitetail }
		reference = "gfx/interface/icons/pets/bap_eagle_whitetail.dds"
	}
	icon = {
		trigger = { always = yes }
		reference = "gfx/interface/icons/pets/bap_eagle_golden.dds"
	}
	background = {
		reference = "gfx/interface/illustrations/event_scenes/ep2_travel_mountains.dds"
	}
	
	visualization = {
		custom_string_key = "bap_story_cycle_eagle_info"
		decisions = {
			bap_abandon_pet_decision
		}
		modifiers = {
			eagle_story_modifier
			weak_eagle_modifier
			very_weak_eagle_modifier
			strong_eagle_modifier
			skilled_eagle_modifier
		}
	}
    on_setup = {
		if = {
			limit = { NOT = { exists = var:bap_eagle_type } }
			random_list = {
				10 = { set_variable = { name = bap_eagle_type value = flag:golden } }
				10 = { set_variable = { name = bap_eagle_type value = flag:steppe } }
				10 = { set_variable = { name = bap_eagle_type value = flag:imperial } }
				10 = { set_variable = { name = bap_eagle_type value = flag:whitetail } }
			}
		}
        story_owner = {
            if = {
				limit = {
					NOT = { exists = var:eagle_gender }
				}
				assign_eagle_gender_effect = { GENDER = random }
			}
			bap_add_eagle_pet_upkeep_effect = yes
			if = {
				limit = {
					NOT = { exists = var:eagle_age_variable }
				}
				set_variable = {
					name = eagle_age_variable
					value = 1
				}
			}
        }
        if = {
			limit = {
				NOT = { exists = var:eagle_gender }
				exists = story_owner.var:eagle_gender
			}
			if = {
				limit = {
					story_owner.var:eagle_gender = flag:male
				}
				set_variable = {
					name = eagle_gender
					value = flag:male
				}
			}
			else_if = {
				limit = {
					story_owner.var:eagle_gender = flag:female
				}
				set_variable = {
					name = eagle_gender
					value = flag:female
				}
			}
		}
		else = {
			assign_eagle_gender_effect = { GENDER = random }
		}
		
		if = {
			limit = {
				NOT = { exists = var:eagle_age_variable }
				exists = story_owner.var:eagle_age_variable
			}
			set_variable = {
				name = eagle_age_variable
				value = story_owner.var:eagle_age_variable
			}
		}
		else = {
			set_variable = {
				name = eagle_age_variable
				value = 1
			}
		}
    }

    on_end = {
        story_owner = {
			if = {
				limit = {
					is_alive = yes
				}
				if = {
					limit = {
						has_character_flag = eagle_is_dying
						NOT = { has_character_flag = bap_pet_story_abandoning }
					}
					bap_prepare_pet_memorial_effect = yes
				}
				bap_remove_eagle_pet_upkeep_effect = yes
				remove_eagle_story_modifiers_effect = yes
				remove_variable = story_cycle_eagle_name
				remove_variable = eagle_age_variable
				remove_variable = eagle_gender
				add_character_flag = had_eagle_story
			}
        }
	}

	on_owner_death = {
		scope:story = { end_story = yes }
	}

    # Name your Eagle
    effect_group = {
		days = { 2 4 }
		chance = 100
	
		triggered_effect = {
			trigger = {
				NOT = { exists = story_owner.var:story_cycle_eagle_name }
			}
			effect = {
				story_owner = {
					trigger_event = pet_animal.3001
				}
			}
		}
	}

	# Keep the visible monthly upkeep matched to the current game rule.
	effect_group = {
		days = 30
		chance = 100

		trigger = {
			story_owner = { is_alive = yes }
		}

		triggered_effect = {
			trigger = { always = yes }
			effect = {
				story_owner = { bap_add_eagle_pet_upkeep_effect = yes }
			}
		}
	}

    #To save the name in the story's scope (can for some reason not be done in the naming event itself)
	effect_group = {
		days = 5
		chance = 100
	
		triggered_effect = {
			trigger = {
				exists = story_owner.var:story_cycle_eagle_name
			}
			effect = {
				set_variable = {
					name = story_cycle_eagle_name
					value = scope:story.story_owner.var:story_cycle_eagle_name
				}
			}
		}
	}

    #Age the eagle
	effect_group = {
		days = 365

		trigger = {
			exists = story_owner.var:eagle_age_variable
		}

		triggered_effect = {
			trigger = { always = yes }
			effect = {
				story_owner = {
					change_variable = {
						name = eagle_age_variable
						add = 1
					}
				}
			}
		}
	}

    # Time to let eagle go (or not)
	effect_group = {
		days = { 7000 10000 }
		chance = 100
	
		triggered_effect = {
			trigger = {
				exists = story_owner.var:story_cycle_eagle_name
				story_owner = {
					NOT = {
						has_character_flag = eagle_is_missing
					}
				}
			}
			effect = {
				story_owner = {
					trigger_event = pet_animal.3020
				}
			}
		}
	}

    # Eagle dies
	effect_group = {
		days = { 18000 25000 }
		chance = 100
	
		triggered_effect = {
			trigger = {
				exists = story_owner.var:story_cycle_eagle_name
				story_owner = {
					NOT = {
						has_character_flag = eagle_is_missing
					}
					NOT = {
						has_character_flag = eagle_marked_for_death
					}
				}
			}
			effect = {
				story_owner = {
					add_character_flag = {
						flag = eagle_is_dying
					}
					trigger_event = pet_animal.3199
				}
			}
		}
	}

    effect_group = { # Something happens - random events
		days = { 730 1200 }
		chance = 25

		trigger = {
			has_game_rule = bap_pet_events_rare
			exists = story_owner.var:story_cycle_eagle_name
			story_owner = {
				NOT = {
					has_character_flag = eagle_is_dying
				}
			}
		}

		triggered_effect = {
			trigger = { always = yes  }
			effect = {
				story_owner = {
					trigger_event = {
						on_action = ongoing_eagle_events
					}
				}
			}
		}
	}

    effect_group = { # Something happens - random events
		days = { 365 600 }
		chance = 25

		trigger = {
			has_game_rule = bap_pet_events_normal
			exists = story_owner.var:story_cycle_eagle_name
			story_owner = {
				NOT = {
					has_character_flag = eagle_is_dying
				}
			}
		}

		triggered_effect = {
			trigger = { always = yes  }
			effect = {
				story_owner = {
					trigger_event = {
						on_action = ongoing_eagle_events
					}
				}
			}
		}
	}

    effect_group = { # Something happens - random events
		days = { 180 300 }
		chance = 25

		trigger = {
			has_game_rule = bap_pet_events_frequent
			exists = story_owner.var:story_cycle_eagle_name
			story_owner = {
				NOT = {
					has_character_flag = eagle_is_dying
				}
			}
		}

		triggered_effect = {
			trigger = { always = yes  }
			effect = {
				story_owner = {
					trigger_event = {
						on_action = ongoing_eagle_events
					}
				}
			}
		}
	}

}
