Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var spawn;
- var target;
- function getBaseById(id)
- {
- for(var i in Game.spawns)
- {
- if (Game.spawns[i].id == id)
- return i;
- }
- }
- function harvest (i)
- {
- target = i.pos.findNearest(Game.SOURCES);
- if(!target) return;
- i.moveTo(target);
- i.harvest(target);
- }
- function build (i, baseid)
- {
- if (i.energy === 0)
- {
- spawn = Game.spawns[getBaseById(baseid)];
- i.moveTo(spawn);
- spawn.transferEnergy(i);
- return;
- }
- target = i.pos.findNearest(Game.CONSTRUCTION_SITES);
- if(!target) return;
- i.moveTo(target);
- i.build(target);
- }
- function haul (i, baseid)
- {
- if (i.energy < i.energyCapacity)
- {
- target = i.pos.findNearest(Game.DROPPED_ENERGY);
- if(!target) return;
- i.moveTo(target);
- i.pickup(target);
- return;
- }
- spawn = Game.spawns[getBaseById(baseid)];
- if(!spawn) return;
- i.moveTo(spawn);
- i.transferEnergy(spawn);
- }
- var harvesters = [];
- var builders = [];
- var haulers = [];
- var mem = [];
- for(var i in Game.creeps)
- {
- mem = Game.creeps[i].memory.split("|");
- if(mem[0] == 'harvester')
- {
- harvest(Game.creeps[i]);
- harvesters[mem[1]]++;
- }
- else if (mem[0] == 'hauler')
- {
- haul(Game.creeps[i], mem[1]);
- haulers[mem[1]]++;
- }
- else if (mem[0] == 'builder')
- {
- build(Game.creeps[i], mem[1]);
- builders[mem[1]]++;
- }
- }
- var baseId = 0;
- for(var i in Game.spawns)
- {
- spawn = Game.spawns[i];
- baseId = spawn.id;
- if (builders[baseId] === undefined) builders[baseId] = 0;
- if (haulers[baseId] === undefined) haulers[baseId] = 0;
- if (harvesters[baseId] === undefined) harvesters[baseId] = 0;
- if (harvesters[baseId] < 2)
- spawn.createCreep([Game.WORK, Game.WORK, Game.WORK, Game.MOVE], null, "harvester|"+baseId);
- else if (builders[baseId] < 1)
- spawn.createCreep([Game.WORK, Game.WORK, Game.CARRY, Game.CARRY, Game.MOVE], null, "builder|"+baseId);
- else if (haulers[baseId] < 1)
- spawn.createCreep([Game.CARRY, Game.CARRY, Game.MOVE,Game.MOVE,Game.MOVE], null, "hauler|"+baseId);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement