farming-weight
Version:
Tools for calculating farming weight and fortune in Hypixel Skyblock
43 lines • 1.59 kB
JavaScript
import { Stat } from '../constants/stats.js';
export function getFortuneFromEnchant(level, enchant, options, crop) {
if (level <= 0)
return 0;
const tier = enchant.levels?.[level];
if (!tier)
return 0;
let fortune = getFortuneFromTier(tier, options, crop, enchant);
if (enchant.computedLevels && options) {
const computedTier = enchant.computedLevels(options)?.[level];
if (computedTier) {
fortune += getFortuneFromTier(computedTier, options, crop, enchant);
}
}
return fortune;
}
export function getMaxFortuneFromEnchant(enchant, options, crop) {
if (enchant.maxStats) {
return enchant.maxStats[Stat.FarmingFortune] ?? 0;
}
const tier = enchant.levels?.[enchant.maxLevel];
if (!tier)
return 0;
let fortune = getFortuneFromTier(tier, options, crop, enchant);
if (enchant.computedLevels && options) {
const computedTier = enchant.computedLevels(options)?.[enchant.maxLevel];
if (computedTier) {
fortune += getFortuneFromTier(computedTier, options, crop, enchant);
}
}
return fortune;
}
function getFortuneFromTier(tier, options, crop, enchant) {
let fortune = tier.stats?.[Stat.FarmingFortune] ?? 0;
if (options) {
fortune += tier.computed?.[Stat.FarmingFortune]?.(options) ?? 0;
}
if (crop && (!enchant.cropSpecific || enchant.cropSpecific === crop)) {
fortune += tier.cropComputed?.[Stat.FarmingFortune]?.(crop, options) ?? 0;
}
return fortune;
}
//# sourceMappingURL=enchants.js.map