realgray-stellaris-mod/events/RG_planet_event.txt

692 lines
15 KiB
Plaintext
Raw Normal View History

2024-08-30 06:13:54 +08:00
namespace = rg_planet
2024-09-23 17:59:20 +08:00
# Furnace Lvl 1
country_event = {
id = rg_planet.1000
hide_window = yes
location = FROM
is_triggered_only = yes
after = {
fromfromfrom = {
solar_system = {
every_system_planet = {
limit = {
NOT = { has_deposit_for = shipclass_research_station }
is_star = no
is_astral_scar = no
colonizable_planet = no
}
save_event_target_as = target_planet
remove_trade_deposits = yes
add_deposit = d_nanite_ripper_deposit_1
rg_nano_ripper_update_orbital_effect = yes
add_modifier = {
modifier = rg_nano_ripper_1_mod
days = -1
}
}
}
}
}
}
# Furnace Lvl 2
country_event = {
id = rg_planet.1005
hide_window = yes
location = FROM
is_triggered_only = yes
after = {
fromfromfrom = {
solar_system = {
every_system_planet = {
limit = {
NOT = { has_deposit_for = shipclass_research_station }
is_star = no
is_astral_scar = no
colonizable_planet = no
}
save_event_target_as = target_planet
remove_trade_deposits = yes
add_deposit = d_nanite_ripper_deposit_2
rg_nano_ripper_update_orbital_effect = yes
remove_modifier = rg_nano_ripper_1_mod
add_modifier = {
modifier = rg_nano_ripper_2_mod
days = -1
}
}
}
}
}
}
# Furnace Lvl 3
country_event = {
id = rg_planet.1010
hide_window = yes
location = FROM
is_triggered_only = yes
after = {
fromfromfrom = {
solar_system = {
every_system_planet = {
limit = {
NOT = { has_deposit_for = shipclass_research_station }
is_star = no
is_astral_scar = no
colonizable_planet = no
}
save_event_target_as = target_planet
remove_trade_deposits = yes
add_deposit = d_nanite_ripper_deposit_3
rg_nano_ripper_update_orbital_effect = yes
remove_modifier = rg_nano_ripper_2_mod
add_modifier = {
modifier = rg_nano_ripper_3_mod
days = -1
}
}
}
}
}
}
# Furnace Lvl 4
country_event = {
id = rg_planet.1015
hide_window = yes
location = FROM
is_triggered_only = yes
after = {
fromfromfrom = {
solar_system = {
every_system_planet = {
limit = {
NOT = { has_deposit_for = shipclass_research_station }
is_star = no
is_astral_scar = no
colonizable_planet = no
}
save_event_target_as = target_planet
remove_trade_deposits = yes
add_deposit = d_nanite_ripper_deposit_4
rg_nano_ripper_update_orbital_effect = yes
remove_modifier = rg_nano_ripper_3_mod
add_modifier = {
modifier = rg_nano_ripper_4_mod
days = -1
}
}
}
}
}
}
# Furnace Restored
country_event = {
id = rg_planet.1016
hide_window = yes
location = FROM
is_triggered_only = yes
after = {
fromfromfrom = {
solar_system = {
every_system_planet = {
limit = {
NOT = { has_deposit_for = shipclass_research_station }
is_star = no
is_astral_scar = no
colonizable_planet = no
}
save_event_target_as = target_planet
remove_trade_deposits = yes
add_deposit = d_nanite_ripper_deposit_1
rg_nano_ripper_update_orbital_effect = yes
add_deposit = d_nanite_ripper_deposit_2
rg_nano_ripper_update_orbital_effect = yes
add_deposit = d_nanite_ripper_deposit_3
rg_nano_ripper_update_orbital_effect = yes
add_deposit = d_nanite_ripper_deposit_4
rg_nano_ripper_update_orbital_effect = yes
remove_modifier = rg_nano_ripper_3_mod
add_modifier = {
modifier = rg_nano_ripper_4_mod
days = -1
}
}
}
}
}
}
ship_event = {
id = rg_planet.1017
hide_window = yes
is_triggered_only = yes
trigger = {
from = {
OR = {
has_modifier = rg_nano_ripper_1_mod
has_modifier = rg_nano_ripper_2_mod
has_modifier = rg_nano_ripper_3_mod
has_modifier = rg_nano_ripper_4_mod
}
}
}
immediate = {
from = {
if = {
limit = {
NOT = { has_deposit_for = shipclass_research_station }
is_star = no
is_astral_scar = no
colonizable_planet = no
}
remove_trade_deposits = yes
switch = {
trigger = has_modifier
rg_nano_ripper_1_mod = {
add_deposit = d_nanite_ripper_deposit_1
rg_nano_ripper_update_orbital_effect = yes
}
rg_nano_ripper_2_mod = {
add_deposit = d_nanite_ripper_deposit_1
rg_nano_ripper_update_orbital_effect = yes
add_deposit = d_nanite_ripper_deposit_2
rg_nano_ripper_update_orbital_effect = yes
}
rg_nano_ripper_3_mod = {
add_deposit = d_nanite_ripper_deposit_1
rg_nano_ripper_update_orbital_effect = yes
add_deposit = d_nanite_ripper_deposit_2
rg_nano_ripper_update_orbital_effect = yes
add_deposit = d_nanite_ripper_deposit_3
rg_nano_ripper_update_orbital_effect = yes
}
rg_nano_ripper_4_mod = {
add_deposit = d_nanite_ripper_deposit_1
rg_nano_ripper_update_orbital_effect = yes
add_deposit = d_nanite_ripper_deposit_2
rg_nano_ripper_update_orbital_effect = yes
add_deposit = d_nanite_ripper_deposit_3
rg_nano_ripper_update_orbital_effect = yes
add_deposit = d_nanite_ripper_deposit_4
rg_nano_ripper_update_orbital_effect = yes
}
}
}
else = {
remove_modifier = rg_nano_ripper_1_mod
remove_modifier = rg_nano_ripper_2_mod
remove_modifier = rg_nano_ripper_3_mod
remove_modifier = rg_nano_ripper_4_mod
}
}
}
}
2024-08-30 06:13:54 +08:00
##### Virtual Ascension Events
### Create the Unemployed
### Country scope gatekeeper
### on_monthly_pulse_country
country_event = {
id = rg_planet.5025
hide_window = yes
is_triggered_only = yes
trigger = {
2024-09-21 14:38:29 +08:00
OR = {
2024-09-23 10:24:32 +08:00
RG_gray_harbitat_active_trigger = yes
2024-09-21 14:38:29 +08:00
has_active_tradition = tr_rg_nanotech_5
}
# exists = event_target:rg_gray_habitat_target
any_owned_planet = {
2024-08-30 06:13:54 +08:00
is_under_colonization = no
2024-09-21 14:38:29 +08:00
OR = {
is_planet_class = pc_rg_grayhabitat
is_planet_class = pc_nanotech
}
2024-08-30 06:13:54 +08:00
free_jobs > 0
NOR = {
free_jobs_of_type = {
job = mortal_initiate
value >= 1
}
free_jobs_of_type = {
category = bio_trophy
value >= 1
}
}
}
}
immediate = {
2024-09-21 15:28:52 +08:00
if = {
2024-09-21 14:38:29 +08:00
limit = {
2024-09-23 10:24:32 +08:00
RG_gray_harbitat_active_trigger = yes
2024-09-21 14:38:29 +08:00
NOT = {
has_active_tradition = tr_rg_nanotech_5
}
}
event_target:rg_gray_habitat_target = {
2024-09-21 15:28:52 +08:00
planet_event = {
id = rg_planet.2027
days = 1
}
2024-09-21 14:38:29 +08:00
}
}
else = {
random_owned_planet = {
limit = {
owner = {
2024-09-23 10:24:32 +08:00
RG_gray_harbitat_active_trigger = yes
2024-09-21 14:38:29 +08:00
}
# exists = event_target:rg_gray_habitat_target
2024-09-22 20:17:00 +08:00
PREV = {
any_owned_planet = {
is_under_colonization = no
OR = {
is_planet_class = pc_rg_grayhabitat
is_planet_class = pc_nanotech
2024-09-21 14:38:29 +08:00
}
2024-09-22 20:17:00 +08:00
free_jobs > 0
NOR = {
free_jobs_of_type = {
job = mortal_initiate
value >= 1
}
free_jobs_of_type = {
category = bio_trophy
value >= 1
}
2024-09-21 14:38:29 +08:00
}
}
2024-09-21 15:28:52 +08:00
}
}
planet_event = {
id = rg_planet.2027
days = 1
2024-09-21 14:38:29 +08:00
}
}
2024-09-21 15:28:52 +08:00
2024-09-21 14:38:29 +08:00
}
2024-09-21 15:28:52 +08:00
}
2024-08-30 06:13:54 +08:00
}
2024-09-21 14:38:29 +08:00
2024-09-21 15:28:52 +08:00
2024-08-30 06:13:54 +08:00
### Create the Unemployed
### Planet scope gatekeeper
### on_building_complete, on_building_upgraded, on_building_demolished,
### on_building_downgraded, on_building_replaced
### on_district_complete, on_district_demolished
planet_event = {
id = rg_planet.2026
hide_window = yes
is_triggered_only = yes
trigger = {
is_under_colonization = no
2024-09-21 14:38:29 +08:00
OR = {
is_planet_class = pc_rg_grayhabitat
is_planet_class = pc_nanotech
}
2024-08-30 06:13:54 +08:00
exists = owner
owner = {
2024-09-21 14:38:29 +08:00
OR = {
2024-09-23 10:24:32 +08:00
RG_gray_harbitat_active_trigger = yes
2024-09-21 14:38:29 +08:00
has_active_tradition = tr_rg_nanotech_5
}
2024-08-30 06:13:54 +08:00
}
free_jobs > 0
}
immediate = {
2024-09-21 15:28:52 +08:00
planet_event = {
id = rg_planet.2027
days = 1
}
2024-08-30 06:13:54 +08:00
}
}
### Create the Unemployed
### Fired by cybernetics.2025 and cybernetics.2026
planet_event = {
id = rg_planet.2027
hide_window = yes
is_triggered_only = yes
trigger = {
is_under_colonization = no
2024-09-21 14:38:29 +08:00
OR = {
is_planet_class = pc_rg_grayhabitat
is_planet_class = pc_nanotech
}
2024-08-30 06:13:54 +08:00
exists = owner
owner = {
2024-09-21 14:38:29 +08:00
OR = {
2024-09-23 10:24:32 +08:00
RG_gray_harbitat_active_trigger = yes
2024-09-21 14:38:29 +08:00
has_active_tradition = tr_rg_nanotech_5
}
2024-08-30 06:13:54 +08:00
}
free_jobs > 0
}
immediate = {
set_variable = {
which = num_pops
value = value:num_free_virtual_jobs
}
# Create pops for every free job
2024-09-21 14:38:29 +08:00
if = {
2024-09-21 15:28:52 +08:00
limit = {
owner = {
is_same_value = event_target:gray_owner
}
2024-09-21 14:38:29 +08:00
}
while = {
count = num_pops
create_pop = {
2024-09-21 15:28:52 +08:00
species = event_target:rg_owner_main_maid_species
2024-09-21 14:38:29 +08:00
}
}
}
else = {
while = {
count = num_pops
create_pop = {
2024-09-21 15:28:52 +08:00
species = owner_main_species
2024-09-21 14:38:29 +08:00
}
2024-08-30 06:13:54 +08:00
}
}
# Kill pops generated in excess (e.g. from forbidden jobs)
if = {
limit = {
any_owned_pop = {
is_unemployed = yes
}
}
every_owned_pop = {
limit = {
is_unemployed = yes
}
kill_pop = yes
}
}
}
}
### Kill the unemployed
### Country scope
### on_monthly_pulse_country
country_event = {
id = rg_planet.5030
hide_window = yes
is_triggered_only = yes
trigger = {
2024-09-23 10:24:32 +08:00
RG_gray_harbitat_active_trigger = yes
2024-08-30 06:13:54 +08:00
event_target:rg_gray_habitat_target = {
any_owned_pop = {
is_unemployed = yes
}
}
}
immediate = {
event_target:rg_gray_habitat_target = {
every_owned_pop = {
limit = {
is_unemployed = yes
}
kill_pop = yes
}
}
}
}
### Kill the unemployed
### Planet scope
### on_building_complete, on_building_upgraded, on_building_demolished,
### on_building_downgraded, on_building_replaced
### on_district_complete, on_district_demolished
planet_event = {
id = rg_planet.2031
hide_window = yes
is_triggered_only = yes
trigger = {
exists = owner
owner = {
2024-09-23 10:24:32 +08:00
RG_gray_harbitat_active_trigger = yes
2024-08-30 06:13:54 +08:00
}
any_owned_pop = {
is_unemployed = yes
}
}
immediate = {
every_owned_pop = {
limit = {
is_unemployed = yes
}
kill_pop = yes
}
}
2024-09-21 15:28:52 +08:00
}
event = {
id = rg_planet.5053
hide_window = yes
is_triggered_only = yes
immediate = {
every_system = {
limit = {
exists = owner
owner = {
has_tradition = tr_rg_nanotech_finish
}
exists = starbase
# starbase = {
# has_starbase_building = nanite_harvester
# }
}
system_event = { id = rg_planet.5054 }
}
}
}
system_event = {
id = rg_planet.5054
hide_window = yes
is_triggered_only = yes
trigger = {
exists = owner
owner = {
has_tradition = tr_rg_nanotech_finish
}
# starbase = {
# has_starbase_building = nanite_harvester
# }
}
immediate = {
owner = {
save_event_target_as = nanotech_country
}
every_system_planet = {
limit = {
OR = {
has_deposit = d_nanite_harvester_deposit
has_planet_flag = nanites_doubled_1
has_planet_flag = nanites_doubled_2
has_planet_flag = nanites_doubled_3
has_planet_flag = nanites_doubled_4
has_planet_flag = nanites_doubled_5
has_planet_flag = nanites_doubled_6
has_planet_flag = nanites_doubled_7
has_planet_flag = nanites_doubled_8
has_planet_flag = nanites_doubled_9
}
has_mining_station = yes
}
if = {
limit = {
NOR = {
has_planet_flag = nanites_doubled_1
has_planet_flag = nanites_doubled_2
has_planet_flag = nanites_doubled_3
has_planet_flag = nanites_doubled_4
has_planet_flag = nanites_doubled_5
has_planet_flag = nanites_doubled_6
has_planet_flag = nanites_doubled_7
has_planet_flag = nanites_doubled_8
has_planet_flag = nanites_doubled_9
}
}
add_deposit = d_nanite_harvester_deposit
set_planet_flag = nanites_doubled_1
}
else_if = {
limit = {
has_planet_flag = nanites_doubled_1
planet_size >= 3
}
add_deposit = d_nanite_harvester_deposit
add_deposit = d_nanite_harvester_deposit
set_planet_flag = nanites_doubled_2
remove_planet_flag = nanites_doubled_1
}
else_if = {
limit = {
has_planet_flag = nanites_doubled_2
planet_size > 6
}
add_deposit = d_nanite_harvester_deposit
add_deposit = d_nanite_harvester_deposit
add_deposit = d_nanite_harvester_deposit
add_deposit = d_nanite_harvester_deposit
set_planet_flag = nanites_doubled_3
remove_planet_flag = nanites_doubled_2
}
else_if = {
limit = {
has_planet_flag = nanites_doubled_3
planet_size >= 9
}
every_deposit = {
limit = {
is_deposit_type = d_nanite_harvester_deposit
}
remove_deposit = yes
}
add_deposit = d_nanite_harvester_deposit_regular
set_planet_flag = nanites_doubled_4
remove_planet_flag = nanites_doubled_3
}
else_if = {
limit = {
has_planet_flag = nanites_doubled_4
planet_size >= 12
}
random_list = {
50 = {
nanotech_deposit_nanite_generation = yes
}
50 = {
add_deposit = d_nanite_harvester_deposit_regular
set_planet_flag = nanites_doubled_5
remove_planet_flag = nanites_doubled_4
}
}
}
else_if = {
limit = {
has_planet_flag = nanites_doubled_5
planet_size >= 15
}
random_list = {
50 = {
nanotech_deposit_nanite_generation = yes
}
50 = {
add_deposit = d_nanite_harvester_deposit_regular
add_deposit = d_nanite_harvester_deposit_regular
set_planet_flag = nanites_doubled_6
remove_planet_flag = nanites_doubled_5
}
}
}
else_if = {
limit = {
has_planet_flag = nanites_doubled_6
planet_size >= 18
}
random_list = {
50 = {
nanotech_deposit_nanite_generation = yes
}
50 = {
add_deposit = d_nanite_harvester_deposit_regular
add_deposit = d_nanite_harvester_deposit_regular
add_deposit = d_nanite_harvester_deposit_regular
add_deposit = d_nanite_harvester_deposit_regular
set_planet_flag = nanites_doubled_7
remove_planet_flag = nanites_doubled_6
}
}
}
else_if = {
limit = {
has_planet_flag = nanites_doubled_7
planet_size >= 21
}
random_list = {
50 = {
nanotech_deposit_nanite_generation = yes
}
50 = {
every_deposit = {
limit = {
is_deposit_type = d_nanite_harvester_deposit_regular
}
remove_deposit = yes
}
add_deposit = d_nanite_harvester_deposit_large
set_planet_flag = nanites_doubled_8
remove_planet_flag = nanites_doubled_7
}
}
}
else_if = {
limit = {
has_planet_flag = nanites_doubled_8
planet_size >= 25
}
random_list = {
50 = {
nanotech_deposit_nanite_generation = yes
}
50 = {
add_deposit = d_nanite_harvester_deposit_large
set_planet_flag = nanites_doubled_9
remove_planet_flag = nanites_doubled_8
}
}
}
else_if = {
limit = {
has_planet_flag = nanites_doubled_9
}
nanotech_deposit_nanite_generation = yes
}
}
}
}