TsarBot/role_harvester.js

29 lines
698 B
JavaScript

var energyUtils = require('util_energy');
var name = 'harvester';
function run(creep) {
if(!creep.memory.harvesting && creep.store[RESOURCE_ENERGY] == 0){
creep.memory.harvesting = true;
}
if(creep.memory.harvesting && creep.store.getFreeCapacity() == 0){
creep.memory.harvesting = false;
}
if(creep.memory.harvesting) {
if(typeof creep.memory.assignedSource === 'undefined') energyUtils.sourceDelegate(creep);
var source = Game.getObjectById(creep.memory.assignedSource);
if(creep.harvest(source) == ERR_NOT_IN_RANGE) {
creep.moveTo(source);
}
}
else {
if(!energyUtils.depositEnergy(creep)){
creep.moveTo(Game.flags.IdleArea);
}
}
}
module.exports = {name,run};