namespace = natural_disaster_flavor_events scripted_trigger is_location_affected_by_disaster_in_recovery_trigger = { location.county = { any_county_situation = { tgp_natural_disaster_situation_is_disaster_trigger = yes situation_current_phase = recovery } } } scripted_effect create_random_misc_artifact_effect = { create_artifact = { name = random_misc_artifact description = random_misc_artifact_desc type = miscellaneous visuals = ring rarity = common modifier = artifact_prowess_1_modifier max_durability = 15 save_scope_as = random_misc_artifact } hidden_effect = { random_list = { 50 = { scope:random_misc_artifact = { add_artifact_modifier = character_travel_speed_1 } } 50 = { scope:random_misc_artifact = { add_artifact_modifier = artifact_travel_safety_1 } } } } } # As Scavengers Gather natural_disaster_flavor_events.0001 = { type = character_event title = natural_disaster_flavor_events.0001.t desc = natural_disaster_flavor_events.0001.desc theme = disaster left_portrait = { character = root animation = survey } cooldown = { years = 20 } trigger = { has_tgp_dlc_trigger = yes is_location_valid_for_travel_event_on_land = yes is_location_affected_by_disaster_in_recovery_trigger = yes is_available_travelling_adult = yes is_landed = no } widgets = { widget = { is_shown = { scope:random_weather = flag:fog } gui = event_window_widget_vfx_rainy_fog container = foreground_shader_vfx_container } } immediate = { location.county = { random_county_situation = { limit = { tgp_natural_disaster_situation_is_disaster_trigger = yes } save_scope_as = disaster_situation } } create_character = { template = generic_peasant_character location = root.location culture = root.location.culture faith = root.location.faith gender_female_chance = root_soldier_female_chance save_scope_as = person_in_need } random_list = { 20 = { save_scope_value_as = { name = random_weather value = flag:fog } } 80 = { } } } option = { # Valuables name = natural_disaster_flavor_events.0001.a add_piety = minor_piety_loss random_list = { 33 = { # Gold send_interface_toast = { type = event_toast_effect_good title = natural_disaster_flavor_events.0001.a.gold.toast left_icon = root add_gold = { add = miniscule_gold_value multiply = 3 } } modifier = { add = 15 has_trait = greedy } } 33 = { # Provisions send_interface_toast = { type = event_toast_effect_good title = natural_disaster_flavor_events.0001.a.provisions.toast left_icon = root domicile = { change_provisions = miniscule_provisions_gain } } modifier = { add = 15 has_trait = gluttonous } } 33 = { # Artifact send_interface_toast = { type = event_toast_effect_good title = natural_disaster_flavor_events.0001.a.artifact.toast left_icon = root create_random_misc_artifact_effect = yes } modifier = { add = 15 has_trait = brave } } } current_travel_plan = { delay_travel_plan = { days = 10 } } random = { chance = 20 contract_disease_effect = { DISEASE = ill TREATMENT_EVENT = yes } } stress_impact = { just = minor_stress_impact_gain greedy = minor_stress_impact_loss } ai_chance = { base = 100 ai_value_modifier = { ai_greed = 1 ai_compassion = -1 } } } option = { # Survivors name = natural_disaster_flavor_events.0001.b duel = { skill = prowess value = medium_skill_rating 50 = { # Success compare_modifier = { value = scope:duel_value multiplier = 3.5 min = -49 } min = 20 max = 90 reverse_add_opinion = { target = scope:person_in_need modifier = grateful_opinion opinion = 25 } } 50 = { # Failure compare_modifier = { value = scope:duel_value multiplier = -3.5 min = -49 } min = 20 max = 90 send_interface_toast = { type = event_toast_effect_bad title = natural_disaster_flavor_events.0001.b.failure.toast # fix this left_icon = root right_icon = scope:person_in_need scope:person_in_need = { increase_wounds_effect = { REASON = wounds } } } } } send_interface_toast = { type = event_toast_effect_good title = natural_disaster_flavor_events.0001.b.success.toast left_icon = root right_icon = scope:person_in_need current_travel_plan = { add_companion = scope:person_in_need } } current_travel_plan = { delay_travel_plan = { days = 10 } } stress_impact = { lazy = minor_stress_impact_gain compassionate = minor_stress_impact_loss } ai_chance = { base = 100 ai_value_modifier = { ai_compassion = 1 ai_rationality = -1 } } } option = { # Opt out name = natural_disaster_flavor_events.0001.c custom_tooltip = RESUME_TRAVEL_PLAN_EFFECT stress_impact = { compassionate = minor_stress_impact_gain craven = minor_stress_impact_loss } ai_chance = { base = 100 ai_value_modifier = { ai_compassion = -1 ai_rationality = 1 } } } } # Waking Nightmare natural_disaster_flavor_events.0005 = { type = character_event title = natural_disaster_flavor_events.0005.t desc = natural_disaster_flavor_events.0005.desc theme = disaster left_portrait = { character = root animation = shock } cooldown = { years = 20 } trigger = { has_tgp_dlc_trigger = yes is_location_valid_for_travel_event_on_land = yes is_landed = no } widget = { gui = event_window_widget_vfx_earthquake container = foreground_shader_vfx_container } immediate = { location.county = { random_county_situation = { limit = { tgp_natural_disaster_situation_is_disaster_trigger = yes } save_scope_as = disaster_situation } } } option = { # Run for your life name = natural_disaster_flavor_events.0005.a duel = { skill = prowess value = medium_skill_rating 50 = { # Success compare_modifier = { value = scope:duel_value multiplier = 3.5 min = -49 } desc = natural_disaster_flavor_events.0005.a.success.toast min = 20 max = 90 send_interface_toast = { type = event_toast_effect_good title = natural_disaster_flavor_events.0005.a.success.toast left_icon = root add_character_modifier = { modifier = tgp_selfish_actions_character_modifier years = 10 } } } 50 = { # Failure compare_modifier = { value = scope:duel_value multiplier = -3.5 min = -49 } desc = natural_disaster_flavor_events.0005.a.failure.toast min = 20 max = 90 send_interface_toast = { type = event_toast_effect_bad title = natural_disaster_flavor_events.0005.a.failure.toast left_icon = root increase_wounds_effect = { REASON = wounds } } } } stress_impact = { compassionate = minor_stress_impact_gain craven = minor_stress_impact_loss } ai_chance = { base = 100 ai_value_modifier = { ai_honor = -1 ai_compassion = 1 ai_rationality = 1 } } } option = { # Find a safe location name = natural_disaster_flavor_events.0005.b duel = { skill = learning value = medium_skill_rating 50 = { # Success compare_modifier = { value = scope:duel_value multiplier = 3.5 min = -49 } desc = natural_disaster_flavor_events.0005.b.success.toast min = 20 max = 90 send_interface_toast = { type = event_toast_effect_good title = natural_disaster_flavor_events.0005.b.success.toast left_icon = root add_character_modifier = { modifier = tgp_finding_safe_spot_character_modifier years = 10 } } } 50 = { # Failure compare_modifier = { value = scope:duel_value multiplier = -3.5 min = -49 } desc = natural_disaster_flavor_events.0005.b.failure.toast min = 20 max = 90 send_interface_toast = { type = event_toast_effect_bad title = natural_disaster_flavor_events.0005.b.failure.toast left_icon = root increase_wounds_effect = { REASON = wounds } } } } stress_impact = { fickle = minor_stress_impact_gain diligent = minor_stress_impact_loss } ai_chance = { base = 100 ai_value_modifier = { ai_rationality = 2 ai_energy = -1 } } } } # Desperate Souls natural_disaster_flavor_events.0010 = { type = character_event title = natural_disaster_flavor_events.0010.t desc = natural_disaster_flavor_events.0010.desc theme = disaster left_portrait = { character = root animation = worry } cooldown = { years = 20 } trigger = { has_tgp_dlc_trigger = yes is_location_valid_for_travel_event_on_land = yes is_location_affected_by_disaster_in_recovery_trigger = yes is_available_travelling_adult = yes } immediate = { location.county = { random_county_situation = { limit = { tgp_natural_disaster_situation_is_disaster_trigger = yes } save_scope_as = disaster_situation } } } option = { # Reassure them that help is coming name = natural_disaster_flavor_events.0010.a duel = { skill = diplomacy value = medium_skill_rating 50 = { # Success compare_modifier = { value = scope:duel_value multiplier = 3.5 min = -49 } desc = natural_disaster_flavor_events.0010.a.success.toast min = 20 max = 90 send_interface_toast = { type = event_toast_effect_good title = natural_disaster_flavor_events.0010.a.success.toast left_icon = root add_diplomacy_lifestyle_xp = medium_lifestyle_experience } } 50 = { # Failure compare_modifier = { value = scope:duel_value multiplier = -3.5 min = -49 } desc = natural_disaster_flavor_events.0010.a.failure.toast min = 20 max = 90 send_interface_toast = { type = event_toast_effect_bad title = natural_disaster_flavor_events.0010.a.failure.toast left_icon = root add_character_modifier = { modifier = tgp_deceitful_overconfidence_character_modifier years = 10 } } } } stress_impact = { honest = minor_stress_impact_gain deceitful = minor_stress_impact_loss } ai_chance = { base = 100 ai_value_modifier = { ai_honor = -1 ai_compassion = -1 ai_sociability = 1 } } } option = { # Lie your way out of the situation name = natural_disaster_flavor_events.0010.b duel = { skill = intrigue value = medium_skill_rating 50 = { # Success compare_modifier = { value = scope:duel_value multiplier = 3.5 min = -49 } desc = natural_disaster_flavor_events.0010.b.success.toast min = 20 max = 90 send_interface_toast = { type = event_toast_effect_good title = natural_disaster_flavor_events.0010.b.success.toast left_icon = root add_intrigue_lifestyle_xp = medium_lifestyle_experience } } 50 = { # Failure compare_modifier = { value = scope:duel_value multiplier = -3.5 min = -49 } desc = natural_disaster_flavor_events.0010.b.failure.toast min = 20 max = 90 send_interface_toast = { type = event_toast_effect_bad title = natural_disaster_flavor_events.0010.b.failure.toast left_icon = root add_character_modifier = { modifier = tgp_deceitful_overconfidence_character_modifier years = 10 } } } } stress_impact = { honest = minor_stress_impact_gain deceitful = minor_stress_impact_loss } ai_chance = { base = 100 ai_value_modifier = { ai_honor = -1 ai_compassion = -2 ai_rationality = 1 } } } option = { # Ignore their pleas name = natural_disaster_flavor_events.0010.c flavor = natural_disaster_flavor_events.0010.c.tt current_travel_plan.current_location.county = { if = { limit = { holder = { save_temporary_scope_as = county_holder } OR = { scope:county_holder = root root = { is_vassal_or_below_of = scope:county_holder } } } add_county_modifier = { modifier = tgp_abandoned_population_modifier years = 10 } } else = { root = { add_prestige = minor_prestige_loss } } } stress_impact = { compassionate = minor_stress_impact_gain callous = minor_stress_impact_loss } ai_chance = { base = 100 ai_value_modifier = { ai_compassion = -2 ai_rationality = 2 } } } } # Selfless Acts natural_disaster_flavor_events.0015 = { type = character_event title = natural_disaster_flavor_events.0015.t desc = natural_disaster_flavor_events.0015.desc theme = disaster left_portrait = { character = root animation = shock } right_portrait = { character = scope:spouse animation = fear } lower_center_portrait = { trigger = { exists = scope:heir } character = scope:heir } lower_right_portrait = { trigger = { exists = scope:courtier } character = scope:courtier } cooldown = { years = 20 } trigger = { has_tgp_dlc_trigger = yes is_location_valid_for_travel_event_on_land = yes is_location_affected_by_disaster_in_recovery_trigger = yes is_landed = yes primary_spouse ?= { is_at_same_location = root } } immediate = { location.county = { random_county_situation = { limit = { tgp_natural_disaster_situation_is_disaster_trigger = yes } save_scope_as = disaster_situation } } primary_spouse = { save_scope_as = spouse } primary_heir ?= { if = { limit = { this != scope:spouse is_at_same_location = root } save_scope_as = heir } } random_courtier = { limit = { this != scope:spouse this != scope:heir has_any_court_position = yes is_at_same_location = root } save_scope_as = courtier } } option = { # Save your spouse name = natural_disaster_flavor_events.0015.a random = { chance = { value = 25 subtract = prowess } send_interface_toast = { type = event_toast_effect_bad title = natural_disaster_flavor_events.0015.a.failure left_icon = root increase_wounds_effect = { REASON = wounds } } save_scope_as = damage_done } if = { limit = { OR = { exists = scope:heir exists = scope:courtier } } random = { chance = { value = 35 subtract = prowess } send_interface_toast = { type = event_toast_effect_bad title = natural_disaster_flavor_events.0015.a.failure left_icon = scope:heir right_icon = scope:courtier primary_heir ?= { increase_wounds_effect = { REASON = wounds } } scope:courtier ?= { increase_wounds_effect = { REASON = wounds } } } save_scope_as = damage_done } } if = { limit = { NOT = { exists = scope:damage_done } } send_interface_toast = { type = event_toast_effect_good title = natural_disaster_flavor_events.0015.a.success left_icon = root } } add_prowess_skill = 1 reverse_add_opinion = { target = primary_spouse modifier = grateful_opinion opinion = 25 } stress_impact = { craven = minor_stress_impact_gain brave = minor_stress_impact_loss } ai_chance = { base = 100 ai_value_modifier = { ai_honor = 1 ai_boldness = 1 ai_energy = 1 } } } option = { # Save your heir name = natural_disaster_flavor_events.0015.b trigger = { exists = scope:heir } random = { chance = { value = 25 subtract = prowess } send_interface_toast = { type = event_toast_effect_bad title = natural_disaster_flavor_events.0015.b.failure left_icon = root increase_wounds_effect = { REASON = wounds } } save_scope_as = damage_done } random = { chance = { value = 35 subtract = prowess } send_interface_toast = { type = event_toast_effect_bad title = natural_disaster_flavor_events.0015.b.failure left_icon = scope:spouse right_icon = scope:courtier primary_spouse = { increase_wounds_effect = { REASON = wounds } } scope:courtier ?= { increase_wounds_effect = { REASON = wounds } } } save_scope_as = damage_done } if = { limit = { NOT = { exists = scope:damage_done } } send_interface_toast = { type = event_toast_effect_good title = natural_disaster_flavor_events.0015.b.success left_icon = root } } add_prowess_skill = 1 reverse_add_opinion = { target = primary_heir modifier = grateful_opinion opinion = 25 } stress_impact = { craven = minor_stress_impact_gain brave = minor_stress_impact_loss } ai_chance = { base = 100 ai_value_modifier = { ai_honor = 1 ai_boldness = 1 ai_energy = 1 } } } option = { # Save your courtier name = natural_disaster_flavor_events.0015.c trigger = { exists = scope:courtier } random = { chance = { value = 25 subtract = prowess } send_interface_toast = { type = event_toast_effect_bad title = natural_disaster_flavor_events.0015.c.failure left_icon = root increase_wounds_effect = { REASON = wounds } } save_scope_as = damage_done } random = { chance = { value = 35 subtract = prowess } send_interface_toast = { type = event_toast_effect_bad title = natural_disaster_flavor_events.0015.c.failure left_icon = scope:spouse right_icon = scope:heir primary_spouse = { increase_wounds_effect = { REASON = wounds } } primary_heir ?= { increase_wounds_effect = { REASON = wounds } } } save_scope_as = damage_done } if = { limit = { NOT = { exists = scope:damage_done } } send_interface_toast = { type = event_toast_effect_good title = natural_disaster_flavor_events.0015.c.success left_icon = root } } add_prowess_skill = 1 reverse_add_opinion = { target = scope:courtier modifier = grateful_opinion opinion = 25 } stress_impact = { craven = minor_stress_impact_gain brave = minor_stress_impact_loss } ai_chance = { base = 100 ai_value_modifier = { ai_honor = 1 ai_boldness = 1 ai_energy = 1 } } } option = { # Save yourself name = natural_disaster_flavor_events.0015.d random = { chance = { value = 45 } send_interface_toast = { type = event_toast_effect_bad title = natural_disaster_flavor_events.0015.a.failure left_icon = scope:spouse right_icon = scope:heir primary_spouse = { increase_wounds_effect = { REASON = wounds } } primary_heir ?= { increase_wounds_effect = { REASON = wounds } } scope:courtier ?= { increase_wounds_effect = { REASON = wounds } } } save_scope_as = damage_done } if = { limit = { NOT = { exists = scope:damage_done } } send_interface_toast = { type = event_toast_effect_good title = natural_disaster_flavor_events.0015.a.success left_icon = root } } stress_impact = { brave = minor_stress_impact_gain craven = minor_stress_impact_loss } ai_chance = { base = 100 ai_value_modifier = { ai_honor = -1 ai_compassion = -1 ai_boldness = -1 ai_rationality = 1 } } } }