30 lines
1.1 KiB
JavaScript
30 lines
1.1 KiB
JavaScript
const utils=require('utils')
|
|
// const harvester = require("./harvester");
|
|
|
|
module.exports = {
|
|
run(creep) {
|
|
if (creep.carry.energy < creep.carryCapacity) {
|
|
let harvester_array = _(Game.creeps).filter({ memory: { role: 'picker' } }).value();
|
|
let harvester_creep=harvester_array[0];
|
|
let target_harvester_pos=harvester_creep.pos;
|
|
let my_pos=creep.pos;
|
|
// console.log("distance "+utils.distance(target_harvester_pos,my_pos))
|
|
if(utils.distance(target_harvester_pos,my_pos)>1.5){//在附近就是1或者1.414
|
|
|
|
creep.moveTo(target_harvester_pos);
|
|
}else{
|
|
//find dropped source
|
|
let found=creep.room.lookForAt(LOOK_ENERGY,target_harvester_pos);
|
|
if(found.length>0){
|
|
creep.pickup(found[0])
|
|
}
|
|
|
|
}
|
|
|
|
}else{
|
|
if (creep.transfer(Game.spawns['Spawn1'], RESOURCE_ENERGY) == ERR_NOT_IN_RANGE) {
|
|
creep.moveTo(Game.spawns['Spawn1']);
|
|
}
|
|
}
|
|
}
|
|
} |