var energyUtils = require('util_energy'); var roleBase = require('role_base'); class roleBuilder extends roleBase{ /** @param {Creep} creep **/ constructor(){ super() this.name = 'Builder'; } 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 targets = creep.room.find(FIND_CONSTRUCTION_SITES); if(targets.length) { if(creep.build(targets[0]) == ERR_NOT_IN_RANGE) { creep.moveTo(targets[0], {visualizePathStyle: {stroke: '#ffffff'}}); } } } else { energyUtils.gatherEnergy(creep); } } }; module.exports = roleBuilder;