Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function getNewCreepParts(role, energy/*, useExcess = false*/, room) {
- energy = role === "reserver" ? Math.min(energy, 1300) : Math.min(energy, 1000);
- var parts = [], cost = 0, partsToAdd = [], addPosition = 0, special = false, moveCost = BODYPART_COST["move"];
- switch (role) {
- case 'harvester':
- case "remoteminer":
- special = true;
- break;
- case "mineralminer":
- partsToAdd = ["work", "carry"];
- break;
- case 'carrier':
- partsToAdd = ['carry'];
- break;
- case 'builder':
- partsToAdd = ['work', 'carry', 'work'];
- break;
- case 'fighter':
- case "defender":
- special = true;
- break;
- case 'healer':
- partsToAdd = ['heal', 'heal', 'tough'];
- break;
- case 'dismantler':
- partsToAdd = ['work', 'carry'];
- break;
- case "claimer":
- case "reserver":
- partsToAdd = ['claim'];
- break;
- default:
- return null;
- break
- }
- if (!special) {
- for (let i = 0; i < MAX_CREEP_SIZE/2; i++) {
- if (addPosition >= partsToAdd.length) {
- addPosition = 0;
- }
- if (cost + BODYPART_COST[partsToAdd[addPosition]] + moveCost <= energy) {
- parts.push(partsToAdd[addPosition]);
- cost += BODYPART_COST[partsToAdd[addPosition]] + moveCost;
- addPosition++;
- } else {
- break;
- /*if (useExcess) {
- } else {*/
- //}
- }
- }
- } else {
Add Comment
Please, Sign In to add comment