diff --git a/main.js b/main.js index 897620b..9caa878 100644 --- a/main.js +++ b/main.js @@ -1,5 +1,4 @@ -var roleDispatcher = require('role.dispatcher'); - +var roleDispatcher = require('role/dispatcher'); module.exports.loop = function () { diff --git a/role.base.js b/role/base.js similarity index 62% rename from role.base.js rename to role/base.js index 8ac6774..ddde8e2 100644 --- a/role.base.js +++ b/role/base.js @@ -5,9 +5,9 @@ class roleBase{ } /** @param {Creep} creep **/ run(creep) { } - spawn(spawn){ - spawn.spawnCreep(this.body, this.name + Game.time, - memory : {role : this.name} + spawn(spawnPoint){ + spawnPoint.spawnCreep(this.body, this.name + Game.time, + {memory : {role : this.name} }); } }; diff --git a/role.builder.js b/role/builder.js similarity index 79% rename from role.builder.js rename to role/builder.js index 8c0fe07..731904c 100644 --- a/role.builder.js +++ b/role/builder.js @@ -1,15 +1,13 @@ -var energyUtils = require('utils.energy'); - -const body = [ - WORK, CARRY, MOVE -]; - -var roleBuilder = { - body, +var energyUtils = require('../utils/energy'); +var roleBase = require('base'); +class roleBuilder extends roleBase{ /** @param {Creep} creep **/ - run: function(creep) { - + constructor(){ + super() + this.name = 'Builder'; + } + run(creep) { if(creep.memory.building && creep.store[RESOURCE_ENERGY] == 0) { creep.memory.building = false; } diff --git a/role.dispatcher.js b/role/dispatcher.js similarity index 100% rename from role.dispatcher.js rename to role/dispatcher.js diff --git a/role.guard.js b/role/guard.js similarity index 65% rename from role.guard.js rename to role/guard.js index 551cefa..a0e1420 100644 --- a/role.guard.js +++ b/role/guard.js @@ -1,12 +1,12 @@ -var energyUtils = require('utils.energy'); +var roleBase = require('base'); -const body = [ - MOVE, RANGED_ATTACK -]; - -var roleGuard = { +class roleGuard extends roleBase{ /** @param {Creep} creep **/ - run: function(creep) { + constructor(){ + this.body = [ MOVE, RANGED_ATTACK ]; + this.name = 'Streltsy' + } + run(creep) { const target = creep.pos.findClosestByRange(FIND_HOSTILE_CREEPS); if(target) { if(creep.rangedAttack(target) == ERR_NOT_IN_RANGE) { @@ -26,6 +26,11 @@ var roleGuard = { } } } + spawn(spawnPoint, newWaypoints){ + spawnPoint.spawnCreep(this.body, this.name + Game.time, + {memory : {role : this.name, waypoints : newWaypoints} + }); + } }; module.exports = roleGuard; diff --git a/role.harvester.js b/role/harvester.js similarity index 72% rename from role.harvester.js rename to role/harvester.js index 3546074..55c8aa8 100644 --- a/role.harvester.js +++ b/role/harvester.js @@ -1,14 +1,13 @@ -var energyUtils = require('utils.energy'); - -const body = [ - WORK, CARRY, MOVE -]; - -var roleHarvester = { - body, +var energyUtils = require('../utils/energy'); +var roleBase = require('base'); +class roleHarvester extends roleBase{ /** @param {Creep} creep **/ - run: function(creep) { + constructor(){ + super(); + this.name = 'Peasant' + } + run(creep) { if(creep.store.getFreeCapacity() > 0) { var sources = creep.room.find(FIND_SOURCES); if(creep.harvest(sources[0]) == ERR_NOT_IN_RANGE) { diff --git a/role.repairer.js b/role/repairer.js similarity index 83% rename from role.repairer.js rename to role/repairer.js index 55f6142..7e98a20 100644 --- a/role.repairer.js +++ b/role/repairer.js @@ -1,15 +1,13 @@ -var energyUtils = require('utils.energy'); - -const body = [ - WORK, CARRY, MOVE -]; - -var roleRepairer = { - body, +var energyUtils = require('../utils/energy'); +var roleBase = require('base'); +class roleRepairer extends roleBase { + constructor(){ + super(); + this.name = 'Repairer'; + } /** @param {Creep} creep **/ - run: function(creep) { - + run(creep) { if(creep.memory.building && creep.store[RESOURCE_ENERGY] == 0) { creep.memory.building = false; } diff --git a/role.upgrader.js b/role/upgrader.js similarity index 85% rename from role.upgrader.js rename to role/upgrader.js index 4ec2e3c..9146dd2 100644 --- a/role.upgrader.js +++ b/role/upgrader.js @@ -1,12 +1,13 @@ -const body = [ - WORK, CARRY, MOVE -]; +var roleBase = require('base'); -var roleUpgrader = { - body, +class roleUpgrader extends roleBase { + constructor(){ + super(); + this.name = 'Upgrader'; + } /** @param {Creep} creep **/ - run: function(creep) { + run(creep) { if(creep.memory.upgrading && creep.store[RESOURCE_ENERGY] == 0) { creep.memory.upgrading = false; diff --git a/utils.energy.js b/utils/energy.js similarity index 100% rename from utils.energy.js rename to utils/energy.js