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

734 lines
15 KiB
Plaintext

#灰风舰船刷新位置检测
rg_global_gray_location_check = {
if = {
limit = {
has_country_flag = gray_constship_active
}
if = {
limit = {
exists = event_target:global_gray_constship
}
event_target:global_gray_constship = {
save_global_event_target_as = global_gray_location
}
}
else = {
random_owned_fleet = {
limit = {
has_fleet_flag = gray_constship
}
save_global_event_target_as = global_gray_location
}
}
}
else_if = {
limit = {
has_country_flag = gray_warship_active
}
if = {
limit = {
exists = event_target:gray_warship
}
event_target:gray_warship = {
save_global_event_target_as = global_gray_location
}
}
else = {
random_owned_fleet = {
limit = {
has_fleet_flag = gray_fleet
}
save_global_event_target_as = global_gray_location
}
}
}
else_if = {
limit = {
has_country_flag = gray_juggernaut_active
}
if = {
limit = {
exists = event_target:gray_juggernaut
}
event_target:gray_juggernaut = {
save_global_event_target_as = global_gray_location
}
}
else = {
random_controlled_fleet = {
limit = {
has_fleet_flag = gray_juggernaut_fleet
}
save_global_event_target_as = global_gray_location
}
}
}
else_if = {
limit = {
OR = {
has_country_flag = gray_official_active
has_country_flag = gray_governor_active #旧版flag
}
}
if = {
limit = {
any_owned_planet = {
exists = sector.leader
sector.leader = {
has_leader_flag = gray_governor
}
}
}
random_owned_planet = {
limit = {
exists = sector.leader
sector.leader = {
has_leader_flag = gray_governor
}
}
save_global_event_target_as = global_gray_location
}
}
else = {
capital_scope = {
save_global_event_target_as = global_gray_location
}
}
}
else_if = {
limit = {
has_country_flag = gray_army_active
}
if = {
limit = {
any_owned_army = {
army_type = gray_army
exists = planet
}
}
random_owned_army = {
limit = {
army_type = gray_army
}
planet = {
save_global_event_target_as = global_gray_location
}
}
}
else = {
random_owned_army = {
limit = {
army_type = gray_army
}
fleet = {
save_global_event_target_as = global_gray_location
}
}
}
}
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
}
}
}
else = {
capital_scope = {
save_global_event_target_as = global_gray_location
}
}
}
#创造灰风总督
rg_create_gray_governor = {
if = {
limit = {
OR = {
has_country_flag = gray_official_active
has_country_flag = gray_governor_active #旧版flag
}
}
}
else = {
#延迟执行
optimize_memory
#删除战舰
every_owned_fleet = {
limit = {
has_fleet_flag = gray_fleet
}
delete_fleet = {
target = this
kill_leader = no
destroy_template = yes
}
}
#删除科学舰
every_owned_fleet = {
limit = {
has_fleet_flag = gray_constship
}
delete_fleet = {
target = this
kill_leader = no
destroy_template = yes
}
}
#删除陆军
every_owned_army = {
limit = {
army_type = gray_army
}
if = {
limit = {
exists = leader
}
unassign_leader = leader
}
remove_army = yes
}
#存储当前领袖等级
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
}
}
#把所有种类的小灰领袖都送回娘家
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
}
#设置总督已启用标识
set_country_flag = gray_official_active #新版flag
set_country_flag = gray_governor_active #旧版flag
#更新灰风形态
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
#等级导入,把存储的领袖等级赋予到领袖身上
random_owned_leader = {
limit = {
has_leader_flag = gray_governor
}
set_skill = owner.rg_gray_level
}
}
}
#创造灰风战舰
rg_create_gray_warship = {
if = {
limit = {
has_country_flag = gray_warship_active
}
}
else = {
optimize_memory
#舰船刷新位置检测
rg_global_gray_location_check = yes
# 存储当前领袖等级
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
}
}
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_leader_admiral
}
event_target:gray_leader_admiral = {
set_owner = event_target:gray_owner
remove_leader_flag = rg_gray_leader_temp
}
}
else = {
rg_gray_commander_init = yes
}
set_country_flag = gray_warship_active
if = {
limit = {
has_country_flag = rg_gray_level_2
}
rg_warship_init_mod1 = yes
}
else_if = {
limit = {
has_country_flag = rg_gray_level_3
NOT = {
has_country_flag = gray_warship_is_juggernaut
}
}
rg_warship_init_mod2 = yes
}
else_if = {
limit = {
has_country_flag = gray_warship_is_juggernaut
}
rg_warship_init_mod3 = yes
}
else = {
rg_warship_init_mod0 = yes
}
every_owned_army = {
limit = {
army_type = gray_army
}
if = {
limit = {
exists = leader
}
unassign_leader = leader
}
remove_army = yes
}
every_owned_fleet = {
limit = {
has_fleet_flag = gray_constship
}
delete_fleet = {
target = this
kill_leader = no
destroy_template = yes
}
}
remove_country_flag = gray_constship_active
remove_country_flag = gray_governor_active #旧版flag
remove_country_flag = gray_official_active
remove_country_flag = gray_army_active
random_owned_leader = {
limit = {
has_leader_flag = gray_admiral
}
set_skill = owner.rg_gray_level
}
}
}
#创造灰风地面单位
rg_create_gray_army = {
if = {
limit = {
has_country_flag = gray_army_active
}
}
else = {
optimize_memory
#舰船刷新位置检测
rg_global_gray_location_check = yes
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
}
}
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_leader_general
}
event_target:gray_leader_general = {
set_owner = event_target:gray_owner
remove_leader_flag = rg_gray_leader_temp
}
}
else = {
rg_gray_commander_init = yes
}
create_ship_design = {
design = "NAME_RG_armed_transport_ship"
}
add_ship_design = last_created_design
set_country_flag = gray_army_active
create_fleet = {
name = "NAME_Gray"
effect = {
set_owner = prev
create_army_transport = {
ship_name = "NAME_Gray"
army_name = "NAME_Gray"
army_type = "gray_army"
}
set_location = {
target = event_target:global_gray_location
distance = 0
angle = random
}
# set_cloaking_active = yes
set_fleet_stance = aggressive
}
}
last_created_army = {
assign_leader = event_target:gray_leader_general
}
every_owned_fleet = {
limit = {
has_fleet_flag = gray_fleet
}
delete_fleet = {
target = this
kill_leader = no
destroy_template = yes
}
}
every_owned_fleet = {
limit = {
has_fleet_flag = gray_constship
}
delete_fleet = {
target = this
kill_leader = no
destroy_template = yes
}
}
remove_country_flag = gray_warship_active
remove_country_flag = rg_kac_grayfleet_active
remove_country_flag = gray_governor_active #旧版flag
remove_country_flag = gray_official_active
remove_country_flag = gray_constship_active
remove_ship_design = last_created_design
random_owned_leader = {
limit = {
has_leader_flag = gray_general
}
set_skill = owner.rg_gray_level
}
}
}
#创造灰风科学舰
rg_create_gray_const = {
if = {
limit = {
has_country_flag = gray_constship_active
}
}
else = {
optimize_memory
#舰船刷新位置检测
rg_global_gray_location_check = yes
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
}
}
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_leader_scientist
}
event_target:gray_leader_scientist = {
set_owner = event_target:gray_owner
remove_leader_flag = rg_gray_leader_temp
}
}
else = {
rg_gray_scientist_init = yes
}
set_country_flag = gray_constship_active
create_fleet = {
name = "NAME_Gray"
settings = {
can_upgrade = no
can_disband = no
can_change_composition = no
can_change_leader = yes
uses_naval_capacity = no
spawn_debris = no
}
effect = {
set_owner = prev
create_ship = {
name = "NAME_Gray"
design = "NAME_RG_GRAY_scienceship"
prefix = no
upgradable = yes
}
set_fleet_stance = evasive
set_location = {
target = event_target:global_gray_location
distance = 0
angle = random
}
set_fleet_flag = gray_constship
save_global_event_target_as = global_gray_constship
set_cloaking_active = yes
assign_leader = event_target:gray_leader_scientist
}
}
every_owned_fleet = {
limit = {
has_fleet_flag = gray_fleet
}
delete_fleet = {
target = this
kill_leader = no
destroy_template = yes
}
}
every_owned_army = {
limit = {
army_type = gray_army
}
if = {
limit = {
exists = leader
}
unassign_leader = leader
}
remove_army = yes
}
remove_country_flag = gray_army_active
remove_country_flag = gray_warship_active
remove_country_flag = rg_kac_grayfleet_active
remove_country_flag = gray_governor_active #旧版flag
remove_country_flag = gray_official_active
random_owned_leader = {
limit = {
has_leader_flag = gray_scientist
}
set_skill = owner.rg_gray_level
}
}
}
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
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
size = 40
has_ring = no
init_effect = {
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
}
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 = {
limit = {
event_target:gray_owner = {
OR = {
has_country_flag = gray_official_active
has_country_flag = gray_governor_active #旧版flag
}
}
}
assign_leader = event_target:gray_governor
}
generate_start_buildings_and_districts = yes
while = {
count = 5
create_pop = {
species = owner_main_species
}
}
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
}
}