CursedFlames

Untitled

May 12th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function getNewCreepParts(role, energy/*, useExcess = false*/, room) {
  2.     energy = role === "reserver" ? Math.min(energy, 1300) : Math.min(energy, 1000);
  3.     var parts = [], cost = 0, partsToAdd = [], addPosition = 0, special = false, moveCost = BODYPART_COST["move"];
  4.     switch (role) {
  5.         case 'harvester':
  6.         case "remoteminer":
  7.             special = true;
  8.             break;
  9.         case "mineralminer":
  10.             partsToAdd = ["work", "carry"];
  11.             break;
  12.         case 'carrier':
  13.             partsToAdd = ['carry'];
  14.             break;
  15.         case 'builder':
  16.             partsToAdd = ['work', 'carry', 'work'];
  17.             break;
  18.         case 'fighter':
  19.         case "defender":
  20.             special = true;
  21.             break;
  22.         case 'healer':
  23.             partsToAdd = ['heal', 'heal', 'tough'];
  24.             break;
  25.         case 'dismantler':
  26.             partsToAdd = ['work', 'carry'];
  27.             break;
  28.         case "claimer":
  29.         case "reserver":
  30.             partsToAdd = ['claim'];
  31.             break;
  32.         default:
  33.             return null;
  34.             break
  35.     }
  36.     if (!special) {
  37.         for (let i = 0; i < MAX_CREEP_SIZE/2; i++) {
  38.             if (addPosition >= partsToAdd.length) {
  39.                 addPosition = 0;
  40.             }
  41.             if (cost + BODYPART_COST[partsToAdd[addPosition]] + moveCost <= energy) {
  42.                 parts.push(partsToAdd[addPosition]);
  43.                 cost += BODYPART_COST[partsToAdd[addPosition]] + moveCost;
  44.                 addPosition++;
  45.             } else {
  46.                 break;
  47.                 /*if (useExcess) {
  48.                    
  49.                 } else {*/
  50.                 //}
  51.             }
  52.         }
  53.     } else {
Add Comment
Please, Sign In to add comment