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

114 lines 3.52 kB
interface SkillDetail { rank?: number; level: number; xp?: number; } interface Skill { level: number; } interface SkillJsonDetail { rank?: number; level: number; xp?: number; } interface OsrsAccountJson { name?: string; main?: { combatLevel?: number; questPoints?: number; skills?: Record<string, SkillJsonDetail>; }; combatLevel?: number; questPoints?: number; skills: Record<string, SkillJsonDetail>; lastManStanding?: BossScore; pvpArena?: BossScore; soulWarsZeal?: BossScore; riftsClosed?: BossScore; colosseumGlory?: BossScore; collectionsLogged?: BossScore; leaguePoints?: BossScore; deadmanPoints?: BossScore; bosses?: Bosses; clues?: Clues; bountyHunter?: BountyHunter; } interface Skills { [skillName: string]: Skill; } interface SkillsDetail { [skillName: string]: SkillDetail; } interface BossScore { rank: number; score: number; } interface Bosses { [bossName: string]: BossScore; } interface ClueScore { rank: number; score: number; } interface Clues { [clueType: string]: ClueScore; } interface BountyHunter { hunterV2?: BossScore; rogueV2?: BossScore; hunter?: BossScore; rogue?: BossScore; } interface OsrsAccountData { name: string; combatLevel: number; questPoints: number; skills: Skills; skillsDetail?: SkillsDetail; bosses?: Bosses; clues?: Clues; bountyHunter?: BountyHunter; lastManStanding?: BossScore; pvpArena?: BossScore; soulWarsZeal?: BossScore; riftsClosed?: BossScore; colosseumGlory?: BossScore; collectionsLogged?: BossScore; leaguePoints?: BossScore; deadmanPoints?: BossScore; } /** * Represents an Old School RuneScape account with various properties and methods to access skills, bosses, clues, and other relevant data. * The class is designed to be initialized from a JSON object that may come from an API response or other data source, and provides methods to retrieve specific information about the account. * It also includes a method to convert the account data back into a JSON format, which can be useful for saving or transmitting the account information. */ declare class OsrsAccount { #private; constructor(data: OsrsAccountData); static fromJson(json: OsrsAccountJson): OsrsAccount; get name(): string; get combatLevel(): number; get questPoints(): number; get skills(): Skills; get skillsDetail(): SkillsDetail | undefined; get bosses(): Bosses | undefined; get clues(): Clues | undefined; get bountyHunter(): BountyHunter | undefined; get lastManStanding(): BossScore | undefined; get pvpArena(): BossScore | undefined; get soulWarsZeal(): BossScore | undefined; get riftsClosed(): BossScore | undefined; get colosseumGlory(): BossScore | undefined; get collectionsLogged(): BossScore | undefined; get leaguePoints(): BossScore | undefined; get deadmanPoints(): BossScore | undefined; getSkill(skillName: string): Skill | undefined; getSkillDetail(skillName: string): SkillDetail | undefined; getBossScore(bossName: string): BossScore | undefined; getClueScore(clueType: string): ClueScore | undefined; toString(): string; toJson(): OsrsAccountData; } export type { Bosses, BossScore, BountyHunter, Clues, ClueScore, OsrsAccountData, Skill, Skills, SkillsDetail }; export { OsrsAccount }; //# sourceMappingURL=OsrsAccount.d.ts.map