screeps-online/energy.harvest.js
2019-11-29 15:19:38 +01:00

26 lines
723 B
JavaScript

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;