Screeps/screeps.com/testing-sim/manage_creeps.js

42 lines
997 B
JavaScript

/*
*
*/
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");
}
}