realgray-stellaris-mod/common/scripted_effects/RG_gray_init_effects.txt

744 lines
15 KiB
Plaintext
Raw Normal View History

2024-09-23 10:24:21 +08:00
#Country event_target:gray_owner
2023-06-03 17:46:32 +08:00
#灰风舰船刷新位置检测
rg_global_gray_location_check = {
if = {
2023-06-08 13:11:05 +08:00
limit = {
has_country_flag = gray_constship_active
}
2023-06-03 17:46:32 +08:00
if = {
2023-06-08 13:11:05 +08:00
limit = {
exists = event_target:global_gray_constship
}
2023-06-03 17:46:32 +08:00
event_target:global_gray_constship = {
save_global_event_target_as = global_gray_location
}
2023-06-08 13:11:05 +08:00
}
else = {
2023-06-03 17:46:32 +08:00
random_owned_fleet = {
2023-06-08 13:11:05 +08:00
limit = {
has_fleet_flag = gray_constship
}
2023-06-03 17:46:32 +08:00
save_global_event_target_as = global_gray_location
}
}
}
else_if = {
2023-06-08 13:11:05 +08:00
limit = {
has_country_flag = gray_warship_active
}
2023-06-03 17:46:32 +08:00
if = {
2023-06-08 13:11:05 +08:00
limit = {
exists = event_target:gray_warship
}
2023-06-03 17:46:32 +08:00
event_target:gray_warship = {
save_global_event_target_as = global_gray_location
}
2023-06-08 13:11:05 +08:00
}
else = {
2023-06-03 17:46:32 +08:00
random_owned_fleet = {
2023-06-08 13:11:05 +08:00
limit = {
has_fleet_flag = gray_fleet
}
2023-06-03 17:46:32 +08:00
save_global_event_target_as = global_gray_location
}
}
}
else_if = {
2023-06-08 13:11:05 +08:00
limit = {
has_country_flag = gray_juggernaut_active
}
2023-06-03 17:46:32 +08:00
if = {
2023-06-08 13:11:05 +08:00
limit = {
exists = event_target:gray_juggernaut
}
2023-06-03 17:46:32 +08:00
event_target:gray_juggernaut = {
save_global_event_target_as = global_gray_location
}
2023-06-08 13:11:05 +08:00
}
else = {
2023-06-03 17:46:32 +08:00
random_controlled_fleet = {
2023-06-08 13:11:05 +08:00
limit = {
has_fleet_flag = gray_juggernaut_fleet
}
2023-06-03 17:46:32 +08:00
save_global_event_target_as = global_gray_location
}
}
}
else_if = {
2023-06-08 13:11:05 +08:00
limit = {
2023-11-17 03:46:51 +08:00
OR = {
has_country_flag = gray_official_active
has_country_flag = gray_governor_active #旧版flag
}
2023-06-08 13:11:05 +08:00
}
2023-06-03 17:46:32 +08:00
if = {
2023-06-08 13:11:05 +08:00
limit = {
any_owned_planet = {
2024-09-22 20:17:00 +08:00
exists = leader
leader = {
is_same_value = event_target:gray_official
2023-06-08 13:11:05 +08:00
}
2023-06-03 17:46:32 +08:00
}
}
random_owned_planet = {
limit = {
2024-09-22 20:17:00 +08:00
exists = leader
leader = {
is_same_value = event_target:gray_official
2023-06-08 13:11:05 +08:00
}
2023-06-03 17:46:32 +08:00
}
2024-09-22 20:17:00 +08:00
save_event_target_as = global_gray_location
2023-06-03 17:46:32 +08:00
}
}
else = {
2023-06-08 13:11:05 +08:00
capital_scope = {
2024-09-22 20:17:00 +08:00
save_event_target_as = global_gray_location
2023-06-08 13:11:05 +08:00
}
2023-06-03 17:46:32 +08:00
}
2023-06-08 13:11:05 +08:00
}
2023-06-03 17:46:32 +08:00
else_if = {
2023-06-08 13:11:05 +08:00
limit = {
has_country_flag = gray_army_active
}
2023-06-03 17:46:32 +08:00
if = {
limit = {
any_owned_army = {
army_type = gray_army
exists = planet
}
}
random_owned_army = {
2023-06-08 13:11:05 +08:00
limit = {
army_type = gray_army
}
planet = {
save_global_event_target_as = global_gray_location
}
2023-06-03 17:46:32 +08:00
}
}
else = {
random_owned_army = {
2023-06-08 13:11:05 +08:00
limit = {
army_type = gray_army
}
fleet = {
save_global_event_target_as = global_gray_location
}
2023-06-03 17:46:32 +08:00
}
}
}
2024-08-31 10:31:22 +08:00
else_if = {
limit = {
has_country_flag = rg_habitat_enabled
}
if = {
limit = {exists = event_target:rg_gray_habitat_target}
event_target:rg_gray_habitat_target = {
save_global_event_target_as = global_gray_location
}
}
}
2023-06-03 17:46:32 +08:00
else = {
2023-06-08 13:11:05 +08:00
capital_scope = {
save_global_event_target_as = global_gray_location
}
2023-06-03 17:46:32 +08:00
}
}
2023-06-08 13:11:05 +08:00
2024-09-23 10:24:21 +08:00
#Country event_target:gray_owner
#存储当前领袖等级
rg_save_gray_leader_level_effect = {
every_owned_leader = {
if = {
###等级检测
limit = {
has_leader_flag = rg_gray_leader
NOT = {
has_leader_flag = rg_gray_leader_temp
}
}
#导出等级到暂存
export_trigger_value_to_variable = {
trigger = has_skill
variable = rg_gray_level_temp
}
#导入变量
owner = {
set_variable = {
which = rg_gray_level
value = prev.rg_gray_level_temp
}
}
#清理暂存区
clear_variable = rg_gray_level_temp
}
}
}
#Country event_target:gray_owner
#把所有种类的小灰领袖都送回娘家
rg_sent_gray_back_to_home_effect = {
every_owned_leader = {
limit = {
has_leader_flag = rg_gray_leader
}
set_owner = event_target:rg_gray_country
set_leader_flag = rg_gray_leader_temp
# kill_leader = { show_notification = no }
}
}
#创造灰风总督
2024-08-31 10:31:22 +08:00
rg_create_gray_governor = {
2023-06-08 13:11:05 +08:00
if = {
limit = {
2023-11-17 03:46:51 +08:00
OR = {
has_country_flag = gray_official_active
has_country_flag = gray_governor_active #旧版flag
}
2023-06-08 13:11:05 +08:00
}
}
2023-06-06 11:03:08 +08:00
else = {
#延迟执行
optimize_memory
#删除战舰
every_owned_fleet = {
2023-06-08 13:11:05 +08:00
limit = {
has_fleet_flag = gray_fleet
}
2023-06-06 11:03:08 +08:00
delete_fleet = {
target = this
kill_leader = no
destroy_template = yes
}
}
#删除科学舰
every_owned_fleet = {
2023-06-08 13:11:05 +08:00
limit = {
has_fleet_flag = gray_constship
}
2023-06-06 11:03:08 +08:00
delete_fleet = {
target = this
kill_leader = no
destroy_template = yes
}
}
#删除陆军
every_owned_army = {
2023-06-08 13:11:05 +08:00
limit = {
army_type = gray_army
}
2023-06-06 11:03:08 +08:00
if = {
2023-06-08 13:11:05 +08:00
limit = {
exists = leader
}
2023-06-06 11:03:08 +08:00
unassign_leader = leader
}
remove_army = yes
}
2023-06-08 13:11:05 +08:00
2023-06-24 15:07:12 +08:00
#存储当前领袖等级
2024-09-23 10:24:21 +08:00
rg_save_gray_leader_level_effect = yes
2023-06-24 15:07:12 +08:00
#把所有种类的小灰领袖都送回娘家
every_owned_leader = {
limit = {
has_leader_flag = rg_gray_leader
}
set_owner = event_target:rg_gray_country
set_leader_flag = rg_gray_leader_temp
# kill_leader = { show_notification = no }
}
#把娘家的总督领袖接回来
if = {
limit = {
exists = event_target:gray_governor
}
event_target:gray_governor = {
set_owner = event_target:gray_owner
remove_leader_flag = rg_gray_leader_temp
}
}
#如果不存在总督备份,现场变一个
else = {
rg_gray_govener_init = yes
}
#设置总督已启用标识
2023-11-17 03:46:51 +08:00
set_country_flag = gray_official_active #新版flag
set_country_flag = gray_governor_active #旧版flag
2023-06-24 15:07:12 +08:00
#更新灰风形态
remove_country_flag = gray_warship_active
remove_country_flag = rg_kac_grayfleet_active
remove_country_flag = gray_constship_active
remove_country_flag = gray_army_active
2024-09-17 02:27:18 +08:00
2023-06-24 15:07:12 +08:00
#等级导入,把存储的领袖等级赋予到领袖身上
random_owned_leader = {
limit = {
has_leader_flag = gray_governor
}
set_skill = owner.rg_gray_level
}
}
}
#创造灰风战舰
rg_create_gray_warship = {
2023-06-08 13:11:05 +08:00
if = {
limit = {
has_country_flag = gray_warship_active
}
}
2023-06-06 11:03:08 +08:00
else = {
optimize_memory
#舰船刷新位置检测
rg_global_gray_location_check = yes
# 存储当前领袖等级
2024-09-23 10:24:21 +08:00
rg_save_gray_leader_level_effect = yes
2023-06-06 11:03:08 +08:00
every_owned_leader = {
2023-06-08 13:11:05 +08:00
limit = {
has_leader_flag = rg_gray_leader
}
2023-06-06 11:03:08 +08:00
set_owner = event_target:rg_gray_country
set_leader_flag = rg_gray_leader_temp
# kill_leader = { show_notification = no }
}
if = {
2023-06-08 13:11:05 +08:00
limit = {
2023-06-06 11:03:08 +08:00
exists = event_target:gray_leader_admiral
}
2023-06-08 13:11:05 +08:00
event_target:gray_leader_admiral = {
set_owner = event_target:gray_owner
2023-06-06 11:03:08 +08:00
remove_leader_flag = rg_gray_leader_temp
}
}
2023-06-06 11:03:08 +08:00
else = {
2023-11-17 03:46:51 +08:00
rg_gray_commander_init = yes
}
2023-06-06 11:03:08 +08:00
set_country_flag = gray_warship_active
if = {
limit = {
has_country_flag = rg_gray_level_2
}
2023-06-11 12:36:05 +08:00
rg_warship_init_mod1 = yes
2023-06-06 11:03:08 +08:00
}
else_if = {
limit = {
has_country_flag = rg_gray_level_3
NOT = {
has_country_flag = gray_warship_is_juggernaut
}
}
2023-06-11 12:36:05 +08:00
rg_warship_init_mod2 = yes
}
2023-06-06 11:03:08 +08:00
else_if = {
limit = {
has_country_flag = gray_warship_is_juggernaut
}
2023-06-11 12:36:05 +08:00
rg_warship_init_mod3 = yes
2023-06-06 11:03:08 +08:00
}
else = {
2023-06-11 12:36:05 +08:00
rg_warship_init_mod0 = yes
2023-06-06 11:03:08 +08:00
}
every_owned_army = {
2023-06-08 13:11:05 +08:00
limit = {
army_type = gray_army
}
2023-06-06 11:03:08 +08:00
if = {
2023-06-08 13:11:05 +08:00
limit = {
exists = leader
}
2023-06-06 11:03:08 +08:00
unassign_leader = leader
}
remove_army = yes
}
every_owned_fleet = {
2023-06-08 13:11:05 +08:00
limit = {
has_fleet_flag = gray_constship
}
2023-06-06 11:03:08 +08:00
delete_fleet = {
target = this
kill_leader = no
destroy_template = yes
}
}
2024-08-31 10:31:22 +08:00
2023-06-06 11:03:08 +08:00
remove_country_flag = gray_constship_active
2023-11-17 03:46:51 +08:00
remove_country_flag = gray_governor_active #旧版flag
remove_country_flag = gray_official_active
2023-06-06 11:03:08 +08:00
remove_country_flag = gray_army_active
2024-09-17 02:27:18 +08:00
2023-06-06 11:03:08 +08:00
random_owned_leader = {
2023-06-08 13:11:05 +08:00
limit = {
has_leader_flag = gray_admiral
}
2023-06-06 11:03:08 +08:00
set_skill = owner.rg_gray_level
}
}
}
2023-06-08 13:11:05 +08:00
2023-06-06 11:03:08 +08:00
#创造灰风地面单位
rg_create_gray_army = {
2023-06-08 13:11:05 +08:00
if = {
limit = {
2024-04-14 15:14:25 +08:00
has_country_flag = gray_army_active
2023-06-08 13:11:05 +08:00
}
}
2023-06-06 11:03:08 +08:00
else = {
optimize_memory
#舰船刷新位置检测
rg_global_gray_location_check = yes
2024-09-23 10:24:21 +08:00
rg_save_gray_leader_level_effect = yes
2023-06-06 11:03:08 +08:00
every_owned_leader = {
2023-06-08 13:11:05 +08:00
limit = {
has_leader_flag = rg_gray_leader
}
2023-06-06 11:03:08 +08:00
set_owner = event_target:rg_gray_country
set_leader_flag = rg_gray_leader_temp
# kill_leader = { show_notification = no }
}
if = {
2023-06-08 13:11:05 +08:00
limit = {
2023-06-06 11:03:08 +08:00
exists = event_target:gray_leader_general
}
2023-06-08 13:11:05 +08:00
event_target:gray_leader_general = {
set_owner = event_target:gray_owner
2023-06-06 11:03:08 +08:00
remove_leader_flag = rg_gray_leader_temp
}
}
else = {
2023-11-17 03:46:51 +08:00
rg_gray_commander_init = yes
2023-06-06 11:03:08 +08:00
}
create_ship_design = {
design = "NAME_RG_armed_transport_ship"
}
2023-06-06 11:03:08 +08:00
add_ship_design = last_created_design
set_country_flag = gray_army_active
create_fleet = {
name = "NAME_Gray"
effect = {
set_owner = prev
2023-06-06 11:03:08 +08:00
create_army_transport = {
ship_name = "NAME_Gray"
army_name = "NAME_Gray"
army_type = "gray_army"
}
set_location = {
2023-06-03 17:46:32 +08:00
target = event_target:global_gray_location
distance = 0
2023-06-08 13:11:05 +08:00
angle = random
}
2023-06-06 11:03:08 +08:00
# set_cloaking_active = yes
set_fleet_stance = aggressive
}
}
last_created_army = {
assign_leader = event_target:gray_leader_general
}
every_owned_fleet = {
2023-06-08 13:11:05 +08:00
limit = {
has_fleet_flag = gray_fleet
}
2023-06-06 11:03:08 +08:00
delete_fleet = {
target = this
kill_leader = no
destroy_template = yes
}
}
2023-06-06 11:03:08 +08:00
every_owned_fleet = {
2023-06-08 13:11:05 +08:00
limit = {
has_fleet_flag = gray_constship
}
2023-06-06 11:03:08 +08:00
delete_fleet = {
target = this
kill_leader = no
destroy_template = yes
}
}
2024-08-31 10:31:22 +08:00
2023-06-06 11:03:08 +08:00
remove_country_flag = gray_warship_active
remove_country_flag = rg_kac_grayfleet_active
2023-11-17 03:46:51 +08:00
remove_country_flag = gray_governor_active #旧版flag
remove_country_flag = gray_official_active
2023-06-06 11:03:08 +08:00
remove_country_flag = gray_constship_active
2024-09-17 02:27:18 +08:00
2023-06-06 11:03:08 +08:00
remove_ship_design = last_created_design
random_owned_leader = {
2023-06-08 13:11:05 +08:00
limit = {
has_leader_flag = gray_general
}
2023-06-06 11:03:08 +08:00
set_skill = owner.rg_gray_level
}
}
2023-06-06 11:03:08 +08:00
}
2023-06-08 13:11:05 +08:00
2023-06-06 11:03:08 +08:00
#创造灰风科学舰
rg_create_gray_const = {
2023-06-08 13:11:05 +08:00
if = {
limit = {
has_country_flag = gray_constship_active
}
}
else = {
2023-06-06 11:03:08 +08:00
optimize_memory
#舰船刷新位置检测
rg_global_gray_location_check = yes
2024-09-23 10:24:21 +08:00
rg_save_gray_leader_level_effect = yes
2023-06-06 11:03:08 +08:00
every_owned_leader = {
2023-06-08 13:11:05 +08:00
limit = {
has_leader_flag = rg_gray_leader
}
2023-06-06 11:03:08 +08:00
set_owner = event_target:rg_gray_country
set_leader_flag = rg_gray_leader_temp
# kill_leader = { show_notification = no }
}
if = {
2023-06-08 13:11:05 +08:00
limit = {
2023-06-06 11:03:08 +08:00
exists = event_target:gray_leader_scientist
}
2023-06-08 13:11:05 +08:00
event_target:gray_leader_scientist = {
set_owner = event_target:gray_owner
2023-06-06 11:03:08 +08:00
remove_leader_flag = rg_gray_leader_temp
}
}
else = {
rg_gray_scientist_init = yes
}
set_country_flag = gray_constship_active
create_fleet = {
name = "NAME_Gray"
2023-06-08 13:11:05 +08:00
settings = {
can_upgrade = no
can_disband = no
2023-06-08 13:11:05 +08:00
can_change_composition = no
can_change_leader = yes
uses_naval_capacity = no
2023-06-08 13:11:05 +08:00
spawn_debris = no
}
effect = {
set_owner = prev
create_ship = {
name = "NAME_Gray"
2023-06-06 11:03:08 +08:00
design = "NAME_RG_GRAY_scienceship"
prefix = no
upgradable = yes
}
2023-06-06 11:03:08 +08:00
set_fleet_stance = evasive
set_location = {
2023-06-03 17:46:32 +08:00
target = event_target:global_gray_location
distance = 0
2023-06-08 13:11:05 +08:00
angle = random
}
2023-06-06 11:03:08 +08:00
set_fleet_flag = gray_constship
save_global_event_target_as = global_gray_constship
set_cloaking_active = yes
assign_leader = event_target:gray_leader_scientist
2023-06-03 00:02:37 +08:00
}
}
2023-06-06 11:03:08 +08:00
every_owned_fleet = {
2023-06-08 13:11:05 +08:00
limit = {
has_fleet_flag = gray_fleet
}
2023-06-06 11:03:08 +08:00
delete_fleet = {
target = this
kill_leader = no
destroy_template = yes
}
}
2023-06-06 11:03:08 +08:00
every_owned_army = {
2023-06-08 13:11:05 +08:00
limit = {
army_type = gray_army
}
2023-06-06 11:03:08 +08:00
if = {
2023-06-08 13:11:05 +08:00
limit = {
exists = leader
}
2023-06-06 11:03:08 +08:00
unassign_leader = leader
}
2023-06-06 11:03:08 +08:00
remove_army = yes
}
2024-08-31 10:31:22 +08:00
2023-06-06 11:03:08 +08:00
remove_country_flag = gray_army_active
remove_country_flag = gray_warship_active
remove_country_flag = rg_kac_grayfleet_active
2023-11-17 03:46:51 +08:00
remove_country_flag = gray_governor_active #旧版flag
remove_country_flag = gray_official_active
2024-09-17 02:27:18 +08:00
2023-06-06 11:03:08 +08:00
random_owned_leader = {
2023-06-08 13:11:05 +08:00
limit = {
has_leader_flag = gray_scientist
}
2023-06-06 11:03:08 +08:00
set_skill = owner.rg_gray_level
}
}
2024-08-31 10:31:22 +08:00
}
2024-09-18 17:16:32 +08:00
rg_harbitar_size_calculate = {
set_variable = {
which = rg_habitat_size
value = 10
}
set_variable = {
which = rg_habitat_size_temp
value = rg_gray_level
}
multiply_variable = {
which = rg_habitat_size_temp
value = 2
}
change_variable = {
which = rg_habitat_size_temp
value = 10
}
set_variable = {
which = rg_habitat_size
value = rg_habitat_size_temp
}
}
2024-08-31 10:31:22 +08:00
rg_juggernaut_habitat_init = {
if = {
limit = {
has_country_flag = rg_habitat_enabled
}
}
else = {
optimize_memory
rg_global_gray_location_check = yes
set_country_flag = rg_habitat_enabled
2024-09-18 17:16:32 +08:00
rg_harbitar_size_calculate = yes
2024-08-31 10:31:22 +08:00
event_target:global_gray_location = {
solar_system = {
spawn_planet = {
class = pc_rg_grayhabitat
location = event_target:global_gray_location
orbit_location = yes
orbit_angle = 225
orbit_distance = 360
orbit_angle_offset = 45
orbit_distance_offset = 9.899
2024-09-18 17:16:32 +08:00
size = 10
2024-08-31 10:31:22 +08:00
has_ring = no
init_effect = {
2024-09-18 17:16:32 +08:00
prevent_anomaly = yes
2024-08-31 10:31:22 +08:00
set_planet_entity = {
entity = "grey_tempesttw_orbital_habitat_entity"
}
set_surveyed = {
surveyed = yes
surveyor = FROM
}
set_all_comms_surveyed = yes
clear_blockers = yes
set_owner = root
set_controller = root
create_colony = {
owner = root
species = owner_main_species
ethos = owner
}
2024-09-17 02:27:18 +08:00
if = {
limit = {
NOT = {
exists = event_target:rg_owner_main_maid_species
}
}
every_owned_pop = {
rg_event_effect_planet2027_spawn_maid_species = yes
2024-09-17 02:27:18 +08:00
}
}
2024-08-31 10:31:22 +08:00
set_name = "NAME_rg_gray_habitat_base"
if = {
2024-09-17 13:32:31 +08:00
limit = {
event_target:gray_owner = {
OR = {
has_country_flag = gray_official_active
has_country_flag = gray_governor_active #旧版flag
}
}
2024-08-31 10:31:22 +08:00
}
assign_leader = event_target:gray_governor
}
2024-09-18 17:16:32 +08:00
set_planet_size = owner.rg_habitat_size
2024-08-31 10:31:22 +08:00
2024-09-17 05:18:40 +08:00
generate_start_buildings_and_districts = yes
2024-09-18 17:16:32 +08:00
while = {
count = 1
add_district = district_rg_generator
}
while = {
count = 1
add_district = district_rg_mining
}
while = {
count = 1
add_district = district_rg_farming
}
while = {
count = 1
add_district = district_rg_industrial
}
if = {
limit = {
exists = owner
owner = { is_hive_empire = yes }
}
while = {
count = 1
add_district = district_rg_hive
}
}
if = {
limit = {
exists = owner
owner = { is_regular_empire = yes }
}
while = {
count = 1
add_district = district_rg_city
}
}
if = {
limit = {
exists = owner
from = { is_machine_empire = yes }
}
while = {
count = 1
add_district = district_rg_nexus
}
}
2024-08-31 10:31:22 +08:00
while = {
count = 5
create_pop = {
species = owner_main_species
}
}
2024-09-18 17:16:32 +08:00
2024-08-31 10:31:22 +08:00
set_planet_flag = megastructure
set_planet_flag = habitat
set_planet_flag = advanced_habitat
set_planet_flag = advanced_habitat_2
set_planet_flag = rg_gray_habitat
save_global_event_target_as = rg_gray_habitat_target
}
}
}
}
}
}
rg_clear_harbitat = {
remove_country_flag = rg_habitat_enabled
event_target:rg_gray_habitat_target = {
remove_planet = yes
}
2024-09-18 17:16:32 +08:00
}