namespace = solarstorm_event

# Gatekeeper - Hyperlane Storm
event = {
	id = solarstorm_event.1
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		NOT = { has_global_flag = hyperspace_storm_disabled }
	}
	
	immediate = {
		while = {
			count = 3
			random_galaxy_planet = {
				limit = {
					OR = {
						is_planet_class = pc_nova_1
						is_planet_class = pc_nova_2
						is_planet_class = pc_magnetar
						is_planet_class = pc_collapsar
						is_planet_class = pc_microquasar_1
						is_planet_class = pc_microquasar_2
					}
					solar_system = { NOT = { has_star_flag = storm_has_begun } }
				}
				random_list = {
					3 = {
						#Hyperlane Shift Storm
						planet_event = { id = solarstorm_event.3 days = 30 random = 730 }
						#planet_event = { id = solarstorm_event.3 days = 1 }
					}
					3 = {
						#Hyperlane Rift Storm
						planet_event = { id = solarstorm_event.6 days = 30 random = 730 }
						#planet_event = { id = solarstorm_event.6 days = 1 }
					}
					3 = {
						#Hyperlane Bridge Storm
						planet_event = { id = solarstorm_event.9 days = 30 random = 730 }
						#planet_event = { id = solarstorm_event.9 days = 1 }
					}
					91 = {
						#Null
					}
				}
			}
		}
	}
}

event = {
	id = solarstorm_event.2
	hide_window = yes
	is_triggered_only = yes
	
	immediate = {
		set_global_flag = has_solarstorm_mod
	}
}

# Hyperlane Shift Storm has begun
planet_event = {
	id = solarstorm_event.3
	hide_window = yes

	is_triggered_only = yes
	
	trigger = {
		solar_system = { NOT = { has_star_flag = storm_has_begun } }
	}

	immediate = {
		solar_system = {
			random_neighbor_system = {
				limit = { has_hyperlane_to = PREV }
				remove_hyperlane = { from = PREV to = THIS }
				set_star_flag = shift_disconnected
				save_event_target_as = disconnected_shift_system
			}
			save_event_target_as = shift_storm_system
			set_star_flag = storm_has_begun
		}
		planet_event = { id = solarstorm_event.4 days = 1 }
	}
}

# Hyperlane Shift Storm is over
planet_event = {
	id = solarstorm_event.4
	hide_window = yes

	is_triggered_only = yes
	
	trigger = {
		solar_system = { has_star_flag = storm_has_begun }
	}

	immediate = {
		solar_system = {
			random_neighbor_system_euclidean = {
				limit = { 
					NOR = { 
						has_hyperlane_to = PREV 
						has_star_flag = shift_disconnected
					} 
				}
				add_hyperlane = { from = PREV to = THIS }
				save_event_target_as = connected_shift_system
			}
			remove_star_flag = storm_has_begun
		}
		event_target:disconnected_shift_system = {
			remove_star_flag = shift_disconnected
		}
		every_country = {
			limit = { 
				event_target:shift_storm_system = { is_surveyed = { who = prev status = yes }  }
			}
			if = {
				limit = { has_country_flag = solar_storm_intro }
				#country_event = { id = solarstorm_event.5 days = 1 }
				create_message = {
					type = SHIFT_STORM_OCCURRED
					localization = SHIFT_STORM_OCCURRED_DESC
					days = 20
					target = PREV
					variable = {
						type = name
						localization = SYSTEM
						scope = event_target:shift_storm_system
					}
					variable = {
						type = name
						localization = CONNECTED_SYSTEM
						scope = event_target:connected_shift_system
					}
					variable = {
						type = name
						localization = DISCONNECTED_SYSTEM
						scope = event_target:disconnected_shift_system
					}
				}
			}
			else = {
				limit = { 
					NAND = {
						has_special_project = HYPERLANE_STORM_PROJECT_1
						has_special_project = HYPERLANE_STORM_PROJECT_2
						has_special_project = HYPERLANE_STORM_PROJECT_3 
					} 
				}
				country_event = { id = solarstorm_event.15 days = 1 }
			}
		}
	}
}

# Hyperlane Shift Storm Message
country_event = {
	id = solarstorm_event.5
	title = "solarstorm_event.5.name"
	desc = "solarstorm_event.5.desc"
	picture = GFX_evt_hyperlane_storm
	show_sound = event_mystic_reveal
	location = event_target:shift_storm_system

	is_triggered_only = yes

	option = {
		name = INTERESTING
	}
}

# Hyperlane Rift Storm has begun
planet_event = {
	id = solarstorm_event.6
	hide_window = yes

	is_triggered_only = yes
	
	trigger = {
		solar_system = {
			OR = {
				AND = {
					has_star_flag = storm_has_begun
					has_star_flag = rift_opened
				}
				NOT = {	has_star_flag = storm_has_begun	}
			}
		}
	}

	immediate = {
		if = {
			limit = { solar_system = { NOT = { has_star_flag = rift_opened } } }
			solar_system = {
				save_event_target_as = rift_storm_system
				set_star_flag = storm_has_begun
				set_star_flag = rift_opened
				
				random_list = {
					50 = {
						random_neighbor_system = {
							limit = { has_hyperlane_to = event_target:rift_storm_system }
							save_event_target_as = disconnected_rift_system_1
							remove_hyperlane = { from = event_target:rift_storm_system to = event_target:disconnected_rift_system_1 }
						}
					}
					35 = {
						random_neighbor_system = {
							limit = { has_hyperlane_to = event_target:rift_storm_system }
							save_event_target_as = disconnected_rift_system_1
							remove_hyperlane = { from = event_target:rift_storm_system to = event_target:disconnected_rift_system_1 }
						}
						
						random_neighbor_system = {
							limit = { has_hyperlane_to = event_target:rift_storm_system }
							save_event_target_as = disconnected_rift_system_2
							remove_hyperlane = { from = event_target:rift_storm_system to = event_target:disconnected_rift_system_2 }
						}
					}
					15 = {
						random_neighbor_system = {
							limit = { has_hyperlane_to = event_target:rift_storm_system }
							save_event_target_as = disconnected_rift_system_1
							remove_hyperlane = { from = event_target:rift_storm_system to = event_target:disconnected_rift_system_1 }
						}
						
						random_neighbor_system = {
							limit = { has_hyperlane_to = event_target:rift_storm_system }
							save_event_target_as = disconnected_rift_system_2
							remove_hyperlane = { from = event_target:rift_storm_system to = event_target:disconnected_rift_system_2 }
						}
						
						random_neighbor_system = {
							limit = { has_hyperlane_to = event_target:rift_storm_system }
							save_event_target_as = disconnected_rift_system_3
							remove_hyperlane = { from = event_target:rift_storm_system to = event_target:disconnected_rift_system_3 }
						}
					}
				}
				
				every_country = {
					limit = { 
						event_target:rift_storm_system = { is_surveyed = { who = prev status = yes }  }
					}
					if = {
						limit = { has_country_flag = solar_storm_intro }
						#country_event = { id = solarstorm_event.7 days = 1 }
						if = {
							limit = {
								AND = {
									exists = event_target:disconnected_rift_system_1
									NOT = { exists = event_target:disconnected_rift_system_2 }
									NOT = { exists = event_target:disconnected_rift_system_3 }
								}
							}
							create_message = {
								type = RIFT_STORM_OPEN
								localization = RIFT_STORM_OPEN_DESC_1
								days = 20
								target = PREV
								variable = {
									type = name
									localization = SYSTEM
									scope = event_target:rift_storm_system
								}
								variable = {
									type = name
									localization = DISCONNECTED_SYSTEM_1
									scope = event_target:disconnected_rift_system_1
								}
							}
						}
						if = {
							limit = {
								AND = {
									exists = event_target:disconnected_rift_system_1
									exists = event_target:disconnected_rift_system_2
									NOT = { exists = event_target:disconnected_rift_system_3 }
								}
							}
							create_message = {
								type = RIFT_STORM_OPEN
								localization = RIFT_STORM_OPEN_DESC_2
								days = 20
								target = PREV
								variable = {
									type = name
									localization = SYSTEM
									scope = event_target:rift_storm_system
								}
								variable = {
									type = name
									localization = DISCONNECTED_SYSTEM_1
									scope = event_target:disconnected_rift_system_1
								}
								variable = {
									type = name
									localization = DISCONNECTED_SYSTEM_2
									scope = event_target:disconnected_rift_system_2
								}
							}
						}
						if = {
							limit = {
								AND = {
									exists = event_target:disconnected_rift_system_1
									exists = event_target:disconnected_rift_system_2
									exists = event_target:disconnected_rift_system_3
								}
							}
							create_message = {
								type = RIFT_STORM_OPEN
								localization = RIFT_STORM_OPEN_DESC_3
								days = 20
								target = PREV
								variable = {
									type = name
									localization = SYSTEM
									scope = event_target:rift_storm_system
								}
								variable = {
									type = name
									localization = DISCONNECTED_SYSTEM_1
									scope = event_target:disconnected_rift_system_1
								}
								variable = {
									type = name
									localization = DISCONNECTED_SYSTEM_2
									scope = event_target:disconnected_rift_system_2
								}
								variable = {
									type = name
									localization = DISCONNECTED_SYSTEM_3
									scope = event_target:disconnected_rift_system_3
								}
							}
						}
					}
					else = {
						limit = { 
							NAND = {
								has_special_project = HYPERLANE_STORM_PROJECT_1
								has_special_project = HYPERLANE_STORM_PROJECT_2
								has_special_project = HYPERLANE_STORM_PROJECT_3 
							} 
						}
						country_event = { id = solarstorm_event.17 days = 1 }
					}
				}
			}
			planet_event = { id = solarstorm_event.6 days = 3600 random = 2000 }
			#planet_event = { id = solarstorm_event.6 days = 90 }
		}
		else = {
			if = {
				limit = { exists = event_target:disconnected_rift_system_1 }
				event_target:disconnected_rift_system_1 = {
					add_hyperlane = { from = event_target:rift_storm_system to = event_target:disconnected_rift_system_1 }
				}
			}
			if = {
				limit = { exists = event_target:disconnected_rift_system_2 }
				event_target:disconnected_rift_system_2 = {
					add_hyperlane = { from = event_target:rift_storm_system to = event_target:disconnected_rift_system_2 }
				}
			}
			if = {
				limit = { exists = event_target:disconnected_rift_system_3 }
				event_target:disconnected_rift_system_3 = {
					add_hyperlane = { from = event_target:rift_storm_system to = event_target:disconnected_rift_system_3 }
				}
			}
			solar_system = {
				remove_star_flag = storm_has_begun
				remove_star_flag = rift_opened
				
				every_country = {
					limit = { 
						event_target:rift_storm_system = { is_surveyed = { who = prev status = yes }  }
					}
					if = {
						limit = { has_country_flag = solar_storm_intro }
						#country_event = { id = solarstorm_event.8 days = 1 }
						if = {
							limit = {
								AND = {
									exists = event_target:disconnected_rift_system_1
									NOT = { exists = event_target:disconnected_rift_system_2 }
									NOT = { exists = event_target:disconnected_rift_system_3 }
								}
							}
							create_message = {
								type = RIFT_STORM_CLOSE
								localization = RIFT_STORM_CLOSE_DESC_1
								days = 20
								target = PREV
								variable = {
									type = name
									localization = SYSTEM
									scope = event_target:rift_storm_system
								}
								variable = {
									type = name
									localization = DISCONNECTED_SYSTEM_1
									scope = event_target:disconnected_rift_system_1
								}
							}
						}
						if = {
							limit = {
								AND = {
									exists = event_target:disconnected_rift_system_1
									exists = event_target:disconnected_rift_system_2
									NOT = { exists = event_target:disconnected_rift_system_3 }
								}
							}
							create_message = {
								type = RIFT_STORM_CLOSE
								localization = RIFT_STORM_CLOSE_DESC_2
								days = 20
								target = PREV
								variable = {
									type = name
									localization = SYSTEM
									scope = event_target:rift_storm_system
								}
								variable = {
									type = name
									localization = DISCONNECTED_SYSTEM_1
									scope = event_target:disconnected_rift_system_1
								}
								variable = {
									type = name
									localization = DISCONNECTED_SYSTEM_2
									scope = event_target:disconnected_rift_system_2
								}
							}
						}
						if = {
							limit = {
								AND = {
									exists = event_target:disconnected_rift_system_1
									exists = event_target:disconnected_rift_system_2
									exists = event_target:disconnected_rift_system_3
								}
							}
							create_message = {
								type = RIFT_STORM_CLOSE
								localization = RIFT_STORM_CLOSE_DESC_3
								days = 20
								target = PREV
								variable = {
									type = name
									localization = SYSTEM
									scope = event_target:rift_storm_system
								}
								variable = {
									type = name
									localization = DISCONNECTED_SYSTEM_1
									scope = event_target:disconnected_rift_system_1
								}
								variable = {
									type = name
									localization = DISCONNECTED_SYSTEM_2
									scope = event_target:disconnected_rift_system_2
								}
								variable = {
									type = name
									localization = DISCONNECTED_SYSTEM_3
									scope = event_target:disconnected_rift_system_3
								}
							}
						}
					}
				}
			}
		}
	}
}

# Hyperlane Rift Storm Open Message
country_event = {
	id = solarstorm_event.7
	title = "solarstorm_event.7.name"
	desc = {
		trigger = {
			AND = {
				exists = event_target:disconnected_rift_system_1
				NOT = { exists = event_target:disconnected_rift_system_2 }
				NOT = { exists = event_target:disconnected_rift_system_3 }
			}
		}
		text = "solarstorm_event.7.desc.one"
	}
	desc = {
		trigger = {
			AND = {
				exists = event_target:disconnected_rift_system_1
				exists = event_target:disconnected_rift_system_2
				NOT = { exists = event_target:disconnected_rift_system_3 }
			}
		}
		text = "solarstorm_event.7.desc.two"
	}
	desc = {
		trigger = {
			AND = {
				exists = event_target:disconnected_rift_system_1
				exists = event_target:disconnected_rift_system_2
				exists = event_target:disconnected_rift_system_3
			}
		}
		text = "solarstorm_event.7.desc.three"
	}
	picture = GFX_evt_hyperlane_storm
	show_sound = event_mystic_reveal
	location = event_target:rift_storm_system

	is_triggered_only = yes

	option = {
		name = INTERESTING
	}
}

# Hyperlane Rift Storm Close Message
country_event = {
	id = solarstorm_event.8
	title = "solarstorm_event.8.name"
	desc = {
		trigger = {
			AND = {
				exists = event_target:disconnected_rift_system_1
				NOT = { exists = event_target:disconnected_rift_system_2 }
				NOT = { exists = event_target:disconnected_rift_system_3 }
			}
		}
		text = "solarstorm_event.8.desc.one"
	}
	desc = {
		trigger = {
			AND = {
				exists = event_target:disconnected_rift_system_1
				exists = event_target:disconnected_rift_system_2
				NOT = { exists = event_target:disconnected_rift_system_3 }
			}
		}
		text = "solarstorm_event.8.desc.two"
	}
	desc = {
		trigger = {
			AND = {
				exists = event_target:disconnected_rift_system_1
				exists = event_target:disconnected_rift_system_2
				exists = event_target:disconnected_rift_system_3
			}
		}
		text = "solarstorm_event.8.desc.three"
	}
	picture = GFX_evt_hyperlane_storm
	show_sound = event_mystic_reveal
	location = event_target:rift_storm_system

	is_triggered_only = yes

	option = {
		name = INTERESTING
	}
}

# Hyperlane Bridge Storm has begun
planet_event = {
	id = solarstorm_event.9
	hide_window = yes

	is_triggered_only = yes
	
	trigger = {
		solar_system = {
			OR = {
				AND = {
					has_star_flag = storm_has_begun
					has_star_flag = brige_opened
				}
				NOT = {	has_star_flag = storm_has_begun	}
			}
		}
	}

	immediate = {
		if = {
			limit = { solar_system = { NOT = { has_star_flag = brige_opened } } }
			solar_system = {
				save_event_target_as = brige_storm_system
				set_star_flag = storm_has_begun
				set_star_flag = brige_opened
				
			    random_list = {
					50 = {
						random_neighbor_system_euclidean = {
							limit = { NOT = { has_hyperlane_to = event_target:brige_storm_system } }
							save_event_target_as = connected_brige_system_1
							add_hyperlane = { from = event_target:brige_storm_system to = event_target:connected_brige_system_1 }
						}
					}
					35 = {
						random_neighbor_system_euclidean = {
							limit = { NOT = { has_hyperlane_to = event_target:brige_storm_system } }
							save_event_target_as = connected_brige_system_1
							add_hyperlane = { from = event_target:brige_storm_system to = event_target:connected_brige_system_1 }
						}
						
						random_neighbor_system_euclidean = {
							limit = { NOT = { has_hyperlane_to = event_target:brige_storm_system } }
							save_event_target_as = connected_brige_system_2
							add_hyperlane = { from = event_target:brige_storm_system to = event_target:connected_brige_system_2 }
						}
					}
					15 = {
						random_neighbor_system_euclidean = {
							limit = { NOT = { has_hyperlane_to = event_target:brige_storm_system } }
							save_event_target_as = connected_brige_system_1
							add_hyperlane = { from = event_target:brige_storm_system to = event_target:connected_brige_system_1 }
						}
						
						random_neighbor_system_euclidean = {
							limit = { NOT = { has_hyperlane_to = event_target:brige_storm_system } }
							save_event_target_as = connected_brige_system_2
							add_hyperlane = { from = event_target:brige_storm_system to = event_target:connected_brige_system_2 }
						}
						
						random_neighbor_system_euclidean = {
							limit = { NOT = { has_hyperlane_to = event_target:brige_storm_system } }
							save_event_target_as = connected_brige_system_3
							add_hyperlane = { from = event_target:brige_storm_system to = event_target:connected_brige_system_3 }
						}
					}
				}
				
				every_country = {
					limit = { 
						event_target:brige_storm_system = { is_surveyed = { who = prev status = yes }  }
					}
					if = {
						limit = { has_country_flag = solar_storm_intro }
						#country_event = { id = solarstorm_event.10 days = 1 }
						
						if = {
							limit = {
								AND = {
									exists = event_target:connected_brige_system_1
									NOT = { exists = event_target:connected_brige_system_2 }
									NOT = { exists = event_target:connected_brige_system_3 }
								}
							}
							create_message = {
								type = BRIGE_STORM_OPEN
								localization = BRIGE_STORM_OPEN_DESC_1
								days = 20
								target = PREV
								variable = {
									type = name
									localization = SYSTEM
									scope = event_target:brige_storm_system
								}
								variable = {
									type = name
									localization = CONNECTED_SYSTEM_1
									scope = event_target:connected_brige_system_1
								}
							}
						}
						if = {
							limit = {
								AND = {
									exists = event_target:connected_brige_system_1
									exists = event_target:connected_brige_system_2
									NOT = { exists = event_target:connected_brige_system_3 }
								}
							}
							create_message = {
								type = BRIGE_STORM_OPEN
								localization = BRIGE_STORM_OPEN_DESC_2
								days = 20
								target = PREV
								variable = {
									type = name
									localization = SYSTEM
									scope = event_target:brige_storm_system
								}
								variable = {
									type = name
									localization = CONNECTED_SYSTEM_1
									scope = event_target:connected_brige_system_1
								}
								variable = {
									type = name
									localization = CONNECTED_SYSTEM_2
									scope = event_target:connected_brige_system_2
								}
							}
						}
						if = {
							limit = {
								AND = {
									exists = event_target:connected_brige_system_1
									exists = event_target:connected_brige_system_2
									exists = event_target:connected_brige_system_3
								}
							}
							create_message = {
								type = BRIGE_STORM_OPEN
								localization = BRIGE_STORM_OPEN_DESC_3
								days = 20
								target = PREV
								variable = {
									type = name
									localization = SYSTEM
									scope = event_target:brige_storm_system
								}
								variable = {
									type = name
									localization = CONNECTED_SYSTEM_1
									scope = event_target:connected_brige_system_1
								}
								variable = {
									type = name
									localization = CONNECTED_SYSTEM_2
									scope = event_target:connected_brige_system_2
								}
								variable = {
									type = name
									localization = CONNECTED_SYSTEM_3
									scope = event_target:connected_brige_system_3
								}
							}
						}
					}
					else = {
						limit = { 
							NAND = {
								has_special_project = HYPERLANE_STORM_PROJECT_1
								has_special_project = HYPERLANE_STORM_PROJECT_2
								has_special_project = HYPERLANE_STORM_PROJECT_3 
							} 
						}
						country_event = { id = solarstorm_event.19 days = 1 }
					}
				}
			}
			planet_event = { id = solarstorm_event.9 days = 3600 random = 2000 }
			#planet_event = { id = solarstorm_event.9 days = 90 }
		}
		else = {
			if = {
				limit = { exists = event_target:connected_brige_system_1 }
				event_target:connected_brige_system_1 = {
					remove_hyperlane = { from = event_target:brige_storm_system to = event_target:connected_brige_system_1 }
				}
			}
			if = {
				limit = { exists = event_target:connected_brige_system_2 }
				event_target:connected_brige_system_2 = {
					remove_hyperlane = { from = event_target:brige_storm_system to = event_target:connected_brige_system_2 }
				}
			}
			if = {
				limit = { exists = event_target:connected_brige_system_3 }
				event_target:connected_brige_system_3 = {
					remove_hyperlane = { from = event_target:brige_storm_system to = event_target:connected_brige_system_3 }
				}
			}
			solar_system = {
				remove_star_flag = storm_has_begun
				remove_star_flag = brige_opened
				
				every_country = {
					limit = { 
						event_target:brige_storm_system = { is_surveyed = { who = prev status = yes }  }
					}
					if = {
						limit = { has_country_flag = solar_storm_intro }
						#country_event = { id = solarstorm_event.11 days = 1 }
						
						if = {
							limit = {
								AND = {
									exists = event_target:connected_brige_system_1
									NOT = { exists = event_target:connected_brige_system_2 }
									NOT = { exists = event_target:connected_brige_system_3 }
								}
							}
							create_message = {
								type = BRIGE_STORM_CLOSE
								localization = BRIGE_STORM_CLOSE_DESC_1
								days = 20
								target = PREV
								variable = {
									type = name
									localization = CONNECTED_SYSTEM_1
									scope = event_target:connected_brige_system_1
								}
							}
						}
						if = {
							limit = {
								AND = {
									exists = event_target:connected_brige_system_1
									exists = event_target:connected_brige_system_2
									NOT = { exists = event_target:connected_brige_system_3 }
								}
							}
							create_message = {
								type = BRIGE_STORM_CLOSE
								localization = BRIGE_STORM_CLOSE_DESC_2
								days = 20
								target = PREV
								variable = {
									type = name
									localization = CONNECTED_SYSTEM_1
									scope = event_target:connected_brige_system_1
								}
								variable = {
									type = name
									localization = CONNECTED_SYSTEM_2
									scope = event_target:connected_brige_system_2
								}
							}
						}
						if = {
							limit = {
								AND = {
									exists = event_target:connected_brige_system_1
									exists = event_target:connected_brige_system_2
									exists = event_target:connected_brige_system_3
								}
							}
							create_message = {
								type = BRIGE_STORM_CLOSE
								localization = BRIGE_STORM_CLOSE_DESC_3
								days = 20
								target = PREV
								variable = {
									type = name
									localization = CONNECTED_SYSTEM_1
									scope = event_target:connected_brige_system_1
								}
								variable = {
									type = name
									localization = CONNECTED_SYSTEM_2
									scope = event_target:connected_brige_system_2
								}
								variable = {
									type = name
									localization = CONNECTED_SYSTEM_3
									scope = event_target:connected_brige_system_3
								}
							}
						}
					}
				}
			}
		}
	}
}

# Hyperlane Bridge Storm Open Message
country_event = {
	id = solarstorm_event.10
	title = "solarstorm_event.10.name"
	desc = {
		trigger = {
			AND = {
				exists = event_target:connected_brige_system_1
				NOT = { exists = event_target:connected_brige_system_2 }
				NOT = { exists = event_target:connected_brige_system_3 }
			}
		}
		text = "solarstorm_event.10.desc.one"
	}
	desc = {
		trigger = {
			AND = {
				exists = event_target:connected_brige_system_1
				exists = event_target:connected_brige_system_2
				NOT = { exists = event_target:connected_brige_system_3 }
			}
		}
		text = "solarstorm_event.10.desc.two"
	}
	desc = {
		trigger = {
			AND = {
				exists = event_target:connected_brige_system_1
				exists = event_target:connected_brige_system_2
				exists = event_target:connected_brige_system_3
			}
		}
		text = "solarstorm_event.10.desc.three"
	}
	picture = GFX_evt_hyperlane_storm
	show_sound = event_mystic_reveal
	location = event_target:brige_storm_system

	is_triggered_only = yes

	option = {
		name = INTERESTING
	}
}

# Hyperlane Bridge Storm Close Message
country_event = {
	id = solarstorm_event.11
	title = "solarstorm_event.11.name"
	desc = {
		trigger = {
			AND = {
				exists = event_target:connected_brige_system_1
				NOT = { exists = event_target:connected_brige_system_2 }
				NOT = { exists = event_target:connected_brige_system_3 }
			}
		}
		text = "solarstorm_event.11.desc.one"
	}
	desc = {
		trigger = {
			AND = {
				exists = event_target:connected_brige_system_1
				exists = event_target:connected_brige_system_2
				NOT = { exists = event_target:connected_brige_system_3 }
			}
		}
		text = "solarstorm_event.11.desc.two"
	}
	desc = {
		trigger = {
			AND = {
				exists = event_target:connected_brige_system_1
				exists = event_target:connected_brige_system_2
				exists = event_target:connected_brige_system_3
			}
		}
		text = "solarstorm_event.11.desc.three"
	}
	picture = GFX_evt_hyperlane_storm
	show_sound = event_mystic_reveal
	location = event_target:brige_storm_system

	is_triggered_only = yes

	option = {
		name = INTERESTING
	}
}


# Gatekeeper - Wormhole
event = {
	id = solarstorm_event.12
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		NOT = { has_global_flag = hyperspace_storm_disabled }
	}
	
	immediate = {
		every_galaxy_planet = {
			limit = {
				OR = {
					is_planet_class = pc_nova_1
					is_planet_class = pc_nova_2
					is_planet_class = pc_magnetar
					is_planet_class = pc_collapsar
					is_planet_class = pc_microquasar_1
					is_planet_class = pc_microquasar_2
				}
			}
			random_list = {
				5 = {
					#Hyperlane Shift Storm
					planet_event = { id = solarstorm_event.13 days = 30 random = 90 }
					#planet_event = { id = solarstorm_event.13 days = 1 }
				}
				95 = {
					#Null
				}
			}
		}
	}
}


# Spawn New Wormhole
planet_event = {
	id = solarstorm_event.13
	hide_window = yes

	is_triggered_only = yes
	
	trigger = {
		solar_system = {
			NOR = {	
				has_star_flag = storm_has_begun
				has_natural_wormhole = yes
			}
		}
	}

	immediate = {
		solar_system = {
			random_system = { 
				limit = {
					has_natural_wormhole = no
					distance = {
						source = prev
						min_distance >= 100
					}
				}
					
				prev = { 
					spawn_natural_wormhole = {
						bypass_type = wormhole
						random_pos = yes
						orbit_angle = 360
					}
				}
				spawn_natural_wormhole = {
					bypass_type = wormhole
					random_pos = yes
					orbit_angle = 360
				}
				link_wormholes = prev
					
				save_event_target_as = wormhole_gap_system	
			}
			
			save_event_target_as = wormhole_open_system
				
			every_country = {
				limit = {
					AND = {
						event_target:wormhole_open_system = { is_surveyed = { who = prev status = yes }  }
						has_country_flag = encountered_first_wormhole
					}
				}
				#country_event = { id = solarstorm_event.14 days = 1 }
				create_message = {
					type = NEW_WORMHOLE_FORMED
					localization = NEW_WORMHOLE_FORMED_DESC
					days = 20
					target = PREV
					variable = {
						type = name
						localization = SYSTEM
						scope = event_target:wormhole_open_system
					}
					variable = {
						type = name
						localization = CONNECTED_SYSTEM
						scope = event_target:wormhole_gap_system
					}
				}
			}
		}
	}
}

# New Wormhole Message
country_event = {
	id = solarstorm_event.14
	title = "solarstorm_event.14.name"
	desc = "solarstorm_event.14.desc"
	picture = GFX_evt_wormhole
	show_sound = event_mystic_reveal
	location = event_target:wormhole_open_system

	is_triggered_only = yes
	
	trigger = {
		has_country_flag = encountered_first_wormhole
	}

	option = {
		name = INTERESTING
	}
}

# Hyperlane Shift Storm Message (First)
country_event = {
	id = solarstorm_event.15
	title = "solarstorm_event.15.name"
	desc = "solarstorm_event.15.desc"
	picture = GFX_evt_hyperlane_storm
	show_sound = event_mystic_reveal
	location = event_target:shift_storm_system

	is_triggered_only = yes
	
	trigger = {
		NOT = {	has_country_flag = storm_has_begun }
	}

	option = {
		name = INTERESTING
		if = {
			limit = { NOT = { has_special_project = HYPERLANE_STORM_PROJECT_1 } }
			save_event_target_as = project_country
			event_target:shift_storm_system = {
				random_system_planet = {
					limit = { is_star = yes }
					enable_special_project = {
						name = "HYPERLANE_STORM_PROJECT_1"
						location = this
						owner = root
					}
				}
			}
		}
	}
}

# Hyperlane Shift Storm Message
country_event = {
	id = solarstorm_event.16
	title = "solarstorm_event.16.name"
	desc = "solarstorm_event.16.desc"
	picture = GFX_evt_hyperlane_storm
	show_sound = event_mystic_reveal
	location = event_target:shift_storm_system

	is_triggered_only = yes

	option = {
		name = INTERESTING
	}
}

# Hyperlane Rift Storm Message (First)
country_event = {
	id = solarstorm_event.17
	title = "solarstorm_event.17.name"
	desc = "solarstorm_event.17.desc"
	picture = GFX_evt_hyperlane_storm
	show_sound = event_mystic_reveal
	location = event_target:rift_storm_system

	is_triggered_only = yes
	
	trigger = {
		NOT = {	has_country_flag = storm_has_begun }
	}

	option = {
		name = INTERESTING
		if = {
			limit = { NOT = { has_special_project = HYPERLANE_STORM_PROJECT_2 } }
			save_event_target_as = project_country
			event_target:rift_storm_system = {
				random_system_planet = {
					limit = { is_star = yes }
					enable_special_project = {
						name = "HYPERLANE_STORM_PROJECT_2"
						location = this
						owner = root
					}
				}
			}
		}
	}
}

# Hyperlane Rift Storm Message
country_event = {
	id = solarstorm_event.18
	title = "solarstorm_event.18.name"
	desc = {
		trigger = {
			AND = {
				exists = event_target:disconnected_rift_system_1
				NOT = { exists = event_target:disconnected_rift_system_2 }
				NOT = { exists = event_target:disconnected_rift_system_3 }
			}
		}
		text = "solarstorm_event.18.desc.one"
	}
	desc = {
		trigger = {
			AND = {
				exists = event_target:disconnected_rift_system_1
				exists = event_target:disconnected_rift_system_2
				NOT = { exists = event_target:disconnected_rift_system_3 }
			}
		}
		text = "solarstorm_event.18.desc.two"
	}
	desc = {
		trigger = {
			AND = {
				exists = event_target:disconnected_rift_system_1
				exists = event_target:disconnected_rift_system_2
				exists = event_target:disconnected_rift_system_3
			}
		}
		text = "solarstorm_event.18.desc.three"
	}
	picture = GFX_evt_hyperlane_storm
	show_sound = event_mystic_reveal
	location = event_target:rift_storm_system

	is_triggered_only = yes

	option = {
		name = INTERESTING
	}
}

# Hyperlane Bridge Storm Message (First)
country_event = {
	id = solarstorm_event.19
	title = "solarstorm_event.19.name"
	desc = "solarstorm_event.19.desc"
	picture = GFX_evt_hyperlane_storm
	show_sound = event_mystic_reveal
	location = event_target:brige_storm_system

	is_triggered_only = yes
	
	trigger = {
		NOT = {	has_country_flag = storm_has_begun }
	}

	option = {
		name = INTERESTING
		if = {
			limit = { NOT = { has_special_project = HYPERLANE_STORM_PROJECT_3 } }
			save_event_target_as = project_country
			event_target:brige_storm_system = {
				random_system_planet = {
					limit = { is_star = yes }
					enable_special_project = {
						name = "HYPERLANE_STORM_PROJECT_3"
						location = this
						owner = root
					}
				}
			}
		}
	}
}

# Hyperlane Bridge Storm Close Message
country_event = {
	id = solarstorm_event.20
	title = "solarstorm_event.20.name"
	desc = {
		trigger = {
			AND = {
				exists = event_target:connected_brige_system_1
				NOT = { exists = event_target:connected_brige_system_2 }
				NOT = { exists = event_target:connected_brige_system_3 }
			}
		}
		text = "solarstorm_event.11.desc.one"
	}
	desc = {
		trigger = {
			AND = {
				exists = event_target:connected_brige_system_1
				exists = event_target:connected_brige_system_2
				NOT = { exists = event_target:connected_brige_system_3 }
			}
		}
		text = "solarstorm_event.11.desc.two"
	}
	desc = {
		trigger = {
			AND = {
				exists = event_target:connected_brige_system_1
				exists = event_target:connected_brige_system_2
				exists = event_target:connected_brige_system_3
			}
		}
		text = "solarstorm_event.11.desc.three"
	}
	picture = GFX_evt_hyperlane_storm
	show_sound = event_mystic_reveal
	location = event_target:brige_storm_system

	is_triggered_only = yes

	option = {
		name = INTERESTING
	}
}



