graytempest_storm

This commit is contained in:
2024-09-15 13:38:32 +08:00
parent 9be9269503
commit 2c478b0e20
11 changed files with 467 additions and 1 deletions

View File

@@ -0,0 +1,57 @@
d_rg_tempest_storm_1 = {
is_for_colonizable = yes
icon = d_fractal_seed
category = deposit_cat_rare
resources = {
category = planet_deposits
produces = {
nanites = 5
}
}
planet_modifier = {
district_mining_max = -2
}
potential = { always = no }
}
d_rg_tempest_storm_2 = {
is_for_colonizable = yes
icon = d_fractal_seed
category = deposit_cat_rare
resources = {
category = planet_deposits
produces = {
nanites = 9
}
}
planet_modifier = {
district_mining_max = -3
}
potential = { always = no }
}
d_rg_tempest_storm_3 = {
is_for_colonizable = yes
icon = d_fractal_seed
category = deposit_cat_rare
resources = {
category = planet_deposits
produces = {
nanites = 15
}
}
planet_modifier = {
pop_happiness = -1
district_mining_max = -5
}
potential = { always = no }
}

View File

@@ -0,0 +1,86 @@
rg_tempest_invocator = {
activation_duration = @triumph_duration
portrait = "GFX_relic_the_tempest_exsoulcillator"
sound = "relic_activation_vultaum_real_perforator"
resources = {
category = relics
# Activation cost
cost = {
energy = 0
}
}
triggered_country_modifier = {
potential = {
always = yes
}
country_unity_produces_mult = 0.1
ships_upkeep_mult = -0.15
}
active_effect = {
# custom_tooltip = r_the_tempest_invocator_active_effect_tt
set_country_flag = "started_placing_storm"
start_storm_area_placing = {
sacrifice_leader_with_ui = no
cosmic_storm = graytempest_storm
immediate = yes
reticle_radius = {
base = 100
modifier = {
mult = value:storm_area_placing_reticle_radius_multiplier
}
}
max_range = {
base = 1500
modifier = {
mult = value:storm_area_placing_max_range_multiplier
}
}
on_confirm = {
add_modifier = {
modifier = tempest_invocator_active_modifier
days = 3600
}
custom_tooltip = relic_triumph_cooldown
hidden_effect = {
add_modifier = {
modifier = "relic_activation_cooldown"
days = @triumph_duration
}
set_country_flag = used_tempest_invocator_relic_achievement
}
remove_country_flag = "started_placing_storm"
}
on_cancel = {
add_resource = {
energy = 0
}
remove_country_flag = "started_placing_storm"
}
}
}
# Possible check for activation
possible = {
inline_script = {
script = relics/activation_checks
RELIC = r_the_tempest_invocator
}
custom_tooltip = {
fail_text = r_the_tempest_invocator_started_placing_fail_tt
NOT = { has_country_flag = "started_placing_storm" }
}
}
}

View File

@@ -0,0 +1,129 @@
rg_storm_relic_add = {
add_relic = rg_tempest_invocator
}
graytempest_storm_add = {
set_star_flag = storm_system
set_global_flag = cosmic_storm_has_occurred
inline_script = {
script = cosmic_storms/StormVisuals
STORM_NAME = "graytempest_storm"
}
}
graytempest_storm_remove = {
remove_storm_visuals_effect = yes
remove_star_flag = storm_system
graytempest_storm_apply_aftermath_modifier = yes
graytempest_storm_apply_deposits = yes
}
graytempest_storm_apply_aftermath_modifier = {
every_system_planet = {
limit = {
OR = {
is_colonizable = yes
is_colony = yes
}
}
storm_apply_aftermath_modifier = {
severity = {
modifier = "graytempest_storm_aftermath_modifier_severity_1"
days = @Severity1Duration
chance = {
base = @Severity1BaseChance
modifier = {
factor = 0
OR = {
has_modifier = "graytempest_storm_aftermath_modifier_severity_2"
has_modifier = "graytempest_storm_aftermath_modifier_severity_3"
}
}
modifier = {
factor = $FactorSev1|1$
}
}
}
severity = {
modifier = "graytempest_storm_aftermath_modifier_severity_2"
days = @Severity2Duration
chance = {
base = @Severity2BaseChance
modifier = {
factor = 0
has_modifier = "graytempest_storm_aftermath_modifier_severity_3"
}
modifier = {
factor = $FactorSev2|1$
}
}
}
severity = {
modifier = "graytempest_storm_aftermath_modifier_severity_3"
days = @Severity3Duration
chance = {
base = @Severity3BaseChance
modifier = {
factor = $FactorSev3|1$
}
}
}
}
if = {
limit = { is_colony = yes }
owner = {
create_message = {
type = TEMPEST_STORM_AFTERMATH
localization = MESSAGE_STORM_AFTERMATH_DESC
days = @toast_important_message_days
target = prev
variable = {
type = name
localization = PLANET
scope = prev
}
custom_toast_content_text = tempest_storm_aftermath_custom_desc
}
}
}
}
}
graytempests_storm_apply_deposits = {
every_system_planet = {
limit = {
OR = {
is_colonizable = yes
is_colony = yes
}
is_artificial = no
NOR = {
has_deposit = d_rg_tempest_storm_1
has_deposit = d_rg_tempest_storm_2
has_deposit = d_rg_tempest_storm_3
}
}
random_list = {
80 = {}
20 = {
random_list = {
30 = { add_deposit = d_rg_tempest_storm_1 }
30 = { add_deposit = d_rg_tempest_storm_2 }
30 = { add_deposit = d_rg_tempest_storm_3 }
}
if = {
limit = {
has_owner = yes
}
planet_event = { id = cstorms.8000 }
}
}
}
}
}

View File

@@ -0,0 +1,26 @@
graytempest_storm_aftermath_modifier_severity_1 = {
planet_stability_add = -5
planet_building_build_speed_mult = -1
custom_tooltip = graytempest_storm_aftermath_1_tt
icon = "gfx/interface/icons/planet_modifiers/pm_particle_aftermath_modifier.dds"
icon_frame = 2
}
graytempest_storm_aftermath_modifier_severity_2 = {
planet_stability_add = -10
planet_building_build_speed_mult = -2
custom_tooltip = graytempest_storm_aftermath_2_tt
icon = "gfx/interface/icons/planet_modifiers/pm_particle_aftermath_modifier.dds"
icon_frame = 2
}
graytempest_storm_aftermath_modifier_severity_3 = {
planet_stability_add = -20
planet_building_build_speed_mult = -10
custom_tooltip = graytempest_storm_aftermath_3_tt
icon = "gfx/interface/icons/planet_modifiers/pm_particle_aftermath_modifier.dds"
icon_frame = 2
}

View File

@@ -0,0 +1,111 @@
# graytempest Storm Type
graytempest_storm = {
inline_script = "cosmic_storms/BaseModifier"
inline_script = {
script = "cosmic_storms/StormConfig"
MIN_RADIUS = 40
MAX_RADIUS = 100
MIN_RANGE = value:storm_range_min
MAX_RANGE = value:storm_range_max
STORM_SPEED = 0.01
ACTIVATION_PERIOD_IN_MONTHS = 120
MONTHLY_ADDED_DEVASTATION = 0.2
}
affect_hp_regen = yes
affect_armor_regen = yes
spawn_weight = 0
description = graytempest_storm_lore_description
### positive effects ###
triggered_planet_modifier = {
potential = {
OR = {
is_colony = yes
is_colonizable = yes
}
system_has_negating_storm_building = no
}
modifier = {
planet_building_build_speed_mult = 10
planet_clear_blocker_speed_mult = 10
custom_tooltip = graytempest_storm_fleet_tt
show_only_custom_tooltip = no
}
}
triggered_system_modifier = {
potential = {
system_has_negating_storm_building = no
}
modifier = {
starbase_shipyard_build_speed_mult = 10
}
}
### negative effects ###
triggered_planet_modifier = {
potential = {
is_colony = no
system_has_negating_storm_building = no
}
modifier = {
stations_upkeep_mult = 2
}
}
triggered_fleet_modifier = {
potential = {
always = yes
}
modifier = {
ships_upkeep_mult = 2
custom_tooltip = graytempest_storm_fleet_tt
show_only_custom_tooltip = no
}
}
on_start = {
every_system_within_storm = {
added_to_storm_base_effect = yes
graytempest_storm_add = yes
}
}
on_finished = {
every_system_within_storm = {
removed_from_storm_base_effect = yes
graytempest_storm_remove = yes
}
}
on_moved = {
every_system_added_to_storm = {
added_to_storm_base_effect = yes
graytempest_storm_add = yes
}
every_system_removed_from_storm= {
removed_from_storm_base_effect = yes
graytempest_storm_remove = yes
}
}
cosmic_storm_texture_path = "gfx/map/storms/NebulaOpacity.dds"
cosmic_storm_texture_color_path = "gfx/map/storms/graytempest_storm_color.dds"
cosmic_storm_event_sprite = "GFX_particle_storm"
icon = GFX_planetview_storm_particle_modifier_frame
cosmic_storm_texture_lightning_paths = {
"gfx/map/storms/lightning/lightning_small_storm_01.dds"
"gfx/map/storms/lightning/lightning_small_storm_02.dds"
"gfx/map/storms/lightning/lightning_mid_storm_01.dds"
"gfx/map/storms/lightning/lightning_mid_storm_02.dds"
}
cosmic_storm_galaxy_lightning_time = 7.0
cosmic_storm_galaxy_max_opacity = 0.4
}