farming-weight
Version:
Tools for calculating farming weight and fortune in Hypixel Skyblock
45 lines • 1.98 kB
JavaScript
import { Rarity } from '../../constants/reforges.js';
import { Stat } from '../../constants/stats.js';
import { GemRarity } from '../../fortune/item.js';
import { getPeridotFortune, getPeridotGemFortune } from '../../util/gems.js';
import { getUpgradeableGems } from '../upgrades.js';
export const ACCESSORY_FORTUNE_SOURCES = [
{
name: 'Base Stats',
wiki: (accessory) => accessory.info.wiki,
exists: (accessory) => {
return (accessory.getLastItemUpgrade() ?? accessory)?.info?.baseStats?.[Stat.FarmingFortune] !== undefined;
},
max: (accessory) => {
return (accessory.getLastItemUpgrade() ?? accessory)?.info?.baseStats?.[Stat.FarmingFortune] ?? 0;
},
current: (accessory) => {
return accessory.info.baseStats?.[Stat.FarmingFortune] ?? 0;
},
maxStat: (accessory, stat) => {
return (accessory.getLastItemUpgrade() ?? accessory)?.info?.baseStats?.[stat] ?? 0;
},
currentStat: (accessory, stat) => {
return accessory.info.baseStats?.[stat] ?? 0;
},
},
{
name: 'Gemstone Slots',
wiki: () => 'https://w.elitesb.gg/Gemstone_Slot',
exists: (upgradeable) => {
const last = (upgradeable.getLastItemUpgrade() ?? upgradeable)?.info;
return last?.gemSlots?.some((s) => s.slot_type === 'PERIDOT') !== undefined;
},
max: (upgradeable) => {
const last = (upgradeable.getLastItemUpgrade() ?? upgradeable)?.info;
return (0.5 *
(last?.gemSlots?.filter((s) => s.slot_type === 'PERIDOT').length ?? 0) *
getPeridotGemFortune(last?.maxRarity ?? Rarity.Common, GemRarity.Perfect));
},
current: (upgradeable) => {
return 0.5 * getPeridotFortune(upgradeable.rarity, upgradeable.item);
},
upgrades: getUpgradeableGems,
},
];
//# sourceMappingURL=accessorysources.js.map