You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
825 B
30 lines
825 B
module.exports = {
|
|
name: 'scout',
|
|
count: 1,
|
|
prio: 15,
|
|
bodies: [[MOVE]],
|
|
nextSpawn (spawn, roleCreeps) {
|
|
for (let roomName of activeRemotes) {
|
|
if (!Game.rooms[roomName] && _.filter(roleCreeps, {memory: {room: roomName}}).length === 0) {
|
|
return [
|
|
[MOVE],
|
|
{room: roomName}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
tick (creep) {
|
|
let room = Game.rooms[creep.memory.room]
|
|
if (!room) {
|
|
for (let remoteRoom of activeRemotes) {
|
|
if (!Game.rooms[remoteRoom]) {
|
|
creep.memory.room = remoteRoom
|
|
}
|
|
}
|
|
}
|
|
let pos = new RoomPosition(25, 25, creep.memory.room)
|
|
if (moveToRoom(creep, creep.memory.room) === ALREADY_IN_ROOM && creep.pos.getRangeTo(pos) > 10) {
|
|
creep.moveByPath(PathFinder.search(creep.pos, {pos, range: 10}).path)
|
|
}
|
|
},
|
|
}
|
|
|