### UPDATED

stz_viridian_soldier = {
    category = specialist
    swappable_data = {
        default = {
            condition_string = SOLDIER_JOB_TRIGGER
            building_icon = stz_building_viridian_stronghold
        }
        swap_type = {
            trigger = {
                soldier_is_necromancer = yes
            }
            name = stz_viridian_necromancer
            desc = stz_viridian_necromancer
            icon = stz_viridian_necromancer
            building_icon = building_dread_encampment
            weight = 50
        }
    }

    tags = { soldier }

    country_modifier = {
        country_naval_cap_add = 6
    }

    resources = {
        category = planet_soldiers
        produces = {
            trigger = {
                soldier_is_necromancer = yes
            }
            society_research = 1.5
            engineering_research = 1.5
        }
        upkeep = {
            trigger = {
                soldier_is_necromancer = yes
            }
            consumer_goods = 1.5
        }
        upkeep = {
            alloys = 3.0
        }

        upkeep = {
            stz_sr_viridisium = 1
        }
    }

    inline_script = "output/stz_viridian_soldier_triggered_modifiers"

    possible_pre_triggers = {
        has_owner = yes
        is_being_purged = no
        is_being_assimilated = no
        is_sapient = yes
    }

    possible = {
        soldier_job_check_trigger = yes
        owner = { is_gestalt = no }
    }

    weight = {
        weight = @soldier_job_weight
        modifier = {
            factor = 10
            exists = planet
            planet = {
                exists = leader
                leader = {
                    leader_class = commander
                }
            }
        }
        modifier = {
            factor = 2
            has_trait = trait_resilient
        }
        modifier = {
            factor = 2
            has_trait = trait_very_strong
        }
        modifier = {
            factor = 1.5
            has_trait = trait_strong
        }
        modifier = {
            factor = 0.5
            has_trait = trait_weak
        }
        modifier = {
            factor = 10
            is_enslaved = yes
            has_slavery_type = { type = slavery_military }
        }
        modifier = {
            factor = 1.1
            has_trait = trait_cybernetic
        }
        modifier = {
            factor = 2
            has_trait = trait_presapient_earthbound
        }
        modifier = {
            factor = 1.1
            has_trait = trait_limited_regeneration
        }
        modifier = {
            factor = 0
            species = { can_be_soldier = no }
        }
        modifier = {
            factor = 2
            has_trait = trait_lithoid
        }
        modifier = {
            factor = 5
            has_trait = trait_cyborg_creed_of_war
        }
    }

    promotion = {
        time = @standard_promotion_time
        effect = {
            pop_amount_change_category = {
                CATEGORY = specialist
                AMOUNT = local_pop_amount
            }
        }
    }
}

stz_viridian_battle_thrall = {
    category = specialist
    swappable_data = {
        default = {
            condition_string = BATTLE_THRALL_JOB_TRIGGER
            building_icon = stz_building_viridian_stronghold
        }
    }

    tags = { soldier }

    country_modifier = {
        country_naval_cap_add = 6
    }

    resources = {
        category = planet_soldiers

        upkeep = {
            alloys = 3.0
        }

        upkeep = {
            stz_sr_viridisium = 0.5
        }
    }

    inline_script = "output/stz_viridian_soldier_triggered_modifiers"

    possible_pre_triggers = {
        has_owner = yes
        is_being_purged = no
        is_being_assimilated = no
        is_sapient = yes
        is_enslaved = yes
    }

    possible = {
        soldier_job_check_trigger = yes
        owner = { is_gestalt = no }
    }

    weight = {
        weight = @soldier_job_weight
        modifier = {
            factor = 10
            exists = planet
            planet = {
                exists = leader
                leader = {
                    leader_class = commander
                }
            }
        }
        modifier = {
            factor = 2
            has_trait = trait_resilient
        }
        modifier = {
            factor = 2
            has_trait = trait_very_strong
        }
        modifier = {
            factor = 1.5
            has_trait = trait_strong
        }
        modifier = {
            factor = 0.5
            has_trait = trait_weak
        }
        modifier = {
            factor = 0.1
            is_enslaved = yes
            NOT = { has_slavery_type = { type = slavery_military } }
        }
        modifier = {
            factor = 10
            is_enslaved = yes
            has_slavery_type = { type = slavery_military }
        }
        modifier = {
            factor = 0.1
            can_take_servant_job = yes
        }
        modifier = {
            factor = 1.1
            has_trait = trait_cybernetic
        }
        modifier = {
            factor = 2
            has_trait = trait_presapient_earthbound
        }
        modifier = {
            factor = 1.1
            has_trait = trait_limited_regeneration
        }
        modifier = {
            factor = 0
            species = { can_be_soldier = no }
        }
        modifier = {
            factor = 2
            has_trait = trait_lithoid
        }
        modifier = {
            factor = 5
            has_trait = trait_cyborg_creed_of_war
        }
    }

    promotion = {
        time = @standard_promotion_time
        effect = {
            pop_amount_change_category = {
                CATEGORY = specialist
                AMOUNT = local_pop_amount
            }
        }
    }
}

stz_viridian_warrior_drone = {
    category = complex_drone

    swappable_data = {
        default = {
            condition_string = DRONE_JOB_TRIGGER
            building_icon = building_stronghold
        }
        swap_type = {
            trigger = {
                exists = owner
                owner = {
                    is_wilderness_empire = yes
                }
            }
            name = stz_viridian_tamersymbiont
            desc = stz_viridian_tamersymbiont
            building_icon = planetary_carapace_1
            condition_string = DRONE_JOB_TRIGGER
            weight = 10
        }
    }

    tags = { soldier }

    country_modifier = {
        country_naval_cap_add = 12
    }
    resources = {
        category = planet_soldiers

        upkeep = { alloys = 3 }

        upkeep = {
            stz_sr_viridisium = 1
        }
    }

    inline_script = "output/stz_viridian_soldier_triggered_modifiers"

    possible_pre_triggers = {
        has_owner = yes
        is_enslaved = no
        is_being_purged = no
        is_being_assimilated = no
        is_sapient = yes
    }

    possible_precalc = can_fill_drone_job
    possible = { can_think = yes }

    weight = {
        weight = 5
        modifier = {
            weight = 100
            exists = owner
            owner = { is_at_war = yes }
        }
        modifier = {
            factor = 10
            planet = {
                exists = leader
                leader = {
                    leader_class = commander
                }
            }
        }
        modifier = {
            factor = 4
            has_trait = trait_resilient
        }
        modifier = {
            factor = 4
            has_trait = trait_very_strong
        }
        modifier = {
            factor = 3
            has_trait = trait_strong
        }
        modifier = {
            factor = 0.5
            has_trait = trait_weak
        }
        modifier = {
            factor = 0.9
            exists = owner
            years_passed < 1
            owner = { has_valid_civic = civic_machine_assimilator }
            has_trait = trait_cybernetic
        }
        modifier = {
            factor = 0
            planet = { pop_amount < 1200 }
            owner = { is_ai = yes }
        }
        modifier = {
            factor = 2
            has_trait = trait_lithoid
        }
        modifier = {
            factor = 1.2
            has_trait = trait_cybernetic
        }
    }

    promotion = {
        time = @standard_promotion_time
        effect = {
            pop_amount_change_category = {
                CATEGORY = complex_drone
                AMOUNT = local_pop_amount
            }
        }
    }
}