My personal screeps.com scripts, various branches/tags for various states.

main.js 1.0KB

1234567891011121314151617181920212223242526272829303132333435
  1. var roleHarvester = require('role.harvester');
  2. var roleUpgrader = require('role.upgrader');
  3. var roleBuilder = require('role.builder');
  4. module.exports.loop = function () {
  5. var tower = Game.getObjectById('TOWER_ID');
  6. if(tower) {
  7. var closestDamagedStructure = tower.pos.findClosestByRange(FIND_STRUCTURES, {
  8. filter: (structure) => structure.hits < structure.hitsMax
  9. });
  10. if(closestDamagedStructure) {
  11. tower.repair(closestDamagedStructure);
  12. }
  13. var closestHostile = tower.pos.findClosestByRange(FIND_HOSTILE_CREEPS);
  14. if(closestHostile) {
  15. tower.attack(closestHostile);
  16. }
  17. }
  18. for(var name in Game.creeps) {
  19. var creep = Game.creeps[name];
  20. if(creep.memory.role == 'harvester') {
  21. roleHarvester.run(creep);
  22. }
  23. if(creep.memory.role == 'upgrader') {
  24. roleUpgrader.run(creep);
  25. }
  26. if(creep.memory.role == 'builder') {
  27. roleBuilder.run(creep);
  28. }
  29. }
  30. };