osrs-tools 1.0.0 → 1.0.2

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 (310) hide show
  1. package/README.md +3 -3
  2. package/dist/index.d.ts +145 -8
  3. package/dist/index.js +169 -10
  4. package/dist/model/Requirement.d.ts +9 -9
  5. package/dist/model/Requirement.js +12 -37
  6. package/dist/model/account/OsrsAccount.d.ts +76 -27
  7. package/dist/model/account/OsrsAccount.js +172 -48
  8. package/dist/model/account/Skill.d.ts +25 -0
  9. package/dist/model/account/Skill.js +29 -0
  10. package/dist/model/misc/Item.d.ts +7 -0
  11. package/dist/model/misc/Item.js +12 -0
  12. package/dist/model/quest/Quest.d.ts +49 -17
  13. package/dist/model/quest/Quest.js +8 -0
  14. package/dist/model/quest/QuestTool.d.ts +24 -39
  15. package/dist/model/quest/QuestTool.js +115 -56
  16. package/dist/model/quest/all/AHandInTheSand.d.ts +2 -0
  17. package/dist/model/quest/all/AHandInTheSand.js +46 -0
  18. package/dist/model/quest/all/AKingdomDivided.d.ts +3 -0
  19. package/dist/model/quest/all/AKingdomDivided.js +56 -0
  20. package/dist/model/quest/all/APorcineOfInterest.d.ts +3 -0
  21. package/dist/model/quest/all/APorcineOfInterest.js +47 -0
  22. package/dist/model/quest/all/ASoulsBane.d.ts +3 -0
  23. package/dist/model/quest/all/ASoulsBane.js +42 -0
  24. package/dist/model/quest/all/ATailOfTwoCats.d.ts +3 -0
  25. package/dist/model/quest/all/ATailOfTwoCats.js +37 -0
  26. package/dist/model/quest/all/ATasteOfHope.d.ts +3 -0
  27. package/dist/model/quest/all/ATasteOfHope.js +39 -0
  28. package/dist/model/quest/all/ATheatreOfBlood.d.ts +3 -0
  29. package/dist/model/quest/all/ATheatreOfBlood.js +38 -0
  30. package/dist/model/quest/all/AnimalMagnetism.d.ts +3 -0
  31. package/dist/model/quest/all/AnimalMagnetism.js +45 -0
  32. package/dist/model/quest/all/AnotherSliceOfHAM.d.ts +3 -0
  33. package/dist/model/quest/all/AnotherSliceOfHAM.js +42 -0
  34. package/dist/model/quest/all/BelowIceMountain.d.ts +3 -0
  35. package/dist/model/quest/all/BelowIceMountain.js +47 -0
  36. package/dist/model/quest/all/BetweenARock.d.ts +3 -0
  37. package/dist/model/quest/all/BetweenARock.js +43 -0
  38. package/dist/model/quest/all/BigChompyBirdHunting.d.ts +3 -0
  39. package/dist/model/quest/all/BigChompyBirdHunting.js +43 -0
  40. package/dist/model/quest/all/Biohazard.d.ts +3 -0
  41. package/dist/model/quest/all/Biohazard.js +41 -0
  42. package/dist/model/quest/all/BlackKnightsFortress.d.ts +3 -0
  43. package/dist/model/quest/all/BlackKnightsFortress.js +39 -0
  44. package/dist/model/quest/all/BoneVoyage.d.ts +3 -0
  45. package/dist/model/quest/all/BoneVoyage.js +39 -0
  46. package/dist/model/quest/all/CabinFever.d.ts +3 -0
  47. package/dist/model/quest/all/CabinFever.js +43 -0
  48. package/dist/model/quest/all/ClientOfKourend.d.ts +3 -0
  49. package/dist/model/quest/all/ClientOfKourend.js +39 -0
  50. package/dist/model/quest/all/ClockTower.d.ts +3 -0
  51. package/dist/model/quest/all/ClockTower.js +39 -0
  52. package/dist/model/quest/all/ColdWar.d.ts +3 -0
  53. package/dist/model/quest/all/ColdWar.js +44 -0
  54. package/dist/model/quest/all/Contact.d.ts +3 -0
  55. package/dist/model/quest/all/Contact.js +42 -0
  56. package/dist/model/quest/all/CookAssistant.d.ts +3 -0
  57. package/dist/model/quest/all/CookAssistant.js +51 -0
  58. package/dist/model/quest/all/CooksAssistant.d.ts +3 -0
  59. package/dist/model/quest/all/CooksAssistant.js +42 -0
  60. package/dist/model/quest/all/CreatureOfFenkenstrain.d.ts +3 -0
  61. package/dist/model/quest/all/CreatureOfFenkenstrain.js +42 -0
  62. package/dist/model/quest/all/DarknessOfHallowvale.d.ts +3 -0
  63. package/dist/model/quest/all/DarknessOfHallowvale.js +44 -0
  64. package/dist/model/quest/all/DeathPlateau.d.ts +3 -0
  65. package/dist/model/quest/all/DeathPlateau.js +42 -0
  66. package/dist/model/quest/all/DeathToTheDorgeshuun.d.ts +3 -0
  67. package/dist/model/quest/all/DeathToTheDorgeshuun.js +43 -0
  68. package/dist/model/quest/all/DemonSlayer.d.ts +3 -0
  69. package/dist/model/quest/all/DemonSlayer.js +39 -0
  70. package/dist/model/quest/all/DesertTreasure.d.ts +14 -0
  71. package/dist/model/quest/all/DesertTreasure.js +15 -0
  72. package/dist/model/quest/all/DeviousMinds.d.ts +3 -0
  73. package/dist/model/quest/all/DeviousMinds.js +44 -0
  74. package/dist/model/quest/all/DoricQuest.d.ts +16 -0
  75. package/dist/model/quest/all/DoricQuest.js +20 -0
  76. package/dist/model/quest/all/DoricsQuest.d.ts +3 -0
  77. package/dist/model/quest/all/DoricsQuest.js +42 -0
  78. package/dist/model/quest/all/DragonSlayer.d.ts +3 -0
  79. package/dist/model/quest/all/DragonSlayer.js +43 -0
  80. package/dist/model/quest/all/DragonSlayerII.d.ts +3 -0
  81. package/dist/model/quest/all/DragonSlayerII.js +45 -0
  82. package/dist/model/quest/all/DreamMentor.d.ts +16 -0
  83. package/dist/model/quest/all/DreamMentor.js +21 -0
  84. package/dist/model/quest/all/DruidicRitual.d.ts +3 -0
  85. package/dist/model/quest/all/DruidicRitual.js +42 -0
  86. package/dist/model/quest/all/DwarfCannon.d.ts +3 -0
  87. package/dist/model/quest/all/DwarfCannon.js +42 -0
  88. package/dist/model/quest/all/EadgarsRuse.d.ts +3 -0
  89. package/dist/model/quest/all/EadgarsRuse.js +42 -0
  90. package/dist/model/quest/all/EaglesPeak.d.ts +3 -0
  91. package/dist/model/quest/all/EaglesPeak.js +42 -0
  92. package/dist/model/quest/all/ElementalWorkshopI.d.ts +3 -0
  93. package/dist/model/quest/all/ElementalWorkshopI.js +43 -0
  94. package/dist/model/quest/all/ElementalWorkshopII.d.ts +3 -0
  95. package/dist/model/quest/all/ElementalWorkshopII.js +43 -0
  96. package/dist/model/quest/all/EnakhrasLament.d.ts +3 -0
  97. package/dist/model/quest/all/EnakhrasLament.js +39 -0
  98. package/dist/model/quest/all/EnlightenedJourney.d.ts +3 -0
  99. package/dist/model/quest/all/EnlightenedJourney.js +39 -0
  100. package/dist/model/quest/all/FairytaleIGrowingPains.d.ts +3 -0
  101. package/dist/model/quest/all/FairytaleIGrowingPains.js +39 -0
  102. package/dist/model/quest/all/FairytaleIICureAQueen.d.ts +3 -0
  103. package/dist/model/quest/all/FairytaleIICureAQueen.js +39 -0
  104. package/dist/model/quest/all/FamilyCrest.d.ts +3 -0
  105. package/dist/model/quest/all/FamilyCrest.js +39 -0
  106. package/dist/model/quest/all/FightArena.d.ts +3 -0
  107. package/dist/model/quest/all/FightArena.js +39 -0
  108. package/dist/model/quest/all/FishingContest.d.ts +3 -0
  109. package/dist/model/quest/all/FishingContest.js +39 -0
  110. package/dist/model/quest/all/ForgettableTale.d.ts +3 -0
  111. package/dist/model/quest/all/ForgettableTale.js +39 -0
  112. package/dist/model/quest/all/GardenOfTranquillity.d.ts +3 -0
  113. package/dist/model/quest/all/GardenOfTranquillity.js +39 -0
  114. package/dist/model/quest/all/GertrudesCat.d.ts +3 -0
  115. package/dist/model/quest/all/GertrudesCat.js +39 -0
  116. package/dist/model/quest/all/GettingAhead.d.ts +3 -0
  117. package/dist/model/quest/all/GettingAhead.js +39 -0
  118. package/dist/model/quest/all/GhostsAhoy.d.ts +3 -0
  119. package/dist/model/quest/all/GhostsAhoy.js +39 -0
  120. package/dist/model/quest/all/GoblinDiplomacy.d.ts +3 -0
  121. package/dist/model/quest/all/GoblinDiplomacy.js +39 -0
  122. package/dist/model/quest/all/GrimTales.d.ts +3 -0
  123. package/dist/model/quest/all/GrimTales.js +47 -0
  124. package/dist/model/quest/all/HauntedMine.d.ts +3 -0
  125. package/dist/model/quest/all/HauntedMine.js +42 -0
  126. package/dist/model/quest/all/HazeelCult.d.ts +3 -0
  127. package/dist/model/quest/all/HazeelCult.js +42 -0
  128. package/dist/model/quest/all/HeroesQuest.d.ts +3 -0
  129. package/dist/model/quest/all/HeroesQuest.js +61 -0
  130. package/dist/model/quest/all/HolyGrail.d.ts +3 -0
  131. package/dist/model/quest/all/HolyGrail.js +50 -0
  132. package/dist/model/quest/all/HorrorFromTheDeep.d.ts +3 -0
  133. package/dist/model/quest/all/HorrorFromTheDeep.js +52 -0
  134. package/dist/model/quest/all/IcthlarinsLittleHelper.d.ts +3 -0
  135. package/dist/model/quest/all/IcthlarinsLittleHelper.js +44 -0
  136. package/dist/model/quest/all/ImpCatcher.d.ts +3 -0
  137. package/dist/model/quest/all/ImpCatcher.js +42 -0
  138. package/dist/model/quest/all/InAidOfTheMyreque.d.ts +3 -0
  139. package/dist/model/quest/all/InAidOfTheMyreque.js +51 -0
  140. package/dist/model/quest/all/InSearchOfTheMyreque.d.ts +3 -0
  141. package/dist/model/quest/all/InSearchOfTheMyreque.js +50 -0
  142. package/dist/model/quest/all/JunglePotion.d.ts +3 -0
  143. package/dist/model/quest/all/JunglePotion.js +43 -0
  144. package/dist/model/quest/all/KingsRansom.d.ts +3 -0
  145. package/dist/model/quest/all/KingsRansom.js +50 -0
  146. package/dist/model/quest/all/LegendsQuest.d.ts +3 -0
  147. package/dist/model/quest/all/LegendsQuest.js +56 -0
  148. package/dist/model/quest/all/LostCity.d.ts +3 -0
  149. package/dist/model/quest/all/LostCity.js +42 -0
  150. package/dist/model/quest/all/LunarDiplomacy.d.ts +3 -0
  151. package/dist/model/quest/all/LunarDiplomacy.js +55 -0
  152. package/dist/model/quest/all/MakingHistory.d.ts +3 -0
  153. package/dist/model/quest/all/MakingHistory.js +42 -0
  154. package/dist/model/quest/all/MerlinsCrystal.d.ts +3 -0
  155. package/dist/model/quest/all/MerlinsCrystal.js +39 -0
  156. package/dist/model/quest/all/MonkeyMadness.d.ts +3 -0
  157. package/dist/model/quest/all/MonkeyMadness.js +46 -0
  158. package/dist/model/quest/all/MonkeyMadnessII.d.ts +3 -0
  159. package/dist/model/quest/all/MonkeyMadnessII.js +57 -0
  160. package/dist/model/quest/all/MonksFriend.d.ts +3 -0
  161. package/dist/model/quest/all/MonksFriend.js +42 -0
  162. package/dist/model/quest/all/MurderMystery.d.ts +3 -0
  163. package/dist/model/quest/all/MurderMystery.js +39 -0
  164. package/dist/model/quest/all/MyArmsBigAdventure.d.ts +3 -0
  165. package/dist/model/quest/all/MyArmsBigAdventure.js +48 -0
  166. package/dist/model/quest/all/NatureSpirit.d.ts +3 -0
  167. package/dist/model/quest/all/NatureSpirit.js +43 -0
  168. package/dist/model/quest/all/ObservatoryQuest.d.ts +3 -0
  169. package/dist/model/quest/all/ObservatoryQuest.js +39 -0
  170. package/dist/model/quest/all/OlafsQuest.d.ts +3 -0
  171. package/dist/model/quest/all/OlafsQuest.js +47 -0
  172. package/dist/model/quest/all/OneSmallFavour.d.ts +3 -0
  173. package/dist/model/quest/all/OneSmallFavour.js +47 -0
  174. package/dist/model/quest/all/PlagueCity.d.ts +3 -0
  175. package/dist/model/quest/all/PlagueCity.js +39 -0
  176. package/dist/model/quest/all/PriestInPeril.d.ts +3 -0
  177. package/dist/model/quest/all/PriestInPeril.js +42 -0
  178. package/dist/model/quest/all/RagAndBoneMan.d.ts +3 -0
  179. package/dist/model/quest/all/RagAndBoneMan.js +39 -0
  180. package/dist/model/quest/all/Ratcatchers.d.ts +3 -0
  181. package/dist/model/quest/all/Ratcatchers.js +42 -0
  182. package/dist/model/quest/all/RecipeForDisaster.d.ts +3 -0
  183. package/dist/model/quest/all/RecipeForDisaster.js +62 -0
  184. package/dist/model/quest/all/RecruitmentDrive.d.ts +3 -0
  185. package/dist/model/quest/all/RecruitmentDrive.js +43 -0
  186. package/dist/model/quest/all/Regicide.d.ts +3 -0
  187. package/dist/model/quest/all/Regicide.js +43 -0
  188. package/dist/model/quest/all/RovingElves.d.ts +3 -0
  189. package/dist/model/quest/all/RovingElves.js +43 -0
  190. package/dist/model/quest/all/RoyalTrouble.d.ts +3 -0
  191. package/dist/model/quest/all/RoyalTrouble.js +44 -0
  192. package/dist/model/quest/all/RumDeal.d.ts +3 -0
  193. package/dist/model/quest/all/RumDeal.js +47 -0
  194. package/dist/model/quest/all/ScorpionCatcher.d.ts +3 -0
  195. package/dist/model/quest/all/ScorpionCatcher.js +39 -0
  196. package/dist/model/quest/all/SeaSlug.d.ts +3 -0
  197. package/dist/model/quest/all/SeaSlug.js +39 -0
  198. package/dist/model/quest/all/ShadesOfMortton.d.ts +3 -0
  199. package/dist/model/quest/all/ShadesOfMortton.js +43 -0
  200. package/dist/model/quest/all/ShadowOfTheStorm.d.ts +3 -0
  201. package/dist/model/quest/all/ShadowOfTheStorm.js +44 -0
  202. package/dist/model/quest/all/SheepHerder.d.ts +3 -0
  203. package/dist/model/quest/all/SheepHerder.js +39 -0
  204. package/dist/model/quest/all/ShiloVillage.d.ts +3 -0
  205. package/dist/model/quest/all/ShiloVillage.js +43 -0
  206. package/dist/model/quest/all/SlugMenace.d.ts +3 -0
  207. package/dist/model/quest/all/SlugMenace.js +48 -0
  208. package/dist/model/quest/all/SongOfTheElves.d.ts +3 -0
  209. package/dist/model/quest/all/SongOfTheElves.js +50 -0
  210. package/dist/model/quest/all/SpiritsOfTheElid.d.ts +3 -0
  211. package/dist/model/quest/all/SpiritsOfTheElid.js +43 -0
  212. package/dist/model/quest/all/SwanSong.d.ts +3 -0
  213. package/dist/model/quest/all/SwanSong.js +47 -0
  214. package/dist/model/quest/all/TaiBwoWannaiTrio.d.ts +3 -0
  215. package/dist/model/quest/all/TaiBwoWannaiTrio.js +45 -0
  216. package/dist/model/quest/all/TheAscentOfArceuus.d.ts +3 -0
  217. package/dist/model/quest/all/TheAscentOfArceuus.js +39 -0
  218. package/dist/model/quest/all/TheDepthsOfDespair.d.ts +3 -0
  219. package/dist/model/quest/all/TheDepthsOfDespair.js +43 -0
  220. package/dist/model/quest/all/TheForsakenTower.d.ts +3 -0
  221. package/dist/model/quest/all/TheForsakenTower.js +42 -0
  222. package/dist/model/quest/all/TheFremennikExiles.d.ts +3 -0
  223. package/dist/model/quest/all/TheFremennikExiles.js +47 -0
  224. package/dist/model/quest/all/TheFremennikIsles.d.ts +3 -0
  225. package/dist/model/quest/all/TheFremennikIsles.js +44 -0
  226. package/dist/model/quest/all/TheFremennikTrials.d.ts +3 -0
  227. package/dist/model/quest/all/TheFremennikTrials.js +39 -0
  228. package/dist/model/quest/all/TheGiantDwarf.d.ts +3 -0
  229. package/dist/model/quest/all/TheGiantDwarf.js +44 -0
  230. package/dist/model/quest/all/TheGolem.d.ts +3 -0
  231. package/dist/model/quest/all/TheGolem.js +39 -0
  232. package/dist/model/quest/all/TheGrandTree.d.ts +3 -0
  233. package/dist/model/quest/all/TheGrandTree.js +39 -0
  234. package/dist/model/quest/all/TheGreatBrainRobbery.d.ts +3 -0
  235. package/dist/model/quest/all/TheGreatBrainRobbery.js +46 -0
  236. package/dist/model/quest/all/TheHandInTheSand.d.ts +3 -0
  237. package/dist/model/quest/all/TheHandInTheSand.js +43 -0
  238. package/dist/model/quest/all/TheKnightsSword.d.ts +3 -0
  239. package/dist/model/quest/all/TheKnightsSword.js +39 -0
  240. package/dist/model/quest/all/TheLostTribe.d.ts +3 -0
  241. package/dist/model/quest/all/TheLostTribe.js +43 -0
  242. package/dist/model/quest/all/TheQueenOfThieves.d.ts +3 -0
  243. package/dist/model/quest/all/TheQueenOfThieves.js +43 -0
  244. package/dist/model/quest/all/TheSlugMenace.d.ts +3 -0
  245. package/dist/model/quest/all/TheSlugMenace.js +48 -0
  246. package/dist/model/quest/all/TheTaleOfTheRighteous.d.ts +3 -0
  247. package/dist/model/quest/all/TheTaleOfTheRighteous.js +43 -0
  248. package/dist/model/quest/all/TheTempleOfIkov.d.ts +3 -0
  249. package/dist/model/quest/all/TheTempleOfIkov.js +42 -0
  250. package/dist/model/quest/all/TheTouristTrap.d.ts +3 -0
  251. package/dist/model/quest/all/TheTouristTrap.js +43 -0
  252. package/dist/model/quest/all/ThroneOfMiscellania.d.ts +3 -0
  253. package/dist/model/quest/all/ThroneOfMiscellania.js +46 -0
  254. package/dist/model/quest/all/TowerOfLife.d.ts +3 -0
  255. package/dist/model/quest/all/TowerOfLife.js +42 -0
  256. package/dist/model/quest/all/TreeGnomeVillage.d.ts +3 -0
  257. package/dist/model/quest/all/TreeGnomeVillage.js +39 -0
  258. package/dist/model/quest/all/TribalTotem.d.ts +3 -0
  259. package/dist/model/quest/all/TribalTotem.js +39 -0
  260. package/dist/model/quest/all/TrollRomance.d.ts +3 -0
  261. package/dist/model/quest/all/TrollRomance.js +43 -0
  262. package/dist/model/quest/all/TrollStronghold.d.ts +3 -0
  263. package/dist/model/quest/all/TrollStronghold.js +42 -0
  264. package/dist/model/quest/all/UndergroundPass.d.ts +3 -0
  265. package/dist/model/quest/all/UndergroundPass.js +43 -0
  266. package/dist/model/quest/all/VampyreSlayer.d.ts +3 -0
  267. package/dist/model/quest/all/VampyreSlayer.js +39 -0
  268. package/dist/model/quest/all/Wanted.d.ts +3 -0
  269. package/dist/model/quest/all/Wanted.js +48 -0
  270. package/dist/model/quest/all/Watchtower.d.ts +3 -0
  271. package/dist/model/quest/all/Watchtower.js +45 -0
  272. package/dist/model/quest/all/WaterfallQuest.d.ts +3 -0
  273. package/dist/model/quest/all/WaterfallQuest.js +39 -0
  274. package/dist/model/quest/all/WhatLiesBelow.d.ts +3 -0
  275. package/dist/model/quest/all/WhatLiesBelow.js +42 -0
  276. package/dist/model/quest/all/WitchesPotion.d.ts +3 -0
  277. package/dist/model/quest/all/WitchesPotion.js +39 -0
  278. package/dist/model/quest/all/WitchsHouse.d.ts +3 -0
  279. package/dist/model/quest/all/WitchsHouse.js +39 -0
  280. package/dist/model/quest/all/ZogreFleshEaters.d.ts +3 -0
  281. package/dist/model/quest/all/ZogreFleshEaters.js +44 -0
  282. package/dist/model/slayer/Assignment.d.ts +1 -1
  283. package/dist/model/slayer/Masters.d.ts +10 -0
  284. package/dist/model/slayer/Masters.js +104 -0
  285. package/dist/model/slayer/SlayerBuys.d.ts +3 -0
  286. package/dist/model/slayer/SlayerBuys.js +34 -0
  287. package/dist/model/slayer/SlayerExtends.d.ts +23 -0
  288. package/dist/model/slayer/SlayerExtends.js +184 -0
  289. package/dist/model/slayer/SlayerUnlock.d.ts +7 -0
  290. package/dist/model/slayer/SlayerUnlock.js +67 -0
  291. package/dist/model/slayer/task/ChaelderTasks.d.ts +3 -0
  292. package/dist/model/slayer/task/ChaelderTasks.js +68 -0
  293. package/dist/model/slayer/task/DuradelTasks.d.ts +3 -0
  294. package/dist/model/slayer/task/DuradelTasks.js +36 -0
  295. package/dist/model/slayer/task/KonarTasks.d.ts +3 -0
  296. package/dist/model/slayer/task/KonarTasks.js +36 -0
  297. package/dist/model/slayer/task/KrystiliaTasks.d.ts +3 -0
  298. package/dist/model/slayer/task/KrystiliaTasks.js +36 -0
  299. package/dist/model/slayer/task/MazchnaTasks.d.ts +3 -0
  300. package/dist/model/slayer/task/MazchnaTasks.js +85 -0
  301. package/dist/model/slayer/task/NieveTasks.d.ts +3 -0
  302. package/dist/model/slayer/task/NieveTasks.js +52 -0
  303. package/dist/model/slayer/task/SpriaTasks.d.ts +3 -0
  304. package/dist/model/slayer/task/SpriaTasks.js +122 -0
  305. package/dist/model/slayer/task/TurealTasks.d.ts +3 -0
  306. package/dist/model/slayer/task/TurealTasks.js +125 -0
  307. package/dist/model/slayer/task/VannakaTasks.d.ts +3 -0
  308. package/dist/model/slayer/task/VannakaTasks.js +63 -0
  309. package/dist/slayer/SlayerData.js +5 -0
  310. package/package.json +4 -3
@@ -1,64 +1,188 @@
1
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;
2
14
  Object.defineProperty(exports, "__esModule", { value: true });
3
15
  exports.OsrsAccount = void 0;
4
16
  class OsrsAccount {
5
- constructor(accountObject) {
6
- this.osrsAccount = accountObject ? accountObject : null;
7
- this.setQuestPoints(0);
8
- this.setCombatLevel();
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");
9
50
  }
10
- getName() {
11
- var _a;
12
- return (_a = this.osrsAccount) === null || _a === void 0 ? void 0 : _a.name;
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
+ });
13
99
  }
14
- toString() {
15
- var _a, _b, _c, _d;
16
- return (((_b = (_a = this.osrsAccount) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : "") +
17
- ": \nCombat Level: " +
18
- ((_d = (_c = this.osrsAccount) === null || _c === void 0 ? void 0 : _c.main.combatLevel) !== null && _d !== void 0 ? _d : "") +
19
- "\nQuestPoints: " +
20
- this.getQuestPoints());
21
- }
22
- getSkills() {
23
- var _a;
24
- return (_a = this.osrsAccount) === null || _a === void 0 ? void 0 : _a.main.skills;
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");
25
147
  }
26
148
  getSkill(skillName) {
27
- var _a;
28
- return (_a = this.osrsAccount) === null || _a === void 0 ? void 0 : _a.main.skills[skillName.toLowerCase()];
149
+ return __classPrivateFieldGet(this, _OsrsAccount_skills, "f")[skillName.toLowerCase()];
29
150
  }
30
- getQuestPoints() {
151
+ getSkillDetail(skillName) {
31
152
  var _a;
32
- return (_a = this.osrsAccount) === null || _a === void 0 ? void 0 : _a.main.questPoints;
153
+ return (_a = __classPrivateFieldGet(this, _OsrsAccount_skillsDetail, "f")) === null || _a === void 0 ? void 0 : _a[skillName.toLowerCase()];
33
154
  }
34
- setQuestPoints(x) {
35
- if (x >= 0 && this.osrsAccount) {
36
- this.osrsAccount.main.questPoints = x;
37
- }
155
+ getBossScore(bossName) {
156
+ var _a;
157
+ return (_a = __classPrivateFieldGet(this, _OsrsAccount_bosses, "f")) === null || _a === void 0 ? void 0 : _a[bossName];
38
158
  }
39
- getCombatLevel() {
159
+ getClueScore(clueType) {
40
160
  var _a;
41
- return (_a = this.osrsAccount) === null || _a === void 0 ? void 0 : _a.main.combatLevel;
42
- }
43
- setCombatLevel() {
44
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
45
- if (this.osrsAccount) {
46
- const attklvl = (_b = (_a = this.osrsAccount.main.skills.attack) === null || _a === void 0 ? void 0 : _a.level) !== null && _b !== void 0 ? _b : 1;
47
- const strlvl = (_d = (_c = this.osrsAccount.main.skills.strength) === null || _c === void 0 ? void 0 : _c.level) !== null && _d !== void 0 ? _d : 1;
48
- const deflvl = (_f = (_e = this.osrsAccount.main.skills.defence) === null || _e === void 0 ? void 0 : _e.level) !== null && _f !== void 0 ? _f : 1;
49
- const rangedlvl = (_h = (_g = this.osrsAccount.main.skills.ranged) === null || _g === void 0 ? void 0 : _g.level) !== null && _h !== void 0 ? _h : 1;
50
- const magiclvl = (_k = (_j = this.osrsAccount.main.skills.magic) === null || _j === void 0 ? void 0 : _j.level) !== null && _k !== void 0 ? _k : 1;
51
- const praylvl = (_m = (_l = this.osrsAccount.main.skills.prayer) === null || _l === void 0 ? void 0 : _l.level) !== null && _m !== void 0 ? _m : 1;
52
- const hplvl = (_p = (_o = this.osrsAccount.main.skills.hitpoints) === null || _o === void 0 ? void 0 : _o.level) !== null && _p !== void 0 ? _p : 10;
53
- const x = [
54
- 0.325 * (attklvl + strlvl),
55
- 0.325 * ((3 * rangedlvl) / 2),
56
- 0.325 * ((3 * magiclvl) / 2),
57
- ];
58
- const cbMax = Math.max(...x);
59
- this.osrsAccount.main.combatLevel =
60
- 0.25 * (deflvl + hplvl + praylvl / 2) + cbMax;
61
- }
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
+ };
62
185
  }
63
186
  }
64
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;
@@ -1,19 +1,52 @@
1
- interface SkillRequirement {
2
- level: number;
3
- isBoostable: boolean;
1
+ import { Requirement } from '../Requirement';
2
+ interface QuestRewardExperience {
3
+ skill: string;
4
+ amount: number;
5
+ }
6
+ interface QuestRewardItem {
7
+ name: string;
8
+ quantity?: number;
9
+ note?: string;
10
+ }
11
+ interface QuestRewardUnlock {
12
+ description: string;
13
+ url?: string;
14
+ }
15
+ interface QuestRewardLamp {
16
+ amount: number;
17
+ skillRestriction?: string | string[];
18
+ note?: string;
19
+ }
20
+ interface QuestRewardPoints {
21
+ type: string;
22
+ amount: number;
23
+ }
24
+ interface QuestRewardPet {
25
+ name: string;
26
+ note?: string;
27
+ }
28
+ interface QuestRewards {
29
+ experience?: QuestRewardExperience[];
30
+ items?: QuestRewardItem[];
31
+ unlocks?: QuestRewardUnlock[];
32
+ lamps?: QuestRewardLamp[];
33
+ points?: QuestRewardPoints[];
34
+ pets?: QuestRewardPet[];
35
+ questPoints: number;
36
+ areas?: string[];
4
37
  }
5
38
  interface Quest {
6
39
  id: number;
7
40
  name: string;
41
+ description: string;
8
42
  difficulty: string;
9
- skillRequirements: {
10
- [skill: string]: SkillRequirement;
11
- };
12
- status: "Not Started" | "In Progress" | "Completed";
43
+ steps: string[];
44
+ requirements: Requirement[];
45
+ status: QuestStatus;
13
46
  miniquest: boolean;
14
47
  shortName: string;
15
48
  url: string;
16
- series: string;
49
+ series?: string | undefined | null;
17
50
  members: boolean;
18
51
  questPoints: number;
19
52
  length: string;
@@ -23,19 +56,18 @@ interface Quest {
23
56
  officialDifficulty: string;
24
57
  officialLength: string;
25
58
  officialAge: string;
26
- itemRequirements: string[];
27
59
  recommendedItems: string[];
28
60
  recommendedSkills: {
29
61
  [skill: string]: number;
30
62
  };
31
63
  recommendedPrayers: string[];
32
- questRequirements: string[];
33
- rewards: {
34
- experience?: {
35
- [skill: string]: number;
36
- };
37
- items?: string[];
38
- areas?: string[];
39
- };
64
+ rewards: QuestRewards;
65
+ [key: string]: any;
40
66
  }
41
67
  export { Quest };
68
+ export declare enum QuestStatus {
69
+ NotStarted = "NotStarted",
70
+ InProgress = "InProgress",
71
+ Completed = "Completed",
72
+ Failed = "Failed"
73
+ }
@@ -1,2 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QuestStatus = void 0;
4
+ var QuestStatus;
5
+ (function (QuestStatus) {
6
+ QuestStatus["NotStarted"] = "NotStarted";
7
+ QuestStatus["InProgress"] = "InProgress";
8
+ QuestStatus["Completed"] = "Completed";
9
+ QuestStatus["Failed"] = "Failed";
10
+ })(QuestStatus || (exports.QuestStatus = QuestStatus = {}));
@@ -1,51 +1,36 @@
1
- import { OsrsAccount } from "../account/OsrsAccount";
2
- import { Quest } from "./Quest";
1
+ import { OsrsAccount } from '../account/OsrsAccount';
2
+ import { Quest } from './Quest';
3
3
  declare class QuestTool {
4
- private questObject;
5
- private questArray;
6
- private subQuestArray;
7
4
  private osrsAccount;
8
- constructor();
9
- /**
10
- * to string func
11
- * @todo Implement this function
12
- * @return {String} The string representation of the class object.
13
- */
14
- toString(): string;
15
- /**
16
- * Get the data for a quest
17
- * @param {String} questName The name of the quest
18
- * @return {Object} The data for the input quest in a JSON object.
19
- * */
20
- getQuest(questName: string): Quest | undefined;
21
- /**
22
- * Get the data for a quest
23
- * @param {String} questName The name of the quest
24
- * @return {Object} The data for the input quest in a JSON object.
25
- * */
26
- getQuestByName(questName: string): Quest | undefined;
27
- /**
28
- * Get the data for a quest
29
- * @param {String} subQuestName The name of the subquest
30
- * @return {Object} The data for the input subquest in a JSON object.
31
- * */
32
- getSubQuest(subQuestName: string): any | undefined;
33
- /**
34
- * Add two numbers together
35
- * @todo Need to implement Recipe for disaster functionality
36
- * @param {String} quest The either string or quest object of the quest to be determined completeable or not.
37
- * @return {Boolean} If the account currently tied to the tool can complete the quest.
38
- * */
39
- canCompleteQuest(quest: string | Quest | undefined): boolean;
5
+ constructor(account?: OsrsAccount);
40
6
  /**
41
7
  * Set the account to be used in this quest tool
42
8
  * @param {OsrsAccount} acc1 The osrs Account to be associated with this class object.
43
- * */
9
+ */
44
10
  setOsrsAccount(acc1: OsrsAccount): boolean;
45
11
  /**
46
12
  * Get the osrs account associated with this quest tool
47
13
  * @return {OsrsAccount | undefined} The osrs Account associated with this class object.
48
- * */
14
+ */
49
15
  getOsrsAccount(): OsrsAccount | undefined;
16
+ /**
17
+ * Determine if the account can complete a quest, including recursively checking quest requirements.
18
+ * @param quest The quest to check (must be a Quest instance)
19
+ * @param visited (internal) Set of quest names already checked to prevent infinite recursion
20
+ */
21
+ canCompleteQuest(quest: Quest | undefined, visited?: Set<string>): boolean;
22
+ /**
23
+ * Static utility to get a Quest instance by its name.
24
+ * This assumes all quests are exported as default from their respective files in quest/all/.
25
+ * @param questName The name of the quest to retrieve
26
+ * @returns Quest instance or undefined if not found
27
+ */
28
+ static getQuestByName(questName: string): Quest | undefined;
29
+ /**
30
+ * Get the maximum boost for a given skill, based on OSRS Wiki data.
31
+ * @param skillName The name of the skill (case-insensitive, e.g. 'Attack', 'Herblore')
32
+ * @returns The maximum boost amount for the skill (positive integer, or 0 if unboostable)
33
+ */
34
+ static getMaxSkillBoost(skillName: string): number;
50
35
  }
51
36
  export { QuestTool };