From 4c8423b870506394c99d621d2d5a0c089db6f0f5 Mon Sep 17 00:00:00 2001
From: "ProjectKoi-Kalo\\Kalo" <kalospacer@gmail.com>
Date: Tue, 17 Sep 2024 02:27:18 +0800
Subject: [PATCH] =?UTF-8?q?=E7=A9=BA=E9=97=B4=E7=AB=99=E5=A5=B3=E4=BB=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 common/scripted_effects/RG_event_effects.txt  |  26 +++
 .../scripted_effects/RG_gray_goo_effects.txt  |  40 +++-
 events/RG_gray_leader_dialog_event.txt        |   4 +-
 events/RG_planet_event.txt                    |  17 +-
 events/RG_wsg_graygoo_event.txt               | 216 ++++++++++++++++++
 5 files changed, 287 insertions(+), 16 deletions(-)

diff --git a/common/scripted_effects/RG_event_effects.txt b/common/scripted_effects/RG_event_effects.txt
index 7207c5b..70a614e 100644
--- a/common/scripted_effects/RG_event_effects.txt
+++ b/common/scripted_effects/RG_event_effects.txt
@@ -144,3 +144,29 @@ rg_event_effect_lcluster_open = {
 	}
 }
 
+#Species
+rg_event_effect_planet2027_spawn_maid_species = {
+	modify_species = {
+		effect = {
+			create_species = {
+				is_mod = yes
+				name = "RG_MACHINE"
+				plural = this
+				class = RG_MACHINE
+				portrait = "rg_machine_maid"
+				can_be_modified = this
+				homeworld = this
+				namelist = this
+				gender = this
+				traits = {
+					trait = trait_machine_unit
+					trait = rg_machine_maid_trait
+					trait = trait_robot_mass_produced
+				}
+				effect = {
+					save_event_target_as = rg_owner_main_maid_species
+				}
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/common/scripted_effects/RG_gray_goo_effects.txt b/common/scripted_effects/RG_gray_goo_effects.txt
index 9103cb6..5836826 100644
--- a/common/scripted_effects/RG_gray_goo_effects.txt
+++ b/common/scripted_effects/RG_gray_goo_effects.txt
@@ -251,7 +251,7 @@ rg_create_gray_governor = {
 		remove_country_flag = rg_kac_grayfleet_active
 		remove_country_flag = gray_constship_active
 		remove_country_flag = gray_army_active
-		remove_country_flag = gray_habitat_active
+		
 		#等级导入,把存储的领袖等级赋予到领袖身上
 		random_owned_leader = {
 			limit = {
@@ -368,7 +368,7 @@ rg_create_gray_warship = {
 		remove_country_flag = gray_governor_active #旧版flag
 		remove_country_flag = gray_official_active
 		remove_country_flag = gray_army_active
-		remove_country_flag = gray_habitat_active
+		
 		random_owned_leader = {
 			limit = {
 				has_leader_flag = gray_admiral
@@ -483,7 +483,7 @@ rg_create_gray_army = {
 		remove_country_flag = gray_governor_active #旧版flag
 		remove_country_flag = gray_official_active
 		remove_country_flag = gray_constship_active
-		remove_country_flag = gray_habitat_active
+		
 		remove_ship_design = last_created_design
 		random_owned_leader = {
 			limit = {
@@ -606,7 +606,7 @@ rg_create_gray_const = {
 		remove_country_flag = rg_kac_grayfleet_active
 		remove_country_flag = gray_governor_active #旧版flag
 		remove_country_flag = gray_official_active
-		remove_country_flag = gray_habitat_active
+		
 		random_owned_leader = {
 			limit = {
 				has_leader_flag = gray_scientist
@@ -658,6 +658,38 @@ rg_juggernaut_habitat_init = {
 							species = owner_main_species
 							ethos = owner
 						}
+						if = {
+							limit = {
+								NOT = {
+									exists = event_target:rg_owner_main_maid_species
+								}
+							}
+							every_owned_pop = {
+								modify_species = {
+									effect = {
+										create_species = {
+											is_mod = yes
+											name = "RG_MACHINE"
+											plural = this
+											class = RG_MACHINE
+											portrait = "rg_machine_maid"
+											can_be_modified = this
+											homeworld = this
+											namelist = this
+											gender = this
+											traits = {
+												trait = trait_machine_unit
+												trait = rg_machine_maid_trait
+												trait = trait_robot_mass_produced
+											}
+											effect = {
+												save_global_event_target_as = rg_owner_main_maid_species
+											}
+										}
+									}
+								}
+							}
+						}
 						set_name = "NAME_rg_gray_habitat_base"
 						
 						if = {
diff --git a/events/RG_gray_leader_dialog_event.txt b/events/RG_gray_leader_dialog_event.txt
index 7b65a9e..6648af3 100644
--- a/events/RG_gray_leader_dialog_event.txt
+++ b/events/RG_gray_leader_dialog_event.txt
@@ -490,7 +490,7 @@ country_event = {
 	desc = "RG_graygoo.502.f.response"
 	event_window_type = leader_recruit
 	picture_event_data = {
-		portrait = event_target:gray_leader_admiral
+		portrait = event_target:rg_gray_country_leader
 		room = "ethic_spaceship_room"
 	}
 	is_triggered_only = yes
@@ -527,7 +527,7 @@ country_event = {
 	desc = "RG_graygoo.502.g.response"
 	event_window_type = leader_recruit
 	picture_event_data = {
-		portrait = event_target:gray_leader_admiral
+		portrait = event_target:rg_gray_country_leader
 		room = "ethic_spaceship_room"
 	}
 	is_triggered_only = yes
diff --git a/events/RG_planet_event.txt b/events/RG_planet_event.txt
index 7129672..a53c69d 100644
--- a/events/RG_planet_event.txt
+++ b/events/RG_planet_event.txt
@@ -12,7 +12,7 @@ country_event = {
 	is_triggered_only = yes
 
 	trigger = {
-		has_country_flag = gray_habitat_active
+		has_country_flag = rg_habitat_enabled
 		exists = event_target:rg_gray_habitat_target
 		event_target:rg_gray_habitat_target = {
 			is_under_colonization = no
@@ -55,8 +55,7 @@ planet_event = {
 		NOT = { is_planet_class = pc_cosmogenesis_world }
 		exists = owner
 		owner = {
-			is_fallen_empire = no
-			has_country_flag = gray_habitat_active
+			has_country_flag = rg_habitat_enabled
 		}
 		free_jobs > 0
 	}
@@ -79,8 +78,7 @@ planet_event = {
 		NOT = { is_planet_class = pc_cosmogenesis_world }
 		exists = owner
 		owner = {
-			is_fallen_empire = no
-			has_country_flag = gray_habitat_active
+			has_country_flag = rg_habitat_enabled
 		}
 		free_jobs > 0
 	}
@@ -94,9 +92,10 @@ planet_event = {
 		while = {
 			count = num_pops
 			create_pop = {
-				species = owner_main_species
+				species = event_target:rg_owner_main_maid_species
 			}
 		}
+
 		# Kill pops generated in excess (e.g. from forbidden jobs)
 		if = {
 			limit = {
@@ -124,8 +123,7 @@ country_event = {
 	is_triggered_only = yes
 
 	trigger = {
-		is_fallen_empire = no
-		has_country_flag = gray_habitat_active
+		has_country_flag = rg_habitat_enabled
 		event_target:rg_gray_habitat_target = {
 			any_owned_pop = {
 				is_unemployed = yes
@@ -159,8 +157,7 @@ planet_event = {
 	trigger = {
 		exists = owner
 		owner = {
-			is_fallen_empire = no
-			has_country_flag = gray_habitat_active
+			has_country_flag = rg_habitat_enabled
 		}
 		any_owned_pop = {
 			is_unemployed = yes
diff --git a/events/RG_wsg_graygoo_event.txt b/events/RG_wsg_graygoo_event.txt
index 4e3ba30..ee15b83 100644
--- a/events/RG_wsg_graygoo_event.txt
+++ b/events/RG_wsg_graygoo_event.txt
@@ -138,6 +138,44 @@ country_event = {
 			rg_create_gray_const = yes
 		}
 	}
+	option = {
+		# 空间站
+		name = RG_graygoo.500.f
+		response_text = RG_graygoo.502.f.response
+		trigger = {
+			NOT = {
+				has_country_flag = rg_habitat_enabled
+			}
+		}
+		allow = {
+		}
+		custom_tooltip = rg_need_manual_toggle
+		hidden_effect = {
+			if = {
+				limit = {
+					has_country_flag = rg_habitat_enabled
+				}
+				rg_clear_harbitat = yes
+			}
+			else = {
+				rg_juggernaut_habitat_init = yes
+			}
+		}
+	}
+	option = {
+		# 空间站
+		name = RG_graygoo.500.g
+		response_text = RG_graygoo.502.g.response
+		trigger = {
+			has_country_flag = rg_habitat_enabled
+		}
+		allow = {
+		}
+		custom_tooltip = rg_need_manual_toggle
+		hidden_effect = {
+			rg_clear_harbitat = yes
+		}
+	}
 	option = {
 		# help
 		name = rg_help
@@ -348,6 +386,44 @@ country_event = {
 			rg_create_gray_army = yes
 		}
 	}
+	option = {
+		# 空间站
+		name = RG_graygoo.500.f
+		response_text = RG_graygoo.502.f.response
+		trigger = {
+			NOT = {
+				has_country_flag = rg_habitat_enabled
+			}
+		}
+		allow = {
+		}
+		custom_tooltip = rg_need_manual_toggle
+		hidden_effect = {
+			if = {
+				limit = {
+					has_country_flag = rg_habitat_enabled
+				}
+				rg_clear_harbitat = yes
+			}
+			else = {
+				rg_juggernaut_habitat_init = yes
+			}
+		}
+	}
+	option = {
+		# 空间站
+		name = RG_graygoo.500.g
+		response_text = RG_graygoo.502.g.response
+		trigger = {
+			has_country_flag = rg_habitat_enabled
+		}
+		allow = {
+		}
+		custom_tooltip = rg_need_manual_toggle
+		hidden_effect = {
+			rg_clear_harbitat = yes
+		}
+	}
 	option = {
 		# help
 		name = rg_help
@@ -669,6 +745,44 @@ country_event = {
 			remove_country_flag = gray_warship_is_juggernaut
 		}
 	}
+	option = {
+		# 空间站
+		name = RG_graygoo.500.f
+		response_text = RG_graygoo.502.f.response
+		trigger = {
+			NOT = {
+				has_country_flag = rg_habitat_enabled
+			}
+		}
+		allow = {
+		}
+		custom_tooltip = rg_need_manual_toggle
+		hidden_effect = {
+			if = {
+				limit = {
+					has_country_flag = rg_habitat_enabled
+				}
+				rg_clear_harbitat = yes
+			}
+			else = {
+				rg_juggernaut_habitat_init = yes
+			}
+		}
+	}
+	option = {
+		# 空间站
+		name = RG_graygoo.500.g
+		response_text = RG_graygoo.502.g.response
+		trigger = {
+			has_country_flag = rg_habitat_enabled
+		}
+		allow = {
+		}
+		custom_tooltip = rg_need_manual_toggle
+		hidden_effect = {
+			rg_clear_harbitat = yes
+		}
+	}
 	option = {
 		#升级-2
 		name = rg_levelup_2
@@ -1064,6 +1178,44 @@ country_event = {
 			rg_create_gray_const = yes
 		}
 	}
+	option = {
+		# 空间站
+		name = RG_graygoo.500.f
+		response_text = RG_graygoo.502.f.response
+		trigger = {
+			NOT = {
+				has_country_flag = rg_habitat_enabled
+			}
+		}
+		allow = {
+		}
+		custom_tooltip = rg_need_manual_toggle
+		hidden_effect = {
+			if = {
+				limit = {
+					has_country_flag = rg_habitat_enabled
+				}
+				rg_clear_harbitat = yes
+			}
+			else = {
+				rg_juggernaut_habitat_init = yes
+			}
+		}
+	}
+	option = {
+		# 空间站
+		name = RG_graygoo.500.g
+		response_text = RG_graygoo.502.g.response
+		trigger = {
+			has_country_flag = rg_habitat_enabled
+		}
+		allow = {
+		}
+		custom_tooltip = rg_need_manual_toggle
+		hidden_effect = {
+			rg_clear_harbitat = yes
+		}
+	}
 	option = {
 		# 开启隐形
 		name = rg_graygoo.4.e
@@ -1416,6 +1568,44 @@ country_event = {
 			rg_create_gray_army = yes
 		}
 	}
+	option = {
+		# 空间站
+		name = RG_graygoo.500.f
+		response_text = RG_graygoo.502.f.response
+		trigger = {
+			NOT = {
+				has_country_flag = rg_habitat_enabled
+			}
+		}
+		allow = {
+		}
+		custom_tooltip = rg_need_manual_toggle
+		hidden_effect = {
+			if = {
+				limit = {
+					has_country_flag = rg_habitat_enabled
+				}
+				rg_clear_harbitat = yes
+			}
+			else = {
+				rg_juggernaut_habitat_init = yes
+			}
+		}
+	}
+	option = {
+		# 空间站
+		name = RG_graygoo.500.g
+		response_text = RG_graygoo.502.g.response
+		trigger = {
+			has_country_flag = rg_habitat_enabled
+		}
+		allow = {
+		}
+		custom_tooltip = rg_need_manual_toggle
+		hidden_effect = {
+			rg_clear_harbitat = yes
+		}
+	}
 	option = {
 		name = marry_gray
 		trigger = {
@@ -1582,6 +1772,32 @@ country_event = {
 			rg_create_gray_colony_1 = yes
 		}
 	}
+	option = {
+		# 购买巨像
+		name = rg_event.4.h
+		trigger = {
+			NOT = {
+				has_country_flag = gray_reforming
+			}
+		}
+		allow = {
+			resource_stockpile_compare = {
+				resource = energy
+				value >= 8000
+			}
+			resource_stockpile_compare = {
+				resource = alloys
+				value >= 8000
+			}
+		}
+		add_resource = {
+			energy = -8000
+			alloys = -8000
+		}
+		hidden_effect = {
+			rg_create_gray_planetkiller_testship_1 = yes
+		}
+	}
 	option = {
 		# 没钱了,救救
 		name = rg_event.4.c