### UPDATED

### Caerulenite

### Normal
stz_caerulenite_miner = {
    category = worker
    swappable_data = {
        default = {
            icon = stz_caerulenite_miner
            condition_string = WORKER_JOB_TRIGGER
            building_icon = building_mineral_purification_plant
        }
        swap_type = {
            trigger = {
                miner_is_scrap_miner_trigger = yes
            }
            name = stz_caerulenite_scrap_miner
            desc = stz_caerulenite_scrap_miner
            weight = 5
        }
        swap_type = {
            trigger = {
                miner_is_cave_cleaner_trigger = yes
            }
            name = stz_caerulenite_cave_cleaner
            desc = stz_caerulenite_cave_cleaner
            weight = 10
        }
        swap_type = {
            trigger = {
                miner_is_turtle_miner_trigger = yes
            }
            name = stz_caerulenite_turtle_miner
            desc = stz_caerulenite_turtle_miner
            weight = 20
        }
        swap_type = {
            trigger = {
                miner_is_crystal_miner_trigger = yes
            }
            icon = stz_caerulenite_crystal_miner
            name = stz_caerulenite_crystal_miner
            desc = stz_caerulenite_crystal_miner
            building_icon = building_crystal_mines
            weight = 20
        }
        swap_type = {
            trigger = {
                miner_is_thermoforger_trigger = yes
            }
            icon = stz_caerulenite_miner
            name = stz_caerulenite_melt_extractor
            desc = stz_caerulenite_melt_extractor
            weight = 35
        }
    }

    tags = { minerals strategic_resource }

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

    possible_precalc = can_fill_worker_job
    possible = {
        hidden_trigger = { exists = owner }
        owner = {
            is_gestalt = no
        }
    }

    resources = {
        category = planet_miners
        produces = {
            minerals = 8
        }
        # Job Swap - Scrap Miners
        produces = {
            trigger = {
                exists = planet
                planet = {
                    miner_is_scrap_miner_trigger = yes
                }
            }
            minerals = -4
            alloys = 2
        }
        # Job Swap - Cave Cleaners
        produces = {
            trigger = {
                exists = planet
                planet = {
                    miner_is_cave_cleaner_trigger = yes
                }
            }
            minerals = 4
        }
        # Job Swap - Turtle
        produces = {
            trigger = {
                exists = planet
                planet = {
                    miner_is_turtle_miner_trigger = yes
                }
            }
            minerals = -2
            food = 6
        }
        produces = {
            trigger = {
                planet = {
                    has_planet_flag = has_material_requisitorium
                }
            }
            minerals = -4
        }
        # Job Swap - Thermoforger
        produces = {
            trigger = {
                exists = planet
                planet = {
                    miner_is_thermoforger_trigger = yes
                }
            }
            minerals = 2
            alloys = 1
        }
        upkeep = {
            trigger = {
                exists = planet
                planet = {
                    miner_is_thermoforger_trigger = yes
                }
            }
            energy = 2
        }

        upkeep = {
            stz_sr_caerulenite = 1
        }
    }

    triggered_planet_modifier = {
        # Gives some Stability per "Mining Guild" Councilor level.
        potential = {
            has_councilor = { COUNCILOR = "councilor_mining_guilds" }
        }
        planet_stability_add = @councilor_mining_guilds_miner_stability
        mult = value:councilor_level|TYPE|councilor_mining_guilds|
    }

    overlord_resources = {
        category = planet_requisitioned_minerals
        produces = {
            trigger = {
                planet = {
                    has_planet_flag = has_material_requisitorium
                }
            }
            minerals = 6
        }
    }

    weight = {
        weight = @worker_job_weight
        mult = value:job_weights_modifier|JOB|stz_caerulenite_miner|RESOURCE|minerals|
        modifier = {
            factor = 10
            is_enslaved = yes
            can_take_servant_job = no
            NOT = { has_slavery_type = { type = slavery_indentured } }
        }
        modifier = {
            factor = 3
            OR = {
                is_non_sapient_robot = yes
                is_shackled_robot = yes
            }
            can_take_servant_job = no
            owner = { has_technology = tech_droid_workers }
        }
        modifier = {
            factor = 200
            OR = {
                is_non_sapient_robot = yes
                is_shackled_robot = yes
            }
            can_take_servant_job = no
            owner = { NOT = { has_technology = tech_droid_workers } }
        }
        modifier = {
            factor = 0.25
            can_take_servant_job = yes
        }

        # low income modifier
        modifier = {
            factor = 3
            exists = planet
            planet = {
                has_available_jobs = miner
            }
            exists = owner
            owner = {
                has_monthly_income = {
                    resource = minerals
                    value < 10
                }
            }
        }
        modifier = {
            factor = 5
            has_trait = trait_cyborg_creed_of_labor
        }
    }

    inline_script = "jobs/automodding_priority_minerals"

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

### Gestalt
stz_caerulenite_mining_drone = {
    category = simple_drone

    swappable_data = {
        default = {
            condition_string = DRONE_JOB_TRIGGER
            building_icon = building_mineral_purification_plant
        }
        #Scrapper Drones - d_space_ship_graveyard + shattered_ring_world
        swap_type = {
            trigger = {
                OR = {
                    has_deposit = d_space_ship_graveyard
                    is_planet_class = pc_shattered_ring_habitable
                }
            }
            name = stz_caerulenite_scrap_miner_drone
            desc = stz_caerulenite_scrap_miner_drone
            building_icon = building_mineral_purification_plant
            condition_string = DRONE_JOB_TRIGGER
            weight = 2
        }
        swap_type = {
            trigger = {
                miner_is_crystal_miner_trigger = yes
            }
            icon = stz_caerulenite_crystal_mining_drone
            name = stz_caerulenite_crystal_mining_drone
            desc = stz_caerulenite_crystal_mining_drone
            building_icon = building_crystal_mines
            weight = 5
        }
        swap_type = {
            trigger = {
                exists = owner
                owner = {
                    is_wilderness_empire = yes
                }
            }
            name = stz_caerulenite_grubsymbiont
            desc = stz_caerulenite_grubsymbiont
            icon = stz_caerulenite_grubsymbiont
            building_icon = churning_tunnels_3
            condition_string = DRONE_JOB_TRIGGER
            weight = 10
        }
        swap_type = {
            trigger = {
                miner_is_thermoforger_trigger = yes
            }
            icon = stz_caerulenite_mining_drone
            name = stz_caerulenite_melt_extractor_drone
            desc = stz_caerulenite_melt_extractor_drone
            weight = 15
        }
    }

    tags = { minerals strategic_resource }

    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 = { simple_drone_trigger = yes }

    resources = {
        category = planet_miners
        produces = {
            trigger = {
                exists = planet
                planet = {
                    NOR = {
                        has_deposit = d_space_ship_graveyard
                        is_planet_class = pc_shattered_ring_habitable
                    }
                }
            }
            minerals = 12
        }
        produces = {
            trigger = {
                exists = planet
                planet = {
                    OR = {
                        has_deposit = d_space_ship_graveyard
                        is_planet_class = pc_shattered_ring_habitable
                    }
                }
            }
            minerals = 6
            alloys = 3
        }
        produces = {
            trigger = {
                planet = {
                    has_planet_flag = has_material_requisitorium
                }
            }
            minerals = -6
        }
        # Job Swap - Thermoforger
        produces = {
            trigger = {
                exists = planet
                planet = {
                    miner_is_thermoforger_trigger = yes
                }
            }
            minerals = 3
            alloys = 1.5
        }
        upkeep = {
            trigger = {
                exists = planet
                planet = {
                    miner_is_thermoforger_trigger = yes
                }
            }
            energy = 3
        }

        upkeep = {
            stz_sr_caerulenite = 1
        }
    }

    overlord_resources = {
        category = planet_requisitioned_minerals
        produces = {
            trigger = {
                planet = {
                    has_planet_flag = has_material_requisitorium
                }
            }
            minerals = 9
        }
    }

    weight = {
        weight = @simple_drone_job_weight
        mult = value:job_weights_modifier|JOB|stz_caerulenite_mining_drone|RESOURCE|minerals|
        modifier = {
            factor = 1.1
            exists = owner
            years_passed < 1
            owner = { has_valid_civic = civic_machine_assimilator }
            has_trait = trait_cybernetic
        }
        modifier = {
            factor = 0.9
            owner = {
                has_monthly_income = {
                    resource = minerals
                    value > 85
                }
            }
        }
    }

    inline_script = "jobs/automodding_priority_minerals"

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

### Viridian

### Normal
stz_viridian_miner = {
    category = worker
    swappable_data = {
        default = {
            icon = stz_viridian_miner
            condition_string = WORKER_JOB_TRIGGER
            building_icon = building_mineral_purification_plant
        }
        swap_type = {
            trigger = {
                miner_is_scrap_miner_trigger = yes
            }
            name = stz_viridian_scrap_miner
            desc = stz_viridian_scrap_miner
            weight = 5
        }
        swap_type = {
            trigger = {
                miner_is_cave_cleaner_trigger = yes
            }
            name = stz_viridian_cave_cleaner
            desc = stz_viridian_cave_cleaner
            weight = 10
        }
        swap_type = {
            trigger = {
                miner_is_turtle_miner_trigger = yes
            }
            name = stz_viridian_turtle_miner
            desc = stz_viridian_turtle_miner
            weight = 20
        }
        swap_type = {
            trigger = {
                stz_viridian_miner_is_crystal_miner_trigger = yes
            }
            icon = stz_viridian_crystal_miner
            name = stz_viridian_crystal_miner
            desc = stz_viridian_crystal_miner
            building_icon = building_crystal_mines
            weight = 20
        }
        swap_type = {
            trigger = {
                miner_is_thermoforger_trigger = yes
            }
            icon = stz_viridian_miner
            name = stz_viridian_melt_extractor
            desc = stz_viridian_melt_extractor
            weight = 35
        }
    }

    tags = { minerals strategic_resource }

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

    possible_precalc = can_fill_worker_job
    possible = {
        hidden_trigger = { exists = owner }
        owner = {
            is_gestalt = no
        }
    }

    resources = {
        category = planet_miners
        produces = {
            minerals = 12
        }
        # Job Swap - Scrap Miners
        produces = {
            trigger = {
                exists = planet
                planet = {
                    miner_is_scrap_miner_trigger = yes
                }
            }
            minerals = -6
            alloys = 3
        }
        # Job Swap - Cave Cleaners
        produces = {
            trigger = {
                exists = planet
                planet = {
                    miner_is_cave_cleaner_trigger = yes
                }
            }
            minerals = 6
        }
        # Job Swap - Turtle
        produces = {
            trigger = {
                exists = planet
                planet = {
                    miner_is_turtle_miner_trigger = yes
                }
            }
            minerals = -3
            food = 9
        }
        produces = {
            trigger = {
                planet = {
                    has_planet_flag = has_material_requisitorium
                }
            }
            minerals = -6
        }
        # Job Swap - Thermoforger
        produces = {
            trigger = {
                exists = planet
                planet = {
                    miner_is_thermoforger_trigger = yes
                }
            }
            minerals = 3
            alloys = 1.5
        }
        upkeep = {
            trigger = {
                exists = planet
                planet = {
                    miner_is_thermoforger_trigger = yes
                }
            }
            energy = 3
        }

        upkeep = {
            stz_sr_viridisium = 1
        }
    }

    triggered_planet_modifier = {
        # Gives some Stability per "Mining Guild" Councilor level.
        potential = {
            has_councilor = { COUNCILOR = "councilor_mining_guilds" }
        }
        planet_stability_add = @councilor_mining_guilds_miner_stability
        mult = value:councilor_level|TYPE|councilor_mining_guilds|
    }

    overlord_resources = {
        category = planet_requisitioned_minerals
        produces = {
            trigger = {
                planet = {
                    has_planet_flag = has_material_requisitorium
                }
            }
            minerals = 9
        }
    }

    weight = {
        weight = @worker_job_weight
        mult = value:job_weights_modifier|JOB|stz_viridian_miner|RESOURCE|minerals|
        modifier = {
            factor = 10
            is_enslaved = yes
            can_take_servant_job = no
            NOT = { has_slavery_type = { type = slavery_indentured } }
        }
        modifier = {
            factor = 3
            OR = {
                is_non_sapient_robot = yes
                is_shackled_robot = yes
            }
            can_take_servant_job = no
            owner = { has_technology = tech_droid_workers }
        }
        modifier = {
            factor = 200
            OR = {
                is_non_sapient_robot = yes
                is_shackled_robot = yes
            }
            can_take_servant_job = no
            owner = { NOT = { has_technology = tech_droid_workers } }
        }
        modifier = {
            factor = 0.25
            can_take_servant_job = yes
        }

        # low income modifier
        modifier = {
            factor = 3
            exists = planet
            planet = {
                has_available_jobs = miner
            }
            exists = owner
            owner = {
                has_monthly_income = {
                    resource = minerals
                    value < 10
                }
            }
        }
        modifier = {
            factor = 5
            has_trait = trait_cyborg_creed_of_labor
        }
    }

    inline_script = "jobs/automodding_priority_minerals"

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

### Gestalt
stz_viridian_mining_drone = {
    category = simple_drone

    swappable_data = {
        default = {
            condition_string = DRONE_JOB_TRIGGER
            building_icon = building_mineral_purification_plant
        }
        #Scrapper Drones - d_space_ship_graveyard + shattered_ring_world
        swap_type = {
            trigger = {
                OR = {
                    has_deposit = d_space_ship_graveyard
                    is_planet_class = pc_shattered_ring_habitable
                }
            }
            name = stz_viridian_scrap_miner_drone
            desc = stz_viridian_scrap_miner_drone
            building_icon = building_mineral_purification_plant
            condition_string = DRONE_JOB_TRIGGER
            weight = 2
        }
        swap_type = {
            trigger = {
                stz_viridian_miner_is_crystal_miner_trigger = yes
            }
            icon = stz_viridian_crystal_mining_drone
            name = stz_viridian_crystal_mining_drone
            desc = stz_viridian_crystal_mining_drone
            building_icon = building_crystal_mines
            weight = 5
        }
        swap_type = {
            trigger = {
                exists = owner
                owner = {
                    is_wilderness_empire = yes
                }
            }
            name = stz_viridian_grubsymbiont
            desc = stz_viridian_grubsymbiont
            icon = stz_viridian_grubsymbiont
            building_icon = churning_tunnels_3
            condition_string = DRONE_JOB_TRIGGER
            weight = 10
        }
        swap_type = {
            trigger = {
                miner_is_thermoforger_trigger = yes
            }
            icon = stz_viridian_mining_drone
            name = stz_viridian_crystal_mining_drone
            desc = stz_viridian_crystal_mining_drone
            weight = 15
        }
    }

    tags = { minerals strategic_resource }

    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 = { simple_drone_trigger = yes }

    resources = {
        category = planet_miners
        produces = {
            trigger = {
                exists = planet
                planet = {
                    NOR = {
                        has_deposit = d_space_ship_graveyard
                        is_planet_class = pc_shattered_ring_habitable
                    }
                }
            }
            minerals = 12
        }
        produces = {
            trigger = {
                exists = planet
                planet = {
                    OR = {
                        has_deposit = d_space_ship_graveyard
                        is_planet_class = pc_shattered_ring_habitable
                    }
                }
            }
            minerals = 6
            alloys = 3
        }
        produces = {
            trigger = {
                planet = {
                    has_planet_flag = has_material_requisitorium
                }
            }
            minerals = -6
        }
        # Job Swap - Thermoforger
        produces = {
            trigger = {
                exists = planet
                planet = {
                    miner_is_thermoforger_trigger = yes
                }
            }
            minerals = 3
            alloys = 1.5
        }
        upkeep = {
            trigger = {
                exists = planet
                planet = {
                    miner_is_thermoforger_trigger = yes
                }
            }
            energy = 3
        }

        upkeep = {
            stz_sr_viridisium = 1
        }
    }

    overlord_resources = {
        category = planet_requisitioned_minerals
        produces = {
            trigger = {
                planet = {
                    has_planet_flag = has_material_requisitorium
                }
            }
            minerals = 9
        }
    }

    weight = {
        weight = @simple_drone_job_weight
        mult = value:job_weights_modifier|JOB|stz_viridian_mining_drone|RESOURCE|minerals|
        modifier = {
            factor = 1.1
            exists = owner
            years_passed < 1
            owner = { has_valid_civic = civic_machine_assimilator }
            has_trait = trait_cybernetic
        }
        modifier = {
            factor = 0.9
            owner = {
                has_monthly_income = {
                    resource = minerals
                    value > 85
                }
            }
        }
    }

    inline_script = "jobs/automodding_priority_minerals"

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