Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- [5:49:36 PM]Progress to stage 2: Harvesters: 2 Builders: 2 Upgraders: 1
- [5:49:36 PM]Structure Queue: 0
- [5:49:36 PM]Structure Queue: 0
- [5:49:36 PM]Stage: 1
- [5:49:36 PM]Stage: 1
- [5:49:37 PM]Stage: 1
- [5:49:37 PM]Stage: 1
- [5:49:37 PM]Stage: 1
- [5:49:37 PM]Stage: 1
- [5:49:38 PM]Stage: 1
- [5:49:38 PM]Stage: 0
- [5:49:38 PM]👍 UPGRADED TO STAGE 1
- [5:49:39 PM]Stage: 1
- [5:49:39 PM]Stage: 1
- [5:49:39 PM]Spawning new upgrader: Jeremiah
- [5:49:39 PM]Stage: 1
- [5:49:40 PM]Stage: 1
- [5:49:40 PM]Stage: 1
- [5:49:41 PM]Stage: 1
- [5:49:41 PM]Stage: 1
- [5:49:41 PM]Stage: 1
- [5:49:41 PM]Stage: 1
- [5:49:42 PM]Stage: 0
- [5:49:42 PM]👍 UPGRADED TO STAGE 1
- [5:49:42 PM]Stage: 1
- [5:49:43 PM]Stage: 1
- [5:49:43 PM]Stage: 1
- [5:49:43 PM]Stage: 1
- [5:49:43 PM]Stage: 1
- [5:49:44 PM]Stage: 1
- [5:49:44 PM]Stage: 1
- [5:49:44 PM]Progress to stage 2: Harvesters: 2 Builders: 2 Upgraders: 2
- [5:49:44 PM]Structure Queue: 0
- [5:49:44 PM]Structure Queue: 0
- [5:49:44 PM]Stage: 1
- [5:49:45 PM]Stage: 1
- [5:49:45 PM]Stage: 1
- [5:49:45 PM]Stage: 1
- [5:49:46 PM]Stage: 1
- [5:49:46 PM]Stage: 1
- [5:49:46 PM]Stage: 1
- [5:49:47 PM]Stage: 1
- [5:49:48 PM]Stage: 1
- [5:49:48 PM]Stage: 1
- [5:49:48 PM]Stage: 1
- [5:49:49 PM]Stage: 1
- [5:49:49 PM]Stage: 1
- [5:49:49 PM]Stage: 1
- [5:49:50 PM]Stage: 1
- [5:49:50 PM]Stage: 1
- [5:49:50 PM]Stage: 1
- [5:49:50 PM]Stage: 1
- [5:49:51 PM]Stage: 1
- [5:49:51 PM]Stage: 1
- [5:49:51 PM]Stage: 1
- [5:49:52 PM]Stage: 1
- [5:49:52 PM]Stage: 0
- [5:49:52 PM]👍 UPGRADED TO STAGE 1
- [5:49:53 PM]Stage: 1
- [5:49:53 PM]Stage: 1
- */
- var roleHarvester = require('role.harvester');
- var roleUpgrader = require('role.upgrader');
- var roleBuilder = require('role.builder');
- var stage = 0;
- var stageconstruct = false;
- var modTime = 25; //delay between each message
- module.exports.loop = function () {
- // clears memory
- for(var name in Memory.creeps) {
- if(!Game.creeps[name]) {
- delete Memory.creeps[name];
- console.log('Clearing non-existing creep memory:', name);
- }
- }
- // DEBUGGING
- console.log("Stage: " + stage)
- var harvesters = _.filter(Game.creeps, (creep) => creep.memory.role == 'harvester');
- //console.log('Harvesters: ' + harvesters.length);
- var builders = _.filter(Game.creeps, (creep) => creep.memory.role == 'builder');
- //console.log('Builders: ' + builders.length);
- var upgraders = _.filter(Game.creeps, (creep) => creep.memory.role == 'upgrader');
- //console.log('Upgraders: ' + upgraders.length);
- switch(stage) {
- case 0:
- stage0();
- break;
- case 1:
- stage1();
- break;
- }
- // STAGE 0 : STARTER
- function stage0() {
- // HARVESTERS
- if(harvesters.length < 2) { // if harvesters less than 2, make more
- var newName = Game.spawns['Spawn1'].createCreep([WORK,WORK,CARRY,MOVE], undefined, {role: 'harvester'});
- if(newName!=-6&&newName!=-4) {
- console.log('Spawning new harvester: ' + newName);
- }
- }
- // BUILDERS
- else if(builders.length < 1) { // if harvesters less than 2, make more
- var newName = Game.spawns['Spawn1'].createCreep([WORK,CARRY,MOVE], undefined, {role: 'builder'});
- if(newName!=-6&&newName!=-4) {
- console.log('Spawning new builder: ' + newName);
- }
- }
- // UPGRADERS
- else if(upgraders.length < 1) { // if harvesters less than 2, make more
- var newName = Game.spawns['Spawn1'].createCreep([WORK,CARRY,MOVE], undefined, {role: 'upgrader'});
- if(newName!=-6&&newName!=-4) {
- console.log('Spawning new upgrader: ' + newName);
- }
- }
- // PROGRESSION CHECKER
- if(harvesters.length >= 2 && builders.length >= 1 && upgraders.length >= 1 && stage == 0) {
- stage++;
- console.log('👍 UPGRADED TO STAGE 1');
- }
- else {
- if((Game.time%modTime)==1) {
- console.log("Progress to stage 1: Harvesters: " + harvesters.length + " Builders: " + builders.length + " Upgraders: " + upgraders.length);
- }
- }
- }
- // STAGE 0 : STARTER
- function stage1() {
- // HARVESTERS
- if(harvesters.length < 2) { // if harvesters less than 2, make more
- var newName = Game.spawns['Spawn1'].createCreep([WORK,WORK,CARRY,MOVE], undefined, {role: 'harvester'});
- if(newName!=-6&&newName!=-4) {
- console.log('Spawning new harvester: ' + newName);
- }
- }
- // BUILDERS
- else if(builders.length < 2) { // if harvesters less than 2, make more
- var newName = Game.spawns['Spawn1'].createCreep([WORK,CARRY,MOVE], undefined, {role: 'builder'});
- if(newName!=-6&&newName!=-4) {
- console.log('Spawning new builder: ' + newName);
- }
- }
- // UPGRADERS
- else if(upgraders.length < 2) { // if harvesters less than 2, make more
- var newName = Game.spawns['Spawn1'].createCreep([WORK,CARRY,MOVE], undefined, {role: 'upgrader'});
- if(newName!=-6&&newName!=-4) {
- console.log('Spawning new upgrader: ' + newName);
- }
- }
- // CONSTRUCTION
- Game.rooms.sim.createConstructionSite(24, 25, STRUCTURE_EXTENSION);
- // STRUCTURE CHECKER
- const extensions = Game.spawns['Spawn1'].room.find(FIND_MY_STRUCTURES, {filter: { structureType: STRUCTURE_EXTENSION }});
- // PROGRESSION CHECKER
- if(harvesters.length >= 2 && builders.length >= 2 && upgraders.length >= 12 && stage == 1 && extensions.length >= 2) {
- stage++;
- stageconstruction=false;
- console.log('👍 UPGRADED TO STAGE 2');
- }
- else {
- if((Game.time%modTime)==1) {
- console.log("Progress to stage 2: Harvesters: " + harvesters.length + " Builders: " + builders.length + " Upgraders: " + upgraders.length);
- }
- }
- }
- // ASSIGNS ROLES
- for(var name in Game.creeps) { // goes through every creep, reads their role, then runs according script via import
- var creep = Game.creeps[name];
- if(creep.memory.role == 'harvester') {
- roleHarvester.run(creep);
- }
- if(creep.memory.role == 'upgrader') {
- roleUpgrader.run(creep);
- }
- if(creep.memory.role == 'builder') {
- roleBuilder.run(creep);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement