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.
31 lines
880 B
31 lines
880 B
module.exports = {
|
|
name: 'reserver',
|
|
prio: 20,
|
|
nextSpawn (spawn, roleCreeps) {
|
|
for (let roomName of activeRemotes) {
|
|
let room = Game.rooms[roomName]
|
|
if (!room) {
|
|
continue
|
|
}
|
|
if (!room.controller.owner
|
|
&& _.filter(roleCreeps, {memory: {room: roomName}}).length === 0 && (
|
|
!room.controller.reservation
|
|
|| (room.controller.reservation.username === 'NativeException' && room.controller.reservation.ticksToEnd < 3000)
|
|
)) {
|
|
return [
|
|
[CLAIM, CLAIM, MOVE, MOVE],
|
|
{room: roomName}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
tick (creep) {
|
|
if (moveToRoom(creep, creep.memory.room) === MOVING) {
|
|
return
|
|
}
|
|
let room = Game.rooms[creep.memory.room]
|
|
if (creep.reserveController(room.controller) === ERR_NOT_IN_RANGE) {
|
|
creep.moveTo(room.controller)
|
|
}
|
|
},
|
|
}
|
|
|