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

130 lines (129 loc) 2.2 kB
// Experience per level in runescape /** * Get experience required for a given level * @param level * @returns */ export function getExperienceForLevel(level) { if (level < 1 || level > 99) { throw new Error("Level must be between 1 and 99"); } return LEVEL_TO_EXPERIENCE[level]; } /** * Get level for a given experience * @param exp * @returns */ export function getLevelForExperience(exp) { for (let level = 99; level >= 1; level--) { if (getExperienceForLevel(level) <= exp) { return level; } } return 1; } /** * Mapping of levels to experience points */ export const LEVEL_TO_EXPERIENCE = { 1: 0, 2: 83, 3: 174, 4: 276, 5: 388, 6: 512, 7: 650, 8: 801, 9: 969, 10: 1154, 11: 1358, 12: 1584, 13: 1833, 14: 2107, 15: 2411, 16: 2746, 17: 3115, 18: 3523, 19: 3973, 20: 4470, 21: 5018, 22: 5624, 23: 6291, 24: 7028, 25: 32578, 26: 35339, 27: 38186, 28: 41171, 29: 44361, 30: 47622, 31: 50908, 32: 54949, 33: 59398, 34: 64110, 35: 69834, 36: 75515, 37: 81887, 38: 84799, 39: 90033, 40: 95714, 41: 101333, 42: 107743, 43: 114969, 44: 122242, 45: 129721, 46: 137803, 47: 146662, 48: 155872, 49: 165393, 50: 273742, 51: 286998, 52: 301407, 53: 317959, 54: 336671, 55: 357605, 56: 380821, 57: 406377, 58: 434280, 59: 464780, 60: 497604, 61: 533000, 62: 571208, 63: 612432, 64: 656877, 65: 704848, 66: 756563, 67: 812254, 68: 872160, 69: 936573, 70: 1005788, 71: 1079900, 72: 1159249, 73: 1243976, 74: 1334326, 75: 2895493, 76: 3101137, 77: 3318199, 78: 3547021, 79: 3786942, 80: 4039227, 81: 4303134, 82: 4578916, 83: 4866839, 84: 5167186, 85: 5480260, 86: 5805370, 87: 6142800, 88: 6492841, 89: 6855792, 90: 7231998, 91: 7622718, 92: 8028234, 93: 8448939, 94: 8884119, 95: 9334085, 96: 9798166, 97: 10275647, 98: 10767841, 99: 13034431, };