realgray-stellaris-mod/common/scripted_effects/RG_gray_leader_init_effects...

558 lines
20 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 避免代码复用原则:
# 如果你需要在不同的地方重复调用同一套代码,你应当把他们封装在这样的函数里。
# 避免需要修改代码时需要重复修改n次或是发生修改了A处忘记修改B处导致bug发生的问题。
# 当然,这种分块需要到什么程度,我也不知道
#灰风
################################
# 舰R 灰风领袖好感度设定块部分采样时间戳2023/6/1 817
# 仅用于留档比对不进行改动
# wg_affection_wg_gray_system_launch = {
# if = {
# limit = { has_leader_flag = gray_leader }
# set_leader_flag = has_wg_affection
# set_leader_flag = has_wg_affection_wg_gray
# set_leader_flag = wg_affection_auto_change_no
# add_trait_no_notify = leader_trait_wg_gray_affection
# set_variable = { which = affection value = owner.wg_gray_affection }
# set_variable = { which = wg_leader_affection_to_lv2 value = @wg_gray_affection_to_lv2 }
# set_variable = { which = wg_leader_affection_to_lv3 value = @wg_gray_affection_to_lv3 }
# set_variable = { which = wg_leader_affection_to_lv4 value = @wg_gray_affection_to_lv4 }
# set_variable = { which = wg_leader_affection_to_lv5 value = @wg_gray_affection_to_lv5 }
# set_variable = { which = wg_leader_affection_reduce value = @wg_gray_affection_reduce }
# set_variable = { which = wg_leader_affection_increase value = @wg_gray_affection_increase }
# }
#
# }
# wg_affection_wg_gray_system_check = {
# if = {
# limit = {
# has_leader_flag = has_wg_affection_wg_gray
# }
# set_variable = { which = affection value = owner.wg_gray_affection }
# }
# }
################################
rg_gray_govener_init = {
event_target:rg_gray_country = {
create_leader = {
class = governor
species = root
name = "NAME_Gray"
gender = female
immortal = yes
event_leader = yes
skip_background_generation = yes
custom_catch_phrase = gray_catch_phrase
custom_description = gray_backstory
background_ethic = ethic_gestalt_consciousness
hide_age = yes
skill = 10
set_age = 18
traits = {
}
effect = {
save_global_event_target_as = gray_governor
set_leader_flag = gray_governor
set_leader_flag = legendary_leader
set_leader_flag = immune_to_negative_traits
set_leader_flag = rg_gray_leader
if = {
limit = { has_global_flag = has_wsg_mod }
set_leader_flag = not_has_wg_affection_normal
}
if = {
limit = {
owner = {
OR = {
has_global_flag = has_wsg_mod
has_global_flag = kdc_event_mod_active
}
}
}
set_leader_flag = "gray_leader" #某个mod新旧flag混用我不说是谁。嗯嘿嘿
set_leader_flag = gray_leader
add_trait_no_notify = leader_trait_governor_gray
add_trait_no_notify = RG_leader_trait_ruler_gray
add_trait_no_notify = subclass_governor_economist
add_trait_no_notify = leader_trait_urbanist_3
add_trait_no_notify = leader_trait_scrapper_2
if = {
limit = { owner = {
has_country_flag = origin_gray_weaken
has_country_flag = origin_gray_country
}}
remove_trait = leader_trait_governor_gray
add_trait_no_notify = leader_trait_governor_gray_weak
}
}
else = {
add_trait_no_notify = RG_leader_trait_governor_gray
add_trait_no_notify = RG_leader_trait_ruler_gray
add_trait_no_notify = subclass_governor_economis
add_trait_no_notify = leader_trait_urbanist_3
add_trait_no_notify = leader_trait_scrapper_2
}
}
}
last_created_leader = {
set_owner = event_target:gray_owner
}
}
last_created_leader = {
set_leader_flag = has_gained_level_trait
}
random_owned_leader = {
limit = { has_leader_flag = gray_governor }
if = {
limit = {
owner = {
OR = {
has_global_flag = has_wsg_mod
has_global_flag = kdc_event_mod_active
}
}
}
leader_event = {
id = wg_affection.8 days = 1
}
if = {
limit = { owner = { has_country_flag = gray_encountered_the_loop }}
add_trait_no_notify = leader_trait_governor_wg_the_loop
}
set_gray_portrait = yes
# add_special_leader_affection_trait = { LEADER = gray LEADER_CLASS = governor MARRIED_FLAG = married_gray }
}
else = {
rg_set_gray_portrait = yes
}
}
set_global_flag = rg_kac_leader
}
rg_gray_admiral_init = {
event_target:rg_gray_country = {
create_leader = {
class = admiral
species = root
name = "NAME_Gray"
immortal = yes
event_leader = yes
skip_background_generation = yes
custom_catch_phrase = gray_catch_phrase
custom_description = gray_backstory
background_ethic = ethic_gestalt_consciousness
hide_age = yes
gender = female
skill = 10
set_age = 18
traits = {
trait = RG_leader_trait_admiral_gray
}
effect = {
save_global_event_target_as = gray_leader_admiral
set_leader_flag = gray_admiral
set_leader_flag = legendary_leader
set_leader_flag = immune_to_negative_traits
if = {
limit = { has_global_flag = has_wsg_mod }
set_leader_flag = not_has_wg_affection_normal
}
if = {
limit = {
owner = {
OR = {
has_global_flag = has_wsg_mod
has_global_flag = kdc_event_mod_active
}
}
}
set_leader_flag = "gray_leader" # "gray_leader"==rg_gray_leader
set_leader_flag = gray_leader
add_trait_no_notify = gray_admiral
if = {
limit = { owner = {
has_country_flag = origin_gray_weaken
has_country_flag = origin_gray_country
}}
remove_trait = gray_admiral
add_trait_no_notify = leader_trait_admiral_gray_weak
# 缺少特质leader_trait_admiral_gray_weak将导致KDC故事包远星之歌起源研究纳米星球特殊项目无法完成
}
}
set_leader_flag = rg_gray_leader
add_trait_no_notify = RG_leader_trait_admiral_gray
# 缺少特质RG_leader_trait_admiral_gray将导致小灰改造项目无法完成
add_trait_no_notify = subclass_admiral_aggressor
add_trait_no_notify = leader_trait_carrier_specialization
add_trait_no_notify = leader_trait_artillerist_2
add_trait_no_notify = leader_trait_juryrigger_2
}
}
last_created_leader = {
set_owner = event_target:gray_owner
}
}
last_created_leader = {
set_leader_flag = has_gained_level_trait
}
random_owned_leader = {
limit = { has_leader_flag = gray_admiral }
if = {
limit = {
owner = {
OR = {
has_global_flag = has_wsg_mod
has_global_flag = kdc_event_mod_active
}
}
}
leader_event = {
id = wg_affection.8 days = 1
}
add_trait_no_notify = leader_trait_admiral_wg_gray_affection
if = {
limit = { owner = { has_country_flag = gray_encountered_the_loop }}
add_trait_no_notify = leader_trait_admiral_wg_the_loop
}
set_gray_portrait = yes
# add_special_leader_affection_trait = { LEADER = gray LEADER_CLASS = governor MARRIED_FLAG = married_gray }
}
else = {
rg_set_gray_portrait = yes
}
}
set_global_flag = rg_kac_leader
}
rg_gray_general_init = {
event_target:rg_gray_country = {
create_leader = {
class = general
species = root
name = "NAME_Gray"
immortal = yes
event_leader = yes
skip_background_generation = yes
custom_catch_phrase = gray_catch_phrase
custom_description = gray_backstory
background_ethic = ethic_gestalt_consciousness
hide_age = yes
gender = female
skill = 10
set_age = 18
traits = {
trait = RG_leader_trait_general_gray
trait = RG_leader_trait_general_gray_skill
trait = subclass_general_marshall
trait = leader_trait_heavy_hitter_2
trait = leader_trait_reinforcer_2
}
effect = {
save_global_event_target_as = gray_leader_general
set_leader_flag = rg_gray_leader
set_leader_flag = gray_general
set_leader_flag = legendary_leader
set_leader_flag = immune_to_negative_traits
if = {
limit = { has_global_flag = has_wsg_mod }
set_leader_flag = not_has_wg_affection_normal
}
if = {
limit = {
owner = {
OR = {
has_global_flag = has_wsg_mod
has_global_flag = kdc_event_mod_active
}
}
}
set_leader_flag = "gray_leader" # "gray_leader"==rg_gray_leader
set_leader_flag = gray_leader
}
}
}
last_created_leader = {
set_owner = event_target:gray_owner
}
}
last_created_leader = {
set_leader_flag = has_gained_level_trait
}
random_owned_leader = {
limit = { has_leader_flag = gray_general }
if = {
limit = {
owner = {
OR = {
has_global_flag = has_wsg_mod
has_global_flag = kdc_event_mod_active
}
}
}
leader_event = {
id = wg_affection.8 days = 1
}
# add_trait_no_notify = leader_trait_admiral_wg_gray_affection
if = {
limit = { owner = { has_country_flag = gray_encountered_the_loop }}
add_trait_no_notify = leader_trait_admiral_wg_the_loop
}
set_gray_portrait = yes
# add_special_leader_affection_trait = { LEADER = gray LEADER_CLASS = governor MARRIED_FLAG = married_gray }
}
else = {
rg_set_gray_portrait = yes
}
}
set_variable = {
which = rg_general_skill_combat_daypassed_variable
value = 1
}
set_variable = {
which = rg_general_skill_combat_killed_variable
value = 0
}
set_global_flag = rg_kac_leader
}
rg_gray_scientist_init = {
event_target:rg_gray_country = {
create_leader = {
class = scientist
species = root
name = "NAME_Gray"
immortal = yes
event_leader = yes
skip_background_generation = yes
custom_catch_phrase = gray_catch_phrase
custom_description = gray_backstory
background_ethic = ethic_gestalt_consciousness
hide_age = yes
gender = female
skill = 10
set_age = 18
traits = {
trait = RG_leader_trait_scientist_gray
trait = subclass_scientist_explorer
trait = leader_trait_engineering_focus_2
trait = leader_trait_salvager_3
}
effect = {
save_global_event_target_as = gray_leader_scientist
set_leader_flag = rg_gray_leader
set_leader_flag = gray_scientist
set_leader_flag = legendary_leader
set_leader_flag = immune_to_negative_traits
if = {
limit = { has_global_flag = has_wsg_mod }
set_leader_flag = not_has_wg_affection_normal
}
if = {
limit = {
owner = {
OR = {
has_global_flag = has_wsg_mod
has_global_flag = kdc_event_mod_active
}
}
}
set_leader_flag = "gray_leader" # "gray_leader"==rg_gray_leader
set_leader_flag = gray_leader
}
}
}
last_created_leader = {
set_owner = event_target:gray_owner
}
}
last_created_leader = {
set_leader_flag = has_gained_level_trait
}
random_owned_leader = {
limit = { has_leader_flag = gray_scientist }
if = {
limit = {
owner = {
OR = {
has_global_flag = has_wsg_mod
has_global_flag = kdc_event_mod_active
}
}
}
leader_event = {
id = wg_affection.8 days = 1
}
add_trait_no_notify = leader_trait_admiral_wg_gray_affection
if = {
limit = { owner = { has_country_flag = gray_encountered_the_loop }}
add_trait_no_notify = leader_trait_admiral_wg_the_loop
}
set_gray_portrait = yes
# add_special_leader_affection_trait = { LEADER = gray LEADER_CLASS = governor MARRIED_FLAG = married_gray }
}
else = {
rg_set_gray_portrait = yes
}
rg_gray_anti_kogasa_checker = yes
}
set_global_flag = rg_kac_leader
}
rg_gray_country_leader_init = {
create_leader = { # 只用作看板娘
class = governor
species = root
name = "NAME_Gray"
gender = female
immortal = yes
event_leader = yes
skip_background_generation = yes
custom_catch_phrase = gray_catch_phrase
custom_description = gray_backstory
background_ethic = ethic_gestalt_consciousness
hide_age = yes
skill = 10
set_age = 18
traits = {
trait = rg_leader_trait_governor_gray
trait = RG_leader_trait_ruler_gray
}
effect = {
save_global_event_target_as = rg_gray_country_leader
set_leader_flag = rg_gray_country_governor
set_leader_flag = legendary_leader
set_leader_flag = immune_to_negative_traits
# 暂时和小灰网络断开连接
# set_leader_flag = rg_gray_leader
if = {
limit = {
owner = {
OR = {
has_global_flag = has_wsg_mod
has_global_flag = kdc_event_mod_active
}
}
}
# 暂时和小灰网络断开连接
# set_leader_flag = "gray_leader"
# set_leader_flag = gray_leader
add_trait_no_notify = leader_trait_governor_gray
add_trait_no_notify = RG_leader_trait_ruler_gray
add_trait_no_notify = subclass_governor_economist
add_trait_no_notify = leader_trait_urbanist_3
add_trait_no_notify = leader_trait_scrapper_2
}
else = {
add_trait_no_notify = RG_leader_trait_governor_gray
add_trait_no_notify = RG_leader_trait_ruler_gray
add_trait_no_notify = subclass_governor_economis
add_trait_no_notify = leader_trait_urbanist_3
add_trait_no_notify = leader_trait_scrapper_2
}
}
}
last_created_leader = {
rg_set_gray_portrait = yes
}
}
rg_gray_anti_kogasa_checker = {
#scope = leader
if = { #检查小伞病毒
limit = {
AND = {
OR = {
has_leader_flag = rg_gray_leader
has_leader_flag = gray_leader
}
has_leader_flag = FW_flg_ldr_HOK_kogasa
}
}
rg_gray_anti_kogasa_extermination_sequence = yes
}
}
#发现脏东西,彻底净化,杀杀杀
rg_gray_anti_kogasa_extermination_sequence = {
event_target:gray_owner = {
every_owned_leader = {
limit = {
has_leader_flag = {
OR = {
has_leader_flag = rg_gray_leader
has_leader_flag = gray_leader
}
has_leader_flag = FW_flg_ldr_HOK_kogasa
}
remove_trait = FW_trait_ldr_HOK_kogasa
remove_trait = FW_trait_ldr_HOK_pupil
remove_leader_flag = FW_flg_ldr_HOK_kogasa
kill_leader = this
}
}
create_message = {
type = MESSAGE_RECRUITED_LEADER
localization = "rg_kogasa_exterminated_desc"
days = @toast_message_days
target = event_target:rg_gray_country_leader
variable = {
type = name
localization = LEADER
scope = event_target:rg_gray_country_leader
}
}
}
event_target:rg_gray_country = {
every_owned_leader = {
if = {
limit = {
OR = {
has_leader_flag = rg_gray_leader
has_leader_flag = gray_leader
}
has_leader_flag = FW_flg_ldr_HOK_kogasa
}
remove_trait = FW_trait_ldr_HOK_kogasa
remove_trait = FW_trait_ldr_HOK_pupil
remove_leader_flag = FW_flg_ldr_HOK_kogasa
kill_leader = this
}
}
every_owned_leader = {
if = {
limit = {
OR = {
has_leader_flag = rg_gray_leader
has_leader_flag = gray_leader
}
has_leader_flag = FW_flg_ldr_HOK_kogasa
}
remove_trait = FW_trait_ldr_HOK_kogasa
remove_trait = FW_trait_ldr_HOK_pupil
remove_leader_flag = FW_flg_ldr_HOK_kogasa
kill_leader = this
}
}
every_owned_leader = {
if = {
limit = {
has_leader_flag = gray_scientist
has_leader_flag = rg_gray_leader_temp
}
kill_leader = this
}
}
}
}