2023-11-26 20:38:45 +00:00
|
|
|
/*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
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) {
|
2023-11-27 00:18:04 +00:00
|
|
|
for (let role in creepGoalAmount) {
|
|
|
|
let roleCreepsAmount = (_.filter(Game.creeps, (creep) => creep.memory.role == role)).length;
|
2023-11-26 20:38:45 +00:00
|
|
|
if (roleCreepsAmount < creepGoalAmount[role]) {
|
|
|
|
spawnCreep(role, roleCreepsAmount);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
module.exports = creepManager;
|
|
|
|
|
|
|
|
|
|
|
|
function spawnCreep(role, existing) {
|
2023-11-27 00:18:04 +00:00
|
|
|
let newCreepName = role + "_Spheal_" + existing;
|
|
|
|
let newCreepBuild = creepBuilds.getBuildsDict()[role];
|
2023-11-26 20:38:45 +00:00
|
|
|
|
2023-11-27 00:18:04 +00:00
|
|
|
Game.spawns.Spawn1.spawnCreep(newCreepBuild, newCreepName, { memory: { role: role } });
|
2023-11-26 20:38:45 +00:00
|
|
|
|
2023-11-27 00:18:04 +00:00
|
|
|
if (!Game.spawns.Spawn1.spawning) {
|
|
|
|
misc.displayMessage(Game.spawns.Spawn1, "Spawning next: " + newCreepName);
|
|
|
|
} else {
|
|
|
|
misc.displayMessage(Game.spawns.Spawn1, "Spawning Creep");
|
|
|
|
}
|
2023-11-26 20:38:45 +00:00
|
|
|
}
|