aboutsummaryrefslogtreecommitdiff
path: root/commands/calculate
diff options
context:
space:
mode:
authorNinjune x <enderknight537@gmail.com>2023-01-08 02:12:14 -0600
committerNinjune x <enderknight537@gmail.com>2023-01-08 02:12:14 -0600
commit688e13930681bca7881d19468745f7067e9bc5c2 (patch)
tree9e95e59359dd2ae6e2e7761666b99a191bb62a1f /commands/calculate
parent1891ada92ab1911cfaaa7ad0e72c85573f4fcbb6 (diff)
downloadcoleweight-future.tar.gz
coleweight-future.tar.bz2
coleweight-future.zip
v1.8.6future
Diffstat (limited to 'commands/calculate')
-rw-r--r--commands/calculate/calculate.js3
-rw-r--r--commands/calculate/hotmCalc.js58
-rw-r--r--commands/calculate/tick.js17
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