TsarBot/role_repairer.js

34 lines
742 B
JavaScript

var energyUtils = require('util_energy');
var name = 'repairer';
function run(creep) {
if(creep.memory.building && creep.store[RESOURCE_ENERGY] == 0) {
creep.memory.building = false;
}
if(!creep.memory.building && creep.store.getFreeCapacity() == 0) {
creep.memory.building = true;
}
if(creep.memory.building) {
var target = creep.pos.findClosestByRange(FIND_STRUCTURES, {
filter: (structure) => {
return structure.hitsMax - structure.hits > 0;
}
});
if(target != null) {
if(creep.repair(target) == ERR_NOT_IN_RANGE) {
creep.moveTo(target, {visualizePathStyle: {stroke: '#ffffff'}});
}
}
else{
creep.say("IDLE")
}
}
else {
energyUtils.gatherEnergy(creep);
}
}
module.exports = {name,run};