diff options
Diffstat (limited to 'build/cleaners/skyblock/skills.js')
-rw-r--r-- | build/cleaners/skyblock/skills.js | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/build/cleaners/skyblock/skills.js b/build/cleaners/skyblock/skills.js deleted file mode 100644 index e9b19f8..0000000 --- a/build/cleaners/skyblock/skills.js +++ /dev/null @@ -1,146 +0,0 @@ -// the highest level you can have in each skill -// numbers taken from https://hypixel-skyblock.fandom.com/wiki/Skills -const skillsMaxLevel = { - farming: 60, - mining: 60, - combat: 60, - foraging: 50, - fishing: 50, - enchanting: 60, - alchemy: 50, - taming: 50, - dungeoneering: 50, - carpentry: 50, - runecrafting: 25, - social: 25 -}; -const skillXpTable = [ - 50, - 175, - 375, - 675, - 1175, - 1925, - 2925, - 4425, - 6425, - 9925, - 14925, - 22425, - 32425, - 47425, - 67425, - 97425, - 147425, - 222425, - 322425, - 522425, - 822425, - 1222425, - 1722425, - 2322425, - 3022425, - 3822425, - 4722425, - 5722425, - 6822425, - 8022425, - 9322425, - 10722425, - 12222425, - 13822425, - 15522425, - 17322425, - 19222425, - 21222425, - 23322425, - 25522425, - 27822425, - 30222425, - 32722425, - 35322425, - 38072425, - 40972425, - 44072425, - 47472425, - 51172425, - 55172425, - 59472425, - 64072425, - 68972425, - 74172425, - 79672425, - 85472425, - 91572425, - 97972425, - 104672425, - 111672425 // 60 -]; -const skillXpTableEasier = [ - 50, - 150, - 275, - 435, - 635, - 885, - 1200, - 1600, - 2100, - 2725, - 3510, - 4510, - 5760, - 7325, - 9325, - 11825, - 14950, - 18950, - 23950, - 30200, - 38050, - 47850, - 60100, - 75400, - 94450 // 25 -]; -// for skills that aren't in maxSkills, default to this -const skillsDefaultMaxLevel = 50; -/** - * Get the skill level for the amount of total xp - * @param xp The xp we're finding the level for - * @param easierLevel Whether it should use the alternate leveling xp table (used for cosmetic skills and dungeoneering) - */ -export function levelForSkillXp(xp, maxLevel) { - const xpTable = (maxLevel <= 25 ? skillXpTableEasier : skillXpTable).slice(0, maxLevel); - const skillLevel = [...xpTable].reverse().findIndex(levelXp => xp >= levelXp); - return skillLevel === -1 ? 0 : xpTable.length - skillLevel; -} -export async function cleanSkills(data) { - const skills = []; - for (const item in data) { - if (item.startsWith('experience_skill_')) { - const skillName = item.substr('experience_skill_'.length); - // the amount of total xp you have in this skill - const skillXp = data[item]; - const skillMaxLevel = skillsMaxLevel[skillName] ?? skillsDefaultMaxLevel; - const xpTable = (skillMaxLevel <= 25 ? skillXpTableEasier : skillXpTable).slice(0, skillMaxLevel); - // the level you're at for this skill - const skillLevel = levelForSkillXp(skillXp, skillMaxLevel); - // the total xp required for the previous level - const previousLevelXp = skillLevel >= 1 ? xpTable[skillLevel - 1] : 0; - // the extra xp left over - const skillLevelXp = skillXp - previousLevelXp; - // the amount of extra xp required for this level - const skillLevelXpRequired = xpTable[skillLevel] - previousLevelXp; - skills.push({ - name: skillName, - xp: skillXp, - level: skillLevel, - maxLevel: skillMaxLevel, - levelXp: skillLevelXp, - levelXpRequired: skillLevelXpRequired - }); - } - } - return skills; -} |