Guest User

Untitled

a guest
Jan 22nd, 2014
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.12 KB | None | 0 0
  1. function init()
  2. {
  3. //Keep track of the original names and descriptions
  4. localStats.powerUps.slice(0).forEach(function(powerUp){
  5.  
  6. powerUp.upgrades.forEach(function(upgrade){
  7. upgrade.originalName = upgrade.name;
  8. upgrade.originalDesc = upgrade.desc;
  9. });
  10.  
  11. powerUp.originalName = powerUp.name;
  12. powerUp.originalDesc = powerUp.desc;
  13.  
  14. })
  15.  
  16. //string (int) seconds to formatted time
  17. String.prototype.toHHMMSS = function () {
  18. var sec_num = parseInt(this, 10); // don't forget the second param
  19. if(sec_num <= 0)
  20. return "Now";
  21.  
  22. var hours = Math.floor(sec_num / 3600);
  23. var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
  24. var seconds = sec_num - (hours * 3600) - (minutes * 60);
  25.  
  26. if (hours < 10) {hours = "0"+hours;}
  27. if (minutes < 10 && hours > 0) {minutes = "0"+minutes;}
  28. if (seconds < 10 && minutes > 0) {seconds = "0"+seconds;}
  29.  
  30. var output = "";
  31. if(hours > 0)
  32. output = hours+":";
  33. else if(minutes > 0)
  34. output += minutes+":"+seconds;
  35. else
  36. output = seconds+" seconds";
  37.  
  38. return output;
  39. }
  40.  
  41. String.prototype.formatBytes = function() {
  42. var bytes = parseFloat(this);
  43.  
  44. var suffixes = [
  45. "bytes",
  46. "Kb",
  47. "Mb",
  48. "Gb",
  49. "Tb",
  50. "Pb"
  51. ];
  52.  
  53. var loops = 0;
  54. while(bytes > 800 && loops < 6)
  55. {
  56. bytes = bytes / 1000;
  57. loops += 1;
  58. }
  59.  
  60. return bytes.toFixed(2) + " " + suffixes[loops];
  61. }
  62.  
  63. //Create the container div
  64. $('#bpsChartContainer').parent().append("<div id='next-purchase-container' style='width:100%; height:30px;'></div>");
  65. $("#next-purchase-container").html("Next Purchase:<div id='next-purchase-label'></div><div id='next-purchase-time'></div>");
  66. }
  67.  
  68. function loop() {
  69. var upgradeCounter = 1;
  70. var powerupCounter = 1;
  71. var data = Array();
  72. var min = 999999999999;
  73. var next = min;
  74. var minObj = {};
  75. localStats.powerUps.slice(0).forEach(function(powerUp) {
  76. powerUp.position = "pu"+powerupCounter;
  77.  
  78. var hasUpgrade = false;
  79. powerUp.upgrades.forEach(function(upgrade) {
  80. hasUpgrade = true;
  81. upgrade.position = "upg"+upgradeCounter;
  82.  
  83. var value = upgrade.price/(powerUp.totalBps * 0.1);
  84. upgrade.value = value;
  85.  
  86. min = Math.min(min, value);
  87. if(value == min)
  88. minObj = upgrade;
  89.  
  90. upgrade.desc = String(value).formatBytes() + "<br>" + upgrade.originalDesc;
  91. });
  92.  
  93. if(hasUpgrade)
  94. upgradeCounter++;
  95.  
  96. powerupCounter++;
  97.  
  98. var time = Number((powerUp.currentPrice - localStats.byteCount)/localStats.bps).toFixed(0);
  99. var value = powerUp.currentPrice/powerUp.currentBps;
  100. powerUp.value = value;
  101.  
  102. data.push(value);
  103.  
  104. min = Math.min(min, value);
  105. if(value == min)
  106. minObj = powerUp;
  107.  
  108. //if(time > 0)
  109. //powerUp.desc = originalText[powerUp.name] + "<br>" + time.toHHMMSS();
  110. });
  111.  
  112. $('.storeItem, .upgcontainer').css('background-color', '');
  113.  
  114. var selector = minObj.position;
  115. $("#"+selector).css('background-color', '#B2EDED');
  116.  
  117. $('.storePrice').each(function(index){
  118. $(this).find('p').remove();
  119. var content = "<p style=\"display:inline; font-size:0.7em;\"> ("+String(data[index]).formatBytes()+")</p>";
  120. $(this).append(content)
  121. });
  122.  
  123. var label = minObj.name;
  124. if(minObj.powerup) //check if it's an upgrade or not
  125. {
  126. label += " (Upgrade)";
  127. var price = minObj.price;
  128. }
  129. else
  130. {
  131. var price = minObj.currentPrice;
  132. }
  133.  
  134. var time = Number((price - localStats.byteCount)/localStats.bps).toFixed(0);
  135.  
  136.  
  137. $("#next-purchase-label").html(label+"<br>Cost: "+String(minObj.value).formatBytes()+" per byte");
  138. console.log("Setting time to " + time);
  139. $("#next-purchase-time").html(String(time).toHHMMSS());
  140. }
  141.  
  142. init();
  143. setInterval(function(){loop();}, 500);
Advertisement
Add Comment
Please, Sign In to add comment