-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcreeps.Carrier.js
39 lines (37 loc) · 1.4 KB
/
creeps.Carrier.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
var utilsRooms = require('utils.Rooms');
var creepsUniversal = require('creeps.Universal');
var creepsCarrier = {
run: function (creep) {
if (creep.memory.target == undefined) {
this.findTarget(creep);
return;
}
else {
creepsUniversal.doWork(creep);
}
},
findTarget: function (creep) {
creepsUniversal.decideGathering(creep);
if (creep.memory.isGathering) {
creepsUniversal.findNearestStoreExceptStorageHasEnergy(creep);
}
else {
var spawn = utilsRooms.getMySpawn(creep.room);
//console.log(creep.name + ' spawn free capacity:' + spawn.store.getFreeCapacity(RESOURCE_ENERGY));
if(spawn.store.getFreeCapacity(RESOURCE_ENERGY) > 0) {
creep.memory.target = spawn;
//console.log(creep.name + ' selects spawn');
}
else{
//console.log(creep.name + ' is finding extensions');
creepsUniversal.findMyNearestExtensionNeedsEnergy(creep);
if(creep.memory.target == undefined){
//console.log(creep.name + ' is finding storages');
creep.memory.target = utilsRooms.getStorage(creep.room);
}
}
}
//console.log(creep.name+'\'s target:' + creep.memory.target);
}
};
module.exports = creepsCarrier;