Advertisement
Guest User

LegendaryFarming

a guest
Jul 18th, 2020
461
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function farming(str = '') {
  2.     let input = str.toLowerCase().split(' ');
  3.     let legendary = { fragments: 0, shards: 0, motes: 0 };
  4.     let junk = {};
  5.     let hasToBreak = false;
  6.     while (!hasToBreak && input.length > 0) {
  7.         let quantity = +input.shift();
  8.         let material = input.shift();
  9.         switch (material) {
  10.             case 'shards':
  11.                 legendary[material] += quantity;
  12.                 if (legendary[material] >= 250) {
  13.                     console.log(`Shadowmourne obtained!`);
  14.                     legendary[material] -= 250;
  15.                     hasToBreak = true;
  16.                 }
  17.                 break;
  18.             case 'fragments':
  19.                 legendary[material] += quantity;
  20.                 if (legendary[material] >= 250) {
  21.                     console.log(`Valanyr obtained!`);
  22.                     legendary[material] -= 250;
  23.                     hasToBreak = true;
  24.                 }
  25.                 break;
  26.             case 'motes':
  27.                 legendary[material] += quantity;
  28.                 if (legendary[material] >= 250) {
  29.                     console.log(`Dragonwrath obtained!`);
  30.                     legendary[material] -= 250;
  31.                     hasToBreak = true;
  32.                 }
  33.                 break;
  34.             default:
  35.                 if (!junk.hasOwnProperty(material)) {
  36.                     junk[material] = 0;
  37.                 }
  38.                 junk[material] += quantity;
  39.                 break;
  40.         }
  41.     }
  42.     let legendItems = Object.entries(legendary)
  43.         .sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]))
  44.         .forEach((item) => {
  45.             console.log(`${item[0]}: ${item[1]}`);
  46.         });
  47.  
  48.     let junkItems = Object.entries(junk)
  49.         .sort((a, b) => a[0].localeCompare(b[0]))
  50.         .forEach((item) => {
  51.             console.log(`${item[0]}: ${item[1]}`);
  52.         });
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement