osrs-tools
Version:
A comprehensive TypeScript library for Old School RuneScape (OSRS) data and utilities, including quest data, skill requirements, and game item information
326 lines (325 loc) • 13.3 kB
JavaScript
import { HunterRumour } from "./HunterRumour";
import * as RumourLocation from "./RumourLocation";
import { HunterGuildMasterName } from "./HunterGuildMasterName";
import { GenericLeagueRegion } from "../../leagues";
const TropicalWagtail = {
id: 'tropical-wagtail',
creature: 'Tropical wagtail',
method: 'Bird snare',
locations: [RumourLocation.FELDIP_HUNTER_AREA, RumourLocation.THE_GREAT_CONCH, RumourLocation.TLATI_RAINFOREST],
requiredHunterLevel: 19,
tier: 'Novice',
masterNames: [HunterGuildMasterName.GILMAN.name],
leagueRegions: [GenericLeagueRegion.KANDARIN, GenericLeagueRegion.VARLAMORE],
};
const WildKebbit = {
id: 'wild-kebbit',
creature: 'Wild kebbit',
method: 'Deadfall',
locations: [RumourLocation.PISCATORIS_HUNTER_AREA, RumourLocation.AUBURNVALE],
requiredHunterLevel: 23,
tier: 'Novice',
masterNames: [HunterGuildMasterName.GILMAN.name],
leagueRegions: [GenericLeagueRegion.KANDARIN, GenericLeagueRegion.VARLAMORE],
};
const SapphireGlacialis = {
id: 'sapphire-glacialis',
creature: 'Sapphire glacialis',
method: 'Butterfly net',
locations: [RumourLocation.RELLEKKA_HUNTER_AREA, RumourLocation.FARMING_GUILD, RumourLocation.MONS_GRATIA],
requiredHunterLevel: 25,
tier: 'Novice',
masterNames: [HunterGuildMasterName.GILMAN.name],
leagueRegions: [GenericLeagueRegion.FREMENNIK, GenericLeagueRegion.KOUREND, GenericLeagueRegion.VARLAMORE],
};
const SwampLizard = {
id: 'swamp-lizard',
creature: 'Swamp lizard',
method: 'Net trap',
locations: [RumourLocation.CANIFIS_HUNTER_AREA, RumourLocation.NORTH_WEST_OF_SLEPE],
requiredHunterLevel: 29,
tier: 'Adept',
masterNames: [HunterGuildMasterName.GILMAN.name, HunterGuildMasterName.CERVUS.name],
leagueRegions: [GenericLeagueRegion.MORYTANIA],
};
const SpinedLarupia = {
id: 'spined-larupia',
creature: 'Spined larupia',
method: 'Spiked pit',
locations: [RumourLocation.FELDIP_HUNTER_AREA,],
requiredHunterLevel: 31,
tier: 'Expert',
masterNames: [HunterGuildMasterName.GILMAN.name, 'Aco'],
leagueRegions: [GenericLeagueRegion.KANDARIN],
};
const BarbTailedKebbit = {
id: 'barb-tailed-kebbit',
creature: 'Barb-tailed kebbit',
method: 'Deadfall',
locations: [RumourLocation.FELDIP_HUNTER_AREA],
requiredHunterLevel: 33,
tier: 'Novice',
masterNames: [HunterGuildMasterName.GILMAN.name],
leagueRegions: [GenericLeagueRegion.KANDARIN],
};
const SnowyKnight = {
id: 'snowy-knight',
creature: 'Snowy knight',
method: 'Butterfly net',
locations: [RumourLocation.FELDIP_HUNTER_AREA, RumourLocation.WEISS, RumourLocation.FARMING_GUILD, RumourLocation.MONS_GRATIA],
requiredHunterLevel: 35,
tier: 'Expert',
masterNames: [HunterGuildMasterName.GILMAN.name, HunterGuildMasterName.ACO.name],
leagueRegions: [GenericLeagueRegion.FREMENNIK, GenericLeagueRegion.KANDARIN, GenericLeagueRegion.KOUREND, GenericLeagueRegion.VARLAMORE],
};
const PricklyKebbit = {
id: 'prickly-kebbit',
creature: 'Prickly kebbit',
method: 'Deadfall',
locations: [RumourLocation.PISCATORIS_HUNTER_AREA],
requiredHunterLevel: 37,
tier: 'Novice',
masterNames: [HunterGuildMasterName.GILMAN.name],
leagueRegions: [GenericLeagueRegion.KANDARIN],
};
const RazorBackedKebbit = {
id: 'razor-backed-kebbit',
creature: 'Razor-backed kebbit',
method: 'Tracking',
locations: [RumourLocation.PISCATORIS_HUNTER_AREA],
requiredHunterLevel: 49,
tier: 'Adept',
masterNames: [HunterGuildMasterName.GILMAN.name, HunterGuildMasterName.CERVUS.name],
leagueRegions: [GenericLeagueRegion.KANDARIN],
};
const SabreToothedKebbit = {
id: 'sabre-toothed-kebbit',
creature: 'Sabre-toothed kebbit',
method: 'Deadfall',
locations: [RumourLocation.RELLEKKA_HUNTER_AREA],
requiredHunterLevel: 51,
tier: 'Expert',
masterNames: [HunterGuildMasterName.GILMAN.name, HunterGuildMasterName.CERVUS.name, HunterGuildMasterName.ORNUS.name],
leagueRegions: [GenericLeagueRegion.FREMENNIK],
};
const GreyChinchompa = {
id: 'grey-chinchompa',
creature: 'Grey chinchompa',
method: 'Box trap',
locations: [RumourLocation.PISCATORIS_HUNTER_AREA, RumourLocation.KOUREND_WOODLAND, RumourLocation.ISLE_OF_SOULS],
requiredHunterLevel: 53,
tier: 'Expert',
masterNames: [HunterGuildMasterName.GILMAN.name, HunterGuildMasterName.CERVUS.name, HunterGuildMasterName.ACO.name, HunterGuildMasterName.TECO.name],
leagueRegions: [GenericLeagueRegion.KANDARIN, GenericLeagueRegion.KOUREND, GenericLeagueRegion.MISTHALIN],
};
const SabreToothedKyatt = {
id: 'sabre-toothed-kyatt',
creature: 'Sabre-toothed kyatt',
method: 'Spiked pit',
locations: [RumourLocation.RELLEKKA_HUNTER_AREA],
requiredHunterLevel: 55,
tier: 'Expert',
masterNames: [HunterGuildMasterName.GILMAN.name, HunterGuildMasterName.ORNUS.name, HunterGuildMasterName.ACO.name, HunterGuildMasterName.TECO.name],
leagueRegions: [GenericLeagueRegion.FREMENNIK],
};
const DarkKebbit = {
id: 'dark-kebbit',
creature: 'Dark kebbit',
method: 'Falconry',
locations: [RumourLocation.PISCATORIS_FALCONRY_AREA],
requiredHunterLevel: 57,
tier: 'Expert',
masterNames: [HunterGuildMasterName.GILMAN.name, HunterGuildMasterName.CERVUS.name, HunterGuildMasterName.ACO.name, HunterGuildMasterName.TECO.name],
leagueRegions: [GenericLeagueRegion.KANDARIN],
};
const PyreFox = {
id: 'pyre-fox',
creature: 'Pyre fox',
method: 'Deadfall',
locations: [RumourLocation.AVIUM_SAVANNAH],
requiredHunterLevel: 57,
tier: 'Expert',
masterNames: [HunterGuildMasterName.GILMAN.name, HunterGuildMasterName.CERVUS.name, HunterGuildMasterName.ORNUS.name],
leagueRegions: [GenericLeagueRegion.VARLAMORE],
};
const RedSalamander = {
id: 'red-salamander',
creature: 'Red salamander',
method: 'Net trap',
locations: [RumourLocation.OURANIA_HUNTER_AREA, RumourLocation.CHARRED_ISLAND],
requiredHunterLevel: 59,
tier: 'Master',
masterNames: [HunterGuildMasterName.GILMAN.name, HunterGuildMasterName.ACO.name, HunterGuildMasterName.TECO.name, HunterGuildMasterName.WOLF.name],
leagueRegions: [GenericLeagueRegion.KANDARIN],
};
const RedChinchompa = {
id: 'red-chinchompa',
creature: 'Red chinchompa',
method: 'Box trap',
locations: [RumourLocation.CHINCHOMPA_ISLAND, RumourLocation.FELDIP_HUNTER_AREA, RumourLocation.THE_GREAT_CONCH, RumourLocation.GWENITH_HUNTER_AREA, RumourLocation.RED_CHINCHOMPA_HUNTING_GROUND, RumourLocation.TLATI_RAINFOREST],
requiredHunterLevel: 63,
tier: 'Master',
masterNames: [HunterGuildMasterName.GILMAN.name, HunterGuildMasterName.CERVUS.name, HunterGuildMasterName.ORNUS.name, HunterGuildMasterName.ACO.name, HunterGuildMasterName.TECO.name, HunterGuildMasterName.WOLF.name],
leagueRegions: [GenericLeagueRegion.KANDARIN, GenericLeagueRegion.TIRANNWN, GenericLeagueRegion.VARLAMORE],
};
const DashingKebbit = {
id: 'dashing-kebbit',
creature: 'Dashing kebbit',
method: 'Falconry',
locations: [RumourLocation.PISCATORIS_FALCONRY_AREA],
requiredHunterLevel: 69,
tier: 'Master',
masterNames: [HunterGuildMasterName.GILMAN.name, HunterGuildMasterName.ACO.name, HunterGuildMasterName.TECO.name, HunterGuildMasterName.WOLF.name],
leagueRegions: [GenericLeagueRegion.KANDARIN],
};
const SunlightAntelope = {
id: 'sunlight-antelope',
creature: 'Sunlight antelope',
method: 'Spiked pit',
locations: [RumourLocation.AVIUM_SAVANNAH],
requiredHunterLevel: 72,
tier: 'Master',
masterNames: ['Aco', 'Teco', 'Wolf'],
leagueRegions: [GenericLeagueRegion.VARLAMORE],
};
const SunlightMoth = {
id: 'sunlight-moth',
creature: 'Sunlight moth',
method: 'Butterfly net',
locations: [RumourLocation.AVIUM_SAVANNAH, RumourLocation.NEYPOTZLI],
requiredHunterLevel: 75,
tier: 'Master',
masterNames: [HunterGuildMasterName.GILMAN.name, HunterGuildMasterName.CERVUS.name, HunterGuildMasterName.TECO.name],
leagueRegions: [GenericLeagueRegion.VARLAMORE],
};
const TecuSalamander = {
id: 'tecu-salamander',
creature: 'Tecu salamander',
method: 'Net trap',
locations: [RumourLocation.RALOS_RISE],
requiredHunterLevel: 79,
tier: 'Master',
masterNames: ['Aco', 'Wolf'],
leagueRegions: [GenericLeagueRegion.VARLAMORE],
};
const Herbiboar = {
id: 'herbiboar',
creature: 'Herbiboar',
method: 'Tracking',
locations: [RumourLocation.MUSHROOM_FOREST_ON_FOSSIL_ISLAND],
requiredHunterLevel: 80,
tier: 'Master',
masterNames: ['Teco', 'Wolf'],
questRequirements: ['Bone Voyage'],
notes: 'Also requires Herblore 31',
leagueRegions: [GenericLeagueRegion.MISTHALIN],
};
const EmbertailedJerboa = {
id: 'embertailed-jerboa',
creature: 'Embertailed jerboa',
method: 'Box trap',
locations: [RumourLocation.WEST_OF_HUNTER_GUILD, RumourLocation.NORTH_WEST_OF_THE_LOCUS_OASIS],
requiredHunterLevel: 39,
tier: 'Expert',
masterNames: [HunterGuildMasterName.GILMAN.name, HunterGuildMasterName.ACO.name],
leagueRegions: [GenericLeagueRegion.VARLAMORE],
};
const HornedGraahk = {
id: 'horned-graahk',
creature: 'Horned graahk',
method: 'Spiked pit',
locations: [RumourLocation.KARAMJA_HUNTER_AREA],
requiredHunterLevel: 41,
tier: 'Adept',
masterNames: [HunterGuildMasterName.GILMAN.name, HunterGuildMasterName.CERVUS.name],
leagueRegions: [GenericLeagueRegion.KARAMJA],
};
const SpottedKebbit = {
id: 'spotted-kebbit',
creature: 'Spotted kebbit',
method: 'Falconry',
locations: [RumourLocation.PISCATORIS_FALCONRY_AREA],
requiredHunterLevel: 43,
tier: 'Adept',
masterNames: [HunterGuildMasterName.GILMAN.name, HunterGuildMasterName.CERVUS.name, HunterGuildMasterName.ORNUS.name],
leagueRegions: [GenericLeagueRegion.KANDARIN],
};
const BlackWarlock = {
id: 'black-warlock',
creature: 'Black warlock',
method: 'Butterfly net',
locations: [RumourLocation.FELDIP_HUNTER_AREA, RumourLocation.FARMING_GUILD, RumourLocation.TLATI_RAINFOREST, RumourLocation.SHIMMERING_ATOLL, RumourLocation.CRYPT_OF_TONALI_HUNTER_AREA, RumourLocation.UZER_HUNTER_AREA, RumourLocation.NECROPOLIS_HUNTER_AREA],
requiredHunterLevel: 45,
tier: 'Adept',
masterNames: [HunterGuildMasterName.GILMAN.name, HunterGuildMasterName.CERVUS.name],
leagueRegions: [GenericLeagueRegion.KANDARIN, GenericLeagueRegion.KOUREND, GenericLeagueRegion.VARLAMORE],
};
const OrangeSalamander = {
id: 'orange-salamander',
creature: 'Orange salamander',
method: 'Net trap',
locations: [RumourLocation.THE_GREAT_CONCH, RumourLocation.UZER_HUNTER_AREA, RumourLocation.NECROPOLIS_HUNTER_AREA],
requiredHunterLevel: 47,
tier: 'Expert',
masterNames: [HunterGuildMasterName.GILMAN.name, HunterGuildMasterName.CERVUS.name, HunterGuildMasterName.ORNUS.name],
leagueRegions: [GenericLeagueRegion.DESERT],
};
const MoonlightMoth = {
id: 'moonlight-moth',
creature: 'Moonlight moth',
method: 'Butterfly net',
locations: [RumourLocation.THE_BURROW, RumourLocation.NEYPOTZLI, RumourLocation.TONALI_CAVERN],
requiredHunterLevel: 85,
tier: 'Master',
masterNames: ['Aco', 'Wolf'],
leagueRegions: [GenericLeagueRegion.VARLAMORE],
};
const MoonlightAntelope = {
id: 'moonlight-antelope',
creature: 'Moonlight antelope',
method: 'Spiked pit',
locations: [RumourLocation.THE_BURROW],
requiredHunterLevel: 91,
tier: 'Master',
masterNames: ['Wolf'],
questRequirements: ['At First Light'],
leagueRegions: [GenericLeagueRegion.VARLAMORE],
};
/**
* Registry of all the Rumours in the Hunter Guild, along with their properties such as the creature they pertain to,
* the method of hunting,
* locations where the creature can be found, required Hunter level, tier, which masters can assign them,
* and any quest requirements or notes.
* This registry serves as the central source of truth for all Hunter Rumours and is used by the HunterGuildMaster
* class to determine which rumours can be assigned to players based on their eligibility.
*/
export const HUNTER_RUMOUR_REGISTRY = [
new HunterRumour(TropicalWagtail),
new HunterRumour(WildKebbit),
new HunterRumour(SapphireGlacialis),
new HunterRumour(SwampLizard),
new HunterRumour(SpinedLarupia),
new HunterRumour(BarbTailedKebbit),
new HunterRumour(SnowyKnight),
new HunterRumour(PricklyKebbit),
new HunterRumour(EmbertailedJerboa),
new HunterRumour(HornedGraahk),
new HunterRumour(SpottedKebbit),
new HunterRumour(BlackWarlock),
new HunterRumour(OrangeSalamander),
new HunterRumour(RazorBackedKebbit),
new HunterRumour(SabreToothedKebbit),
new HunterRumour(GreyChinchompa),
new HunterRumour(SabreToothedKyatt),
new HunterRumour(DarkKebbit),
new HunterRumour(PyreFox),
new HunterRumour(RedSalamander),
new HunterRumour(RedChinchompa),
new HunterRumour(DashingKebbit),
new HunterRumour(SunlightAntelope),
new HunterRumour(SunlightMoth),
new HunterRumour(TecuSalamander),
new HunterRumour(Herbiboar),
new HunterRumour(MoonlightMoth),
new HunterRumour(MoonlightAntelope),
];