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

70 lines (69 loc) 4.95 kB
import { LeaguesSeason } from "./DemonicPact.model"; import { LeagueRegionName } from "./LeaguesRegion.model"; const RAGING_ECHOES_REGIONS_SOURCE = "https://oldschool.runescape.wiki/w/Raging_Echoes_League/Areas"; const DEMONIC_PACTS_LEAGUE_REGIONS_SOURCE = "https://oldschool.runescape.wiki/w/Demonic_Pacts_League/Areas"; export const RAGING_ECHOES_REGION_UNLOCK_MILESTONES = [ { unlockNumber: 1, tasksRequired: 90 }, { unlockNumber: 2, tasksRequired: 200 }, { unlockNumber: 3, tasksRequired: 400 }, ]; export const RAGING_ECHOES_REGIONS = { season: LeaguesSeason.Leagues7, displayName: "Raging Echoes League Regions", source: RAGING_ECHOES_REGIONS_SOURCE, maxSelectableRegions: 3, selectableUnlockMilestones: [...RAGING_ECHOES_REGION_UNLOCK_MILESTONES], regions: [ region(LeagueRegionName.Misthalin, true, false, "https://oldschool.runescape.wiki/w/Raging_Echoes_League/Areas/Misthalin"), region(LeagueRegionName.Karamja, false, true, "https://oldschool.runescape.wiki/w/Raging_Echoes_League/Areas/Karamja"), region(LeagueRegionName.Asgarnia, false, false, "https://oldschool.runescape.wiki/w/Raging_Echoes_League/Areas/Asgarnia"), region(LeagueRegionName.FremennikProvince, false, false, "https://oldschool.runescape.wiki/w/Raging_Echoes_League/Areas/Fremennik_Province"), region(LeagueRegionName.Kandarin, false, false, "https://oldschool.runescape.wiki/w/Raging_Echoes_League/Areas/Kandarin"), region(LeagueRegionName.KharidianDesert, false, false, "https://oldschool.runescape.wiki/w/Raging_Echoes_League/Areas/Kharidian_Desert"), region(LeagueRegionName.Morytania, false, false, "https://oldschool.runescape.wiki/w/Raging_Echoes_League/Areas/Morytania"), region(LeagueRegionName.Tirannwn, false, false, "https://oldschool.runescape.wiki/w/Raging_Echoes_League/Areas/Tirannwn"), region(LeagueRegionName.Wilderness, false, false, "https://oldschool.runescape.wiki/w/Raging_Echoes_League/Areas/Wilderness"), region(LeagueRegionName.KebosAndKourend, false, false, "https://oldschool.runescape.wiki/w/Raging_Echoes_League/Areas/Kourend"), region(LeagueRegionName.Varlamore, false, false, "https://oldschool.runescape.wiki/w/Raging_Echoes_League/Areas/Varlamore"), ], }; export const DEMONIC_PACTS_LEAGUE_REGION_UNLOCK_MILESTONES = [{ unlockNumber: 1 }, { unlockNumber: 2 }, { unlockNumber: 3 }]; export const DEMONIC_PACTS_LEAGUE_REGIONS = { season: LeaguesSeason.Leagues7, displayName: "Demonic Pacts League Regions", source: DEMONIC_PACTS_LEAGUE_REGIONS_SOURCE, maxSelectableRegions: 3, selectableUnlockMilestones: [...DEMONIC_PACTS_LEAGUE_REGION_UNLOCK_MILESTONES], regions: [ region(LeagueRegionName.Varlamore, true, false, "https://oldschool.runescape.wiki/w/Demonic_Pacts_League/Areas/Varlamore"), region(LeagueRegionName.Karamja, false, true, "https://oldschool.runescape.wiki/w/Demonic_Pacts_League/Areas/Karamja"), region(LeagueRegionName.Asgarnia, false, false, "https://oldschool.runescape.wiki/w/Demonic_Pacts_League/Areas/Asgarnia"), region(LeagueRegionName.FremennikProvince, false, false, "https://oldschool.runescape.wiki/w/Demonic_Pacts_League/Areas/Fremennik_Province"), region(LeagueRegionName.Kandarin, false, false, "https://oldschool.runescape.wiki/w/Demonic_Pacts_League/Areas/Kandarin"), region(LeagueRegionName.KharidianDesert, false, false, "https://oldschool.runescape.wiki/w/Demonic_Pacts_League/Areas/Kharidian_Desert"), region(LeagueRegionName.Morytania, false, false, "https://oldschool.runescape.wiki/w/Demonic_Pacts_League/Areas/Morytania"), region(LeagueRegionName.Tirannwn, false, false, "https://oldschool.runescape.wiki/w/Demonic_Pacts_League/Areas/Tirannwn"), region(LeagueRegionName.Wilderness, false, false, "https://oldschool.runescape.wiki/w/Demonic_Pacts_League/Areas/Wilderness"), region(LeagueRegionName.KebosAndKourend, false, false, "https://oldschool.runescape.wiki/w/Demonic_Pacts_League/Areas/Kourend"), ], }; export function getRegionByName(regionSet, name) { return regionSet.regions.find((regionData) => regionData.name === name); } export function getStarterRegions(regionSet) { return regionSet.regions.filter((regionData) => regionData.isStarterUnlocked || regionData.isTutorialUnlocked); } export function getSelectableRegions(regionSet) { return regionSet.regions.filter((regionData) => !regionData.isStarterUnlocked && !regionData.isTutorialUnlocked); } export function getTasksRequiredForRegionUnlockNumber(regionSet, unlockNumber) { return regionSet.selectableUnlockMilestones.find((unlockData) => unlockData.unlockNumber === unlockNumber)?.tasksRequired; } function region(name, isStarterUnlocked, isTutorialUnlocked, wikiUrl) { return { name, wikiUrl, isStarterUnlocked, isTutorialUnlocked, }; }