Advertisement
purplemonday

Untitled

Oct 30th, 2016
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.73 KB | None | 0 0
  1. module.exports = {
  2.  
  3.  
  4. // multiple states
  5.  
  6. run: function(creep,resources)
  7. {
  8.  
  9. // delete creep.memory.source2
  10. var targetroom = Game.flags.Flag49
  11. //console.log("flag room "+targetroom.pos.roomName)
  12.  
  13. if (targetroom.pos.roomName==creep.room.name)
  14. {
  15. //whats the state?
  16. if (creep.carry.energy == 0)
  17. {
  18. // lets go mining
  19.  
  20. delete creep.memory.subtask
  21. sources = creep.room.find(FIND_SOURCES)
  22.  
  23. for (var s in sources)
  24. {
  25. source = sources[s].id
  26. // console.log("worker "+source)
  27. var miners = _.filter(Game.creeps, (creep) => creep.memory.source2 == source);
  28.  
  29. amount_miners = 3
  30. if (source == "57ef9d1486f108ae6e60d3ba") amount_miners = 1
  31.  
  32. if (miners.length < amount_miners)
  33. {
  34. creep.memory.source2 = source
  35. creep.memory.state = "MINING"
  36. break
  37. }
  38. }
  39.  
  40. if (!creep.memory.source2)
  41. {
  42. creep.moveTo(targetroom.pos)
  43. }
  44. // console.log("sources: "+sources.length)
  45.  
  46. } else if (creep.carry.energy == creep.carryCapaity) {
  47.  
  48. creep.memory.state = "WORK"
  49.  
  50.  
  51.  
  52.  
  53. delete creep.memory.source2
  54.  
  55.  
  56.  
  57.  
  58. }
  59.  
  60.  
  61. if (creep.memory.state == "MINING") {
  62.  
  63.  
  64. // console.log("mining")
  65. var source = Game.getObjectById(creep.memory.source2)
  66. if (source != undefined) {
  67. // console.log(source.id)
  68. console.log(creep.harvest(source))
  69. creep.moveTo(source)
  70. } else {
  71. delete creep.memory.source2
  72. }
  73. if (creep.carry.energy == creep.carryCapacity)
  74. {
  75. delete creep.memory.source2
  76. creep.memory.state = "WORK"
  77. }
  78. } else if ( creep.memory.state == "WORK" || creep.carry.energy != 0){
  79.  
  80. var energy_max = Game.spawns.Spawn3.room.energyCapacityAvailable;
  81. var energy = Game.spawns.Spawn3.room.energyAvailable;
  82.  
  83. var energy_max = 0
  84. var energy = 0
  85.  
  86. var worker= _.filter(Game.creeps, (creep) => creep.memory.run =="worker");
  87.  
  88. if (energy== energy_max ||creep.memory.subtask != undefined)
  89.  
  90. {
  91.  
  92. creep.say("task!")
  93. var repair = creep.room.find(FIND_STRUCTURES, {filter: (structure) => {return (structure.structureType == STRUCTURE_ROAD) && structure.hits < 1000}});
  94. //var repair = creep.room.find(FIND_MY_STRUCTURES, {filter: (object) => object.hits < 2000})
  95. //room.find(FIND_STRUCTURES, {filter: (structure) => {return (structure.structureType == STRUCTURE_ROAD) && structure.hits < 4000}});
  96. //repair = []
  97. // console.log ("repair"+repair.length+" "+repair[0].hits)
  98. if (repair.length > 0)
  99. {
  100. creep.say("task!")
  101. creep.memory.subtask = "repair"
  102. var site = creep.pos.findClosestByPath(repair)
  103. //console.log(repair[0].id+" "+site.id+" "+creep.room.controller.id)
  104.  
  105. // creep.say("task!")
  106.  
  107. if (site != undefined && site.id == creep.room.controller.id)
  108. {
  109. var rep= creep.upgradeController(site)
  110. } else {
  111. var rep = creep.repair(site)
  112. }
  113.  
  114.  
  115. if (rep == ERR_NOT_IN_RANGE) creep.moveTo(site)
  116.  
  117. //var upgrade = creep.upgradeController(target)
  118.  
  119. } else {
  120.  
  121. creep.say("task!")
  122. //console.log("working")
  123. var sites = creep.room.find(FIND_CONSTRUCTION_SITES)
  124. if (sites.length>0)
  125. {
  126. creep.memory.subtask = "build"
  127. //
  128. // console.log("build")
  129. var site = creep.pos.findClosestByPath(sites)
  130. var build = creep.build(site)
  131. if (build == ERR_NOT_IN_RANGE) creep.moveTo(site)
  132. var build = creep.build(site)
  133. } else {
  134. creep.memory.subtask = "upgrade"
  135. // console.log("upgrade")
  136. // if theres a spawn keep it full.
  137. var target = creep.room.controller
  138. var upgrade = creep.upgradeController(target)
  139. if (upgrade == ERR_NOT_IN_RANGE)
  140. {
  141. creep.moveTo(target) // ARM ME!!
  142. }
  143.  
  144. }
  145. }
  146. } else if (creep.memory.subtask == undefined || creep.memory.state !=undefined ){
  147. // console.log("unload")
  148. var sites = creep.room.find(FIND_STRUCTURES, {filter: (structure) => {return (structure.structureType == STRUCTURE_EXTENSION || structure.structureType == STRUCTURE_SPAWN || structure.structureType == STRUCTURE_TOWER) && structure.energy < structure.energyCapacity;}});
  149. var site = creep.pos.findClosestByPath(sites)
  150. creep.moveTo(site )
  151. var trans = creep.transfer( site ,RESOURCE_ENERGY)
  152.  
  153.  
  154. }
  155.  
  156.  
  157. // if ()
  158. } else {
  159. //console.log ("huh?")
  160. creep.memory.state = "WORK"
  161. }
  162.  
  163.  
  164.  
  165. } else {
  166. delete creep.memory.source2
  167. creep.moveTo(targetroom.pos)
  168.  
  169.  
  170.  
  171. }
  172.  
  173.  
  174.  
  175.  
  176. }
  177.  
  178. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement