namespace = colony

# Dim. of suffering -> todo: maybe a ship component?
carrier_event = { #hell
	id = colony.3006
	title = "colony.3006.name"
	desc = {
		text = colony.3006.knight.desc
		trigger = {
			owner = { has_origin = origin_toxic_knights }
		}
	}
	desc = {
		text = colony.3006.spir.desc
		trigger = {
			owner = {
				is_spiritualist = yes
				NOT = { has_origin = origin_toxic_knights }
			}
		}
	}
	desc = {
		text = colony.3006.desc
		trigger = {
			owner = {
				is_spiritualist = no
				NOT = { has_origin = origin_toxic_knights }
			}
		}
	}
	picture = GFX_evt_dwe_sufferingdim # updated event picture, maybe more stuff later on
	location = ROOT

	is_triggered_only = yes

	immediate = {
		set_carrier_flag = dportal_hell
	}

	option = {
		trigger = {
			owner = {
				is_spiritualist = no
			}
		}
		name = colony.3006.science
		enable_special_project = {
			name = "DPORTAL_PROJECT_SCIENCE"
			location = this
			owner = root
		}
	}

	option = {
		name = colony.3006.psi.prayer
		trigger = {
			owner = {
				is_spiritualist = yes
				has_technology = tech_psionic_theory
			}
		}
		enable_special_project = {
			name = "DPORTAL_PROJECT_PSI_PRAYER"
			location = this
			owner = root
		}
	}
	option = {
		name = colony.3006.prayer
		trigger = {
			owner = {
				is_spiritualist = yes
				NOT = {	has_technology = tech_psionic_theory }
			}
		}
		enable_special_project = {
			name = "DPORTAL_PROJECT_PRAYER"
			location = this
			owner = root
		}
	}

	option = {
		name = colony.3006.rocks
		trigger = {
			owner = {
				is_spiritualist = no
				has_civic = civic_feudal_realm
			}
		}
		enable_special_project = {
			name = "DPORTAL_PROJECT_ROCKS"
			location = this
			owner = root
		}
	}

	option = {
		name = colony.3006.knights
		trigger = {
			owner = {
				has_origin = origin_toxic_knights
			}
		}
		hidden_effect = {
			owner = {
				create_leader = {
					class = commander
					species = owner_main_species
					name = random
					traits = {
						0 = leader_trait_chosen
						1 = leader_trait_butcher
					}
				}
				last_created_leader = {
					exile_leader_as = doomslayer_knight
					save_event_target_as = doomslayer_knight
					set_immortal = yes
					save_global_event_target_as = doomslayer_knight@prev
				}
			}
			reroll_random = yes
			random_list = {
				15 = { }
				25 = {
					modifier = {
						factor = 0
						blocks_disruptive_gameplay = yes
					}
					carrier_event = { id = colony.3050 days = 3600 random = 900 } # Daemonic Incursion
				}
				20 = { carrier_event = { id = colony.3060 days = 3600 random = 900 } } # Quest Complete
				40 = { carrier_event = { id = colony.3055 days = 3600 random = 900 } } # Daemon Refugees
			}
		}
	}

	option = {
		name = colony.3006.keep
		add_deposit = d_portal_research_zone
		custom_tooltip = portal_zone_tooltip
	}
}


# Pure Energy-Dimension
carrier_event = { #energy
	id = colony.3007
	title = "colony.3007.name"
	desc = "colony.3007.desc"
	picture = GFX_evt_star_white
	location = ROOT

	is_triggered_only = yes

	immediate = {
		set_planet_flag = dportal_energy
	}

	option = {
		name = FASCINATING
		set_planet_flag = dportal_energy
		owner = {
			add_monthly_resource_mult = {
				resource = engineering_research
				value = @tier2researchreward
				min = @tier2researchmin
				max = @tier2researchmax
			}
			if = {
				limit = {
					NOR = {
						has_tech_option = dwe_tech_energy_dimension_power_core
						has_technology = dwe_tech_energy_dimension_power_core
					}
				}
				add_research_option = dwe_tech_energy_dimension_power_core
				add_tech_progress = {
					tech = dwe_tech_energy_dimension_power_core
					progress = 0.1
				}
			}
			if = {
				limit = {
					NOR = {
						has_tech_option = tech_planetary_shield_generator
						has_technology = tech_planetary_shield_generator
					}
				}
				add_research_option = tech_planetary_shield_generator
				add_tech_progress = {
					tech = tech_planetary_shield_generator
					progress = 0.5
				}
			}
			if = {
				limit = {
					has_tech_option = tech_plasma_3
				}
				add_tech_progress = {
					tech = tech_plasma_3
					progress = 0.5
				}
			}
			else_if = {
				limit = {
					has_technology = tech_plasma_2
				}
				add_research_option = tech_plasma_3
				add_tech_progress = {
					tech = tech_plasma_3
					progress = 0.25
				}
			}
			else_if = {
				limit = {
					has_tech_option = tech_plasma_2
				}
				add_tech_progress = {
					tech = tech_plasma_2
					progress = 0.5
				}
			}
			else_if = {
				limit = {
					has_technology = tech_plasma_1
				}
				add_research_option = tech_plasma_2
				add_tech_progress = {
					tech = tech_plasma_2
					progress = 0.25
				}
			}
			else_if = {
				limit = {
					has_tech_option = tech_plasma_1
				}
				add_tech_progress = {
					tech = tech_plasma_1
					progress = 0.5
				}
			}
			else = {
				add_research_option = tech_plasma_1
				add_tech_progress = {
					tech = tech_plasma_1
					progress = 0.25
				}
			}
		}
		custom_tooltip = portal_energy_tooltip
	}
}

# Nullvoid
carrier_event = { #null void
	id = colony.3008
	title = "colony.3008.name"
	desc = "colony.3008.desc"
	picture = GFX_evt_dwe_nullvoid
	location = ROOT

	is_triggered_only = yes

	immediate = {
		set_planet_flag = dportal_void
	}

	option = {
		name = FASCINATING

		owner = {
			add_research_option = null_void_beam
				add_tech_progress = {
					tech = null_void_beam
					progress = 0.5
				}
		}
		custom_tooltip = portal_void_tooltip
		hidden_effect = {
			carrier_event = { id = colony.3040 days = 1825 random = 1825 }
		}
	}

	option = {
		name = colony.3008.a
		owner = {
			add_research_option = null_void_beam
				add_tech_progress = {
					tech = null_void_beam
					progress = 0.5
				}
				random_owned_leader = {
					limit = {
						leader_class = scientist
					}
					save_event_target_as = dwe_nullvoid_venture_leader
				}
		}
		custom_tooltip = portal_void_tooltip
		hidden_effect = {
			carrier_event = { id = colony.3040 days = 1825 random = 1825 }
			carrier_event = { id = dwe_nullvoid.1 days = 30 random = 30 }
		}
	}
}

carrier_event = { #increase production
	id = colony.3041
	title = "colony.3041.name"
	desc = "colony.3041.desc"
	picture = GFX_evt_dwe_nullvoid
	location = ROOT
	trackable = yes

	trigger = {
		has_owner = yes
		original_owner = yes
	}

	is_triggered_only = yes

	option = {
		name = EXCELLENT
		custom_tooltip = portal_void_tooltip2
		set_planet_flag = dportal_void2
		owner = {
			if = {
				limit = {
					NOR = {
						has_tech_option = tech_mine_dark_matter
						has_technology = tech_mine_dark_matter
					}
				}
				add_research_option = tech_mine_dark_matter
				add_tech_progress = {
					tech = tech_mine_dark_matter
					progress = 0.25
				}
			}
		}
	}
}

# Mirror Dim
carrier_event = { #mirror
	id = colony.3009
	title = "colony.3009.name"
	desc = "colony.3009.desc"
	picture = GFX_evt_dwe_mirrordim

	is_triggered_only = yes

	option = {
		name = colony.3009.a.robot
		exclusive_trigger = { owner = { is_machine_empire = yes } }
		hidden_effect = {
			carrier_event = { id = colony.3020 }
		}
	}
	option = {
		name = colony.3009.a
		hidden_effect = {
			carrier_event = { id = colony.3020 }
		}
	}
}

carrier_event = { #trade down
	id = colony.3032
	title = "colony.3032.name"
	desc = "colony.3032.desc"
	picture = GFX_evt_dwe_mirrordim #GFX_evt_wormhole
	location = ROOT

	is_triggered_only = yes

	immediate = {
	}

	option = {
		name = colony.3032.a.robot
		exclusive_trigger = { owner = { is_machine_empire = yes } }
		if = {
			limit = {
				NAND = {
					has_modifier = dportal_trade_low
					owner = {
						check_variable = {
							which = dportal_empire_crisis
							value < 5
						}
					}
				}
			}
			custom_tooltip = dportal_trade_reduces_gestalt_tooltip
		}
		if = {
			limit = {
				has_modifier = dportal_trade_high
			}
			hidden_effect = {
				remove_modifier = dportal_trade_high
				add_modifier = {
					modifier = "dportal_trade_normal"
					days = -1
				}
			}
		}
		else_if = {
			limit = {
				has_modifier = dportal_trade_normal
			}
			hidden_effect = {
				remove_modifier = dportal_trade_normal
				add_modifier = {
					modifier = "dportal_trade_low"
					days = -1
				}
			}
		}
		else_if = {
			limit = {
				has_modifier = dportal_trade_low
				owner = {
					check_variable = {
						which = dportal_empire_crisis
						value < 5
					}
				}
			}
			owner = {
				hidden_effect = {
					change_variable = {
						which = dportal_empire_crisis
						value = 1
					}
				}
			}
		}
		else_if = {
			limit = {
				has_modifier = dportal_trade_low
				owner = {
					check_variable = {
						which = dportal_empire_crisis
						value >= 5
					}
				}
			}
			add_modifier = {
				modifier = "dportal_trade_crisis"
				days = -1
			}
			hidden_effect = {
				remove_modifier = dportal_trade_low
				carrier_event = { id = colony.3033 days = 1825 random = 1825 }
				owner = { set_country_flag = dportal_empire_crisis_flag }
			}
		}
	}
	option = {
		name = colony.3032.a
		if = {
			limit = {
				NAND = {
					has_modifier = dportal_trade_low
					owner = {
						check_variable = {
							which = dportal_empire_crisis
							value < 5
						}
					}
				}
			}
			if = {
				limit = {
					owner = { is_gestalt = no }
				}
				custom_tooltip = dportal_trade_reduces_tooltip
			}
			else = {
				custom_tooltip = dportal_trade_reduces_gestalt_tooltip
			}
		}
		if = {
			limit = {
				has_modifier = dportal_trade_high
			}
			hidden_effect = {
				remove_modifier = dportal_trade_high
				add_modifier = {
					modifier = "dportal_trade_normal"
					days = -1
				}
			}
		}
		else_if = {
			limit = {
				has_modifier = dportal_trade_normal
			}
			hidden_effect = {
				remove_modifier = dportal_trade_normal
				add_modifier = {
					modifier = "dportal_trade_low"
					days = -1
				}
			}
		}
		else_if = {
			limit = {
				has_modifier = dportal_trade_low
				owner = {
					check_variable = {
						which = dportal_empire_crisis
						value < 5
					}
				}
			}
			owner = {
				hidden_effect = {
					change_variable = {
						which = dportal_empire_crisis
						value = 1
					}
				}
			}
		}
		else_if = {
			limit = {
				has_modifier = dportal_trade_low
				owner = {
					check_variable = {
							which = dportal_empire_crisis
							value >= 5
					}
				}
			}
			add_modifier = {
				modifier = "dportal_trade_crisis"
				days = -1
			}
			hidden_effect = {
				remove_modifier = dportal_trade_low
				carrier_event = { id = colony.3033 days = 1825 random = 1825 }
				owner = { set_country_flag = dportal_empire_crisis_flag }
			}
		}
	}
	
	# Offer them an uninhabited planet within our borders
	option = {
		name = colony.3032.b
		custom_tooltip = dwe_dportal_dimensional_refugees_tooltip
		trigger = { owner = { NOT = { is_machine_empire = yes } } }
		allow = {
			any_system = {
				AND = {
					has_owner = no
					any_system_planet = {
						is_colonizable = yes
						is_colony = no
					}
				}
			}
		}
		if = {
			limit = { has_modifier = dportal_trade_normal }
			hidden_effect = {
				remove_modifier = dportal_trade_normal
			}
		}
		if = {
			limit = { has_modifier = dportal_trade_low }
			hidden_effect = {
				remove_modifier = dportal_trade_low
			}
		}
		if = {
			limit = { has_modifier = dportal_trade_high }
			hidden_effect = {
				remove_modifier = dportal_trade_high
			}
		}

		# 60/40 chance of accepting or denying the offer
		hidden_effect = {
			random_list = {
				75 = { # Accept offer
					# Maybe make chances higher if xenophile/pacifist and lower if opposite?
					carrier_event = { id = dwe_mirror.2 }
				}
				25 = { # Deny offer
					add_modifier = {
						modifier = "dportal_trade_crisis"
						days = -1
					}
					carrier_event = { id = dwe_mirror.1 }
					owner = { set_country_flag = dportal_empire_crisis_flag }
				}
			}
		}
	}

	# Offer them an uninhabited planet (gestalts)
	option = {
		name = colony.3032.b.robot
		custom_tooltip = dwe_dportal_dimensional_refugees_robot_tooltip
		trigger = {
			owner = {
				is_machine_empire = yes
			}
			OR = {
				NOT = { is_capital = yes }
				owner = {
					any_system_within_border = {
						any_system_planet = {
							is_colonizable = yes
							is_colony = no
						}
					}
				}
			}
		}
		allow = {
			any_system = {
				AND = {
					has_owner = no
					any_system_planet = {
						is_colonizable = yes
						is_colony = no
					}
				}
			}
		}
		if = {
			limit = { has_modifier = dportal_trade_normal }
			hidden_effect = {
				remove_modifier = dportal_trade_normal
			}
		}
		if = {
			limit = { has_modifier = dportal_trade_low }
			hidden_effect = {
				remove_modifier = dportal_trade_low
			}
		}
		if = {
			limit = { has_modifier = dportal_trade_high }
			hidden_effect = {
				remove_modifier = dportal_trade_high
			}
		}

		# 80/20 chance of accepting or denying the offer
		hidden_effect = {
			random_list = {
				90 = { # Accept offer
					carrier_event = { id = dwe_mirror.2 }
				}
				10 = { # Deny offer
					add_modifier = {
						modifier = "dportal_trade_crisis"
						days = -1
					}
					carrier_event = { id = dwe_mirror.1 }
					owner = { set_country_flag = dportal_empire_crisis_flag }
				}
			}
		}
	}
}

################################
#
# Negative Mass
# by Victor Haeggman
#
################################

# Prologue
# via 'DPORTAL_PROJECT', part of the 'Rogue Moon' chain beginning at colony.3001
carrier_event = {
	id = colony.9800
	title = "colony.9800.name"
	desc = "colony.9800.desc"
	picture = GFX_evt_dwe_staticdim
	location = ROOT

	is_triggered_only = yes

	immediate = {
		set_global_flag = b_world_intrudes
	}

	option = {
		name = DISCONCERTING
		owner = {
			add_monthly_resource_mult = {
				resource = physics_research
				value = @tier2researchreward
				min = @tier2researchmin
				max = @tier2researchmax
			}
		}
		custom_tooltip = portal_closed_tooltip
		hidden_effect = {
			set_carrier_flag = dportal_closed
			owner = {
				country_event = { id = colony.9805 days = 900 random = 100 }
			}
		}
	}
}

country_event = {
	id = colony.9805
	title = "colony.9805.name"
	desc = colony.9805.desc
	is_triggered_only = yes

	picture = GFX_evt_dwe_staticdim
	show_sound = event_laboratory_sound

	option = {
		name = colony.9805.a
		hidden_effect = {
			country_event = { id = colony.9810 days = 200 random = 30 }
		}
	}
	option = {
		name = colony.9805.b
		hidden_effect = {
			country_event = { id = colony.9810 days = 150 random = 30 }
		}
	}
}

#Negative Mass start
country_event = {
	id = colony.9810
	title = "colony.9810.name"
	desc = {
		trigger = { is_machine_empire = yes }
		text = "colony.9810.desc.robot"
	}
	desc = {
		trigger = { is_hive_empire = yes }
		text = "colony.9810.desc.hive"
	}
	desc = {
		trigger = { is_regular_empire = yes }
		text = "colony.9810.desc"
	}
	picture = GFX_evt_dwe_staticdim
	show_sound = event_mystic_reveal
	event_chain = negative_mass

	is_triggered_only = yes

	immediate = {
		if = {
			limit = {
				any_owned_leader = {
					is_head_of_research = yes
				}
			}
			random_owned_leader = {
				limit = {
					is_head_of_research = yes
				}
				save_event_target_as = target_physicist
			}
			clone_leader = {
				target = event_target:target_physicist
				effect = {
					save_global_event_target_as = cloned_physicist
					exile_leader_as = cloned_physicist
				}
			}
		}
		else = {
			random_owned_leader = {
				save_event_target_as = target_physicist
			}
			clone_leader = {
				target = event_target:target_physicist
				effect = {
					save_global_event_target_as = cloned_physicist
					exile_leader_as = cloned_physicist
				}
			}
		}
		begin_event_chain = {
			event_chain = negative_mass
			target = root
		}
	}

	option = {
		name = FASCINATING
		add_modifier = { modifier =  harvesting_negative_mass days = -1 }
		# Add tech
		if = {
			limit = {
				NOR = {
					has_tech_option = dwe_tech_static_disintegrator
					has_technology = dwe_tech_static_disintegrator
				}
			}
			add_research_option = dwe_tech_static_disintegrator
			add_tech_progress = {
				tech = dwe_tech_static_disintegrator
				progress = 0.25
			}
		}
		tooltip = {
			begin_event_chain = {
				event_chain = negative_mass
				target = root
			}
		}
		hidden_effect = {
			country_event = { id = colony.9815 days = 360 random = 360 }
		}
	}
}
#Negative Mass start
country_event = {
	id = colony.9810
	title = "colony.9810.name"
	desc = {
		trigger = { is_machine_empire = yes }
		text = "colony.9810.desc.robot"
	}
	desc = {
		trigger = { is_hive_empire = yes }
		text = "colony.9810.desc.hive"
	}
	desc = {
		trigger = { is_regular_empire = yes }
		text = "colony.9810.desc"
	}
	picture = GFX_evt_dwe_staticdim
	show_sound = event_mystic_reveal
	event_chain = negative_mass

	is_triggered_only = yes

	immediate = {
		if = {
			limit = {
				is_gestalt = no
				any_owned_leader = {
					is_head_of_research = yes
				}
			}
			random_owned_leader = {
				limit = {
					is_head_of_research = yes
				}
				save_event_target_as = target_physicist
			}
			clone_leader = {
				target = event_target:target_physicist
				effect = {
					save_global_event_target_as = cloned_physicist
					exile_leader_as = cloned_physicist
				}
			}
		}
		else = {
			random_owned_leader = {
				weights = {
					base = 1
					modifier = {
						factor = 100
						leader_class = scientist
					}
					modifier = {
						factor = 0
						is_councilor = yes
						has_ethic = ethic_gestalt_consciousness
					}
				}
				save_event_target_as = target_physicist
			}
			clone_leader = {
				target = event_target:target_physicist
				effect = {
					save_global_event_target_as = cloned_physicist
					exile_leader_as = cloned_physicist
				}
			}
		}
		begin_event_chain = {
			event_chain = negative_mass
			target = root
		}
	}

	option = {
		name = FASCINATING
		add_modifier = { modifier =  harvesting_negative_mass days = -1 }
		# Add tech
		if = {
			limit = {
				NOR = {
					has_tech_option = dwe_tech_static_disintegrator
					has_technology = dwe_tech_static_disintegrator
				}
			}
			add_research_option = dwe_tech_static_disintegrator
			add_tech_progress = {
				tech = dwe_tech_static_disintegrator
				progress = 0.25
			}
		}
		tooltip = {
			begin_event_chain = {
				event_chain = negative_mass
				target = root
			}
		}
		hidden_effect = {
			country_event = { id = colony.9815 days = 360 random = 360 }
		}
	}
}