You are on page 1of 4

Harvester- Console, Script and Memory

Harvester Spawn- Game.spawns.Spawn1.createCreep( [WORK,


CARRY, MOVE], 'Harvester1' );

Harvester Script- var roleHarvester = {


/** @param {Creep} creep **/
run: function(creep) {
if(creep.carry.energy < creep.carryCapacity) {
var sources = creep.room.find(FIND_SOURCES);
if(creep.harvest(sources[0]) == ERR_NOT_IN_RANGE) {
creep.moveTo(sources[0]);
}
}
else {
var targets = creep.room.find(FIND_STRUCTURES, {
filter: (structure) => {
return (structure.structureType == STRUCTURE_EXTENSION ||
structure.structureType == STRUCTURE_SPAWN ||
structure.structureType == STRUCTURE_TOWER) &&
structure.energy < structure.energyCapacity;
}
});
if(targets.length > 0) {
if(creep.transfer(targets[0], RESOURCE_ENERGY) ==
ERR_NOT_IN_RANGE) {
creep.moveTo(targets[0]);
}
}
}
}

};

module.exports = roleHarvester;

Harvester Memory- Game.creeps.Harvester1.memory.role = 'harvester';

Upgrader- Console, Script and Memory


Upgrader Spawn- Game.spawns.Spawn1.createCreep( [WORK, CARRY,
MOVE], 'Upgrader1' );

Upgrader Memory- Game.creeps.Upgrader1.memory.role = 'upgrader';


Upgrader Script- var roleUpgrader = {
/** @param {Creep} creep **/
run: function(creep) {
if(creep.carry.energy == 0) {
var sources = creep.room.find(FIND_SOURCES);
if(creep.harvest(sources[0]) == ERR_NOT_IN_RANGE) {
creep.moveTo(sources[0]);
}
}
else {
if(creep.upgradeController(creep.room.controller) ==
ERR_NOT_IN_RANGE) {
creep.moveTo(creep.room.controller);
}
}
}
};

module.exports = roleUpgrader;

Builder- Console, Script and Memory


Builder Spawn- Game.spawns.Spawn1.createCreep( [WORK, CARRY, MOVE],
'Builder1',
{ role: 'builder' } );

Builder Script- var roleBuilder = {


/** @param {Creep} creep **/
run: function(creep) {

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) {
var targets = creep.room.find(FIND_CONSTRUCTION_SITES);
if(targets.length) {
if(creep.build(targets[0]) == ERR_NOT_IN_RANGE) {
creep.moveTo(targets[0]);
}
}

}
else {
var sources = creep.room.find(FIND_SOURCES);
if(creep.harvest(sources[0]) == ERR_NOT_IN_RANGE) {
creep.moveTo(sources[0]);
}
}
}
};

module.exports = roleBuilder;

Builder Spawn- Game.creeps.Builder1.memory.role = 'builder';

You might also like