namespace = rg_planet


# 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
			}
		}
	}
}
##### 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 = {
		OR = {
			RG_gray_harbitat_active_trigger = yes
			has_active_tradition = tr_rg_nanotech_5
		}
		# exists = event_target:rg_gray_habitat_target
		any_owned_planet = {
			is_under_colonization = no
			OR = {
				is_planet_class = pc_rg_grayhabitat
				is_planet_class = pc_nanotech
			}
			free_jobs > 0
			NOR = {
				free_jobs_of_type = {
					job = mortal_initiate
					value >= 100
				}
				free_jobs_of_type = {
					category = bio_trophy
					value >= 100
				}
			}
		}
	}
	immediate = {
		if = {
			limit = {
				RG_gray_harbitat_active_trigger = yes
				NOT = {
					has_active_tradition = tr_rg_nanotech_5
				}
			}
			event_target:rg_gray_habitat_target = {
				planet_event = {
					id = rg_planet.2027
					days = 1
				}
			}
		}
		else = {
			random_owned_planet = {
				limit = {
					is_under_colonization = no
					OR = {
						is_planet_class = pc_rg_grayhabitat
						is_planet_class = pc_nanotech
					}
					free_jobs > 0
					NOR = {
						free_jobs_of_type = {
							job = mortal_initiate
							value >= 100
						}
						free_jobs_of_type = {
							category = bio_trophy
							value >= 100
						}
					}
					# exists = event_target:rg_gray_habitat_target
				}
				planet_event = {
					id = rg_planet.2027
					days = 1
				}
			}
			
		}
	}
}



### 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
		OR = {
			is_planet_class = pc_rg_grayhabitat
			is_planet_class = pc_nanotech
		}
		exists = owner
		owner = {
			OR = {
				RG_gray_harbitat_active_trigger = yes
				has_active_tradition = tr_rg_nanotech_5
			}
		}
		free_jobs > 0
	}
	immediate = {
		planet_event = {
			id = rg_planet.2027
			days = 1
		}
	}
}

### 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
		OR = {
			is_planet_class = pc_rg_grayhabitat
			is_planet_class = pc_nanotech
		}
		exists = owner
		owner = {
			OR = {
				RG_gray_harbitat_active_trigger = yes
				has_active_tradition = tr_rg_nanotech_5
			}
		}
		free_jobs > 0
	}
	immediate = {
		set_variable = {
			which = pop_amount
			value = value:num_free_virtual_jobs
		}
		# Create pops for every free job
		if = {
			limit = {
				owner = {
					exists = event_target:gray_owner
					is_same_value = event_target:gray_owner
					exists = event_target:rg_owner_main_maid_species
				}
			}
			while = {
				count = pop_amount
				create_pop_group = {
					species = event_target:rg_owner_main_maid_species
				}
			}
		}
		else = {
			if = {
				limit = {
					owner = {
						any_owned_species = {
							rg_is_main_species_with_maid_trait_trigger = yes
						}
					}
				}
				owner = {
					random_owned_species = {
						limit = {
							rg_is_main_species_with_maid_trait_trigger = yes
						}
						save_event_target_as = rg_maid_species
					}
				}
				while = {
					count = pop_amount
					create_pop_group = {
						species = event_target:rg_maid_species
					}
				}
			}
		}
		# Kill pops generated in excess (e.g. from forbidden jobs)
		if = {
			limit = {
				any_owned_pop_group = {
					is_unemployed = yes
				}
			}
			every_owned_pop_group = {
				limit = {
					is_unemployed = yes
				}
				kill_pop_group = {
					pop_group = this
					percentage = 1
				}
			}
		}
	}
}

### Kill the unemployed
### Country scope
### on_monthly_pulse_country
country_event = {
	id = rg_planet.5030
	hide_window = yes
	is_triggered_only = yes
	trigger = {
		RG_gray_harbitat_active_trigger = yes
		event_target:rg_gray_habitat_target = {
			any_owned_pop_group = {
				is_unemployed = yes
			}
		}
	}
	immediate = {
		event_target:rg_gray_habitat_target = {
			every_owned_pop_group = {
				limit = {
					is_unemployed = yes
				}
				kill_pop_group = {
					pop_group = this
					percentage = 1
				}
			}
		}
	}
}

### 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 = {
			RG_gray_harbitat_active_trigger = yes
		}
		any_owned_pop_group = {
			is_unemployed = yes
		}
	}
	immediate = {
		every_owned_pop_group = {
			limit = {
				is_unemployed = yes
			}
			kill_pop_group = {
				pop_group = this
				percentage = 1 # 100% of Unemployed Pops
			}
		}
	}
}

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
			}
		}
	}
}

