namespace = legend_events ############################ ## Legend Spawn Events ## 0001-1000 ## by James Beaumont ############################ # legend_events.0001 - Chronicler gives you a legend seed # legend_events.0010 - Chronicler convinces someone to promote your legend # legend_events.0020 - Hold Court presentation of a legend seed # Chronicler gives you a legend seed :D legend_events.0001 = { type = character_event title = legend_events.0001.t desc = { desc = legend_events.0001.desc.intro first_valid = { triggered_desc = { trigger = { var:legend_seed_to_give = flag:slew_dragon } desc = legend_events.0001.desc.mid.slew_dragon } triggered_desc = { trigger = { var:legend_seed_to_give = flag:ancestral_saint } desc = legend_events.0001.desc.mid.ancestral_saint } triggered_desc = { trigger = { var:legend_seed_to_give = flag:old_godly_descent } desc = legend_events.0001.desc.mid.old_godly_descent } triggered_desc = { trigger = { var:legend_seed_to_give = flag:raised_by_animals } desc = legend_events.0001.desc.mid.raised_by_animals } triggered_desc = { trigger = { var:legend_seed_to_give = flag:auspicious_stars } desc = legend_events.0001.desc.mid.auspicious_stars } triggered_desc = { trigger = { var:legend_seed_to_give = flag:virgin_birth } desc = legend_events.0001.desc.mid.virgin_birth } triggered_desc = { trigger = { var:legend_seed_to_give = flag:spoke_to_angels } desc = legend_events.0001.desc.mid.spoke_to_angels } triggered_desc = { trigger = { var:legend_seed_to_give = flag:fought_the_devil } desc = legend_events.0001.desc.mid.fought_the_devil } triggered_desc = { trigger = { var:legend_seed_to_give = flag:exotic_backstory } desc = legend_events.0001.desc.mid.exotic_backstory } triggered_desc = { trigger = { var:legend_seed_to_give = flag:ancient_people } desc = legend_events.0001.desc.mid.ancient_people } } desc = legend_events.0001.desc.outro } theme = legend left_portrait = { character = root animation = personality_honorable } right_portrait = { character = scope:chronicler animation = chancellor } lower_center_portrait = { trigger = { exists = scope:legend_character } character = scope:legend_character } # The Court Chronicler needs to be alive trigger = { scope:chronicler = { is_alive = yes } } immediate = { random_list = { # Determine the seed to hand out 10 = { # Ancestor killed a dragon trigger = { any_ancestor = { even_if_dead = yes is_adult = yes is_alive = no } NOT = { has_game_rule = historical_legends_only } } random_ancestor = { even_if_dead = yes limit = { is_adult = yes is_alive = no } weight = { base = 1 modifier = { add = prowess } modifier = { add = martial } } save_scope_as = legend_character } set_variable = { name = legend_seed_to_give value = flag:slew_dragon } } 10 = { # Ancestor was/should be a saint trigger = { any_ancestor = { even_if_dead = yes is_adult = yes is_alive = no } NOT = { has_game_rule = historical_legends_only } } random_ancestor = { even_if_dead = yes limit = { is_adult = yes is_alive = no } weight = { base = 1 modifier = { add = learning } modifier = { factor = 3 OR = { num_virtuous_traits = { target = root.faith value >= 1 } has_trait = saint } } modifier = { factor = 0.1 OR = { num_sinful_traits = { target = root.faith value >= 1 } has_trait = excommunicated } } } save_scope_as = legend_character } set_variable = { name = legend_seed_to_give value = flag:ancestral_saint } } 10 = { # I am descended from an old God trigger = { NOT = { religion = { is_in_family = rf_pagan } } any_ancestor = { even_if_dead = yes is_alive = no religion = { is_in_family = rf_pagan } } NOT = { has_game_rule = historical_legends_only } } random_ancestor = { even_if_dead = yes limit = { religion = { is_in_family = rf_pagan } is_alive = no } weight = { base = 1 modifier = { add = learning } modifier = { factor = 3 OR = { num_virtuous_traits = { target = root.faith value >= 1 } has_trait = saint } } modifier = { factor = 0.1 OR = { num_sinful_traits = { target = root.faith value >= 1 } has_trait = excommunicated } } } save_scope_as = legend_character } set_variable = { name = legend_seed_to_give value = flag:old_godly_descent } } 10 = { # I was raised by dangerous animals trigger = { NOT = { has_game_rule = historical_legends_only } } select_local_animal_effect = { TYPE = dangerous } set_variable = { name = legend_seed_to_give value = flag:raised_by_animals } } 10 = { # Born under auspicious stars trigger = { NOT = { has_game_rule = historical_legends_only } } set_variable = { name = legend_seed_to_give value = flag:auspicious_stars } } 10 = { # Virgin birth trigger = { has_any_bastard_trait_trigger = yes NOT = { has_game_rule = historical_legends_only } } set_variable = { name = legend_seed_to_give value = flag:virgin_birth } } 10 = { # Spoke to an angel trigger = { religion_has_angels_trigger = yes NOT = { has_game_rule = historical_legends_only } } set_variable = { name = legend_seed_to_give value = flag:spoke_to_angels } } 10 = { # Fought a demon trigger = { NOT = { has_game_rule = historical_legends_only } } set_variable = { name = legend_seed_to_give value = flag:fought_the_devil } } 10 = { # Exotic backstory get_appropriate_exotic_location = yes set_variable = { name = legend_seed_to_give value = flag:exotic_backstory } } 10 = { # Ancient people trigger = { # The ancient cultures we have for now aren't appropriate for these regions root.culture = { NOR = { culture_overlaps_geographical_region = world_burma culture_overlaps_geographical_region = custom_arakan_mountains culture_overlaps_geographical_region = world_tibet } } } get_appropriate_ancient_people = yes set_variable = { name = legend_seed_to_give value = flag:ancient_people } } } } option = { # Wowie zowie, really? name = legend_events.0001.a if = { limit = { exists = var:legend_seed_to_give var:legend_seed_to_give = flag:slew_dragon } create_legend_seed = { type = heroic quality = famed chronicle = beast_slayer properties = { beast = flag:dragon location = root.location } } } else_if = { limit = { exists = var:legend_seed_to_give var:legend_seed_to_give = flag:ancestral_saint } create_legend_seed = { type = holy quality = famed chronicle = saintly_deed properties = { ancestor = scope:legend_character religion = root.religion } } } else_if = { limit = { exists = var:legend_seed_to_give var:legend_seed_to_give = flag:old_godly_descent } generate_religion_descent_effect = { RELIGION = scope:legend_character.religion GOD = high_god } } else_if = { limit = { exists = var:legend_seed_to_give var:legend_seed_to_give = flag:raised_by_animals } create_legend_seed = { type = heroic quality = famed chronicle = raised_by_animals properties = { beast = var:animal_type } } } else_if = { limit = { exists = var:legend_seed_to_give var:legend_seed_to_give = flag:auspicious_stars } create_legend_seed = { type = holy quality = famed chronicle = sacred_birth properties = { reason = flag:auspicious } } } else_if = { limit = { exists = var:legend_seed_to_give var:legend_seed_to_give = flag:virgin_birth } create_legend_seed = { type = holy quality = famed chronicle = sacred_birth properties = { reason = flag:virgin } } } else_if = { limit = { exists = var:legend_seed_to_give var:legend_seed_to_give = flag:spoke_to_angels } create_legend_seed = { type = holy quality = famed chronicle = divine_intervention properties = { god = flag:the_angels } } } else_if = { limit = { exists = var:legend_seed_to_give var:legend_seed_to_give = flag:fought_the_devil } create_legend_seed = { type = holy quality = famed chronicle = fought_devil properties = { faith = root.faith } } } else_if = { limit = { exists = var:legend_seed_to_give var:legend_seed_to_give = flag:exotic_backstory } create_legend_seed = { type = heroic quality = famed chronicle = exotic_backstory properties = { location = scope:exotic_location } } } else_if = { limit = { exists = var:legend_seed_to_give var:legend_seed_to_give = flag:ancient_people } create_legend_seed = { type = legitimizing quality = famed chronicle = ancient_people properties = { culture = scope:ancient_culture title = root.primary_title original_region = var:original_region } } } ai_chance = { base = 100 } } option = { # I don't want this legend name = legend_events.0001.b ai_chance = { base = 0 } } } # Chronicler convinces someone to promote your legend legend_events.0010 = { type = character_event title = legend_events.0010.t desc = legend_events.0010.desc theme = legend left_portrait = { character = root animation = personality_honorable } center_portrait = { character = scope:chronicler animation = chancellor } right_portrait = { character = scope:potential_promoter animation = chancellor } option = { # Diplo duel option name = legend_events.0010.a duel = { skill = diplomacy target = scope:potential_promoter 50 = { compare_modifier = { value = scope:duel_value multiplier = 3.5 min = -49 } modifier = { # Reluctant to drop their existing legend scope:potential_promoter = { exists = promoted_legend } factor = 0.5 } send_interface_toast = { title = legend_events.0010.a.success scope:potential_promoter = { set_promoted_legend = root.promoted_legend } } } 50 = { compare_modifier = { value = scope:duel_value multiplier = -3.5 min = -49 } modifier = { # Reluctant to drop their existing legend scope:potential_promoter = { exists = promoted_legend } factor = 2 } send_interface_toast = { title = legend_events.0010.a.failure add_prestige = minor_prestige_loss } } } ai_chance = { base = 100 modifier = { # I'd have better odds with option B intrigue > diplomacy factor = 0 } } } option = { # Lie name = legend_events.0010.b duel = { skill = intrigue target = scope:potential_promoter 50 = { compare_modifier = { value = scope:duel_value multiplier = 3.5 min = -49 } modifier = { # Reluctant to drop their existing legend scope:potential_promoter = { exists = promoted_legend } factor = 0.5 } send_interface_toast = { title = legend_events.0010.a.success scope:potential_promoter = { set_promoted_legend = root.promoted_legend } } } 50 = { compare_modifier = { value = scope:duel_value multiplier = -3.5 min = -49 } modifier = { # Reluctant to drop their existing legend scope:potential_promoter = { exists = promoted_legend } factor = 2 } send_interface_toast = { title = legend_events.0010.a.failure add_prestige = minor_prestige_loss } } } stress_impact = { honest = minor_stress_impact_gain } ai_chance = { base = 100 modifier = { # I'd have better odds with option A intrigue < diplomacy factor = 0 } } } option = { # Nah not interested, go away. name = legend_events.0010.c ai_chance = { base = 0 } } } legend_events.0020 = { #hold court presentation of a potential seed type = court_event title = legend_events.0020.t desc = legend_events.0020.desc theme = legend court_scene = { button_position_character = scope:seed_presenter court_event_force_open = yes show_timeout_info = no should_pause_time = yes roles = { scope:seed_presenter = { group = petitioners_group animation = personality_rational } } } widget = { gui = "event_window_widget_event_chain_progress" container = "custom_widgets_container" controller = event_chain_progress } weight_multiplier = { base = 1 modifier = { factor = 2 court_grandeur_current_level > court_grandeur_minimum_expected_level } # Court weightings. ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_diplomatic } } trigger = { any_pool_guest = { count >= 1 is_available_adult = yes has_court_event_flag = no culture != root.culture opinion = { target = root value >= high_positive_opinion } } NOR = { has_personal_legend_seed = heroic has_personal_legend_seed = holy has_personal_legend_seed = legitimizing } } immediate = { random_pool_guest = { limit = { is_available_adult = yes has_court_event_flag = no culture != root.culture opinion = { target = root value >= high_positive_opinion } } save_scope_as = seed_presenter court_event_character_flag_effect = yes } hold_court_queue_next_event_effect = yes } option = { #yes, it is my about my dynasty and I shall prove it! name = legend_events.0020.a legend_seed_great_deed_dynasty_effect = yes culture = { change_cultural_acceptance = { target = scope:seed_presenter.culture value = miniscule_positive_culture_acceptance desc = cultural_acceptance_gain_hold_court_event_outcome } } stress_impact = { ambitious = minor_stress_loss } ai_chance = { #we want AI to have seeds base = 100 } } option = { #yes, it is about me ruling the title and I shall prove it! name = legend_events.0020.b legend_seed_great_deed_title_effect = { TITLE = root.primary_title } culture = { change_cultural_acceptance = { target = scope:seed_presenter.culture value = miniscule_positive_culture_acceptance desc = cultural_acceptance_gain_hold_court_event_outcome } } stress_impact = { ambitious = minor_stress_loss } ai_chance = { #we want AI to have seeds base = 100 } } option = { #no, I don't need to humor your culture fairy tales name = legend_events.0020.c add_prestige = medium_prestige_gain dynasty = { add_dynasty_prestige = minor_dynasty_prestige_gain } culture = { change_cultural_acceptance = { target = scope:seed_presenter.culture value = low_negative_culture_acceptance desc = cultural_acceptance_gain_hold_court_event_outcome } } stress_impact = { ambitious = minor_stress_gain compassionate = minor_stress_gain callous = medium_stress_loss sadistic = medium_stress_loss } ai_chance = { #we want AI to have seeds base = 0 } } after = { scope:seed_presenter = { clear_court_event_participation = yes } # Finish up the chain if relevant. hold_court_queue_post_event_effect = yes } } legend_events.1000 = { type = letter_event opening = { desc = legend_events.1000.t } desc = legend_events.1000.desc sender = scope:legend_owner immediate = { scope:legend = { legend_owner = { save_scope_as = legend_owner } } } option = { #I did a silly name = legend_events.1000.a pay_short_term_gold = { target = scope:legend_owner gold = medium_gold_value } stress_impact = { deceitful = major_stress_impact_loss honest = medium_stress_impact_gain just = medium_stress_impact_gain } ai_chance = { base = 100 } } option = { #If you have really high Intrigue you get away with paying just half name = legend_events.1000.b trigger = { intrigue >= very_high_skill_rating } #trait = deceitful pay_short_term_gold = { target = scope:legend_owner gold = { value = medium_gold_value multiply = 0.5 } } stress_impact = { deceitful = massive_stress_impact_loss honest = major_stress_impact_gain just = medium_stress_impact_gain } ai_chance = { base = 100 } } after = { remove_variable = accepted_promote_legend_var } }