Files
screeps/JobMiner.js
2023-08-29 20:43:10 +02:00

25 lines
940 B
JavaScript

module.exports = {
begin(creep){},
tick(creep){
const source = Game.getObjectById(creep.memory.job.source);
if(!creep.pos.isNearTo(source)) { creep.moveTo(source); return; }
if(creep.memory.aboveContainer) { creep.harvest(source); return; }
if(creep.memory.container) { moveToContainer(creep); return; }
if(!(Game.time%100)) scanForContainer(creep, source);
creep.harvest(source);
}
}
function moveToContainer(creep){
const container = Game.getObjectById(creep.memory.container);
if(container.pos.x === creep.pos.x && container.pos.y === creep.pos.y) creep.memory.aboveContainer = true;
else creep.moveTo(container);
}
function scanForContainer(creep, source){
const container = source.pos.findInRange(FIND_STRUCTURES, 1, {
filter:{structureType:STRUCTURE_CONTAINER}
})[0];
if(container) creep.memory.container = container.id;
}