Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var _ = require('lodash');
- var courierAI = require('Courier');
- var diggerAI = require('Digger');
- var peonAI = require('Peon');
- var workerAI = require('Worker');
- var assailantAI = require('Assailant');
- var avatarAI = require('Avatar');
- var wardogAI = require('WarDog');
- for(var i in Memory.creeps) {
- if(!Game.creeps[i]) {delete Memory.creeps[i];}
- }
- var pop = [0,0,0,0,0];
- for(var cid in Game.creeps) {
- var creep = Game.creeps[cid];
- creep.suicide()
- if(!creep.spawning) {
- switch(creep.memory.role) {
- case 'Courier':
- courierAI(creep);
- pop[0]++;
- break;
- case 'Digger':
- diggerAI(creep);
- pop[1]++;
- break;
- case 'Peon':
- while(peonAI(creep)) {}
- pop[2]++;
- break;
- case 'Worker':
- workerAI(creep);
- pop[3]++;
- break;
- case 'Assailant':
- assailantAI(creep);
- pop[6]++;
- break;
- case 'Avatar':
- avatarAI(creep);
- break;
- case 'WarDog':
- wardogAI(creep);
- break;
- default:
- creep.say('NO AI!');
- creep.memory.role = 'WarDog';
- break;
- }
- }
- }
- if(!Game.spawns.Spawn1.spawning) {
- var sites = Game.spawns.Spawn1.room.find(FIND_CONSTRUCTION_SITES);
- if(pop[2] < 0) {Game.spawns.Spawn1.createPeon();}
- else if(pop[0] < 0) {Game.spawns.Spawn1.createCourier();}
- else if(pop[1] < 0) {Game.spawns.Spawn1.createDigger();}
- else if(pop[3] < 0) {Game.spawns.Spawn1.createWorker();}
- else if(pop[2] < Math.min(0, 2 + (sites.length / 3))) {Game.spawns.Spawn1.createPeon();}
- else if(pop[4] < 0) {Game.spawns.Spawn1.createAssailant();}
- else if(Game.spawns.Spawn1.memory.pendAvatar) {
- Game.spawns.Spawn1.memory.pendAvatar = !_.isString(Game.spawns.Spawn1.createAvatar());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement