aboutsummaryrefslogtreecommitdiff
path: root/commands/calculate/calcSpeed.js
diff options
context:
space:
mode:
authorNinjune <enderknight537@gmail.com>2022-12-07 21:36:53 -0600
committerNinjune <enderknight537@gmail.com>2022-12-07 21:36:53 -0600
commit1ffc0a89be42fcde95a04a87cc00dbc347b27ece (patch)
tree87ef5251d1fc2a32d495daa8f6a94e173c701f8e /commands/calculate/calcSpeed.js
parent8ad19e54f6c3f44a84dd2565d910c207ffc5bc52 (diff)
downloadcoleweight-1.7.0.tar.gz
coleweight-1.7.0.tar.bz2
coleweight-1.7.0.zip
v1.7.0v1.7.0
Diffstat (limited to 'commands/calculate/calcSpeed.js')
-rw-r--r--commands/calculate/calcSpeed.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/commands/calculate/calcSpeed.js b/commands/calculate/calcSpeed.js
new file mode 100644
index 0000000..1b2eae6
--- /dev/null
+++ b/commands/calculate/calcSpeed.js
@@ -0,0 +1,47 @@
+import constants from "../../util/constants"
+import { parseNotatedInput } from "../../util/helperFunctions"
+const PREFIX = constants.PREFIX
+
+
+export function calcSpeed(powder)
+{
+ let speedLevels = 1,
+ professionalLevels = 1
+
+ if(powder == undefined || parseNotatedInput(powder) == "NI") return ChatLib.chat(constants.CALCULATEERRORMESSAGE)
+ powder = parseNotatedInput(powder)
+
+ while(powder > msPowder(speedLevels) + profPowder(professionalLevels))
+ {
+ if(ms2SpeedPerPowder(speedLevels + 1) > professionalSpeedPerPowder(professionalLevels + 1) && speedLevels < 50)
+ {
+ powder -= msPowder(speedLevels++)
+ }
+ else if (professionalLevels < 140)
+ {
+ powder -= profPowder(professionalLevels++)
+ }
+ else break
+ }
+ return ChatLib.chat(`&bGet &6&l${speedLevels} &bmining speed levels and &6&l${professionalLevels} &bprofessional levels.`)
+}
+
+function ms2SpeedPerPowder(miningSpeedLevel) // 40 speed per level
+{
+ return 40/msPowder(miningSpeedLevel)
+}
+
+function professionalSpeedPerPowder(professionalLevel) // 5 speed per level
+{
+ return 5/profPowder(professionalLevel)
+}
+
+function msPowder(miningSpeedLevel)
+{
+ return Math.floor(Math.pow(miningSpeedLevel+1, 3.2))
+}
+
+function profPowder(professionalLevel)
+{
+ return Math.floor(Math.pow(professionalLevel+1, 2.3))
+} \ No newline at end of file