-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathmain.js
84 lines (74 loc) · 2.85 KB
/
main.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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
require('proto.Creep');
require('proto.Spawn');
require('proto.Tower');
require('proto.Link');
require('populationSettings'); // настройки популяции
require('harvesterLDSettings');//настройки харвестеров на длинные дистанции
//region добавление настроек в память
var noticeSettings = require('noticeSettings');
Memory.noticeSettings = {};
Memory.noticeSettings = noticeSettings;
//endregion
//region links settings
var linkSettings = require('linkSettings');
Memory.linkSettings = {};
Memory.linkSettings = linkSettings;
//endregion
module.exports.loop = function () {
//region башни
let towersCount = 0;
let towers = _.filter(Game.structures, function (s) {
towersCount++;
return s.structureType === STRUCTURE_TOWER
});
if (towers) {
let i = 1;
for (let tower of towers) {
if(towersCount>1){
if(i % 2 === 1){
tower.defend();
}
else{
tower.doRepair();
}
}
else{
if(!tower.defend()){
tower.doRepair();
}
}
i++;
}
}
//endregion
for (let spawn in Game.spawns) {
Game.spawns[spawn].populationControl();
}
//region lnks
if (Memory.linkSettings !== undefined ) {
for (let room in Memory.linkSettings) {
if(Memory.linkSettings[room].length > 0){
for(let id in Memory.linkSettings[room]){
let targetFrom;
let targetTo;
if(Memory.linkSettings[room][id]['fromID'] !== undefined && Memory.linkSettings[room][id]['toID'] !== undefined){
targetFrom = Game.getObjectById(Memory.linkSettings[room][id]['fromID']);
targetTo = Game.getObjectById(Memory.linkSettings[room][id]['toID']);
}
else {
targetFrom = Game.rooms[room].lookAt(Memory.linkSettings[room][id]['from'][0], Memory.linkSettings[room][id]['from'][1])[0]['structure'];
if (targetFrom && targetFrom instanceof StructureLink) {
targetTo = Game.rooms[room].lookAt(Memory.linkSettings[room][id]['to'][0], Memory.linkSettings[room][id]['to'][1])[0]['structure'];
if (targetTo && targetTo instanceof StructureLink) {
Memory.linkSettings[room][id]['fromID'] = targetFrom.id;
Memory.linkSettings[room][id]['toID'] = targetTo.id;
}
}
}
targetFrom.sendEnergy(targetTo);
}
}
}
}
//endregion
};