diff options
| author | Soopyboo32 <49228220+Soopyboo32@users.noreply.github.com> | 2022-09-22 11:20:21 +0800 |
|---|---|---|
| committer | Soopyboo32 <49228220+Soopyboo32@users.noreply.github.com> | 2022-09-22 11:20:21 +0800 |
| commit | a5592334e016b6071ac79262c8ec8bcbcaa63a32 (patch) | |
| tree | ccf98758001ea6a0336e864682b74a785d386a8c /src/utils | |
| parent | f3fdefe9e5e58f23e2ee8e14d6d77d056e09cedd (diff) | |
| download | SoopyV2-a5592334e016b6071ac79262c8ec8bcbcaa63a32.tar.gz SoopyV2-a5592334e016b6071ac79262c8ec8bcbcaa63a32.tar.bz2 SoopyV2-a5592334e016b6071ac79262c8ec8bcbcaa63a32.zip | |
+ bestiary update thing
+ misc fixes
Diffstat (limited to 'src/utils')
| -rw-r--r-- | src/utils/statUtils.js | 57 |
1 files changed, 53 insertions, 4 deletions
diff --git a/src/utils/statUtils.js b/src/utils/statUtils.js index 89b467d..f827454 100644 --- a/src/utils/statUtils.js +++ b/src/utils/statUtils.js @@ -1,13 +1,62 @@ let utils = { - getHotmLevel: getHotmLevel, - getDungeoneeringLevel: getDungeoneeringLevel, - getPetLevel: getPetLevel, - getLevelByXp: getLevelByXp, + getHotmLevel, + getDungeoneeringLevel, + getPetLevel, + getLevelByXp, + getBestiaryTier } module.exports = utils +let bossmobs = new Set() +bossmobs.add("dragon") +bossmobs.add("arachne") +bossmobs.add("headless_horseman") +bossmobs.add("magma_cube_boss") +bossmobs.add("arachne") +bossmobs.add("barbarian_duke_x") +bossmobs.add("bladesoul") +bossmobs.add("mage_outlaw") +bossmobs.add("ashfang") +bossmobs.add("corrupted_protector") + +let islandmobs = new Set() +islandmobs.add("cave_spider") +islandmobs.add("enderman_private") +islandmobs.add("skeleton") +islandmobs.add("slime") +islandmobs.add("spider") +islandmobs.add("witch") +islandmobs.add("zombie") + +let bestiaryData = { + mob: [10, 15, 75, 150, 250, 500, 1500, 2500, 5000, 15000, 25000, 50000, ...(new Array(42 - 13).fill(100000))], + boss: [2, 3, 5, 10, 10, 10, 10, 25, 25, 50, 50, 100, ...(new Array(42 - 13).fill(100))], + private: [10, 15, 75, 150, 250] +} + +function getBestiaryTier(family, kills) { + let type = "mob" + + if (islandmobs.has(family)) type = "private" + if (bossmobs.has(family)) type = "boss" + + let killsLeft = kills + let data = bestiaryData[type] + + let dataI = 0 + while (dataI < data.length && killsLeft >= data[dataI]) { + killsLeft -= data[dataI] + dataI++ + } + + return { + level: dataI, + killsLeft, + killsForNext: data[dataI] || null + } +} let someData = { leveling_xp: { 1: 50, |
