module.exports = { tickInit () { for (let room of Object.values(Game.rooms)) { if (room.memory.controllerLink && !Game.getObjectById(room.memory.controllerLink)) { delete room.memory.controllerLink } } }, tick (link) { if (link.room.memory.controllerLink === link.id) { return } if (link.pos.findInRange(FIND_STRUCTURES, 5, {filter: s => s.structureType === STRUCTURE_CONTROLLER}).length) { link.room.memory.controllerLink = link.id return } if (link.room.memory.controllerLink && !link.store.getFreeCapacity(RESOURCE_ENERGY)) { let targetLink = Game.getObjectById(link.room.memory.controllerLink) if (targetLink.store.getFreeCapacity(RESOURCE_ENERGY) > 770) { link.transferEnergy(targetLink) } } } }