UNPKG

farming-weight

Version:

Tools for calculating farming weight and fortune in Hypixel Skyblock

55 lines (54 loc) 2.49 kB
import { type GardenChipId } from '../../constants/chips.js'; import type { Effect, EffectEnvironment } from '../../effects/types.js'; import type { FarmingPlayer } from '../../player/player.js'; import { FortuneSource } from './base.js'; /** * Generic chip source - turns the chip's `statsPerRarity` table into * `add-stat` effects keyed by the chip's level-derived rarity. * * Skips `Stat.Overbloom` because Overbloom is a virtual stat in the new model, * not an additive number; the dedicated {@link RarefinderChipSource} emits the * correct `add-rare-pct` effect for that case. * * Hypercharge's `tempMultiplierPerLevel` and Mechamind/Synthesis's bespoke * mechanics are NOT modeled here - they remain in the legacy temp-fortune / * tool exp pipelines and are wired in at the calculator level. */ export declare class GenericChipSource extends FortuneSource { readonly id: string; readonly name: string; private readonly chipId; constructor(chipId: GardenChipId); getEffects(player: FarmingPlayer, _env: EffectEnvironment): Effect[]; } /** * Rarefinder Chip - global Overbloom contributor. The legacy implementation * surfaces this as a flat `Stat.Overbloom` value (2/2.5/3 by rarity); in the * effect model it becomes an `add-rare-pct` with a global Overbloom scope and * `relatedStats: [Stat.Overbloom]`, which the resolver consumes both as a * scalar contribution to the virtual Overbloom stat AND as an additive percent * to the rare-drop pipeline. */ export declare class RarefinderChipSource extends FortuneSource { readonly id = "chip:rarefinder"; readonly name: string; getEffects(player: FarmingPlayer, _env: EffectEnvironment): Effect[]; } /** * Class registry of every garden chip keyed by chip id. Hypercharge, * Synthesis, Mechamind, Evergreen, Overdrive, Quickdraw have no stat or * rare-pct contribution; they're either bespoke (temp-fortune multiplier, * tool-exp multiplier) or progress-only and intentionally emit `[]`. */ export declare const GARDEN_CHIP_CLASSES: { readonly cropshot: GenericChipSource; readonly vermin_vaporizer: GenericChipSource; readonly synthesis: GenericChipSource; readonly sowledge: GenericChipSource; readonly mechamind: GenericChipSource; readonly hypercharge: GenericChipSource; readonly evergreen: GenericChipSource; readonly overdrive: GenericChipSource; readonly quickdraw: GenericChipSource; readonly rarefinder: RarefinderChipSource; };