Created miner, made harvester pick resources and added reset commands.
This commit is contained in:
42
StructureSpawnClass.js
Normal file
42
StructureSpawnClass.js
Normal file
@@ -0,0 +1,42 @@
|
||||
module.exports = {
|
||||
setup: function () { StructureSpawn.prototype = _StructureSpawn.prototype; }
|
||||
}
|
||||
|
||||
class _StructureSpawn extends StructureSpawn {
|
||||
begin(){
|
||||
if (!this.memory.creepCounter) this.memory.creepCounter = 0;
|
||||
this.memory.init = true;
|
||||
}
|
||||
|
||||
tick(){
|
||||
if(!this.memory.init) this.begin();
|
||||
const job = this.room.memory.vacancies.pop();
|
||||
if(job){
|
||||
const name = getJobName(job.role);
|
||||
const body = getBodyByJob(job.role);
|
||||
if(this.createCreep(job, name, body) != OK) this.room.memory.vacancies.push(job);
|
||||
}
|
||||
}
|
||||
|
||||
createCreep(job, name, body) {
|
||||
const response = this.spawnCreep(body, name + ": " + this.memory.creepCounter, {
|
||||
memory: { job: job }
|
||||
});
|
||||
if (response == OK) this.memory.creepCounter++;
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
||||
function getJobName(role){
|
||||
switch (role) {
|
||||
case Role.HARVESTER: return "Harvy";
|
||||
case Role.MINER: return "minny";
|
||||
}
|
||||
}
|
||||
|
||||
function getBodyByJob(role){
|
||||
switch (role) {
|
||||
case Role.HARVESTER: return [WORK, CARRY, MOVE, MOVE];
|
||||
case Role.MINER: return [WORK, WORK, MOVE];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user