diff options
author | Ninjune x <enderknight537@gmail.com> | 2023-01-08 02:12:14 -0600 |
---|---|---|
committer | Ninjune x <enderknight537@gmail.com> | 2023-01-08 02:12:14 -0600 |
commit | 688e13930681bca7881d19468745f7067e9bc5c2 (patch) | |
tree | 9e95e59359dd2ae6e2e7761666b99a191bb62a1f /commands/calculate | |
parent | 1891ada92ab1911cfaaa7ad0e72c85573f4fcbb6 (diff) | |
download | coleweight-future.tar.gz coleweight-future.tar.bz2 coleweight-future.zip |
v1.8.6future
Diffstat (limited to 'commands/calculate')
-rw-r--r-- | commands/calculate/calculate.js | 3 | ||||
-rw-r--r-- | commands/calculate/hotmCalc.js | 58 | ||||
-rw-r--r-- | commands/calculate/tick.js | 17 |
3 files changed, 52 insertions, 26 deletions
diff --git a/commands/calculate/calculate.js b/commands/calculate/calculate.js index 3d9d750..8ed05bf 100644 --- a/commands/calculate/calculate.js +++ b/commands/calculate/calculate.js @@ -23,7 +23,8 @@ export function calculate(args) calcSpeed(args[1]) break case "help": - ChatLib.chat("&b--------------[ &a&l/cw calculate &b]--------------") + ChatLib.chat("&b--------------[ &a&l/cw calculate &b]------------") + ChatLib.chat("&7(Hover over command to see usage.)") helpCommand("calculate tick", "Calculates tick data.", "(mining speed) (('r','jade', etc) || breaking power of block))") helpCommand("calculate speed", "Calculates the ratio of mining speed 2 to professional with a certain amount of powder.", "(powder)") helpCommand("calculate hotm", "Calculates powder between two levels of a certain perk.", "(perk) (minlevel) [maxlevel]") diff --git a/commands/calculate/hotmCalc.js b/commands/calculate/hotmCalc.js index 583b2b8..1b449d4 100644 --- a/commands/calculate/hotmCalc.js +++ b/commands/calculate/hotmCalc.js @@ -16,28 +16,35 @@ export function hotmCalc(hotmName, minLevel, maxLevel) } return } - if(maxLevel == undefined) - { - maxLevel = minLevel - minLevel = 1 - } + new Thread(() => { + if(maxLevel == undefined) + { + maxLevel = minLevel + minLevel = 2 + } - if(minLevel != parseInt(minLevel) || maxLevel != parseInt(maxLevel)) return ChatLib.chat(constants.CALCULATEERRORMESSAGE) + if(minLevel != parseInt(minLevel) || maxLevel != parseInt(maxLevel)) return ChatLib.chat(constants.CALCULATEERRORMESSAGE) - minLevel = parseInt(minLevel) - maxLevel = parseInt(maxLevel) - let hotmObjectToFind = findHotmObject(hotmName) - if(hotmObjectToFind == undefined) return ChatLib.chat(`${PREFIX}&cDid not find HOTM perk with name '${hotmName}'!`) + minLevel = parseInt(minLevel) + maxLevel = parseInt(maxLevel) + let hotmObjectToFind = findHotmObject(hotmName) + if(hotmObjectToFind == undefined) return ChatLib.chat(`${PREFIX}&cDid not find HOTM perk with name '${hotmName}'!`) - maxLevel = (maxLevel < hotmObjectToFind.maxLevel ? maxLevel : hotmObjectToFind.maxLevel) + maxLevel = (maxLevel < hotmObjectToFind.maxLevel ? maxLevel : hotmObjectToFind.maxLevel) + let powderSum, + reward = findReward(hotmObjectToFind.rewardFormula, minLevel, maxLevel) - let powderSum = findCost(hotmObjectToFind.costFormula, minLevel, maxLevel), - reward = findReward(hotmObjectToFind.rewardFormula, minLevel, maxLevel) - - ChatLib.chat("") - ChatLib.chat(`&6${hotmObjectToFind.nameStringed} ${minLevel} - ${maxLevel} &bwill cost &6&l${addCommas(Math.round(powderSum))} &6${hotmObjectToFind.powderType[0].toUpperCase() + hotmObjectToFind.powderType.slice(1)} &bpowder.`) - ChatLib.chat(`&6${hotmObjectToFind.nameStringed} ${minLevel} - ${maxLevel} &bwill give &6&l${addCommas(Math.round(reward * 100) / 100)} &bof whatever reward is listed.`) - ChatLib.chat("") + if(hotmObjectToFind.names[0] == "fortunate") + powderSum = findCost(undefined, minLevel, maxLevel, true) + else + powderSum = findCost(hotmObjectToFind.costFormula, minLevel, maxLevel) + + + ChatLib.chat("") + ChatLib.chat(`&6${hotmObjectToFind.nameStringed} ${minLevel} - ${maxLevel} &bwill cost &6&l${addCommas(Math.round(powderSum))} &6${hotmObjectToFind.powderType[0].toUpperCase() + hotmObjectToFind.powderType.slice(1)} &bpowder.`) + ChatLib.chat(`&6${hotmObjectToFind.nameStringed} ${minLevel} - ${maxLevel} &bwill give &6&l${addCommas(Math.round(reward * 100) / 100)} &bof whatever reward is listed.`) + ChatLib.chat("") + }).start() } export function findHotmObject(hotmName) @@ -46,21 +53,26 @@ export function findHotmObject(hotmName) for(let i = 0; i < hotmData.length; i++) { - if(hotmData[i].names.includes(hotmName)) + if(hotmData[i].names.includes(hotmName.toLowerCase())) return hotmData[i] } } -export function findCost(costFormula, minLevel, maxLevel) +export function findCost(costFormula, minLevel, maxLevel, fortunate = false) { let powderSum = 0 - for(let currentLevel = minLevel; currentLevel < maxLevel; currentLevel++) // finds cost - powderSum += eval(costFormula.replace("currentLevel", currentLevel)) + if(fortunate) + powderSum = Math.pow(maxLevel+1, 3.05) + else + { + for(let currentLevel = minLevel; currentLevel <= maxLevel; currentLevel++) // finds cost + powderSum += eval(costFormula.replace("currentLevel", currentLevel)) + } return powderSum } export function findReward(rewardFormula, minLevel, maxLevel) { - return eval(rewardFormula.replace("Level", 1+maxLevel-minLevel)) + return eval(rewardFormula.replace("Level", 2+maxLevel-minLevel)) }
\ No newline at end of file diff --git a/commands/calculate/tick.js b/commands/calculate/tick.js index f8b2433..674aa91 100644 --- a/commands/calculate/tick.js +++ b/commands/calculate/tick.js @@ -23,10 +23,23 @@ export function tickCommand(speed, block) export function findTick(speed, block) { let ticks = {err: false}, - strength = findStrength(block) + strength = findStrength(block), + tickStrength = strength-200 ticks.currentBlockTick = strength*30/speed - ticks.currentShardTick = (strength-200)*30/speed + ticks.currentShardTick = tickStrength*30/speed + + if(ticks.currentBlockTick < 4.5) + { + if(ticks.currentBlockTick > 0.5) + ticks.currentBlockTick = 4 + } + + if(ticks.currentShardTick < 4.5) + { + if(ticks.currentShardTick > 0.5) + ticks.currentShardTick = 4 + } if(strength < 1) return ticks.err = true |