farming-weight
Version:
Tools for calculating farming weight and fortune in Hypixel Skyblock
79 lines • 2.72 kB
JavaScript
import { Stat } from './stats.js';
export var UpgradeReason;
(function (UpgradeReason) {
UpgradeReason["NextTier"] = "next";
UpgradeReason["DeadEnd"] = "dead";
UpgradeReason["Situational"] = "situational";
})(UpgradeReason || (UpgradeReason = {}));
export function mergeCost(...costs) {
const result = {};
for (const cost of costs) {
addCost(result, cost);
}
return result;
}
function addCost(left, right) {
if (right.items) {
left.items ??= {};
for (const [key, value] of Object.entries(right.items)) {
left.items[key] = (left.items[key] || 0) + value;
}
}
if (right.coins) {
left.coins = (left.coins || 0) + (right.coins || 0);
}
if (right.copper) {
left.copper = (left.copper || 0) + (right.copper || 0);
}
if (right.bits) {
left.bits = (left.bits || 0) + (right.bits || 0);
}
if (right.kernels) {
left.kernels = (left.kernels || 0) + (right.kernels || 0);
}
if (right.medals) {
left.medals ??= {};
for (const [key, value] of Object.entries(right.medals)) {
left.medals[key] = (left.medals[key] || 0) + value;
}
}
if (right.applyCost) {
left.applyCost = addCost(left.applyCost || {}, right.applyCost);
}
return left;
}
export var UpgradeCategory;
(function (UpgradeCategory) {
UpgradeCategory["Enchant"] = "enchantment";
UpgradeCategory["Rarity"] = "rarity";
UpgradeCategory["Item"] = "item";
UpgradeCategory["Gem"] = "gem";
UpgradeCategory["Reforge"] = "reforge";
UpgradeCategory["Plot"] = "plot";
UpgradeCategory["Skill"] = "skill";
UpgradeCategory["CommunityCenter"] = "community_center";
UpgradeCategory["Milestone"] = "milestone";
UpgradeCategory["Anita"] = "anita";
UpgradeCategory["Misc"] = "misc";
UpgradeCategory["Attribute"] = "attribute";
UpgradeCategory["Composter"] = "composter";
UpgradeCategory["Pet"] = "pet";
})(UpgradeCategory || (UpgradeCategory = {}));
export var UpgradeAction;
(function (UpgradeAction) {
UpgradeAction["Apply"] = "apply";
UpgradeAction["Recombobulate"] = "recombobulate";
UpgradeAction["LevelUp"] = "levelup";
UpgradeAction["Purchase"] = "purchase";
UpgradeAction["Consume"] = "consume";
UpgradeAction["Upgrade"] = "upgrade";
UpgradeAction["Unlock"] = "unlock";
})(UpgradeAction || (UpgradeAction = {}));
export function getQueryStats(options, fallback = [Stat.FarmingFortune]) {
if (options?.stats && options.stats.length > 0)
return [...options.stats];
if (options?.stat)
return [options.stat];
return [...fallback];
}
//# sourceMappingURL=upgrades.js.map