TsarBot/role.repairer.js
2025-06-03 21:10:14 -07:00

42 lines
1.1 KiB
JavaScript

var energyUtils = require('utils.energy');
const body = [
WORK, CARRY, MOVE
];
var roleRepairer = {
body,
/** @param {Creep} creep **/
run: function(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 targets = creep.room.find(FIND_STRUCTURES, {
filter: (structure) => {
return structure.hitsMax - structure.hits > 0;
}
});
if(targets.length > 0) {
if(creep.repair(targets[0]) == ERR_NOT_IN_RANGE) {
creep.moveTo(targets[0], {visualizePathStyle: {stroke: '#ffffff'}});
}
}
else{
creep.say("IDLE")
}
}
else {
energyUtils.gatherEnergy(creep);
}
}
};
module.exports = roleRepairer;