diff options
| author | Ninjune <enderknight537@gmail.com> | 2022-12-07 21:36:53 -0600 |
|---|---|---|
| committer | Ninjune <enderknight537@gmail.com> | 2022-12-07 21:36:53 -0600 |
| commit | 1ffc0a89be42fcde95a04a87cc00dbc347b27ece (patch) | |
| tree | 87ef5251d1fc2a32d495daa8f6a94e173c701f8e /commands/calculate/calcSpeed.js | |
| parent | 8ad19e54f6c3f44a84dd2565d910c207ffc5bc52 (diff) | |
| download | coleweight-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.js | 47 |
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 |
