var harvester = require('energy.harvest.roundrobin'); var do_collect = function(creep, done_state, done_state_message) { var source = null; if(creep.memory.source_id) { source = Game.getObjectById(creep.memory.source_id); } else { source = harvester.get_source(creep); } if(creep.store.getFreeCapacity() > 0) { if(creep.harvest(source) == ERR_NOT_IN_RANGE) { creep.moveTo(source, {visualizePathStyle: {stroke: '#ffaa00'}}); } } else { creep.memory.state = done_state; harvester.release_source(creep); creep.say(done_state_message); } } var baseHarvester = { do_collect: do_collect, } module.exports = baseHarvester;