osrs-tools 0.2.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/README.md +39 -66
  2. package/dist/Requirement.d.ts +65 -0
  3. package/dist/Requirement.js +105 -0
  4. package/dist/account/OsrsAccount.d.ts +80 -0
  5. package/dist/account/OsrsAccount.js +188 -0
  6. package/dist/account/Skill.d.ts +25 -0
  7. package/dist/account/Skill.js +29 -0
  8. package/dist/misc/Item.d.ts +7 -0
  9. package/dist/misc/Item.js +12 -0
  10. package/dist/quest/Quest.d.ts +73 -0
  11. package/dist/quest/Quest.js +10 -0
  12. package/dist/quest/QuestTool.d.ts +36 -0
  13. package/dist/quest/QuestTool.js +137 -0
  14. package/dist/quest/all/AHandInTheSand.d.ts +3 -0
  15. package/dist/quest/all/AHandInTheSand.js +46 -0
  16. package/dist/quest/all/AKingdomDivided.d.ts +3 -0
  17. package/dist/quest/all/AKingdomDivided.js +56 -0
  18. package/dist/quest/all/APorcineOfInterest.d.ts +3 -0
  19. package/dist/quest/all/APorcineOfInterest.js +47 -0
  20. package/dist/quest/all/ASoulsBane.d.ts +3 -0
  21. package/dist/quest/all/ASoulsBane.js +42 -0
  22. package/dist/quest/all/ATailOfTwoCats.d.ts +3 -0
  23. package/dist/quest/all/ATailOfTwoCats.js +37 -0
  24. package/dist/quest/all/ATasteOfHope.d.ts +3 -0
  25. package/dist/quest/all/ATasteOfHope.js +39 -0
  26. package/dist/quest/all/ATheatreOfBlood.d.ts +3 -0
  27. package/dist/quest/all/ATheatreOfBlood.js +38 -0
  28. package/dist/quest/all/AnimalMagnetism.d.ts +3 -0
  29. package/dist/quest/all/AnimalMagnetism.js +45 -0
  30. package/dist/quest/all/AnotherSliceOfHAM.d.ts +3 -0
  31. package/dist/quest/all/AnotherSliceOfHAM.js +42 -0
  32. package/dist/quest/all/BelowIceMountain.d.ts +3 -0
  33. package/dist/quest/all/BelowIceMountain.js +47 -0
  34. package/dist/quest/all/BetweenARock.d.ts +3 -0
  35. package/dist/quest/all/BetweenARock.js +43 -0
  36. package/dist/quest/all/BigChompyBirdHunting.d.ts +3 -0
  37. package/dist/quest/all/BigChompyBirdHunting.js +43 -0
  38. package/dist/quest/all/Biohazard.d.ts +3 -0
  39. package/dist/quest/all/Biohazard.js +41 -0
  40. package/dist/quest/all/BlackKnightsFortress.d.ts +3 -0
  41. package/dist/quest/all/BlackKnightsFortress.js +39 -0
  42. package/dist/quest/all/BoneVoyage.d.ts +3 -0
  43. package/dist/quest/all/BoneVoyage.js +39 -0
  44. package/dist/quest/all/CabinFever.d.ts +3 -0
  45. package/dist/quest/all/CabinFever.js +43 -0
  46. package/dist/quest/all/ClientOfKourend.d.ts +3 -0
  47. package/dist/quest/all/ClientOfKourend.js +39 -0
  48. package/dist/quest/all/ClockTower.d.ts +3 -0
  49. package/dist/quest/all/ClockTower.js +39 -0
  50. package/dist/quest/all/ColdWar.d.ts +3 -0
  51. package/dist/quest/all/ColdWar.js +44 -0
  52. package/dist/quest/all/Contact.d.ts +3 -0
  53. package/dist/quest/all/Contact.js +42 -0
  54. package/dist/quest/all/CookAssistant.d.ts +3 -0
  55. package/dist/quest/all/CookAssistant.js +51 -0
  56. package/dist/quest/all/CooksAssistant.d.ts +3 -0
  57. package/dist/quest/all/CooksAssistant.js +42 -0
  58. package/dist/quest/all/CreatureOfFenkenstrain.d.ts +3 -0
  59. package/dist/quest/all/CreatureOfFenkenstrain.js +42 -0
  60. package/dist/quest/all/DarknessOfHallowvale.d.ts +3 -0
  61. package/dist/quest/all/DarknessOfHallowvale.js +44 -0
  62. package/dist/quest/all/DeathPlateau.d.ts +3 -0
  63. package/dist/quest/all/DeathPlateau.js +42 -0
  64. package/dist/quest/all/DeathToTheDorgeshuun.d.ts +3 -0
  65. package/dist/quest/all/DeathToTheDorgeshuun.js +43 -0
  66. package/dist/quest/all/DemonSlayer.d.ts +3 -0
  67. package/dist/quest/all/DemonSlayer.js +39 -0
  68. package/dist/quest/all/DesertTreasure.d.ts +14 -0
  69. package/dist/quest/all/DesertTreasure.js +15 -0
  70. package/dist/quest/all/DeviousMinds.d.ts +3 -0
  71. package/dist/quest/all/DeviousMinds.js +44 -0
  72. package/dist/quest/all/DoricQuest.d.ts +16 -0
  73. package/dist/quest/all/DoricQuest.js +20 -0
  74. package/dist/quest/all/DoricsQuest.d.ts +3 -0
  75. package/dist/quest/all/DoricsQuest.js +42 -0
  76. package/dist/quest/all/DragonSlayer.d.ts +3 -0
  77. package/dist/quest/all/DragonSlayer.js +43 -0
  78. package/dist/quest/all/DragonSlayerII.d.ts +3 -0
  79. package/dist/quest/all/DragonSlayerII.js +45 -0
  80. package/dist/quest/all/DreamMentor.d.ts +16 -0
  81. package/dist/quest/all/DreamMentor.js +21 -0
  82. package/dist/quest/all/DruidicRitual.d.ts +3 -0
  83. package/dist/quest/all/DruidicRitual.js +42 -0
  84. package/dist/quest/all/DwarfCannon.d.ts +3 -0
  85. package/dist/quest/all/DwarfCannon.js +42 -0
  86. package/dist/quest/all/EadgarsRuse.d.ts +3 -0
  87. package/dist/quest/all/EadgarsRuse.js +42 -0
  88. package/dist/quest/all/EaglesPeak.d.ts +3 -0
  89. package/dist/quest/all/EaglesPeak.js +42 -0
  90. package/dist/quest/all/ElementalWorkshopI.d.ts +3 -0
  91. package/dist/quest/all/ElementalWorkshopI.js +43 -0
  92. package/dist/quest/all/ElementalWorkshopII.d.ts +3 -0
  93. package/dist/quest/all/ElementalWorkshopII.js +43 -0
  94. package/dist/quest/all/EnakhrasLament.d.ts +3 -0
  95. package/dist/quest/all/EnakhrasLament.js +39 -0
  96. package/dist/quest/all/EnlightenedJourney.d.ts +3 -0
  97. package/dist/quest/all/EnlightenedJourney.js +39 -0
  98. package/dist/quest/all/FairytaleIGrowingPains.d.ts +3 -0
  99. package/dist/quest/all/FairytaleIGrowingPains.js +39 -0
  100. package/dist/quest/all/FairytaleIICureAQueen.d.ts +3 -0
  101. package/dist/quest/all/FairytaleIICureAQueen.js +39 -0
  102. package/dist/quest/all/FamilyCrest.d.ts +3 -0
  103. package/dist/quest/all/FamilyCrest.js +39 -0
  104. package/dist/quest/all/FightArena.d.ts +3 -0
  105. package/dist/quest/all/FightArena.js +39 -0
  106. package/dist/quest/all/FishingContest.d.ts +3 -0
  107. package/dist/quest/all/FishingContest.js +39 -0
  108. package/dist/quest/all/ForgettableTale.d.ts +3 -0
  109. package/dist/quest/all/ForgettableTale.js +39 -0
  110. package/dist/quest/all/GardenOfTranquillity.d.ts +3 -0
  111. package/dist/quest/all/GardenOfTranquillity.js +39 -0
  112. package/dist/quest/all/GertrudesCat.d.ts +3 -0
  113. package/dist/quest/all/GertrudesCat.js +39 -0
  114. package/dist/quest/all/GettingAhead.d.ts +3 -0
  115. package/dist/quest/all/GettingAhead.js +39 -0
  116. package/dist/quest/all/GhostsAhoy.d.ts +3 -0
  117. package/dist/quest/all/GhostsAhoy.js +39 -0
  118. package/dist/quest/all/GoblinDiplomacy.d.ts +3 -0
  119. package/dist/quest/all/GoblinDiplomacy.js +39 -0
  120. package/dist/quest/all/GrimTales.d.ts +3 -0
  121. package/dist/quest/all/GrimTales.js +47 -0
  122. package/dist/quest/all/HauntedMine.d.ts +3 -0
  123. package/dist/quest/all/HauntedMine.js +42 -0
  124. package/dist/quest/all/HazeelCult.d.ts +3 -0
  125. package/dist/quest/all/HazeelCult.js +42 -0
  126. package/dist/quest/all/HeroesQuest.d.ts +3 -0
  127. package/dist/quest/all/HeroesQuest.js +61 -0
  128. package/dist/quest/all/HolyGrail.d.ts +3 -0
  129. package/dist/quest/all/HolyGrail.js +50 -0
  130. package/dist/quest/all/HorrorFromTheDeep.d.ts +3 -0
  131. package/dist/quest/all/HorrorFromTheDeep.js +52 -0
  132. package/dist/quest/all/IcthlarinsLittleHelper.d.ts +3 -0
  133. package/dist/quest/all/IcthlarinsLittleHelper.js +44 -0
  134. package/dist/quest/all/ImpCatcher.d.ts +3 -0
  135. package/dist/quest/all/ImpCatcher.js +42 -0
  136. package/dist/quest/all/InAidOfTheMyreque.d.ts +3 -0
  137. package/dist/quest/all/InAidOfTheMyreque.js +51 -0
  138. package/dist/quest/all/InSearchOfTheMyreque.d.ts +3 -0
  139. package/dist/quest/all/InSearchOfTheMyreque.js +50 -0
  140. package/dist/quest/all/JunglePotion.d.ts +3 -0
  141. package/dist/quest/all/JunglePotion.js +43 -0
  142. package/dist/quest/all/KingsRansom.d.ts +3 -0
  143. package/dist/quest/all/KingsRansom.js +50 -0
  144. package/dist/quest/all/LegendsQuest.d.ts +3 -0
  145. package/dist/quest/all/LegendsQuest.js +56 -0
  146. package/dist/quest/all/LostCity.d.ts +3 -0
  147. package/dist/quest/all/LostCity.js +42 -0
  148. package/dist/quest/all/LunarDiplomacy.d.ts +3 -0
  149. package/dist/quest/all/LunarDiplomacy.js +55 -0
  150. package/dist/quest/all/MakingHistory.d.ts +3 -0
  151. package/dist/quest/all/MakingHistory.js +42 -0
  152. package/dist/quest/all/MerlinsCrystal.d.ts +3 -0
  153. package/dist/quest/all/MerlinsCrystal.js +39 -0
  154. package/dist/quest/all/MonkeyMadness.d.ts +3 -0
  155. package/dist/quest/all/MonkeyMadness.js +46 -0
  156. package/dist/quest/all/MonkeyMadnessII.d.ts +3 -0
  157. package/dist/quest/all/MonkeyMadnessII.js +57 -0
  158. package/dist/quest/all/MonksFriend.d.ts +3 -0
  159. package/dist/quest/all/MonksFriend.js +42 -0
  160. package/dist/quest/all/MurderMystery.d.ts +3 -0
  161. package/dist/quest/all/MurderMystery.js +39 -0
  162. package/dist/quest/all/MyArmsBigAdventure.d.ts +3 -0
  163. package/dist/quest/all/MyArmsBigAdventure.js +48 -0
  164. package/dist/quest/all/NatureSpirit.d.ts +3 -0
  165. package/dist/quest/all/NatureSpirit.js +43 -0
  166. package/dist/quest/all/ObservatoryQuest.d.ts +3 -0
  167. package/dist/quest/all/ObservatoryQuest.js +39 -0
  168. package/dist/quest/all/OlafsQuest.d.ts +3 -0
  169. package/dist/quest/all/OlafsQuest.js +47 -0
  170. package/dist/quest/all/OneSmallFavour.d.ts +3 -0
  171. package/dist/quest/all/OneSmallFavour.js +47 -0
  172. package/dist/quest/all/PlagueCity.d.ts +3 -0
  173. package/dist/quest/all/PlagueCity.js +39 -0
  174. package/dist/quest/all/PriestInPeril.d.ts +3 -0
  175. package/dist/quest/all/PriestInPeril.js +42 -0
  176. package/dist/quest/all/RagAndBoneMan.d.ts +3 -0
  177. package/dist/quest/all/RagAndBoneMan.js +39 -0
  178. package/dist/quest/all/Ratcatchers.d.ts +3 -0
  179. package/dist/quest/all/Ratcatchers.js +42 -0
  180. package/dist/quest/all/RecipeForDisaster.d.ts +3 -0
  181. package/dist/quest/all/RecipeForDisaster.js +62 -0
  182. package/dist/quest/all/RecruitmentDrive.d.ts +3 -0
  183. package/dist/quest/all/RecruitmentDrive.js +43 -0
  184. package/dist/quest/all/Regicide.d.ts +3 -0
  185. package/dist/quest/all/Regicide.js +43 -0
  186. package/dist/quest/all/RovingElves.d.ts +3 -0
  187. package/dist/quest/all/RovingElves.js +43 -0
  188. package/dist/quest/all/RoyalTrouble.d.ts +3 -0
  189. package/dist/quest/all/RoyalTrouble.js +44 -0
  190. package/dist/quest/all/RumDeal.d.ts +3 -0
  191. package/dist/quest/all/RumDeal.js +47 -0
  192. package/dist/quest/all/ScorpionCatcher.d.ts +3 -0
  193. package/dist/quest/all/ScorpionCatcher.js +39 -0
  194. package/dist/quest/all/SeaSlug.d.ts +3 -0
  195. package/dist/quest/all/SeaSlug.js +39 -0
  196. package/dist/quest/all/ShadesOfMortton.d.ts +3 -0
  197. package/dist/quest/all/ShadesOfMortton.js +43 -0
  198. package/dist/quest/all/ShadowOfTheStorm.d.ts +3 -0
  199. package/dist/quest/all/ShadowOfTheStorm.js +44 -0
  200. package/dist/quest/all/SheepHerder.d.ts +3 -0
  201. package/dist/quest/all/SheepHerder.js +39 -0
  202. package/dist/quest/all/ShiloVillage.d.ts +3 -0
  203. package/dist/quest/all/ShiloVillage.js +43 -0
  204. package/dist/quest/all/SlugMenace.d.ts +3 -0
  205. package/dist/quest/all/SlugMenace.js +48 -0
  206. package/dist/quest/all/SongOfTheElves.d.ts +3 -0
  207. package/dist/quest/all/SongOfTheElves.js +50 -0
  208. package/dist/quest/all/SpiritsOfTheElid.d.ts +3 -0
  209. package/dist/quest/all/SpiritsOfTheElid.js +43 -0
  210. package/dist/quest/all/SwanSong.d.ts +3 -0
  211. package/dist/quest/all/SwanSong.js +47 -0
  212. package/dist/quest/all/TaiBwoWannaiTrio.d.ts +3 -0
  213. package/dist/quest/all/TaiBwoWannaiTrio.js +45 -0
  214. package/dist/quest/all/TheAscentOfArceuus.d.ts +3 -0
  215. package/dist/quest/all/TheAscentOfArceuus.js +39 -0
  216. package/dist/quest/all/TheDepthsOfDespair.d.ts +3 -0
  217. package/dist/quest/all/TheDepthsOfDespair.js +43 -0
  218. package/dist/quest/all/TheForsakenTower.d.ts +3 -0
  219. package/dist/quest/all/TheForsakenTower.js +42 -0
  220. package/dist/quest/all/TheFremennikExiles.d.ts +3 -0
  221. package/dist/quest/all/TheFremennikExiles.js +47 -0
  222. package/dist/quest/all/TheFremennikIsles.d.ts +3 -0
  223. package/dist/quest/all/TheFremennikIsles.js +44 -0
  224. package/dist/quest/all/TheFremennikTrials.d.ts +3 -0
  225. package/dist/quest/all/TheFremennikTrials.js +39 -0
  226. package/dist/quest/all/TheGiantDwarf.d.ts +3 -0
  227. package/dist/quest/all/TheGiantDwarf.js +44 -0
  228. package/dist/quest/all/TheGolem.d.ts +3 -0
  229. package/dist/quest/all/TheGolem.js +39 -0
  230. package/dist/quest/all/TheGrandTree.d.ts +3 -0
  231. package/dist/quest/all/TheGrandTree.js +39 -0
  232. package/dist/quest/all/TheGreatBrainRobbery.d.ts +3 -0
  233. package/dist/quest/all/TheGreatBrainRobbery.js +46 -0
  234. package/dist/quest/all/TheHandInTheSand.d.ts +3 -0
  235. package/dist/quest/all/TheHandInTheSand.js +43 -0
  236. package/dist/quest/all/TheKnightsSword.d.ts +3 -0
  237. package/dist/quest/all/TheKnightsSword.js +39 -0
  238. package/dist/quest/all/TheLostTribe.d.ts +3 -0
  239. package/dist/quest/all/TheLostTribe.js +43 -0
  240. package/dist/quest/all/TheQueenOfThieves.d.ts +3 -0
  241. package/dist/quest/all/TheQueenOfThieves.js +43 -0
  242. package/dist/quest/all/TheSlugMenace.d.ts +3 -0
  243. package/dist/quest/all/TheSlugMenace.js +48 -0
  244. package/dist/quest/all/TheTaleOfTheRighteous.d.ts +3 -0
  245. package/dist/quest/all/TheTaleOfTheRighteous.js +43 -0
  246. package/dist/quest/all/TheTempleOfIkov.d.ts +3 -0
  247. package/dist/quest/all/TheTempleOfIkov.js +42 -0
  248. package/dist/quest/all/TheTouristTrap.d.ts +3 -0
  249. package/dist/quest/all/TheTouristTrap.js +43 -0
  250. package/dist/quest/all/ThroneOfMiscellania.d.ts +3 -0
  251. package/dist/quest/all/ThroneOfMiscellania.js +46 -0
  252. package/dist/quest/all/TowerOfLife.d.ts +3 -0
  253. package/dist/quest/all/TowerOfLife.js +42 -0
  254. package/dist/quest/all/TreeGnomeVillage.d.ts +3 -0
  255. package/dist/quest/all/TreeGnomeVillage.js +39 -0
  256. package/dist/quest/all/TribalTotem.d.ts +3 -0
  257. package/dist/quest/all/TribalTotem.js +39 -0
  258. package/dist/quest/all/TrollRomance.d.ts +3 -0
  259. package/dist/quest/all/TrollRomance.js +43 -0
  260. package/dist/quest/all/TrollStronghold.d.ts +3 -0
  261. package/dist/quest/all/TrollStronghold.js +42 -0
  262. package/dist/quest/all/UndergroundPass.d.ts +3 -0
  263. package/dist/quest/all/UndergroundPass.js +43 -0
  264. package/dist/quest/all/VampyreSlayer.d.ts +3 -0
  265. package/dist/quest/all/VampyreSlayer.js +39 -0
  266. package/dist/quest/all/Wanted.d.ts +3 -0
  267. package/dist/quest/all/Wanted.js +48 -0
  268. package/dist/quest/all/Watchtower.d.ts +3 -0
  269. package/dist/quest/all/Watchtower.js +45 -0
  270. package/dist/quest/all/WaterfallQuest.d.ts +3 -0
  271. package/dist/quest/all/WaterfallQuest.js +39 -0
  272. package/dist/quest/all/WhatLiesBelow.d.ts +3 -0
  273. package/dist/quest/all/WhatLiesBelow.js +42 -0
  274. package/dist/quest/all/WitchesPotion.d.ts +3 -0
  275. package/dist/quest/all/WitchesPotion.js +39 -0
  276. package/dist/quest/all/WitchsHouse.d.ts +3 -0
  277. package/dist/quest/all/WitchsHouse.js +39 -0
  278. package/dist/quest/all/ZogreFleshEaters.d.ts +3 -0
  279. package/dist/quest/all/ZogreFleshEaters.js +44 -0
  280. package/dist/slayer/Assignment.d.ts +17 -0
  281. package/dist/slayer/Assignment.js +28 -0
  282. package/dist/slayer/Masters.d.ts +10 -0
  283. package/dist/slayer/Masters.js +104 -0
  284. package/dist/slayer/SlayerBuys.d.ts +3 -0
  285. package/dist/slayer/SlayerBuys.js +34 -0
  286. package/dist/slayer/SlayerData.d.ts +13 -0
  287. package/dist/slayer/SlayerData.js +42 -0
  288. package/dist/slayer/SlayerExtends.d.ts +23 -0
  289. package/dist/slayer/SlayerExtends.js +184 -0
  290. package/dist/slayer/SlayerMaster.d.ts +67 -0
  291. package/dist/slayer/SlayerMaster.js +112 -0
  292. package/dist/slayer/SlayerReward.d.ts +33 -0
  293. package/dist/slayer/SlayerReward.js +30 -0
  294. package/dist/slayer/SlayerUnlock.d.ts +7 -0
  295. package/dist/slayer/SlayerUnlock.js +67 -0
  296. package/dist/slayer/Task.d.ts +85 -0
  297. package/dist/slayer/Task.js +117 -0
  298. package/dist/slayer/task/ChaelderTasks.d.ts +3 -0
  299. package/dist/slayer/task/ChaelderTasks.js +68 -0
  300. package/dist/slayer/task/DuradelTasks.d.ts +3 -0
  301. package/dist/slayer/task/DuradelTasks.js +36 -0
  302. package/dist/slayer/task/KonarTasks.d.ts +3 -0
  303. package/dist/slayer/task/KonarTasks.js +36 -0
  304. package/dist/slayer/task/KrystiliaTasks.d.ts +3 -0
  305. package/dist/slayer/task/KrystiliaTasks.js +36 -0
  306. package/dist/slayer/task/MazchnaTasks.d.ts +3 -0
  307. package/dist/slayer/task/MazchnaTasks.js +85 -0
  308. package/dist/slayer/task/NieveTasks.d.ts +3 -0
  309. package/dist/slayer/task/NieveTasks.js +52 -0
  310. package/dist/slayer/task/ReadTasks.d.ts +1 -0
  311. package/dist/slayer/task/ReadTasks.js +63 -0
  312. package/dist/slayer/task/SpriaTasks.d.ts +3 -0
  313. package/dist/slayer/task/SpriaTasks.js +122 -0
  314. package/dist/slayer/task/Tureal.d.ts +3 -0
  315. package/dist/slayer/task/Tureal.js +125 -0
  316. package/dist/slayer/task/TurealTasks.d.ts +3 -0
  317. package/dist/slayer/task/TurealTasks.js +125 -0
  318. package/dist/slayer/task/VannakaTasks.d.ts +3 -0
  319. package/dist/slayer/task/VannakaTasks.js +63 -0
  320. package/package.json +3 -5
package/README.md CHANGED
@@ -13,93 +13,66 @@ The **Old School RuneScape Quest Tool** is a Node.js package designed to provide
13
13
  - Built-in support for tracking quest and slayer progress.
14
14
  - Easy-to-use API for developers of all skill levels.
15
15
 
16
- ## Installation
16
+ ## Overview
17
17
 
18
- Install the package via npm:
18
+ This package provides a comprehensive, programmatic interface to Old School RuneScape (OSRS) quest, slayer, and account data. It is designed for developers, tool creators, and enthusiasts who want to:
19
19
 
20
- ```bash
21
- npm install osrs-tools --save
22
- ```
20
+ - Access and analyze detailed quest data, including requirements, rewards, and quest steps.
21
+ - Retrieve and filter slayer master tasks, including requirements, locations, and weights.
22
+ - Simulate or build tools for quest progression, slayer assignment, and account planning.
23
+ - Integrate OSRS data into bots, web apps, Discord bots, or personal utilities.
24
+ - Track quest and slayer progress, or build custom checklists and planners.
23
25
 
24
- ## Usage
26
+ ## What You Can Do
25
27
 
26
- Here’s how to use the tool in your project:
28
+ - **Quest Data**: Use the `QuestTool` class and related functions to get all quest data as objects or arrays. Filter quests by requirements, rewards, or completion status. Build quest guides, checklists, or progress trackers.
29
+ - **Slayer Masters & Tasks**: Import any Slayer Master (e.g., `Turael`, `Duradel`, `Krystilia`) to access their full list of tasks, requirements, and locations. Randomly assign tasks, filter by requirements, or analyze task weights for planning.
30
+ - **Account Modeling**: Use the `OsrsAccount` and `Skill` models to represent and manipulate player accounts, including skill levels and quest completions. Simulate account progression or validate requirements for quests and tasks.
31
+ - **Slayer Rewards**: Access lists of unlockable Slayer rewards and buyable items, including costs and descriptions, for use in planning or calculators.
32
+ - **Data Integration**: All data is available as TypeScript/JavaScript objects, making it easy to integrate into web apps, bots, or scripts. The structure is ideal for both backend and frontend use.
33
+ - **Extendable**: The modular design allows you to add new quests, tasks, or masters, or to extend models for custom use cases.
27
34
 
28
- ### Importing the Module
35
+ ## Example Use Cases
29
36
 
30
- ```javascript
31
- import { QuestTool, questArray, questObject } from 'osrs-tools';
32
- ```
37
+ - **Quest Progress Tracker**: Build a web or mobile app that tracks quest completion, shows requirements, and suggests next quests based on your account.
38
+ - **Slayer Task Generator**: Create a Discord bot or web tool that assigns random slayer tasks based on your current level and unlocked masters.
39
+ - **Account Planner**: Simulate an account's progression, checking which quests or tasks are available at each stage.
40
+ - **Data Analysis**: Analyze quest or slayer data for guides, statistics, or optimization (e.g., fastest quest cape route, most efficient slayer path).
33
41
 
34
- ### Working with Quests
42
+ ## Data Structure Highlights
35
43
 
36
- ```javascript
37
- // Instantiate the QuestTool class
38
- const tool = new QuestTool();
44
+ - **Quests**: Each quest is represented as a class with requirements, rewards, and steps. Data is available in both object and array formats for flexibility.
45
+ - **Slayer Masters**: Each master is a class instance with a list of `Task` objects, each containing requirements, weights, and locations.
46
+ - **Tasks**: Tasks include all relevant requirements (combat, slayer, quest), possible monsters, and location data.
47
+ - **Account Models**: The `OsrsAccount` and `Skill` classes allow you to represent and manipulate player data programmatically.
39
48
 
40
- // Get quest data as an array
41
- const questArrayData = questArray();
49
+ ## Installation
42
50
 
43
- // Get quest data as an object
44
- const questObjectData = questObject();
51
+ Install the package via npm:
45
52
 
46
- // Output the quest data
47
- console.log(questArrayData);
48
- console.log(questObjectData);
53
+ ```bash
54
+ npm install osrs-tools --save
49
55
  ```
50
56
 
51
- ### Working with Slayer Masters and Tasks
52
-
53
- ```javascript
54
- import { Turael, Duradel } from 'osrs-tools';
55
-
56
- // Access Turael's tasks
57
- console.log(Turael.getTasks());
57
+ ## Usage
58
58
 
59
- // Get a random task from Duradel
60
- const randomTask = Duradel.getRandomTask();
61
- console.log(randomTask);
62
- ```
59
+ Here’s how to use the tool in your project:
63
60
 
64
- ### Slayer Rewards and Unlocks
61
+ ### Importing the Module
65
62
 
66
63
  ```javascript
67
- import { SlayerUnlocks, SlayerBuys } from 'osrs-tools';
68
-
69
- // List all available Slayer unlocks
70
- console.log(SlayerUnlocks);
71
-
72
- // List all items available for purchase with Slayer points
73
- console.log(SlayerBuys);
64
+ import { QuestTool, questArray, questObject } from 'osrs-tools';
74
65
  ```
75
66
 
76
- ## API Reference
77
-
78
- ### Quest API
79
-
80
- | Method | Description | Type |
81
- | ----------------- | ----------------------------------------------------------------------- | ----------------- |
82
- | `new QuestTool()` | Constructor for the `QuestTool` class. | Class Constructor |
83
- | `questObject()` | Function that returns an object with quest data (keys are quest names). | Function |
84
- | `questArray()` | Function that returns an array of quests, ordered alphabetically. | Function |
67
+ ### Module Optional Dependencies
68
+ If you want to use your account to test quest tool compatibilities or check what you can unlock for slayer, I am referencing the repository [osrs-json-hiscores](https://www.npmjs.com/package/osrs-json-hiscores)
85
69
 
86
- ### Slayer API
87
-
88
- | Class/Method | Description |
89
- | -------------------- | ------------------------------------------------------------------------- |
90
- | `SlayerMaster` | Represents a Slayer Master, including tasks, location, and requirements. |
91
- | `getTasks()` | Returns a list of tasks assigned by the Slayer Master. |
92
- | `getRandomTask()` | Returns a random task based on task weights. |
93
- | `SlayerUnlocks` | Predefined list of Slayer unlocks with costs and descriptions. |
94
- | `SlayerBuys` | Predefined list of items available for purchase with Slayer points. |
95
-
96
- ## To-Do
70
+ ```bash
71
+ npm install osrs-json-hiscores --save
72
+ ```
97
73
 
98
- - Implement a recursive function for determining quest completion.
99
- - Develop a quest completion tracking array.
100
- - Refactor `questArray()` and `questObject()` to return objects instead of functions.
101
- - Continue work on the **Recipe for Disaster** quest.
102
- - Fix and validate all Slayer data.
74
+ ### Todo
75
+ - Fix quest completion detection
103
76
 
104
77
  ## Contributing
105
78
 
@@ -0,0 +1,65 @@
1
+ interface Requirement {
2
+ description: string;
3
+ type: RequirementType;
4
+ }
5
+ declare class LevelRequirement implements Requirement {
6
+ type: RequirementType;
7
+ skillName: string;
8
+ level: number;
9
+ boostable: boolean;
10
+ constructor(skillName: string, level: number, boostable?: boolean);
11
+ get description(): string;
12
+ }
13
+ declare enum RequirementType {
14
+ SlayerLevel = "SlayerLevel",
15
+ Level = "Level",
16
+ CombatLevel = "CombatLevel",
17
+ Quest = "Quest",
18
+ QuestPoint = "QuestPoint",
19
+ Item = "Item",
20
+ Location = "Location",
21
+ SlayerUnlock = "SlayerUnlock"
22
+ }
23
+ declare class SlayerUnlockRequirement implements Requirement {
24
+ type: RequirementType;
25
+ name: string;
26
+ constructor(name: string);
27
+ get description(): string;
28
+ }
29
+ declare class SlayerLevelRequirement implements Requirement {
30
+ type: RequirementType;
31
+ level: number;
32
+ constructor(level: number);
33
+ get description(): string;
34
+ }
35
+ declare class CombatLevelRequirement implements Requirement {
36
+ type: RequirementType;
37
+ level: number;
38
+ constructor(level: number);
39
+ get description(): string;
40
+ }
41
+ declare class QuestRequirement implements Requirement {
42
+ type: RequirementType;
43
+ questName: string;
44
+ constructor(questName: string);
45
+ get description(): string;
46
+ }
47
+ declare class QuestPointRequirement implements Requirement {
48
+ type: RequirementType;
49
+ amount: number;
50
+ constructor(amount: number);
51
+ get description(): string;
52
+ }
53
+ declare class ItemRequirement implements Requirement {
54
+ type: RequirementType;
55
+ itemName: string;
56
+ constructor(itemName: string);
57
+ get description(): string;
58
+ }
59
+ declare class LocationRequirement implements Requirement {
60
+ type: RequirementType;
61
+ locationName: string;
62
+ constructor(locationName: string);
63
+ get description(): string;
64
+ }
65
+ export { CombatLevelRequirement, QuestPointRequirement, ItemRequirement, LevelRequirement, LocationRequirement, QuestRequirement, Requirement, RequirementType, SlayerLevelRequirement, SlayerUnlockRequirement, };
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SlayerUnlockRequirement = exports.SlayerLevelRequirement = exports.RequirementType = exports.QuestRequirement = exports.LocationRequirement = exports.LevelRequirement = exports.ItemRequirement = exports.QuestPointRequirement = exports.CombatLevelRequirement = void 0;
4
+ // TODO: Add a requirement type for all "levels" (combat, slayer, farming, crafting etc.)
5
+ class LevelRequirement {
6
+ constructor(skillName, level, boostable = false) {
7
+ this.type = RequirementType.Level;
8
+ this.boostable = false; // Indicates if the level can be boosted
9
+ this.boostable = boostable;
10
+ this.skillName = skillName;
11
+ this.level = level;
12
+ }
13
+ get description() {
14
+ return `Level ${this.level}`;
15
+ }
16
+ }
17
+ exports.LevelRequirement = LevelRequirement;
18
+ // Enum for requirement types
19
+ var RequirementType;
20
+ (function (RequirementType) {
21
+ RequirementType["SlayerLevel"] = "SlayerLevel";
22
+ RequirementType["Level"] = "Level";
23
+ RequirementType["CombatLevel"] = "CombatLevel";
24
+ RequirementType["Quest"] = "Quest";
25
+ RequirementType["QuestPoint"] = "QuestPoint";
26
+ RequirementType["Item"] = "Item";
27
+ RequirementType["Location"] = "Location";
28
+ RequirementType["SlayerUnlock"] = "SlayerUnlock";
29
+ })(RequirementType || (exports.RequirementType = RequirementType = {}));
30
+ // Slayer Unlock requirement
31
+ class SlayerUnlockRequirement {
32
+ constructor(name) {
33
+ this.type = RequirementType.SlayerUnlock;
34
+ this.name = name;
35
+ }
36
+ get description() {
37
+ return `Slayer unlock: ${this.name}`;
38
+ }
39
+ }
40
+ exports.SlayerUnlockRequirement = SlayerUnlockRequirement;
41
+ // Slayer level requirement
42
+ class SlayerLevelRequirement {
43
+ constructor(level) {
44
+ this.type = RequirementType.SlayerLevel;
45
+ this.level = level;
46
+ }
47
+ get description() {
48
+ return `Slayer level ${this.level}`;
49
+ }
50
+ }
51
+ exports.SlayerLevelRequirement = SlayerLevelRequirement;
52
+ // Combat level requirement
53
+ class CombatLevelRequirement {
54
+ constructor(level) {
55
+ this.type = RequirementType.CombatLevel;
56
+ this.level = level;
57
+ }
58
+ get description() {
59
+ return `Combat level ${this.level}`;
60
+ }
61
+ }
62
+ exports.CombatLevelRequirement = CombatLevelRequirement;
63
+ // Quest requirement
64
+ class QuestRequirement {
65
+ constructor(questName) {
66
+ this.type = RequirementType.Quest;
67
+ this.questName = questName;
68
+ }
69
+ get description() {
70
+ return `Completed quest: ${this.questName}`;
71
+ }
72
+ }
73
+ exports.QuestRequirement = QuestRequirement;
74
+ class QuestPointRequirement {
75
+ constructor(amount) {
76
+ this.type = RequirementType.Quest;
77
+ this.amount = amount;
78
+ }
79
+ get description() {
80
+ return `Quest Points Needed: ${this.amount}`;
81
+ }
82
+ }
83
+ exports.QuestPointRequirement = QuestPointRequirement;
84
+ // Item requirement
85
+ class ItemRequirement {
86
+ constructor(itemName) {
87
+ this.type = RequirementType.Item;
88
+ this.itemName = itemName;
89
+ }
90
+ get description() {
91
+ return `Has item: ${this.itemName}`;
92
+ }
93
+ }
94
+ exports.ItemRequirement = ItemRequirement;
95
+ // Location requirement
96
+ class LocationRequirement {
97
+ constructor(locationName) {
98
+ this.type = RequirementType.Location;
99
+ this.locationName = locationName;
100
+ }
101
+ get description() {
102
+ return `Access to location: ${this.locationName}`;
103
+ }
104
+ }
105
+ exports.LocationRequirement = LocationRequirement;
@@ -0,0 +1,80 @@
1
+ interface SkillDetail {
2
+ rank: number;
3
+ level: number;
4
+ xp: number;
5
+ }
6
+ interface Skill {
7
+ level: number;
8
+ }
9
+ interface Skills {
10
+ [skillName: string]: Skill;
11
+ }
12
+ interface SkillsDetail {
13
+ [skillName: string]: SkillDetail;
14
+ }
15
+ interface BossScore {
16
+ rank: number;
17
+ score: number;
18
+ }
19
+ interface Bosses {
20
+ [bossName: string]: BossScore;
21
+ }
22
+ interface ClueScore {
23
+ rank: number;
24
+ score: number;
25
+ }
26
+ interface Clues {
27
+ [clueType: string]: ClueScore;
28
+ }
29
+ interface BountyHunter {
30
+ hunterV2?: BossScore;
31
+ rogueV2?: BossScore;
32
+ hunter?: BossScore;
33
+ rogue?: BossScore;
34
+ }
35
+ interface OsrsAccountData {
36
+ name: string;
37
+ combatLevel: number;
38
+ questPoints: number;
39
+ skills: Skills;
40
+ skillsDetail?: SkillsDetail;
41
+ bosses?: Bosses;
42
+ clues?: Clues;
43
+ bountyHunter?: BountyHunter;
44
+ lastManStanding?: BossScore;
45
+ pvpArena?: BossScore;
46
+ soulWarsZeal?: BossScore;
47
+ riftsClosed?: BossScore;
48
+ colosseumGlory?: BossScore;
49
+ collectionsLogged?: BossScore;
50
+ leaguePoints?: BossScore;
51
+ deadmanPoints?: BossScore;
52
+ }
53
+ declare class OsrsAccount {
54
+ #private;
55
+ constructor(data: OsrsAccountData);
56
+ static fromJson(json: any): OsrsAccount;
57
+ get name(): string;
58
+ get combatLevel(): number;
59
+ get questPoints(): number;
60
+ get skills(): Skills;
61
+ get skillsDetail(): SkillsDetail | undefined;
62
+ get bosses(): Bosses | undefined;
63
+ get clues(): Clues | undefined;
64
+ get bountyHunter(): BountyHunter | undefined;
65
+ get lastManStanding(): BossScore | undefined;
66
+ get pvpArena(): BossScore | undefined;
67
+ get soulWarsZeal(): BossScore | undefined;
68
+ get riftsClosed(): BossScore | undefined;
69
+ get colosseumGlory(): BossScore | undefined;
70
+ get collectionsLogged(): BossScore | undefined;
71
+ get leaguePoints(): BossScore | undefined;
72
+ get deadmanPoints(): BossScore | undefined;
73
+ getSkill(skillName: string): Skill | undefined;
74
+ getSkillDetail(skillName: string): SkillDetail | undefined;
75
+ getBossScore(bossName: string): BossScore | undefined;
76
+ getClueScore(clueType: string): ClueScore | undefined;
77
+ toString(): string;
78
+ toJson(): OsrsAccountData;
79
+ }
80
+ export { OsrsAccount, OsrsAccountData, Skills, Skill, SkillsDetail, Bosses, BossScore, Clues, ClueScore, BountyHunter, };
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _OsrsAccount_name, _OsrsAccount_combatLevel, _OsrsAccount_questPoints, _OsrsAccount_skills, _OsrsAccount_skillsDetail, _OsrsAccount_bosses, _OsrsAccount_clues, _OsrsAccount_bountyHunter, _OsrsAccount_lastManStanding, _OsrsAccount_pvpArena, _OsrsAccount_soulWarsZeal, _OsrsAccount_riftsClosed, _OsrsAccount_colosseumGlory, _OsrsAccount_collectionsLogged, _OsrsAccount_leaguePoints, _OsrsAccount_deadmanPoints;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.OsrsAccount = void 0;
16
+ class OsrsAccount {
17
+ constructor(data) {
18
+ _OsrsAccount_name.set(this, void 0);
19
+ _OsrsAccount_combatLevel.set(this, void 0);
20
+ _OsrsAccount_questPoints.set(this, void 0);
21
+ _OsrsAccount_skills.set(this, void 0);
22
+ _OsrsAccount_skillsDetail.set(this, void 0);
23
+ _OsrsAccount_bosses.set(this, void 0);
24
+ _OsrsAccount_clues.set(this, void 0);
25
+ _OsrsAccount_bountyHunter.set(this, void 0);
26
+ _OsrsAccount_lastManStanding.set(this, void 0);
27
+ _OsrsAccount_pvpArena.set(this, void 0);
28
+ _OsrsAccount_soulWarsZeal.set(this, void 0);
29
+ _OsrsAccount_riftsClosed.set(this, void 0);
30
+ _OsrsAccount_colosseumGlory.set(this, void 0);
31
+ _OsrsAccount_collectionsLogged.set(this, void 0);
32
+ _OsrsAccount_leaguePoints.set(this, void 0);
33
+ _OsrsAccount_deadmanPoints.set(this, void 0);
34
+ __classPrivateFieldSet(this, _OsrsAccount_name, data.name, "f");
35
+ __classPrivateFieldSet(this, _OsrsAccount_combatLevel, data.combatLevel, "f");
36
+ __classPrivateFieldSet(this, _OsrsAccount_questPoints, data.questPoints, "f");
37
+ __classPrivateFieldSet(this, _OsrsAccount_skills, data.skills, "f");
38
+ __classPrivateFieldSet(this, _OsrsAccount_skillsDetail, data.skillsDetail, "f");
39
+ __classPrivateFieldSet(this, _OsrsAccount_bosses, data.bosses, "f");
40
+ __classPrivateFieldSet(this, _OsrsAccount_clues, data.clues, "f");
41
+ __classPrivateFieldSet(this, _OsrsAccount_bountyHunter, data.bountyHunter, "f");
42
+ __classPrivateFieldSet(this, _OsrsAccount_lastManStanding, data.lastManStanding, "f");
43
+ __classPrivateFieldSet(this, _OsrsAccount_pvpArena, data.pvpArena, "f");
44
+ __classPrivateFieldSet(this, _OsrsAccount_soulWarsZeal, data.soulWarsZeal, "f");
45
+ __classPrivateFieldSet(this, _OsrsAccount_riftsClosed, data.riftsClosed, "f");
46
+ __classPrivateFieldSet(this, _OsrsAccount_colosseumGlory, data.colosseumGlory, "f");
47
+ __classPrivateFieldSet(this, _OsrsAccount_collectionsLogged, data.collectionsLogged, "f");
48
+ __classPrivateFieldSet(this, _OsrsAccount_leaguePoints, data.leaguePoints, "f");
49
+ __classPrivateFieldSet(this, _OsrsAccount_deadmanPoints, data.deadmanPoints, "f");
50
+ }
51
+ static fromJson(json) {
52
+ var _a, _b, _c, _d, _e, _f, _g;
53
+ const name = json.name || '';
54
+ const combatLevel = (_c = (_b = (_a = json.main) === null || _a === void 0 ? void 0 : _a.combatLevel) !== null && _b !== void 0 ? _b : json.combatLevel) !== null && _c !== void 0 ? _c : 3;
55
+ const questPoints = (_f = (_e = (_d = json.main) === null || _d === void 0 ? void 0 : _d.questPoints) !== null && _e !== void 0 ? _e : json.questPoints) !== null && _f !== void 0 ? _f : 0;
56
+ // Accept both lower and upper case skill keys
57
+ const skills = {};
58
+ const skillsDetail = {};
59
+ const srcSkills = ((_g = json.main) === null || _g === void 0 ? void 0 : _g.skills) || json.skills || {};
60
+ for (const key of Object.keys(srcSkills)) {
61
+ skills[key.toLowerCase()] = { level: srcSkills[key].level };
62
+ skillsDetail[key.toLowerCase()] = {
63
+ rank: srcSkills[key].rank,
64
+ level: srcSkills[key].level,
65
+ xp: srcSkills[key].xp,
66
+ };
67
+ }
68
+ const bosses = json.bosses
69
+ ? Object.assign({}, json.bosses) : undefined;
70
+ const clues = json.clues ? Object.assign({}, json.clues) : undefined;
71
+ const bountyHunter = json.bountyHunter
72
+ ? Object.assign({}, json.bountyHunter) : undefined;
73
+ const lastManStanding = json.lastManStanding;
74
+ const pvpArena = json.pvpArena;
75
+ const soulWarsZeal = json.soulWarsZeal;
76
+ const riftsClosed = json.riftsClosed;
77
+ const colosseumGlory = json.colosseumGlory;
78
+ const collectionsLogged = json.collectionsLogged;
79
+ const leaguePoints = json.leaguePoints;
80
+ const deadmanPoints = json.deadmanPoints;
81
+ return new OsrsAccount({
82
+ name,
83
+ combatLevel,
84
+ questPoints,
85
+ skills,
86
+ skillsDetail,
87
+ bosses,
88
+ clues,
89
+ bountyHunter,
90
+ lastManStanding,
91
+ pvpArena,
92
+ soulWarsZeal,
93
+ riftsClosed,
94
+ colosseumGlory,
95
+ collectionsLogged,
96
+ leaguePoints,
97
+ deadmanPoints,
98
+ });
99
+ }
100
+ get name() {
101
+ return __classPrivateFieldGet(this, _OsrsAccount_name, "f");
102
+ }
103
+ get combatLevel() {
104
+ return __classPrivateFieldGet(this, _OsrsAccount_combatLevel, "f");
105
+ }
106
+ get questPoints() {
107
+ return __classPrivateFieldGet(this, _OsrsAccount_questPoints, "f");
108
+ }
109
+ get skills() {
110
+ return __classPrivateFieldGet(this, _OsrsAccount_skills, "f");
111
+ }
112
+ get skillsDetail() {
113
+ return __classPrivateFieldGet(this, _OsrsAccount_skillsDetail, "f");
114
+ }
115
+ get bosses() {
116
+ return __classPrivateFieldGet(this, _OsrsAccount_bosses, "f");
117
+ }
118
+ get clues() {
119
+ return __classPrivateFieldGet(this, _OsrsAccount_clues, "f");
120
+ }
121
+ get bountyHunter() {
122
+ return __classPrivateFieldGet(this, _OsrsAccount_bountyHunter, "f");
123
+ }
124
+ get lastManStanding() {
125
+ return __classPrivateFieldGet(this, _OsrsAccount_lastManStanding, "f");
126
+ }
127
+ get pvpArena() {
128
+ return __classPrivateFieldGet(this, _OsrsAccount_pvpArena, "f");
129
+ }
130
+ get soulWarsZeal() {
131
+ return __classPrivateFieldGet(this, _OsrsAccount_soulWarsZeal, "f");
132
+ }
133
+ get riftsClosed() {
134
+ return __classPrivateFieldGet(this, _OsrsAccount_riftsClosed, "f");
135
+ }
136
+ get colosseumGlory() {
137
+ return __classPrivateFieldGet(this, _OsrsAccount_colosseumGlory, "f");
138
+ }
139
+ get collectionsLogged() {
140
+ return __classPrivateFieldGet(this, _OsrsAccount_collectionsLogged, "f");
141
+ }
142
+ get leaguePoints() {
143
+ return __classPrivateFieldGet(this, _OsrsAccount_leaguePoints, "f");
144
+ }
145
+ get deadmanPoints() {
146
+ return __classPrivateFieldGet(this, _OsrsAccount_deadmanPoints, "f");
147
+ }
148
+ getSkill(skillName) {
149
+ return __classPrivateFieldGet(this, _OsrsAccount_skills, "f")[skillName.toLowerCase()];
150
+ }
151
+ getSkillDetail(skillName) {
152
+ var _a;
153
+ return (_a = __classPrivateFieldGet(this, _OsrsAccount_skillsDetail, "f")) === null || _a === void 0 ? void 0 : _a[skillName.toLowerCase()];
154
+ }
155
+ getBossScore(bossName) {
156
+ var _a;
157
+ return (_a = __classPrivateFieldGet(this, _OsrsAccount_bosses, "f")) === null || _a === void 0 ? void 0 : _a[bossName];
158
+ }
159
+ getClueScore(clueType) {
160
+ var _a;
161
+ return (_a = __classPrivateFieldGet(this, _OsrsAccount_clues, "f")) === null || _a === void 0 ? void 0 : _a[clueType];
162
+ }
163
+ toString() {
164
+ return `${__classPrivateFieldGet(this, _OsrsAccount_name, "f")}:\nCombat Level: ${__classPrivateFieldGet(this, _OsrsAccount_combatLevel, "f")}\nQuestPoints: ${__classPrivateFieldGet(this, _OsrsAccount_questPoints, "f")}`;
165
+ }
166
+ toJson() {
167
+ return {
168
+ name: __classPrivateFieldGet(this, _OsrsAccount_name, "f"),
169
+ combatLevel: __classPrivateFieldGet(this, _OsrsAccount_combatLevel, "f"),
170
+ questPoints: __classPrivateFieldGet(this, _OsrsAccount_questPoints, "f"),
171
+ skills: __classPrivateFieldGet(this, _OsrsAccount_skills, "f"),
172
+ skillsDetail: __classPrivateFieldGet(this, _OsrsAccount_skillsDetail, "f"),
173
+ bosses: __classPrivateFieldGet(this, _OsrsAccount_bosses, "f"),
174
+ clues: __classPrivateFieldGet(this, _OsrsAccount_clues, "f"),
175
+ bountyHunter: __classPrivateFieldGet(this, _OsrsAccount_bountyHunter, "f"),
176
+ lastManStanding: __classPrivateFieldGet(this, _OsrsAccount_lastManStanding, "f"),
177
+ pvpArena: __classPrivateFieldGet(this, _OsrsAccount_pvpArena, "f"),
178
+ soulWarsZeal: __classPrivateFieldGet(this, _OsrsAccount_soulWarsZeal, "f"),
179
+ riftsClosed: __classPrivateFieldGet(this, _OsrsAccount_riftsClosed, "f"),
180
+ colosseumGlory: __classPrivateFieldGet(this, _OsrsAccount_colosseumGlory, "f"),
181
+ collectionsLogged: __classPrivateFieldGet(this, _OsrsAccount_collectionsLogged, "f"),
182
+ leaguePoints: __classPrivateFieldGet(this, _OsrsAccount_leaguePoints, "f"),
183
+ deadmanPoints: __classPrivateFieldGet(this, _OsrsAccount_deadmanPoints, "f"),
184
+ };
185
+ }
186
+ }
187
+ exports.OsrsAccount = OsrsAccount;
188
+ _OsrsAccount_name = new WeakMap(), _OsrsAccount_combatLevel = new WeakMap(), _OsrsAccount_questPoints = new WeakMap(), _OsrsAccount_skills = new WeakMap(), _OsrsAccount_skillsDetail = new WeakMap(), _OsrsAccount_bosses = new WeakMap(), _OsrsAccount_clues = new WeakMap(), _OsrsAccount_bountyHunter = new WeakMap(), _OsrsAccount_lastManStanding = new WeakMap(), _OsrsAccount_pvpArena = new WeakMap(), _OsrsAccount_soulWarsZeal = new WeakMap(), _OsrsAccount_riftsClosed = new WeakMap(), _OsrsAccount_colosseumGlory = new WeakMap(), _OsrsAccount_collectionsLogged = new WeakMap(), _OsrsAccount_leaguePoints = new WeakMap(), _OsrsAccount_deadmanPoints = new WeakMap();
@@ -0,0 +1,25 @@
1
+ export declare enum Skill {
2
+ Attack = "Attack",
3
+ Defence = "Defence",
4
+ Strength = "Strength",
5
+ Hitpoints = "Hitpoints",
6
+ Ranged = "Ranged",
7
+ Prayer = "Prayer",
8
+ Magic = "Magic",
9
+ Cooking = "Cooking",
10
+ Woodcutting = "Woodcutting",
11
+ Fletching = "Fletching",
12
+ Fishing = "Fishing",
13
+ Firemaking = "Firemaking",
14
+ Crafting = "Crafting",
15
+ Smithing = "Smithing",
16
+ Mining = "Mining",
17
+ Herblore = "Herblore",
18
+ Agility = "Agility",
19
+ Thieving = "Thieving",
20
+ Slayer = "Slayer",
21
+ Farming = "Farming",
22
+ Runecraft = "Runecraft",
23
+ Hunter = "Hunter",
24
+ Construction = "Construction"
25
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Skill = void 0;
4
+ var Skill;
5
+ (function (Skill) {
6
+ Skill["Attack"] = "Attack";
7
+ Skill["Defence"] = "Defence";
8
+ Skill["Strength"] = "Strength";
9
+ Skill["Hitpoints"] = "Hitpoints";
10
+ Skill["Ranged"] = "Ranged";
11
+ Skill["Prayer"] = "Prayer";
12
+ Skill["Magic"] = "Magic";
13
+ Skill["Cooking"] = "Cooking";
14
+ Skill["Woodcutting"] = "Woodcutting";
15
+ Skill["Fletching"] = "Fletching";
16
+ Skill["Fishing"] = "Fishing";
17
+ Skill["Firemaking"] = "Firemaking";
18
+ Skill["Crafting"] = "Crafting";
19
+ Skill["Smithing"] = "Smithing";
20
+ Skill["Mining"] = "Mining";
21
+ Skill["Herblore"] = "Herblore";
22
+ Skill["Agility"] = "Agility";
23
+ Skill["Thieving"] = "Thieving";
24
+ Skill["Slayer"] = "Slayer";
25
+ Skill["Farming"] = "Farming";
26
+ Skill["Runecraft"] = "Runecraft";
27
+ Skill["Hunter"] = "Hunter";
28
+ Skill["Construction"] = "Construction";
29
+ })(Skill || (exports.Skill = Skill = {}));
@@ -0,0 +1,7 @@
1
+ export declare class Item {
2
+ id: number;
3
+ name: string;
4
+ description?: string;
5
+ value?: number;
6
+ constructor(id: number, name: string, description?: string, value?: number);
7
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Item = void 0;
4
+ class Item {
5
+ constructor(id, name, description, value) {
6
+ this.id = id;
7
+ this.name = name;
8
+ this.description = description;
9
+ this.value = value;
10
+ }
11
+ }
12
+ exports.Item = Item;