# 避免代码复用原则:
# 如果你需要在不同的地方重复调用同一套代码,你应当把他们封装在这样的函数里。
# 避免需要修改代码时需要重复修改n次,或是发生修改了A处忘记修改B处导致bug发生的问题。
# 当然,这种分块需要到什么程度,我也不知道

#灰风
################################
# 舰R 灰风领袖好感度设定块部分:采样时间戳:2023/6/1 8:17
# 仅用于留档比对不进行改动
# 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
            }
        }  
    }
}