### UPDATED

### Caerulenite

### Normal
stz_caerulenite_technician = {
    category = worker
    swappable_data = {
        default = {
            condition_string = WORKER_JOB_TRIGGER
            building_icon = building_energy_grid
        }
        swap_type = {
            trigger = {
                technician_is_mote_harvester_trigger = yes
            }
            icon = stz_caerulenite_mote_harvester
            name = stz_caerulenite_mote_harvester
            desc = stz_caerulenite_mote_harvester
            building_icon = building_mote_harvesting_traps
            weight = 20
        }
    }

    tags = { energy }

    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_technician
        produces = {
            energy = 12
        }
        produces = {
            trigger = {
                exists = owner
                owner = {
                    is_robot_empire = yes
                }
            }
            energy = 4
        }
        produces = {
            trigger = {
                planet = {
                    has_planet_flag = has_energy_requisitorium
                }
            }
            energy = -6
        }

        upkeep = {
            stz_sr_caerulenite = 1
        }
    }

    overlord_resources = {
        category = planet_requisitioned_energy
        produces = {
            trigger = {
                planet = {
                    has_planet_flag = has_energy_requisitorium
                }
            }
            energy = 8
        }
    }

    weight = {
        weight = @worker_job_weight
        mult = value:job_weights_modifier|JOB|stz_caerulenite_technician|RESOURCE|energy|
        modifier = {
            factor = 100
            OR = {
                is_non_sapient_robot = yes
                is_shackled_robot = yes
            }
            can_take_servant_job = no
            can_fill_specialist_job_trigger = no
        }
        modifier = {
            factor = 8
            is_enslaved = yes
            can_take_servant_job = no
            OR = {
                has_trait = trait_syncretic_proles
                has_trait = trait_robot_superconductive
                has_trait = trait_ingenious
            }
        }
        modifier = {
            factor = 2
            OR = {
                is_non_sapient_robot = yes
                is_shackled_robot = yes
            }
            can_take_servant_job = no
        }
        modifier = {
            factor = 0.25
            can_take_servant_job = yes
        }
        # low income modifier
        modifier = {
            factor = 3
            exists = planet
            planet = {
                has_available_jobs = technician
            }
            exists = owner
            owner = {
                has_monthly_income = {
                    resource = energy
                    value < 10
                }
            }
        }
        modifier = {
            factor = 5
            has_trait = trait_cyborg_creed_of_labor
        }
    }

    inline_script = "jobs/automodding_priority_energy"

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

### Gestalt
stz_caerulenite_technician_drone = {
    category = simple_drone

    swappable_data = {
        default = {
            condition_string = DRONE_JOB_TRIGGER
            building_icon = building_energy_grid
        }
        swap_type = {
            trigger = {
                technician_is_mote_harvester_trigger = yes
            }
            icon = stz_caerulenite_mote_harvesting_drone
            name = stz_caerulenite_mote_harvesting_drone
            desc = stz_caerulenite_mote_harvesting_drone
            building_icon = building_mote_harvesting_traps
            weight = 5
        }
        swap_type = {
            trigger = {
                exists = owner
                owner = {
                    is_wilderness_empire = yes
                }
            }
            name = stz_caerulenite_photosymbiont
            desc = stz_caerulenite_photosymbiont
            icon = stz_caerulenite_photosymbiont
            building_icon = bio_electric_stimulator_3
            condition_string = DRONE_JOB_TRIGGER
            weight = 10
        }
    }

    tags = { energy }

    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_technician
        produces = {
            energy = 12
        }
        produces = {
            trigger = {
                exists = owner
                owner = {
                    is_robot_empire = yes
                }
            }
            energy = 4
        }
        produces = {
            trigger = {
                planet = {
                    has_planet_flag = has_energy_requisitorium
                }
            }
            energy = -6
        }

        upkeep = {
            stz_sr_caerulenite = 1
        }
    }

    overlord_resources = {
        category = planet_requisitioned_energy
        produces = {
            trigger = {
                planet = {
                    has_planet_flag = has_energy_requisitorium
                }
            }
            energy = 8
        }
    }

    weight = {
        weight = @simple_drone_job_weight
        mult = value:job_weights_modifier|JOB|stz_caerulenite_technician_drone|RESOURCE|energy|

        modifier = {
            factor = 0.9
            owner = {
                has_monthly_income = {
                    resource = energy
                    value > 50
                }
            }
        }

        modifier = {
            factor = 1.1
            exists = owner
            years_passed < 1
            owner = { has_valid_civic = civic_machine_assimilator }
            has_trait = trait_cybernetic
        }
    }

    inline_script = "jobs/automodding_priority_energy"

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

### Viridian

### Normal
stz_viridian_technician = {
    category = worker
    swappable_data = {
        default = {
            condition_string = WORKER_JOB_TRIGGER
            building_icon = building_energy_grid
        }
        swap_type = {
            trigger = {
                stz_viridian_technician_is_mote_harvester_trigger = yes
            }
            icon = stz_viridian_mote_harvester
            name = stz_viridian_mote_harvester
            desc = stz_viridian_mote_harvester
            building_icon = building_mote_harvesting_traps
            weight = 20
        }
    }

    tags = { energy }

    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_technician
        produces = {
            energy = 18
        }
        produces = {
            trigger = {
                exists = owner
                owner = {
                    is_robot_empire = yes
                }
            }
            energy = 6
        }
        produces = {
            trigger = {
                planet = {
                    has_planet_flag = has_energy_requisitorium
                }
            }
            energy = -9
        }

        upkeep = {
            stz_sr_viridisium = 1
        }
    }

    overlord_resources = {
        category = planet_requisitioned_energy
        produces = {
            trigger = {
                planet = {
                    has_planet_flag = has_energy_requisitorium
                }
            }
            energy = 12
        }
    }

    weight = {
        weight = @worker_job_weight
        mult = value:job_weights_modifier|JOB|stz_viridian_technician|RESOURCE|energy|
        modifier = {
            factor = 100
            OR = {
                is_non_sapient_robot = yes
                is_shackled_robot = yes
            }
            can_take_servant_job = no
            can_fill_specialist_job_trigger = no
        }
        modifier = {
            factor = 8
            is_enslaved = yes
            can_take_servant_job = no
            OR = {
                has_trait = trait_syncretic_proles
                has_trait = trait_robot_superconductive
                has_trait = trait_ingenious
            }
        }
        modifier = {
            factor = 2
            OR = {
                is_non_sapient_robot = yes
                is_shackled_robot = yes
            }
            can_take_servant_job = no
        }
        modifier = {
            factor = 0.25
            can_take_servant_job = yes
        }
        # low income modifier
        modifier = {
            factor = 3
            exists = planet
            planet = {
                has_available_jobs = technician
            }
            exists = owner
            owner = {
                has_monthly_income = {
                    resource = energy
                    value < 10
                }
            }
        }
        modifier = {
            factor = 5
            has_trait = trait_cyborg_creed_of_labor
        }
    }

    inline_script = "jobs/automodding_priority_energy"

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

### Gestalt
stz_viridian_technician_drone = {
    category = simple_drone

    swappable_data = {
        default = {
            condition_string = DRONE_JOB_TRIGGER
            building_icon = building_energy_grid
        }
        swap_type = {
            trigger = {
                stz_viridian_technician_is_mote_harvester_trigger = yes
            }
            icon = stz_viridian_mote_harvesting_drone
            name = stz_viridian_mote_harvesting_drone
            desc = stz_viridian_mote_harvesting_drone
            building_icon = building_mote_harvesting_traps
            weight = 5
        }
        swap_type = {
            trigger = {
                exists = owner
                owner = {
                    is_wilderness_empire = yes
                }
            }
            name = stz_viridian_photosymbiont
            desc = stz_viridian_photosymbiont
            icon = stz_viridian_photosymbiont
            building_icon = bio_electric_stimulator_3
            condition_string = DRONE_JOB_TRIGGER
            weight = 10
        }
    }

    tags = { energy }

    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_technician
        produces = {
            energy = 18
        }
        produces = {
            trigger = {
                exists = owner
                owner = {
                    is_robot_empire = yes
                }
            }
            energy = 6
        }
        produces = {
            trigger = {
                planet = {
                    has_planet_flag = has_energy_requisitorium
                }
            }
            energy = -9
        }

        upkeep = {
            stz_sr_viridisium = 1
        }
    }

    overlord_resources = {
        category = planet_requisitioned_energy
        produces = {
            trigger = {
                planet = {
                    has_planet_flag = has_energy_requisitorium
                }
            }
            energy = 12
        }
    }

    weight = {
        weight = @simple_drone_job_weight
        mult = value:job_weights_modifier|JOB|stz_viridian_technician_drone|RESOURCE|energy|

        modifier = {
            factor = 0.9
            owner = {
                has_monthly_income = {
                    resource = energy
                    value > 50
                }
            }
        }

        modifier = {
            factor = 1.1
            exists = owner
            years_passed < 1
            owner = { has_valid_civic = civic_machine_assimilator }
            has_trait = trait_cybernetic
        }
    }

    inline_script = "jobs/automodding_priority_energy"

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