farming-weight
Version:
Tools for calculating farming weight and fortune in Hypixel Skyblock
53 lines • 1.56 kB
JavaScript
import { PERIDOT } from '../constants/gems.js';
import { GemRarity } from '../fortune/item.js';
export function getPeridotFortune(rarity, item) {
const gems = item.gems;
if (!gems)
return 0;
const peridot = PERIDOT[rarity];
if (!peridot)
return 0;
return Object.entries(gems)
.filter(([gem]) => gem.startsWith('PERIDOT'))
.reduce((acc, gem) => acc + peridot[gem[1]], 0);
}
export function getPeridotGems(item) {
const gems = item.gems;
if (!gems)
return [];
return Object.entries(gems)
.filter(([gem]) => gem.startsWith('PERIDOT'))
.map(([, rarity]) => rarity);
}
export function getPeridotGemFortune(rarity, gem) {
return PERIDOT[rarity]?.[gem] ?? 0;
}
export function getNextGemRarity(gem) {
switch (gem) {
case GemRarity.Rough:
return GemRarity.Flawed;
case GemRarity.Flawed:
return GemRarity.Fine;
case GemRarity.Fine:
return GemRarity.Flawless;
case GemRarity.Flawless:
return GemRarity.Perfect;
case GemRarity.Perfect:
return GemRarity.Perfect;
}
}
export function getGemRarityName(rarity) {
switch (rarity) {
case GemRarity.Rough:
return 'Rough';
case GemRarity.Flawed:
return 'Flawed';
case GemRarity.Fine:
return 'Fine';
case GemRarity.Flawless:
return 'Flawless';
case GemRarity.Perfect:
return 'Perfect';
}
}
//# sourceMappingURL=gems.js.map