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.
32 lines
880 B
32 lines
880 B
8 months ago
|
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)
|
||
|
}
|
||
|
},
|
||
|
}
|