###################################### # SITUATIONS - Cosmic Storms # ###################################### situation_initiate_storm = { title = situation_initiate_storm desc = { trigger = { current_situation_approach = approach_situation_initiate_storm_supercharge } text = situation_initiate_storm_desc_supercharge } desc = { trigger = { current_situation_approach = approach_situation_initiate_storm_overfeed } text = situation_initiate_storm_desc_overfeed } desc = { trigger = { current_situation_approach = approach_situation_initiate_storm_irradiate } text = situation_initiate_storm_desc_irradiate } desc = { trigger = { current_situation_approach = approach_situation_initiate_storm_sever } text = situation_initiate_storm_desc_sever } desc = { trigger = { current_situation_approach = approach_situation_initiate_storm_magnetize } text = situation_initiate_storm_desc_magnetize } desc = { trigger = { current_situation_approach = approach_situation_initiate_storm_agitate } text = situation_initiate_storm_desc_agitate } desc = { trigger = { current_situation_approach = approach_situation_initiate_storm_destabilize } text = situation_initiate_storm_desc_destabilize } desc = { trigger = { current_situation_approach = approach_situation_initiate_storm_scramble } text = situation_initiate_storm_desc_scramble } picture = { trigger = { OR = { current_situation_approach = approach_situation_initiate_storm_supercharge current_situation_approach = approach_situation_initiate_storm_irradiate current_situation_approach = approach_situation_initiate_storm_sever current_situation_approach = approach_situation_initiate_storm_magnetize } } picture = GFX_evt_cosmic_storms_supercharge } picture = { trigger = { OR = { current_situation_approach = approach_situation_initiate_storm_overfeed current_situation_approach = approach_situation_initiate_storm_agitate current_situation_approach = approach_situation_initiate_storm_destabilize current_situation_approach = approach_situation_initiate_storm_scramble } } picture = GFX_evt_cosmic_storms_overfeed } category = neutral complete_icon_frame = GFX_situation_outcome_frame_green complete_icon = GFX_situation_outcome_positive initial_progress = 0 on_start = { target = { random_fleet_in_orbit = { limit = { is_owned_by = root.owner has_fleet_order = initiate_cosmic_storm_order } set_fleet_flag = is_initiating_storm_at@root.target leader = { save_event_target_as = storm_researcher } } } situation_event = { id = cstorms.2000 } } on_abort = { owner = { every_owned_fleet = { limit = { has_fleet_flag = is_initiating_storm_at@root.target } remove_fleet_flag = is_initiating_storm_at@root.target } } } abort_trigger = { OR = { NOT = { exists = target } target = { NOT = { any_fleet_in_orbit = { is_owned_by = root.owner has_fleet_order = initiate_cosmic_storm_order } } } } } stages = { stage_1 = { icon = GFX_situation_stage_1 icon_background = GFX_situation_stage_frame_green end = 50 } stage_2 = { icon = GFX_situation_stage_2 icon_background = GFX_situation_stage_frame_green end = 100 on_first_enter = { owner = { random_owned_fleet = { limit = { has_fleet_flag = is_initiating_storm_at@root.target } leader = { save_event_target_as = storm_researcher } } } if = { limit = { current_situation_approach = approach_situation_initiate_storm_supercharge } situation_event = { id = cstorms.2010 } } else_if = { limit = { current_situation_approach = approach_situation_initiate_storm_overfeed } situation_event = { id = cstorms.2015 } } } } } on_progress_complete = { custom_tooltip = situation_initiate_storm_finisher_effects hidden_effect = { set_situation_locked = yes set_situation_flag = situation_locked owner = { random_owned_fleet = { limit = { has_fleet_flag = is_initiating_storm_at@root.target } leader = { save_event_target_as = storm_researcher } remove_fleet_flag = is_initiating_storm_at@root.target } } if = { limit = { current_situation_approach = approach_situation_initiate_storm_irradiate } situation_event = { id = cstorms.2020 } } else_if = { limit = { current_situation_approach = approach_situation_initiate_storm_sever } situation_event = { id = cstorms.2025 } } else_if = { limit = { current_situation_approach = approach_situation_initiate_storm_magnetize } situation_event = { id = cstorms.2030 } } else_if = { limit = { current_situation_approach = approach_situation_initiate_storm_agitate } situation_event = { id = cstorms.2035 } } else_if = { limit = { current_situation_approach = approach_situation_initiate_storm_destabilize } situation_event = { id = cstorms.2040 } } else_if = { limit = { current_situation_approach = approach_situation_initiate_storm_scramble } situation_event = { id = cstorms.2045 } } } } approach = { name = approach_situation_initiate_storm_supercharge icon = GFX_situation_approach_energy_credits icon_background = GFX_situation_approach_bg_green potential = { current_stage = stage_1 } allow = { custom_tooltip = { fail_text = approach_situation_locked_tt has_situation_flag = approach_supercharge_selected } } resources = { category = situations upkeep = { energy = 200 } } on_select = { custom_tooltip = approach_situation_initiate_storm_supercharge_tt } } approach = { name = approach_situation_initiate_storm_overfeed icon = GFX_situation_approach_minerals icon_background = GFX_situation_approach_bg_green potential = { current_stage = stage_1 } allow = { custom_tooltip = { fail_text = approach_situation_locked_tt has_situation_flag = approach_overfeed_selected } } resources = { category = situations upkeep = { minerals = 100 } } on_select = { custom_tooltip = approach_situation_initiate_storm_overfeed_tt } } approach = { name = approach_situation_initiate_storm_irradiate icon = GFX_situation_approach_alloys icon_background = GFX_situation_approach_bg_green potential = { current_stage = stage_2 has_situation_flag = approach_supercharge_selected } allow = { custom_tooltip = { fail_text = approach_situation_locked_tt has_situation_flag = approach_irradiate_selected } } resources = { category = situations upkeep = { alloys = @irradiate_alloy_upkeep } } on_select = { custom_tooltip = approach_situation_initiate_storm_irradiate_tt } } approach = { name = approach_situation_initiate_storm_sever icon = GFX_situation_approach_energy_credits icon_background = GFX_situation_approach_bg_green potential = { current_stage = stage_2 has_situation_flag = approach_supercharge_selected } allow = { custom_tooltip = { fail_text = approach_situation_locked_tt has_situation_flag = approach_sever_selected } } resources = { category = situations upkeep = { energy = @sever_energy_upkeep } } on_select = { custom_tooltip = approach_situation_initiate_storm_sever_tt } } approach = { name = approach_situation_initiate_storm_magnetize icon = GFX_situation_approach_minerals icon_background = GFX_situation_approach_bg_green potential = { current_stage = stage_2 has_situation_flag = approach_supercharge_selected } allow = { custom_tooltip = { fail_text = approach_situation_locked_tt has_situation_flag = approach_magnetize_selected } } resources = { category = situations upkeep = { minerals = @magnetize_mineral_upkeep } } on_select = { custom_tooltip = approach_situation_initiate_storm_magnetize_tt } } approach = { name = approach_situation_initiate_storm_agitate icon = GFX_situation_approach_volatile_motes icon_background = GFX_situation_approach_bg_green potential = { current_stage = stage_2 has_situation_flag = approach_overfeed_selected } allow = { custom_tooltip = { fail_text = approach_situation_locked_tt has_situation_flag = approach_agitate_selected } } resources = { category = situations upkeep = { volatile_motes = @rare_resource_upkeep } } on_select = { custom_tooltip = approach_situation_initiate_storm_agitate_tt } } approach = { name = approach_situation_initiate_storm_destabilize icon = GFX_situation_approach_dark_matter icon_background = GFX_situation_approach_bg_green potential = { current_stage = stage_2 has_situation_flag = approach_overfeed_selected } allow = { custom_tooltip = { fail_text = approach_situation_locked_tt has_situation_flag = approach_destabilize_selected } } resources = { category = situations upkeep = { sr_dark_matter = @rare_resource_upkeep } } on_select = { custom_tooltip = approach_situation_initiate_storm_destabilize_tt } } approach = { name = approach_situation_initiate_storm_scramble icon = GFX_situation_approach_rare_crystals icon_background = GFX_situation_approach_bg_green potential = { current_stage = stage_2 has_situation_flag = approach_overfeed_selected } allow = { custom_tooltip = { fail_text = approach_situation_locked_tt has_situation_flag = approach_scramble_selected } } resources = { category = situations upkeep = { rare_crystals = @rare_resource_upkeep } } on_select = { custom_tooltip = approach_situation_initiate_storm_scramble_tt } } approach = { name = approach_situation_initiate_storm_abort icon = GFX_situation_approach_suspicious icon_background = GFX_situation_approach_bg_red potential = { NOT = { has_situation_flag = situation_locked } } on_select = { abort_situation = this } } monthly_progress = { base = 0 modifier = { desc = string_current_approach add = 2 current_situation_approach = approach_situation_initiate_storm_supercharge } modifier = { desc = string_current_approach add = @default_monthly_progress current_situation_approach = approach_situation_initiate_storm_overfeed } modifier = { desc = string_current_approach add = @default_monthly_progress current_situation_approach = approach_situation_initiate_storm_irradiate } modifier = { desc = string_current_approach add = @default_monthly_progress current_situation_approach = approach_situation_initiate_storm_sever } modifier = { desc = string_current_approach add = @default_monthly_progress current_situation_approach = approach_situation_initiate_storm_magnetize } modifier = { desc = string_current_approach add = @default_monthly_progress current_situation_approach = approach_situation_initiate_storm_agitate } modifier = { desc = string_current_approach add = @default_monthly_progress current_situation_approach = approach_situation_initiate_storm_destabilize } modifier = { desc = string_current_approach add = @default_monthly_progress current_situation_approach = approach_situation_initiate_storm_scramble } } } situation_stormfall = { category = neutral picture = GFX_evt_origin_stormchasers_specialproject complete_icon_frame = GFX_situation_outcome_frame_green complete_icon = GFX_situation_outcome_positive on_progress_complete = { custom_tooltip = situation_stormfall_outcome hidden_effect = { situation_event = { id = cstorms.3190 } } set_situation_locked = yes } stages = { stage_1 = { icon = GFX_situation_stage_1 icon_background = GFX_situation_stage_frame_blue end = 250 on_first_enter = { situation_event = { id = cstorms.3100 days = 1 } } custom_tooltip = stage_stormfall_effects } stage_2 = { icon = GFX_situation_stage_2 icon_background = GFX_situation_stage_frame_blue end = 500 on_first_enter = { situation_event = { id = cstorms.3140 } } custom_tooltip = stage_stormfall_effects } stage_3 = { icon = GFX_situation_stage_3 icon_background = GFX_situation_stage_frame_blue end = 750 on_first_enter = { situation_event = { id = cstorms.3170 } } custom_tooltip = stage_stormfall_effects } } approach = { name = situation_stormfall_chill icon = GFX_situation_approach_shrug icon_background = GFX_situation_approach_bg_yellow allow = { custom_tooltip = { fail_text = situation_stormfall_finish_project_tt has_situation_flag = stormfall_tempest_brewing_finished } } on_select = { custom_tooltip = approach_stormfall_chill_tt } ai_weight = { base = 0 } } approach = { name = situation_stormfall_balanced icon = GFX_situation_approach_balance_sheet icon_background = GFX_situation_approach_bg_green allow = { custom_tooltip = { fail_text = situation_stormfall_finish_project_tt has_situation_flag = stormfall_tempest_brewing_finished } } on_select = { custom_tooltip = approach_stormfall_balanced_tt } default = yes ai_weight = { base = 10 } modifier = { all_technology_research_speed = -0.1 } } approach = { name = situation_stormfall_shredding icon = GFX_situation_approach_this_is_fine icon_background = GFX_situation_approach_bg_yellow allow = { custom_tooltip = { fail_text = situation_stormfall_finish_project_tt has_situation_flag = stormfall_tempest_brewing_finished } } on_select = { custom_tooltip = approach_stormfall_shredding_tt } ai_weight = { base = 0 } modifier = { all_technology_research_speed = -0.2 } } on_monthly = { events = { cstorms.3110 # Stage 1 story event cstorms.3130 # Stage 1 story event cstorms.3160 # Stage 2 story event } } monthly_progress = { base = 10 # Modifiers are defined in tooltip order, most important first modifier = { mult = 1.2 desc = "situation_stormfall_shredding" current_situation_approach = situation_stormfall_shredding } modifier = { mult = 0.8 desc = "situation_stormfall_chill" current_situation_approach = situation_stormfall_chill } modifier = { mult = 2 desc = "situation_stormfall_leader_ongoing" has_situation_flag = situation_stormfall_leader_ongoing } modifier = { mult = 1.1 desc = "situation_stormfall_building" owner = { any_owned_planet = { is_capital = yes OR = { has_active_building = building_storm_attraction_center has_active_building = building_advanced_storm_attraction_center has_active_building = building_storm_summoning_theater has_active_building = building_storm_holo_theater has_active_building = building_storm_grand_theater } } } } modifier = { mult = 1.1 desc = "situation_stormfall_module" owner = { any_owned_starbase = { solar_system = { is_capital_system = yes } has_starbase_building = storm_attraction_computer } } } modifier = { mult = 0 desc = "situation_stormfall_project_pause_desc" has_situation_flag = situation_stormfall_project_pause } modifier = { mult = 0 desc = "situation_stormfall_pause_desc" has_situation_flag = situation_stormfall_pause } } triggered_modifier = { potential = { has_situation_flag = storm_planet_ongoing owner = { is_gestalt = no } } pop_happiness = 0.2 } triggered_modifier = { potential = { has_situation_flag = storm_planet_ongoing owner = { is_gestalt = yes } } country_unity_produces_mult = 0.05 } triggered_modifier = { potential = { has_situation_flag = system_storm_infrastructure_cost } country_unity_produces_mult = 0.05 } triggered_modifier = { potential = { has_situation_flag = electric_system_storm_cost } country_energy_produces_mult = -0.5 country_unity_produces_mult = 0.2 } triggered_modifier = { potential = { has_situation_flag = magnetic_system_storm_cost } country_minerals_produces_mult = -0.5 country_unity_produces_mult = 0.2 } triggered_modifier = { potential = { has_situation_flag = gravity_system_storm_cost } country_alloys_produces_mult = -0.25 country_unity_produces_mult = 0.2 } abort_trigger = { OR = { NOT = { exists = target.owner } target.owner = { NOT = { is_same_value = root.owner } } } } }