aboutsummaryrefslogtreecommitdiff
path: root/build/cleaners/skyblock/skills.js
diff options
context:
space:
mode:
Diffstat (limited to 'build/cleaners/skyblock/skills.js')
-rw-r--r--build/cleaners/skyblock/skills.js146
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;
-}