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

171 lines 5.22 kB
import { QuestDifficulty, QuestLength, QuestStatus } from "./enums"; import { Requirement } from "./Requirements"; /** * Types and interfaces for the OSRS Quests system * @author James Cerniglia */ /** * Experience reward for completing a quest */ export interface QuestRewardExperience { /** The skill that receives the experience */ skill: string; /** The amount of experience gained */ amount: number; } /** * An item rewarded from completing a quest */ export interface QuestRewardItem { /** The name of the item */ name: string; /** The quantity of the item (defaults to 1 if not specified) */ quantity?: number; /** Additional notes about the item reward (e.g. "choice of one", "untradeable") */ note?: string; id?: number; } /** * A feature/ability unlocked by completing a quest */ export interface QuestRewardUnlock { /** Description of what was unlocked */ description: string; /** Optional URL to wiki page about the unlocked content */ url?: string; } /** * An experience lamp rewarded from a quest */ export interface QuestRewardLamp { /** The amount of experience in the lamp */ amount: number; /** Any restrictions on which skills the lamp can be used on */ skillRestriction?: string | string[]; /** Additional notes about the lamp */ note?: string; } /** * Points awarded for completing a quest */ export interface QuestRewardPoints { /** The type of points (e.g. "Slayer", "Quest") */ type: string; /** The number of points awarded */ amount: number; } /** * A pet rewarded from completing a quest */ export interface QuestRewardPet { /** The name of the pet */ name: string; /** Additional notes about the pet */ note?: string; } /** * Types of recommendations for quests */ export declare const RecommendationType: { Item: string; Travel: string; Tip: string; Level: string; }; /** * A recommendation for completing a quest */ export interface QuestRecommendation { /** The type of recommendation (item, travel, tip, etc.) */ type: string; /** The main name or label */ name: string; /** Quantity if relevant */ quantity?: number; /** Alternatives or options */ alternatives?: string[]; /** Additional notes or explanation */ note?: string; } /** * All possible rewards from completing a quest */ export interface QuestRewards { /** Experience rewards in different skills */ experience?: QuestRewardExperience[]; /** Item rewards */ items?: QuestRewardItem[]; /** Features/abilities unlocked */ unlocks?: QuestRewardUnlock[]; /** Experience lamps awarded */ lamps?: QuestRewardLamp[]; /** Points awarded */ points?: QuestRewardPoints[]; /** Pet rewards */ pets?: QuestRewardPet[]; /** Quest points awarded for completion */ questPoints: number; /** Areas unlocked by completing the quest */ areas?: string[]; /** Miscellaneous rewards or notes */ misc?: string[]; } /** * Represents a quest in Old School RuneScape */ export interface Quest { /** Unique identifier for the quest */ id: number; /** The full name of the quest */ name: string; /** Brief description of the quest's story/objective */ description: string; /** The difficulty rating of the quest */ difficulty: QuestDifficulty; /** Step-by-step guide to complete the quest */ steps: string[]; /** Requirements that must be met to start/complete the quest */ requirements: Requirement[]; /** Current status of the quest for the player */ status: QuestStatus; /** Whether this is a miniquest rather than a full quest */ miniquest: boolean; /** Machine-friendly version of the quest name for internal use */ shortName: string; /** URL to the official OSRS Wiki guide for this quest */ url: string; /** The quest series this belongs to (e.g. 'Elf', 'Mahjarrat') */ series?: string | null; /** Whether this is a members-only quest */ members: boolean; /** Number of quest points awarded for completion * @deprecated Use rewards.questPoints instead */ questPoints: number; /** Approximate time to complete the quest */ length: QuestLength; /** The RuneScape age when this quest was released */ age: string; /** Location where the quest starts */ startLocation: string; /** Items recommended (but not required) to complete the quest */ recommendations: QuestRecommendation[]; /** Recommended (but not required) skill levels */ recommendedSkills: { [skill: string]: number; }; /** Recommended prayers to use during the quest */ recommendedPrayers: string[]; /** All rewards for completing the quest */ rewards: QuestRewards; /** Additional notes about the quest */ notes?: string; /** Alternative names or abbreviations for the quest */ altNames?: string[]; /** Date the quest was originally released */ releaseDate?: string; leadDeveloper?: string; alsoCalled?: string[]; } export { QuestDifficulty, QuestLength, QuestStatus }; //# sourceMappingURL=Quest.d.ts.map