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.
screeps/default/role.reserver.js

33 lines
893 B

8 months ago
module.exports = {
name: 'reserver',
prio: 20,
8 months ago
minRcl: 4,
8 months ago
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)
}
},
}