Skip to content

Commit a109cf4

Browse files
committed
added number shortening for xp numbers, cooldowns for void+ crates now scale progressively from 2h to 1d
1 parent 37e61ac commit a109cf4

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

constants.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const XPButtonCooldowns = [10,30,60,120,300,600,1200,2400,3600,5400,7200,14400,2
44
const XPButtonColors = ["#00ffff","#0080ff","#0000ff","#8000ff","#ff00ff","#ff0080","#ff0000","#ff8000","#ffff00","#80ff00","#00ff00","#00ff80"];
55

66
const chestButtonUnlockLevels = [0,3,5,10,20,50,100,200,300,500,750,1000,1500,2000,2500,3000,4000,5000,7500,10000,Infinity];
7-
const chestButtonCooldowns = [300, 600, 900, 1200, 1800, 2700, 3600, 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400];
7+
const chestButtonCooldowns = [300, 600, 900, 1200, 1800, 2700, 3600, 5400, 7200, 10800, 14400, 18000, 21600, 28800, 36000, 43200, 50400, 54600, 72000, 86400];
88
const rarityColors = ["#bbb", "#0e0", "#02f", "#c3f", "#fb0", "#f00", "#6cf", "#306", "#0a8", "#222", "#a08", "#f88", "#070", "#f80", "#0ff", "#fff", "#afa", "#00f", "#987", "#b00"];
99
const rarityNames = ["common", "uncommon", "rare", "epic", "legendary", "mythical", "celestial", "void", "life", "infinite", "eternal", "rainbow", "verdant", "inferno", "frutiger", "anti", "mint", "vaporwave", "dust", "finality"];
1010
const rarityChances = [524288, 262144, 131072, 65536, 32768, 16384, 8192, 4096, 2048, 1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1];

script.js

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,12 +169,12 @@ function updateVisuals() {
169169
//Sets the "XP to next level" text
170170
XPToNextLevel = levelToXP(game.level + 1) - levelToXP(game.level);
171171
let progressToNextLevel = Math.floor(game.XP - levelToXP(game.level));
172-
document.getElementById("XPToNextLevel").innerHTML = progressToNextLevel + "/" + XPToNextLevel;
172+
document.getElementById("XPToNextLevel").innerHTML = numberShort(progressToNextLevel) + "/" + numberShort(XPToNextLevel);
173173
document.getElementById("XPBarBack").style.width = Math.min(progressToNextLevel / XPToNextLevel * 100, 100) + "%";
174174
document.getElementById("level").innerText = game.level;
175175
document.getElementById("nextButtonLevel").innerText = XPButtonUnlockLevels[game.XPButtonsUnlocked];
176176
document.getElementById("nextChestLevel").innerText = chestButtonUnlockLevels[game.chestButtonsUnlocked];
177-
document.getElementById("XPPotionMultiplier").innerText = game.XPPotionMultiplier.toFixed(2);
177+
document.getElementById("XPPotionMultiplier").innerText = numberShort(game.XPPotionMultiplier);
178178
if (document.getElementById("optionsMenu").style.display == "inline-block") {
179179
document.getElementById("timePlayed").innerText = numberToTime(game.timePlayed);
180180
document.getElementById("potionsOpened").innerText = game.potionsOpened[0];
@@ -189,7 +189,7 @@ function updateVisuals() {
189189
document.getElementsByClassName("XPButton")[i].style.border = "4px solid #888";
190190
}
191191
else {
192-
document.getElementsByClassName("XPButton")[i].innerText = "Gain " + Math.floor(XPButtonGains[i] * game.XPPotionMultiplier) + " XP";
192+
document.getElementsByClassName("XPButton")[i].innerText = "Gain " + numberShort(Math.floor(XPButtonGains[i] * game.XPPotionMultiplier)) + " XP";
193193
document.getElementsByClassName("XPButton")[i].style.color = XPButtonColors[i % 12];
194194
document.getElementsByClassName("XPButton")[i].style.border = "4px solid " + XPButtonColors[i % 12];
195195
}
@@ -387,4 +387,19 @@ function openCloseOptionsMenu() {
387387
updateVisuals();
388388
}
389389
else {document.getElementById("optionsMenu").style.display = "none";}
390+
}
391+
392+
function numberShort(x) { //Will abreviate numbers to thousand, million, billion and then scientific notation, works for negative numbers
393+
if (typeof x === 'number' && !isNaN(x)) {
394+
xCeil = Math.ceil(x)
395+
exponent = Math.floor(Math.log10(Math.abs(xCeil))) //Makes sure the number is positive
396+
result = ""
397+
if (exponent >= 12) result = (xCeil / 10 ** exponent).toFixed(2) + " e" + exponent //For over 1t, scientific notation is used
398+
else if (exponent >= 9) result = (xCeil/10 ** 9).toFixed(1) + " B" //Billion (e9)
399+
else if (exponent >= 6) result = (xCeil/10 ** 6).toFixed(1) + " M" //Million (e6)
400+
else if (exponent >= 3) result = (xCeil/10 ** 3).toFixed(1) + " K" //Thousand (e3)
401+
else if (x < 1 && x > -1) result = (x).toFixed(3) //Uses 3 decimal places for -1 < x < 1
402+
else result = (x).toFixed(2) //2 Decimal places between 1 and 1k
403+
return result
404+
}
390405
}

0 commit comments

Comments
 (0)