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

69 lines 2.5 kB
"use strict"; /** * Types and interfaces for quest and skill requirements */ Object.defineProperty(exports, "__esModule", { value: true }); exports.RequirementType = void 0; exports.createLevelRequirement = createLevelRequirement; exports.createQuestRequirement = createQuestRequirement; exports.createQuestPointRequirement = createQuestPointRequirement; exports.createItemRequirement = createItemRequirement; /** * Base type for all requirements in OSRS */ var RequirementType; (function (RequirementType) { /** Level requirement for a specific skill */ RequirementType["Level"] = "Level"; /** Required combat level */ RequirementType["CombatLevel"] = "CombatLevel"; /** Required Slayer level */ RequirementType["SlayerLevel"] = "SlayerLevel"; /** Quest that must be completed */ RequirementType["Quest"] = "Quest"; /** Number of quest points needed */ RequirementType["QuestPoint"] = "QuestPoint"; /** Item that must be possessed */ RequirementType["Item"] = "Item"; /** Location that must be accessible */ RequirementType["Location"] = "Location"; /** Slayer reward that must be unlocked */ RequirementType["SlayerUnlock"] = "SlayerUnlock"; })(RequirementType || (exports.RequirementType = RequirementType = {})); /** Helper function to create a level requirement */ function createLevelRequirement(skillName, level, boostable = false, description) { return { type: RequirementType.Level, skillName, level, boostable, description: description || `${level} ${skillName}`, }; } /** Helper function to create a quest requirement */ function createQuestRequirement(questName, description) { return { type: RequirementType.Quest, questName, description: description || `Completion of ${questName}`, }; } /** Helper function to create a quest points requirement */ function createQuestPointRequirement(points, description) { return { type: RequirementType.QuestPoint, points, description: description || `${points} Quest Points`, }; } /** Helper function to create an item requirement */ function createItemRequirement(itemName, quantity = 1, consumed = false, description) { return { type: RequirementType.Item, itemName, quantity, consumed, description: description || `${quantity}x ${itemName}${consumed ? ' (consumed)' : ''}`, }; } //# sourceMappingURL=requirements.js.map