/* * */ var creepBuilds = require("./creep_builds"); var settings = require("./settings"); var misc = require("./misc"); var spawnCreeps = settings.getSpawnCreeps(); var creepGoalAmount = settings.getCreepGoalAmount(); var creepManager = { run: function() { if (spawnCreeps) { for (let role in creepGoalAmount) { let roleCreepsAmount = (_.filter(Game.creeps, (creep) => creep.memory.role == role)).length; if (roleCreepsAmount < creepGoalAmount[role]) { spawnCreep(role, roleCreepsAmount); } } } } }; module.exports = creepManager; function spawnCreep(role, existing) { let newCreepName = role + "_Spheal_" + existing; let newCreepBuild = creepBuilds.getBuildsDict()[role]; Game.spawns.Spawn1.spawnCreep(newCreepBuild, newCreepName, { memory: { role: role } }); if (!Game.spawns.Spawn1.spawning) { misc.displayMessage(Game.spawns.Spawn1, "Spawning next: " + newCreepName); } else { misc.displayMessage(Game.spawns.Spawn1, "Spawning Creep"); } }