UNPKG

farming-weight

Version:

Tools for calculating farming weight and fortune in Hypixel Skyblock

77 lines (76 loc) 1.98 kB
import { EliteItemDto } from '../fortune/item.js'; import { UpgradeableInfo } from '../fortune/upgradeable.js'; import type { GearSlot } from '../items/armor.js'; import type { FARMING_TOOLS } from '../items/tools.js'; import { Crop } from './crops.js'; import { Stat } from './stats.js'; export declare enum UpgradeReason { NextTier = "next", DeadEnd = "dead", Situational = "situational" } export interface FortuneSource { name: string; fortunePerLevel: number; cropSpecific?: boolean; maxLevel: number; wiki: string; statsPerLevel?: Partial<Record<Stat, number>>; } export interface FortuneSourceProgress { name: string; fortune: number; ratio: number; maxLevel?: number; fortunePerLevel?: number; maxFortune: number; wiki?: string; upgrades?: FortuneUpgrade[]; progress?: FortuneSourceProgress[]; item?: EliteItemDto; info?: UpgradeableInfo; nextInfo?: UpgradeableInfo; maxInfo?: UpgradeableInfo; api?: boolean; } export interface UpgradeCost { items: Record<string, number>; coins?: number; copper?: number; } export declare enum UpgradeCategory { Enchant = "enchant", Rarity = "rarity", Item = "item", Gem = "gem" } export declare enum UpgradeAction { Apply = "apply", Recombobulate = "recombobulate", LevelUp = "levelup" } export interface FortuneUpgradeImprovement { name: string; fortune: number; } export interface FortuneUpgrade { title: string; increase: number; action: UpgradeAction; category: UpgradeCategory; cost?: UpgradeCost; wiki?: string; improvements?: FortuneUpgradeImprovement[]; } export interface Upgrade { id: string; reason: UpgradeReason; cost?: UpgradeCost; why?: string; preffered?: boolean; } export interface InitialItems { tools: Partial<Record<Crop, keyof typeof FARMING_TOOLS>>; armor: Record<GearSlot, string | string[]>; pets: string[]; }