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};