aboutsummaryrefslogtreecommitdiff
path: root/build/cleaners
diff options
context:
space:
mode:
Diffstat (limited to 'build/cleaners')
-rw-r--r--build/cleaners/skyblock/member.js7
-rw-r--r--build/cleaners/skyblock/profile.js27
2 files changed, 32 insertions, 2 deletions
diff --git a/build/cleaners/skyblock/member.js b/build/cleaners/skyblock/member.js
index 218518d..a9a419a 100644
--- a/build/cleaners/skyblock/member.js
+++ b/build/cleaners/skyblock/member.js
@@ -30,6 +30,7 @@ const slayers_1 = require("./slayers");
const zones_1 = require("./zones");
const skills_1 = require("./skills");
const cached = __importStar(require("../../hypixelCached"));
+const constants = __importStar(require("../../constants"));
async function cleanSkyBlockProfileMemberResponseBasic(member, included = null) {
const player = await cached.fetchPlayer(member.uuid);
return {
@@ -49,6 +50,10 @@ async function cleanSkyBlockProfileMemberResponse(member, included = null) {
const player = await cached.fetchPlayer(member.uuid);
if (!player)
return;
+ const fairySouls = fairysouls_1.cleanFairySouls(member);
+ const { max_fairy_souls: maxFairySouls } = await constants.fetchConstantValues();
+ if (fairySouls.total > (maxFairySouls !== null && maxFairySouls !== void 0 ? maxFairySouls : 0))
+ await constants.setConstantValues({ max_fairy_souls: fairySouls.total });
return {
uuid: member.uuid,
username: player.username,
@@ -60,7 +65,7 @@ async function cleanSkyBlockProfileMemberResponse(member, included = null) {
// this is used for leaderboards
rawHypixelStats: (_a = member.stats) !== null && _a !== void 0 ? _a : {},
minions: await minions_1.cleanMinions(member),
- fairy_souls: fairysouls_1.cleanFairySouls(member),
+ fairy_souls: fairySouls,
inventories: inventoriesIncluded ? await inventory_1.cleanInventories(member) : undefined,
objectives: objectives_1.cleanObjectives(member),
skills: skills_1.cleanSkills(member),
diff --git a/build/cleaners/skyblock/profile.js b/build/cleaners/skyblock/profile.js
index ba2c030..2ddcb83 100644
--- a/build/cleaners/skyblock/profile.js
+++ b/build/cleaners/skyblock/profile.js
@@ -1,9 +1,29 @@
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
Object.defineProperty(exports, "__esModule", { value: true });
exports.cleanSkyblockProfileResponse = exports.cleanSkyblockProfileResponseLighter = void 0;
const member_1 = require("./member");
const minions_1 = require("./minions");
const bank_1 = require("./bank");
+const constants = __importStar(require("../../constants"));
/** Return a `CleanProfile` instead of a `CleanFullProfile`, useful when we need to get members but don't want to waste much ram */
async function cleanSkyblockProfileResponseLighter(data) {
// We use Promise.all so it can fetch all the usernames at once instead of waiting for the previous promise to complete
@@ -49,6 +69,11 @@ async function cleanSkyblockProfileResponse(data, options) {
memberMinions.push(member.minions);
}
const minions = minions_1.combineMinionArrays(memberMinions);
+ const { max_minions: maxUniqueMinions } = await constants.fetchConstantValues();
+ const uniqueMinions = minions_1.countUniqueMinions(minions);
+ console.log(uniqueMinions, (maxUniqueMinions !== null && maxUniqueMinions !== void 0 ? maxUniqueMinions : 0), uniqueMinions > (maxUniqueMinions !== null && maxUniqueMinions !== void 0 ? maxUniqueMinions : 0));
+ if (uniqueMinions > (maxUniqueMinions !== null && maxUniqueMinions !== void 0 ? maxUniqueMinions : 0))
+ await constants.setConstantValues({ max_minions: uniqueMinions });
// return more detailed info
return {
uuid: data.profile_id,
@@ -56,7 +81,7 @@ async function cleanSkyblockProfileResponse(data, options) {
members: cleanedMembers,
bank: bank_1.cleanBank(data),
minions: minions,
- minion_count: minions_1.countUniqueMinions(minions)
+ minion_count: uniqueMinions
};
}
exports.cleanSkyblockProfileResponse = cleanSkyblockProfileResponse;