Updated dir structure
This commit is contained in:
48
src/utils/Hypixel/guild.ts
Normal file
48
src/utils/Hypixel/guild.ts
Normal file
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
Code used from the slothpixel project https://github.com/slothpixel/core
|
||||
*/
|
||||
function guildLevel(exp: number): number {
|
||||
const EXP_NEEDED = [
|
||||
100000, 150000, 250000, 500000, 750000, 1000000, 1250000, 1500000,
|
||||
2000000, 2500000, 2500000, 2500000, 2500000, 2500000, 3000000,
|
||||
]
|
||||
|
||||
let level = 0
|
||||
|
||||
// Increments by one from zero to the level cap
|
||||
for (let i = 0; i <= 1000; i += 1) {
|
||||
// need is the required exp to get to the next level
|
||||
let need = 0
|
||||
if (i >= EXP_NEEDED.length) {
|
||||
need = EXP_NEEDED[EXP_NEEDED.length - 1]
|
||||
} else {
|
||||
need = EXP_NEEDED[i]
|
||||
}
|
||||
|
||||
// If the required exp to get to the next level isn't met returns
|
||||
// the current level plus progress towards the next (unused exp/need)
|
||||
// Otherwise increments the level and substracts the used exp from exp var
|
||||
if (exp - need < 0) {
|
||||
return Math.round((level + exp / need) * 100) / 100
|
||||
}
|
||||
level += 1
|
||||
exp -= need
|
||||
}
|
||||
|
||||
// Returns the level cap - currently 1000
|
||||
// If changed here, also change in for loop above
|
||||
return 1000
|
||||
}
|
||||
/*
|
||||
Code used from the hypixel-guild-bot project https://github.com/SimplyNo/hypixel-guild-bot
|
||||
*/
|
||||
function scaledGEXP(input: number): number {
|
||||
if (input <= 200000) return Number(input)
|
||||
if (input <= 700000)
|
||||
return Number(Math.round((input - 200000) / 10 + 200000))
|
||||
if (input > 700000)
|
||||
return Number(Math.round((input - 700000) / 33 + 250000))
|
||||
return 0
|
||||
}
|
||||
|
||||
export { guildLevel, scaledGEXP }
|
||||
Reference in New Issue
Block a user