screeps/role.builder.js

34 lines
1.1 KiB
JavaScript
Raw Normal View History

2016-06-28 23:38:52 +00:00
var BreakException= {};
2016-06-28 20:31:39 +00:00
var roleBuilder = {
run: function(creep){
2016-06-28 23:38:52 +00:00
console.log(creep, "running Builder");
2016-06-28 20:31:39 +00:00
if(creep.memory.building && creep.carry.energy == 0){
creep.memory.building = false;
}
if (!creep.memory.building && creep.carry.energy == creep.carryCapacity){
creep.memory.building = true;
}
if (creep.memory.building){
2016-06-28 23:38:52 +00:00
console.log("\t","isBuilding");
var targets = creep.room.find(FIND_CONSTRUCTION_SITES, {
filter: (target) => {
return target.energy < target.energyCapacity;
}
});
console.log("")
if(creep.transfer(targets[0], RESOURCE_ENERGY) == ERR_NOT_IN_RANGE) {
2016-06-28 20:31:39 +00:00
creep.moveTo(targets[0]);
2016-06-28 23:38:52 +00:00
}
2016-06-28 20:31:39 +00:00
} else {
2016-06-28 23:38:52 +00:00
console.log("\t","isFindingSources");
2016-06-28 20:31:39 +00:00
var sources = creep.room.find(FIND_SOURCES);
if (creep.harvest(sources[0]) == ERR_NOT_IN_RANGE){
creep.moveTo(sources[0]);
}
}
}
}
module.exports = roleBuilder;