UNPKG

osrs-tools

Version:

A comprehensive TypeScript library for Old School RuneScape (OSRS) data and utilities, including quest data, skill requirements, and game item information

103 lines 2.9 kB
import { DemonicPactScorer } from "./DemonicPact"; export declare enum LeaguesSeason { Leagues7 = "Leagues 7" } export declare enum CombatStyle { Universal = "Universal", Melee = "Melee", Ranged = "Ranged", Magic = "Magic" } export declare enum PactNodeSize { Minor = "Minor", Major = "Major", Capstone = "Capstone" } export type PactEffectValue = number | string | null; export interface PactEffect { key: string | null; value: PactEffectValue; description: string; } export interface DemonicPactDrawCoord { x: number; y: number; } export interface DemonicPact { id: string; name: string; description: string; rawDescription: string; style: CombatStyle; nodeSize: PactNodeSize; pointCost: number; linkedNodeIds: string[]; effect: PactEffect; drawCoord: DemonicPactDrawCoord; icon: string; } export interface DemonicPactTree { season: LeaguesSeason; displayName: string; totalPointsAvailable: number; rootNodeId: string; source: string; pacts: DemonicPact[]; } export type CombatMasterySkillTree = DemonicPactTree; export type CombatMasteryNode = DemonicPact; export interface UnlockEvaluation { unlockable: boolean; reason?: string; pointsRemaining: number; missingLinkedPactIds?: string[]; } export interface DemonicPactOptimizerOptions { preferredStyles: readonly CombatStyle[]; pointBudget?: number; startingPactIds?: readonly string[]; requiredPactIds?: readonly string[]; excludedPactIds?: readonly string[]; beamWidth?: number; includeRoot?: boolean; scorer?: DemonicPactScorer; } export interface DemonicPactOptimizationResult { selectedPactIds: string[]; unlockOrder: string[]; selectedPacts: DemonicPact[]; spentPoints: number; remainingPoints: number; score: number; unlockableNextPacts: DemonicPact[]; } export interface DemonicPactScoringContext { tree: DemonicPactTree; selectedPactIds: readonly string[]; preferredStyles: readonly CombatStyle[]; } export interface DemonicPactPathingInfo { pactId: string; minimumUnlockHopsFromRoot: number; minimumPointSpendFromRoot: number; minimumUnlockPathPactIds: string[]; } export interface DemonicPactStylePlanningSummary { style: CombatStyle; pactCount: number; capstonePactIds: string[]; totalPointCost: number; cheapestAccessPactId: string; cheapestAccessPointSpend: number; } export interface DemonicPactPlanningData { totalPacts: number; totalPointsAvailable: number; rootPactId: string; capstonePactIds: string[]; leafPactIds: string[]; junctionPactIds: string[]; pathingByPactId: Readonly<Record<string, DemonicPactPathingInfo>>; styleSummaries: Readonly<Record<CombatStyle, DemonicPactStylePlanningSummary>>; } //# sourceMappingURL=DemonicPact.model.d.ts.map