Advertisement
Guest User

Untitled

a guest
Nov 26th, 2014
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var spawn;
  2. var target;
  3.  
  4. function getBaseById(id)
  5. {
  6.     for(var i in Game.spawns)
  7.     {
  8.         if (Game.spawns[i].id == id)
  9.          return i;
  10.     }
  11. }
  12.  
  13. function harvest (i)
  14. {
  15.         target = i.pos.findNearest(Game.SOURCES);
  16.         if(!target) return;
  17.         i.moveTo(target);
  18.         i.harvest(target);
  19. }
  20. function build (i, baseid)
  21. {
  22.     if (i.energy === 0)
  23.     {
  24.         spawn = Game.spawns[getBaseById(baseid)];
  25.         i.moveTo(spawn);
  26.         spawn.transferEnergy(i);
  27.         return;
  28.     }
  29.     target = i.pos.findNearest(Game.CONSTRUCTION_SITES);
  30.         if(!target) return;
  31.     i.moveTo(target);
  32.     i.build(target);
  33. }
  34.  
  35. function haul (i, baseid)
  36. {
  37.     if (i.energy < i.energyCapacity)
  38.     {
  39.         target = i.pos.findNearest(Game.DROPPED_ENERGY);
  40.         if(!target) return;
  41.         i.moveTo(target);
  42.         i.pickup(target);
  43.         return;
  44.     }
  45.         spawn = Game.spawns[getBaseById(baseid)];
  46.         if(!spawn) return;
  47.         i.moveTo(spawn);
  48.         i.transferEnergy(spawn);
  49. }
  50.  
  51. var harvesters = [];
  52. var builders = [];
  53. var haulers = [];
  54. var mem = [];
  55. for(var i in Game.creeps)
  56. {
  57.     mem = Game.creeps[i].memory.split("|");
  58.     if(mem[0] == 'harvester')
  59.     {
  60.         harvest(Game.creeps[i]);
  61.         harvesters[mem[1]]++;
  62.     }
  63.     else if (mem[0] == 'hauler')
  64.     {
  65.         haul(Game.creeps[i], mem[1]);
  66.         haulers[mem[1]]++;
  67.     }
  68.     else if (mem[0] == 'builder')
  69.     {
  70.         build(Game.creeps[i], mem[1]);
  71.         builders[mem[1]]++;
  72.     }
  73. }
  74.  
  75. var baseId = 0;
  76.  
  77. for(var i in Game.spawns)
  78. {
  79.     spawn = Game.spawns[i];
  80.     baseId = spawn.id;
  81.     if (builders[baseId] === undefined) builders[baseId] = 0;
  82.     if (haulers[baseId] === undefined) haulers[baseId] = 0;
  83.     if (harvesters[baseId] === undefined) harvesters[baseId] = 0;
  84.  
  85.     if (harvesters[baseId] < 2)
  86.         spawn.createCreep([Game.WORK, Game.WORK, Game.WORK, Game.MOVE], null, "harvester|"+baseId);
  87.     else if (builders[baseId] < 1)
  88.         spawn.createCreep([Game.WORK, Game.WORK, Game.CARRY, Game.CARRY, Game.MOVE], null, "builder|"+baseId);
  89.     else if (haulers[baseId] < 1)
  90.         spawn.createCreep([Game.CARRY, Game.CARRY, Game.MOVE,Game.MOVE,Game.MOVE], null, "hauler|"+baseId);
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement