farming-weight
Version:
Tools for calculating farming weight and fortune in Hypixel Skyblock
54 lines • 1.67 kB
JavaScript
import { Stat } from '../constants/stats.js';
import { GemRarity } from '../fortune/item.js';
import { GEMSTONE_SOURCES } from '../items/gems/index.js';
import { gemStat } from '../items/sources/gems.js';
export function getPeridotFortune(rarity, item) {
return getGemStat(item, Stat.FarmingFortune, rarity);
}
export function getGemStat(item, stat, rarity) {
return gemStat(item, stat, rarity);
}
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 GEMSTONE_SOURCES.PERIDOT?.getStat(rarity, gem) ?? 0;
}
export function getNextGemRarity(gem) {
switch (gem) {
case null:
return GemRarity.Rough;
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 null:
return 'None';
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