26 lines
683 B
JavaScript
26 lines
683 B
JavaScript
var energyUtils = require('util_energy');
|
|
var roleBase = require('role_base');
|
|
|
|
class roleHarvester extends roleBase{
|
|
/** @param {Creep} creep **/
|
|
constructor(){
|
|
super();
|
|
this.name = 'Peasant'
|
|
}
|
|
run(creep) {
|
|
if(creep.store.getFreeCapacity() > 0) {
|
|
var sources = creep.room.find(FIND_SOURCES);
|
|
if(creep.harvest(sources[0]) == ERR_NOT_IN_RANGE) {
|
|
creep.moveTo(sources[0], {visualizePathStyle: {stroke: '#ffaa00'}});
|
|
}
|
|
}
|
|
else {
|
|
if(!energyUtils.depositEnergy(creep)){
|
|
creep.moveTo(Game.flags.IdleArea);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
module.exports = roleHarvester;
|