Zoc

main - screeps test

Zoc
Mar 13th, 2019
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var roleHarvester = require('role.harvester');
  2. var roleUpgrader = require('role.upgrader');
  3. var roleBuilder = require('role.builder');
  4.  
  5. module.exports.loop = function () {
  6.  
  7.     for(var name in Memory.creeps) {
  8.         if(!Game.creeps[name]) {
  9.             delete Memory.creeps[name];
  10.             console.log('Clearing non-existing creep memory:', name);
  11.         }
  12.     }
  13.  
  14.     var harvesters = _.filter(Game.creeps, (creep) => creep.memory.role == 'harvester');
  15.     var builder = _.filter(Game.creeps, (creep) => creep.memory.role == 'builder');
  16.     var upgrader = _.filter(Game.creeps, (creep) => creep.memory.role == 'upgrader');
  17.     // console.log('Harvesters: ' + harvesters.length + ' - Upgrader: ' + upgrader.length);
  18.  
  19.     if(harvesters.length < 2) {
  20.         var newName = 'Harvester' + Game.time;
  21.         console.log('Spawning new harvester: ' + newName);
  22.         Game.spawns['Spawn1'].spawnCreep([WORK,CARRY,MOVE], newName,
  23.             {memory: {role: 'harvester'}});
  24.     }
  25.  
  26.     if(upgrader.length < 1) {
  27.         var newName = 'Upgrader' + Game.time;
  28.         console.log('Spawning new upgrader: ' + newName);
  29.         Game.spawns['Spawn1'].spawnCreep([WORK,CARRY,MOVE], newName,
  30.             {memory: {role: 'upgrader'}});
  31.     }
  32.  
  33. //    if(builder.length < 1) {
  34. //        var newName = 'Builder' + Game.time;
  35. //        console.log('Spawning new builder: ' + newName);
  36. //        Game.spawns['Spawn1'].spawnCreep([WORK,CARRY,MOVE], newName,
  37. //            {memory: {role: 'builder'}});
  38. //    }
  39.  
  40.     if(Game.spawns['Spawn1'].spawning) {
  41.         var spawningCreep = Game.creeps[Game.spawns['Spawn1'].spawning.name];
  42.         Game.spawns['Spawn1'].room.visual.text(
  43.             '🛠️' + spawningCreep.memory.role,
  44.             Game.spawns['Spawn1'].pos.x + 1,
  45.             Game.spawns['Spawn1'].pos.y,
  46.             {align: 'left', opacity: 0.8});
  47.     }
  48.  
  49.     var tower = Game.getObjectById('d2d91c45d625bde3f8de6737');
  50.     if(tower) {
  51.         var closestDamagedStructure = tower.pos.findClosestByRange(FIND_STRUCTURES, {
  52.             filter: (structure) => structure.hits < structure.hitsMax
  53.         });
  54.         if(closestDamagedStructure) {
  55.             tower.repair(closestDamagedStructure);
  56.         }
  57.  
  58.         var closestHostile = tower.pos.findClosestByRange(FIND_HOSTILE_CREEPS);
  59.         if(closestHostile) {
  60.             tower.attack(closestHostile);
  61.         }
  62.     }
  63.  
  64.     for(var name in Game.creeps) {
  65.         var creep = Game.creeps[name];
  66.         if(creep.memory.role == 'harvester') {
  67.             roleHarvester.run(creep);
  68.         }
  69.         if(creep.memory.role == 'upgrader') {
  70.             roleUpgrader.run(creep);
  71.         }
  72.         if(creep.memory.role == 'builder') {
  73.             roleBuilder.run(creep);
  74.         }
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment