added creep config file
This commit is contained in:
parent
b34776552a
commit
ee75b48814
@ -1,5 +1,5 @@
|
|||||||
// usernames are all lowercase, we compare with to lower
|
// usernames are all lowercase, we compare with to lower
|
||||||
var USERNAME_WHITELIST = ['chrisinajar', 'ho0ber', 'fractaloop', 'n7-anthony', 'overra', 'tyrel', 'fervens'];
|
var USERNAME_WHITELIST = ['chrisinajar', 'ho0ber', 'fractaloop', 'n7-anthony', 'overra', 'tyrel', 'fervens', 'devdaniel'];
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
findEnemy: findEnemy,
|
findEnemy: findEnemy,
|
||||||
|
27
creeps.config.js
Normal file
27
creeps.config.js
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
var roleHarvester = require('role.harvester');
|
||||||
|
var roleUpgrader = require('role.upgrader');
|
||||||
|
var roleBuilder = require('role.builder');
|
||||||
|
var roleGuard = require('role.guard');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
harvester: {
|
||||||
|
bodyParts: [WORK,WORK, CARRY,CARRY, MOVE, MOVE],
|
||||||
|
minimumCreeps: 4,
|
||||||
|
role: roleHarvester
|
||||||
|
},
|
||||||
|
builder: {
|
||||||
|
bodyParts: [WORK, CARRY, CARRY, CARRY, MOVE, MOVE],
|
||||||
|
minimumCreeps: 0,
|
||||||
|
role: roleBuilder
|
||||||
|
},
|
||||||
|
upgrader: {
|
||||||
|
bodyParts: [WORK, CARRY, WORK, MOVE, CARRY, MOVE, MOVE],
|
||||||
|
minimumCreeps: 4,
|
||||||
|
role: roleUpgrader
|
||||||
|
},
|
||||||
|
guard: {
|
||||||
|
bodyParts: [TOUGH, MOVE, ATTACK, MOVE, ATTACK],
|
||||||
|
minimumCreeps: 0,
|
||||||
|
role: roleGuard,
|
||||||
|
}
|
||||||
|
};
|
35
main.js
35
main.js
@ -1,32 +1,7 @@
|
|||||||
var roleHarvester = require('role.harvester');
|
var structureTower = require('structure.tower');
|
||||||
var roleUpgrader = require('role.upgrader');
|
var creepsConfig = require('creeps.config');
|
||||||
var roleBuilder = require('role.builder');
|
|
||||||
var roleGuard = require('role.guard');
|
|
||||||
var helpers = require('helpers');
|
var helpers = require('helpers');
|
||||||
|
|
||||||
var creepRolePriority = ['harvester', 'builder', 'upgrader', 'guard'];
|
var creepRolePriority = ['harvester', 'builder', 'upgrader', 'guard'];
|
||||||
var creepsConfig = {
|
|
||||||
harvester: {
|
|
||||||
bodyParts: [WORK, CARRY, MOVE, MOVE, MOVE],
|
|
||||||
minimumCreeps: 4,
|
|
||||||
role: roleHarvester
|
|
||||||
},
|
|
||||||
builder: {
|
|
||||||
bodyParts: [WORK, CARRY, CARRY, MOVE],
|
|
||||||
minimumCreeps: 5,
|
|
||||||
role: roleBuilder
|
|
||||||
},
|
|
||||||
upgrader: {
|
|
||||||
bodyParts: [WORK, CARRY, CARRY, MOVE, MOVE],
|
|
||||||
minimumCreeps: 2,
|
|
||||||
role: roleUpgrader
|
|
||||||
},
|
|
||||||
guard: {
|
|
||||||
bodyParts: [TOUGH, MOVE, ATTACK, MOVE, ATTACK],
|
|
||||||
minimumCreeps: 4,
|
|
||||||
role: roleGuard,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
module.exports.loop = function(){
|
module.exports.loop = function(){
|
||||||
@ -37,7 +12,6 @@ module.exports.loop = function(){
|
|||||||
delete Memory.creeps[name];
|
delete Memory.creeps[name];
|
||||||
console.log('Cleaning non-existing creep memory:', name);
|
console.log('Cleaning non-existing creep memory:', name);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Refactor some similar behavior for all roles
|
// Refactor some similar behavior for all roles
|
||||||
@ -58,6 +32,11 @@ module.exports.loop = function(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var tower = Game.getObjectById('577683641404f96570a580d2');
|
||||||
|
if(tower) {
|
||||||
|
structureTower.run(tower);
|
||||||
|
}
|
||||||
|
|
||||||
// Run stuff for each creep
|
// Run stuff for each creep
|
||||||
var roleCounts = {harvester: 0, builder: 0, upgrader: 0, guard: 0};
|
var roleCounts = {harvester: 0, builder: 0, upgrader: 0, guard: 0};
|
||||||
var expected = _(creepsConfig).mapValues('minimumCreeps');
|
var expected = _(creepsConfig).mapValues('minimumCreeps');
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
|
||||||
|
|
||||||
var BreakException= {};
|
var BreakException= {};
|
||||||
|
|
||||||
var roleBuilder = {
|
var roleBuilder = {
|
||||||
@ -16,9 +18,10 @@ var roleBuilder = {
|
|||||||
creep.moveTo(targets[0]);
|
creep.moveTo(targets[0]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
var sources = creep.room.find(FIND_SOURCES);
|
var source = creep.pos.findClosestByPath(FIND_SOURCES);
|
||||||
if (creep.harvest(sources[0]) == ERR_NOT_IN_RANGE){
|
if(creep.harvest(source) == ERR_NOT_IN_RANGE) {
|
||||||
creep.moveTo(sources[0]);
|
console.log('\tmoving to', source);
|
||||||
|
creep.moveTo(source);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -26,3 +29,4 @@ var roleBuilder = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
module.exports = roleBuilder;
|
module.exports = roleBuilder;
|
||||||
|
|
||||||
|
@ -17,7 +17,6 @@ var roleGuard = {
|
|||||||
run: function(creep){
|
run: function(creep){
|
||||||
this.creep = creep;
|
this.creep = creep;
|
||||||
this.lastFlag = helpers.getLastFlag("patrol_");
|
this.lastFlag = helpers.getLastFlag("patrol_");
|
||||||
console.log(creep, 'running Guard')
|
|
||||||
creep.memory.patrolDestination = creep.memory.patrolDestination || 1;
|
creep.memory.patrolDestination = creep.memory.patrolDestination || 1;
|
||||||
var target = battle.findEnemy(creep);
|
var target = battle.findEnemy(creep);
|
||||||
if(target != creep.room.controller && creep.hits > creep.hitsMax - 500 /* no more attack */) {
|
if(target != creep.room.controller && creep.hits > creep.hitsMax - 500 /* no more attack */) {
|
||||||
|
@ -13,7 +13,8 @@ var roleHarvester = {
|
|||||||
else {
|
else {
|
||||||
var targets = creep.room.find(FIND_STRUCTURES, {
|
var targets = creep.room.find(FIND_STRUCTURES, {
|
||||||
filter: (structure) => {
|
filter: (structure) => {
|
||||||
return (structure.structureType == STRUCTURE_EXTENSION
|
return (structure.structureType == STRUCTURE_CONTAINER
|
||||||
|
|| structure.structureType == STRUCTURE_EXTENSION
|
||||||
|| structure.structureType == STRUCTURE_SPAWN
|
|| structure.structureType == STRUCTURE_SPAWN
|
||||||
|| structure.structureType == STRUCTURE_TOWER
|
|| structure.structureType == STRUCTURE_TOWER
|
||||||
) && structure.energy < structure.energyCapacity;
|
) && structure.energy < structure.energyCapacity;
|
||||||
@ -24,9 +25,13 @@ var roleHarvester = {
|
|||||||
console.log('\tmoving to', targets[0]);
|
console.log('\tmoving to', targets[0]);
|
||||||
creep.moveTo(targets[0]);
|
creep.moveTo(targets[0]);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
creep.moveTo(Game.spawns.Spawn1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = roleHarvester;
|
module.exports = roleHarvester;
|
||||||
|
|
||||||
|
|
||||||
|
@ -16,10 +16,17 @@ var roleUpgrader = {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
var source = creep.pos.findClosestByPath(FIND_SOURCES);
|
var source = creep.pos.findClosestByPath(FIND_SOURCES);
|
||||||
|
console.log(source);
|
||||||
if(creep.harvest(source) == ERR_NOT_IN_RANGE) {
|
if(creep.harvest(source) == ERR_NOT_IN_RANGE) {
|
||||||
creep.moveTo(source);
|
creep.moveTo(source);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user