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
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Quest_1 = require("../Quest");
4
+ const WitchesPotion = {
5
+ id: 0,
6
+ name: "Witch's Potion",
7
+ members: false,
8
+ difficulty: 'Novice',
9
+ length: 'Short',
10
+ requirements: [],
11
+ questPoints: 1,
12
+ startLocation: '',
13
+ description: '',
14
+ steps: [],
15
+ status: Quest_1.QuestStatus.NotStarted,
16
+ miniquest: false,
17
+ shortName: 'witchesPotion',
18
+ url: 'https://oldschool.runescape.wiki/w/Witch%27s_Potion',
19
+ series: null,
20
+ age: '',
21
+ difficultyLevel: 'Novice',
22
+ officialDifficulty: 'Novice',
23
+ officialLength: 'Short',
24
+ officialAge: '',
25
+ recommendedItems: [],
26
+ recommendedSkills: {},
27
+ recommendedPrayers: [],
28
+ rewards: {
29
+ experience: [],
30
+ questPoints: 1,
31
+ items: [],
32
+ areas: [],
33
+ unlocks: [],
34
+ lamps: [],
35
+ points: [],
36
+ pets: [],
37
+ },
38
+ };
39
+ exports.default = WitchesPotion;
@@ -0,0 +1,3 @@
1
+ import { Quest } from '../Quest';
2
+ declare const WitchsHouse: Quest;
3
+ export default WitchsHouse;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Quest_1 = require("../Quest");
4
+ const WitchsHouse = {
5
+ id: 0,
6
+ name: "Witch's House",
7
+ members: true,
8
+ difficulty: 'Intermediate',
9
+ length: 'Medium',
10
+ requirements: [],
11
+ questPoints: 4,
12
+ startLocation: '',
13
+ description: '',
14
+ steps: [],
15
+ status: Quest_1.QuestStatus.NotStarted,
16
+ miniquest: false,
17
+ shortName: 'witchsHouse',
18
+ url: 'https://oldschool.runescape.wiki/w/Witch%27s_House',
19
+ series: null,
20
+ age: '',
21
+ difficultyLevel: 'Intermediate',
22
+ officialDifficulty: 'Intermediate',
23
+ officialLength: 'Medium',
24
+ officialAge: '',
25
+ recommendedItems: [],
26
+ recommendedSkills: {},
27
+ recommendedPrayers: [],
28
+ rewards: {
29
+ experience: [],
30
+ questPoints: 4,
31
+ items: [],
32
+ areas: [],
33
+ unlocks: [],
34
+ lamps: [],
35
+ points: [],
36
+ pets: [],
37
+ },
38
+ };
39
+ exports.default = WitchsHouse;
@@ -0,0 +1,3 @@
1
+ import { Quest } from '../Quest';
2
+ declare const ZogreFleshEaters: Quest;
3
+ export default ZogreFleshEaters;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Quest_1 = require("../Quest");
4
+ const Requirement_1 = require("../../Requirement");
5
+ const ZogreFleshEaters = {
6
+ id: 0,
7
+ name: 'Zogre Flesh Eaters',
8
+ members: true,
9
+ difficulty: 'Intermediate',
10
+ length: 'Medium',
11
+ requirements: [
12
+ new Requirement_1.LevelRequirement('Herblore', 8, false),
13
+ new Requirement_1.LevelRequirement('Smithing', 4, false),
14
+ new Requirement_1.LevelRequirement('Ranged', 30, false),
15
+ ],
16
+ questPoints: 1,
17
+ startLocation: '',
18
+ description: '',
19
+ steps: [],
20
+ status: Quest_1.QuestStatus.NotStarted,
21
+ miniquest: false,
22
+ shortName: 'zogreFleshEaters',
23
+ url: 'https://oldschool.runescape.wiki/w/Zogre_Flesh_Eaters',
24
+ series: 'Ogre',
25
+ age: '',
26
+ difficultyLevel: 'Intermediate',
27
+ officialDifficulty: 'Intermediate',
28
+ officialLength: 'Medium',
29
+ officialAge: '',
30
+ recommendedItems: [],
31
+ recommendedSkills: {},
32
+ recommendedPrayers: [],
33
+ rewards: {
34
+ experience: [],
35
+ questPoints: 1,
36
+ items: [],
37
+ areas: [],
38
+ unlocks: [],
39
+ lamps: [],
40
+ points: [],
41
+ pets: [],
42
+ },
43
+ };
44
+ exports.default = ZogreFleshEaters;
@@ -0,0 +1,17 @@
1
+ import { Requirement } from '../Requirement';
2
+ export declare class Assignment {
3
+ name: string;
4
+ quantity: number;
5
+ requirements: Requirement[];
6
+ extendedAmountMin?: number | null;
7
+ extendedAmountMax?: number | null;
8
+ constructor(name: string, quantity: number, requirements: Requirement[], extendedAmountMin?: number | null, extendedAmountMax?: number | null);
9
+ /**
10
+ * Get the task name
11
+ */
12
+ getName(): string;
13
+ /**
14
+ * Get the quantity of the task
15
+ */
16
+ getQuantity(): number;
17
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Assignment = void 0;
4
+ // A Class that represents an assignment of a task to a player.
5
+ // An assignment is a specific instance of a task, with a specific quantity and requirements.
6
+ // The assignment is the actual task given to a player, which is based on the Task.
7
+ class Assignment {
8
+ constructor(name, quantity, requirements, extendedAmountMin, extendedAmountMax) {
9
+ this.name = name;
10
+ this.quantity = quantity;
11
+ this.requirements = requirements;
12
+ this.extendedAmountMin = extendedAmountMin !== null && extendedAmountMin !== void 0 ? extendedAmountMin : null;
13
+ this.extendedAmountMax = extendedAmountMax !== null && extendedAmountMax !== void 0 ? extendedAmountMax : null;
14
+ }
15
+ /**
16
+ * Get the task name
17
+ */
18
+ getName() {
19
+ return this.name;
20
+ }
21
+ /**
22
+ * Get the quantity of the task
23
+ */
24
+ getQuantity() {
25
+ return this.quantity;
26
+ }
27
+ }
28
+ exports.Assignment = Assignment;
@@ -0,0 +1,10 @@
1
+ import { SlayerMaster } from '../../model/slayer/SlayerMaster';
2
+ export declare const Mazchna: SlayerMaster;
3
+ export declare const Spria: SlayerMaster;
4
+ export declare const Turael: SlayerMaster;
5
+ export declare const Vannaka: SlayerMaster;
6
+ export declare const KonarQuoMaten: SlayerMaster;
7
+ export declare const Krystilia: SlayerMaster;
8
+ export declare const Nieve: SlayerMaster;
9
+ export declare const Duradel: SlayerMaster;
10
+ export declare const Chaeldar: SlayerMaster;
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Chaeldar = exports.Duradel = exports.Nieve = exports.Krystilia = exports.KonarQuoMaten = exports.Vannaka = exports.Turael = exports.Spria = exports.Mazchna = void 0;
4
+ const SlayerMaster_1 = require("../../model/slayer/SlayerMaster");
5
+ const DuradelTasks_1 = require("./task/DuradelTasks");
6
+ const NieveTasks_1 = require("./task/NieveTasks");
7
+ const SpriaTasks_1 = require("./task/SpriaTasks");
8
+ const TurealTasks_1 = require("./task/TurealTasks");
9
+ const VannakaTasks_1 = require("./task/VannakaTasks");
10
+ const MazchnaTasks_1 = require("./task/MazchnaTasks");
11
+ const ChaelderTasks_1 = require("./task/ChaelderTasks");
12
+ const KonarTasks_1 = require("./task/KonarTasks");
13
+ const KrystiliaTasks_1 = require("./task/KrystiliaTasks");
14
+ // TODO: Add the rest of the tasks for each master
15
+ // TODO: Add the rest of the masters
16
+ // TODO: Ensure points are correct
17
+ // Mazchna: https://oldschool.runescape.wiki/w/Mazchna
18
+ exports.Mazchna = new SlayerMaster_1.SlayerMaster('Mazchna', MazchnaTasks_1.mazchnaTasks, 'Canifis', 0, 'https://oldschool.runescape.wiki/w/Mazchna', {
19
+ 1: 2,
20
+ 10: 5,
21
+ 100: 50,
22
+ 1000: 100,
23
+ 250: 70,
24
+ 50: 15,
25
+ }, undefined);
26
+ // Spria: https://oldschool.runescape.wiki/w/Spria
27
+ exports.Spria = new SlayerMaster_1.SlayerMaster('Spria', SpriaTasks_1.spriaTasks, 'Draynor Village', 0, 'https://oldschool.runescape.wiki/w/Spria', {
28
+ 1: 2,
29
+ 10: 5,
30
+ 100: 50,
31
+ 1000: 100,
32
+ 250: 70,
33
+ 50: 15,
34
+ }, undefined);
35
+ // Tureal: https://oldschool.runescape.wiki/w/Turael
36
+ exports.Turael = new SlayerMaster_1.SlayerMaster('Turael', TurealTasks_1.turealTasks, 'Burthope', 0, 'https://oldschool.runescape.wiki/w/Turael', {
37
+ 1: 2,
38
+ 10: 5,
39
+ 100: 50,
40
+ 1000: 100,
41
+ 250: 70,
42
+ 50: 15,
43
+ }, undefined);
44
+ // Vannaka: https://oldschool.runescape.wiki/w/Vannaka
45
+ exports.Vannaka = new SlayerMaster_1.SlayerMaster('Vannaka', VannakaTasks_1.vannakaTasks, 'Edgeville Dungeon', 0, 'https://oldschool.runescape.wiki/w/Vannaka', {
46
+ 1: 2,
47
+ 10: 5,
48
+ 100: 50,
49
+ 1000: 100,
50
+ 250: 70,
51
+ 50: 15,
52
+ }, undefined);
53
+ // Konar Quo Maten: https://oldschool.runescape.wiki/w/Konar_Quo_Maten
54
+ exports.KonarQuoMaten = new SlayerMaster_1.SlayerMaster('Konar Quo Maten', KonarTasks_1.konarTasks, 'Mount Karuulm', 0, 'https://oldschool.runescape.wiki/w/Konar_Quo_Maten', {
55
+ 1: 2,
56
+ 10: 5,
57
+ 100: 50,
58
+ 1000: 100,
59
+ 250: 70,
60
+ 50: 15,
61
+ }, undefined);
62
+ // Krystilia: https://oldschool.runescape.wiki/w/Krystilia
63
+ exports.Krystilia = new SlayerMaster_1.SlayerMaster('Krystilia', KrystiliaTasks_1.krystiliaTasks, 'Edgeville', 0, 'https://oldschool.runescape.wiki/w/Krystilia', {
64
+ 1: 2,
65
+ 10: 5,
66
+ 100: 50,
67
+ 1000: 100,
68
+ 250: 70,
69
+ 50: 15,
70
+ }, undefined);
71
+ // Nieve: https://oldschool.runescape.wiki/w/Nieve
72
+ exports.Nieve = new SlayerMaster_1.SlayerMaster('Nieve', NieveTasks_1.nieveTasks, "Nieve's Cave", 0, 'https://oldschool.runescape.wiki/w/Nieve', {
73
+ 1: 12,
74
+ 10: 60,
75
+ 100: 300,
76
+ 1000: 600,
77
+ 250: 420,
78
+ 50: 180,
79
+ }, {
80
+ 1: 15,
81
+ 10: 75,
82
+ 100: 375,
83
+ 1000: 750,
84
+ 250: 525,
85
+ 50: 225,
86
+ });
87
+ // Duradel: https://oldschool.runescape.wiki/w/Duradel
88
+ exports.Duradel = new SlayerMaster_1.SlayerMaster('Duradel', DuradelTasks_1.duradelTasks, 'Shilo Village', 85, 'https://oldschool.runescape.wiki/w/Duradel', {
89
+ 1: 15,
90
+ 10: 75,
91
+ 100: 375,
92
+ 1000: 750,
93
+ 250: 525,
94
+ 50: 225,
95
+ }, undefined);
96
+ // Chaeldar: https://oldschool.runescape.wiki/w/Chaeldar
97
+ exports.Chaeldar = new SlayerMaster_1.SlayerMaster('Chaeldar', ChaelderTasks_1.chaeldarTasks, 'Zanaris', 0, 'https://oldschool.runescape.wiki/w/Chaeldar', {
98
+ 1: 10,
99
+ 10: 50,
100
+ 100: 250,
101
+ 1000: 500,
102
+ 250: 350,
103
+ 50: 150,
104
+ }, undefined);
@@ -0,0 +1,3 @@
1
+ import { SlayerBuy } from "./SlayerReward";
2
+ declare const SlayerBuys: SlayerBuy[];
3
+ export { SlayerBuy, SlayerBuys };
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SlayerBuys = exports.SlayerBuy = void 0;
4
+ const SlayerReward_1 = require("./SlayerReward");
5
+ Object.defineProperty(exports, "SlayerBuy", { enumerable: true, get: function () { return SlayerReward_1.SlayerBuy; } });
6
+ const SlayerBuys = [
7
+ {
8
+ item: "Slayer ring",
9
+ notes: "An equippable ring that provides all the functions of an Enchanted gem, and provides 8 charges for teleporting to useful Slayer sites.",
10
+ priceSoldAt: 75,
11
+ },
12
+ {
13
+ item: "Broad bolts (x250)",
14
+ notes: "Bolts that can damage Turoths and Kurask. Level 55 Slayer and 61 Ranged, alongside a suitable bow, are required to fire these bolts.",
15
+ priceSoldAt: 35,
16
+ },
17
+ {
18
+ item: "Broad arrows (x250)",
19
+ notes: "Arrows that can damage Turoths and Kurask. Level 55 Slayer and 50 Ranged, alongside a suitable bow, are required to fire these arrows.",
20
+ priceSoldAt: 35,
21
+ },
22
+ {
23
+ item: "Herb sack",
24
+ notes: "Stores up to 30 of each type of grimy herb (for a total of 420 herbs). Level 58 Herblore is required to use it.",
25
+ priceSoldAt: 750,
26
+ },
27
+ {
28
+ item: "Rune pouch",
29
+ notes: "Stores up to 16,000 of three types of runes. Only one can be owned. Can also be obtained by exchanging a rune pouch note at a bank.",
30
+ priceSoldAt: 750,
31
+ },
32
+ ];
33
+ exports.SlayerBuys = SlayerBuys;
34
+ module.exports = exports = { SlayerBuys };
@@ -0,0 +1,13 @@
1
+ import { SlayerMaster } from "../../model/slayer/SlayerMaster";
2
+ import { Duradel, KonarQuoMaten, Krystilia, Mazchna, Nieve, Spria, Turael, Vannaka } from "./Masters";
3
+ type SlayerData = Record<string, SlayerMaster>;
4
+ declare const SlayerData: SlayerData;
5
+ export declare function getSlayerMasterByName(name: string): SlayerMaster | undefined;
6
+ export declare class SlayerTool {
7
+ private slayerMasters;
8
+ constructor(slayerMasters: SlayerData);
9
+ getSlayerMaster(name: string): SlayerMaster | undefined;
10
+ getAllSlayerMasters(): SlayerMaster[];
11
+ }
12
+ export default SlayerData;
13
+ export { Duradel, KonarQuoMaten, Krystilia, Mazchna, Nieve, Spria, Turael, Vannaka, };
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Vannaka = exports.Turael = exports.Spria = exports.Nieve = exports.Mazchna = exports.Krystilia = exports.KonarQuoMaten = exports.Duradel = exports.SlayerTool = void 0;
4
+ exports.getSlayerMasterByName = getSlayerMasterByName;
5
+ const Masters_1 = require("./Masters");
6
+ Object.defineProperty(exports, "Duradel", { enumerable: true, get: function () { return Masters_1.Duradel; } });
7
+ Object.defineProperty(exports, "KonarQuoMaten", { enumerable: true, get: function () { return Masters_1.KonarQuoMaten; } });
8
+ Object.defineProperty(exports, "Krystilia", { enumerable: true, get: function () { return Masters_1.Krystilia; } });
9
+ Object.defineProperty(exports, "Mazchna", { enumerable: true, get: function () { return Masters_1.Mazchna; } });
10
+ Object.defineProperty(exports, "Nieve", { enumerable: true, get: function () { return Masters_1.Nieve; } });
11
+ Object.defineProperty(exports, "Spria", { enumerable: true, get: function () { return Masters_1.Spria; } });
12
+ Object.defineProperty(exports, "Turael", { enumerable: true, get: function () { return Masters_1.Turael; } });
13
+ Object.defineProperty(exports, "Vannaka", { enumerable: true, get: function () { return Masters_1.Vannaka; } });
14
+ // Gerenate the SlayerData object
15
+ const SlayerData = {
16
+ Duradel: Masters_1.Duradel,
17
+ KonarQuoMaten: Masters_1.KonarQuoMaten,
18
+ Krystilia: Masters_1.Krystilia,
19
+ Mazchna: Masters_1.Mazchna,
20
+ Nieve: Masters_1.Nieve,
21
+ Spria: Masters_1.Spria,
22
+ Turael: Masters_1.Turael,
23
+ Vannaka: Masters_1.Vannaka,
24
+ };
25
+ // Function to get a SlayerMaster by name
26
+ function getSlayerMasterByName(name) {
27
+ return SlayerData[name];
28
+ }
29
+ class SlayerTool {
30
+ constructor(slayerMasters) {
31
+ this.slayerMasters = slayerMasters;
32
+ }
33
+ getSlayerMaster(name) {
34
+ return this.slayerMasters[name];
35
+ }
36
+ getAllSlayerMasters() {
37
+ return Object.values(this.slayerMasters);
38
+ }
39
+ }
40
+ exports.SlayerTool = SlayerTool;
41
+ // Export the SlayerData object for use in other parts of the application
42
+ exports.default = SlayerData;
@@ -0,0 +1,23 @@
1
+ export declare class SlayerExtend {
2
+ name: string;
3
+ cost: number;
4
+ notes: string;
5
+ constructor({ cost, name, notes, }: {
6
+ name: string;
7
+ cost: number;
8
+ notes: string;
9
+ });
10
+ /**
11
+ * Get the name of the Slayer Extend
12
+ */
13
+ getName(): string;
14
+ /**
15
+ * Get the cost of the Slayer Extend
16
+ */
17
+ getCost(): number;
18
+ /**
19
+ * Get the notes of the Slayer Extend
20
+ */
21
+ getNotes(): string;
22
+ }
23
+ export declare const SlayerExtends: SlayerExtend[];
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SlayerExtends = exports.SlayerExtend = void 0;
4
+ class SlayerExtend {
5
+ constructor({ cost, name, notes, }) {
6
+ this.name = name;
7
+ this.cost = cost;
8
+ this.notes = notes;
9
+ }
10
+ /**
11
+ * Get the name of the Slayer Extend
12
+ */
13
+ getName() {
14
+ return this.name;
15
+ }
16
+ /**
17
+ * Get the cost of the Slayer Extend
18
+ */
19
+ getCost() {
20
+ return this.cost;
21
+ }
22
+ /**
23
+ * Get the notes of the Slayer Extend
24
+ */
25
+ getNotes() {
26
+ return this.notes;
27
+ }
28
+ }
29
+ exports.SlayerExtend = SlayerExtend;
30
+ // Define each SlayerExtend as a const
31
+ const NeedMoreDarkness = new SlayerExtend({
32
+ cost: 100,
33
+ name: "Need more darkness",
34
+ notes: "Number of dark beasts assigned is increased to 100-149.",
35
+ });
36
+ const AnkouVeryMuch = new SlayerExtend({
37
+ cost: 100,
38
+ name: "Ankou very much",
39
+ notes: "Number of ankous assigned is increased to 91-149.",
40
+ });
41
+ const SuqAnotherOne = new SlayerExtend({
42
+ cost: 100,
43
+ name: "Suq-a-nother one",
44
+ notes: "Number of suqahs assigned is increased to 185-250.",
45
+ });
46
+ const FireAndDarkness = new SlayerExtend({
47
+ cost: 50,
48
+ name: "Fire & Darkness",
49
+ notes: "Number of black dragons assigned is increased to 40-60.",
50
+ });
51
+ const PedalToTheMetals = new SlayerExtend({
52
+ cost: 100,
53
+ name: "Pedal to the metals",
54
+ notes: "Number of bronze, iron and steel dragons assigned is increased to 30-50, 60-100 and 40-60, respectively.",
55
+ });
56
+ const IReallyMithYou = new SlayerExtend({
57
+ cost: 120,
58
+ name: "I really mith you",
59
+ notes: "Number of mithril dragons assigned is increased to 20-40.",
60
+ });
61
+ const AdaMindSomeMore = new SlayerExtend({
62
+ cost: 100,
63
+ name: "Ada'mind some more",
64
+ notes: "Number of adamant dragons assigned is increased to 20-30.",
65
+ });
66
+ const Ruuuuune = new SlayerExtend({
67
+ cost: 100,
68
+ name: "RUUUUUNE",
69
+ notes: "Number of rune dragons assigned is increased to 30-60.",
70
+ });
71
+ const SpiritualFervour = new SlayerExtend({
72
+ cost: 100,
73
+ name: "Spiritual fervour",
74
+ notes: "Number of spiritual creatures assigned is increased to 181-250.",
75
+ });
76
+ const BirdsOfAFeather = new SlayerExtend({
77
+ cost: 100,
78
+ name: "Birds of a Feather",
79
+ notes: "Number of aviansies assigned is increased to 130-250.",
80
+ });
81
+ const GreaterChallenge = new SlayerExtend({
82
+ cost: 100,
83
+ name: "Greater challenge",
84
+ notes: "Number of greater demons assigned is increased to 150-200.",
85
+ });
86
+ const ItsDarkInHere = new SlayerExtend({
87
+ cost: 100,
88
+ name: "It's dark in here",
89
+ notes: "Number of black demons assigned is increased to 200-250.",
90
+ });
91
+ const BleedMeDry = new SlayerExtend({
92
+ cost: 75,
93
+ name: "Bleed me dry",
94
+ notes: "Number of bloodvelds assigned is increased to 200-250.",
95
+ });
96
+ const SmellYaLater = new SlayerExtend({
97
+ cost: 100,
98
+ name: "Smell ya later",
99
+ notes: "Number of aberrant spectres assigned is increased to 200-250.",
100
+ });
101
+ const Horrorific = new SlayerExtend({
102
+ cost: 100,
103
+ name: "Horrorific",
104
+ notes: "Number of cave horrors assigned is increased to 200-250.",
105
+ });
106
+ const ToDustYouShallReturn = new SlayerExtend({
107
+ cost: 100,
108
+ name: "To dust you shall return",
109
+ notes: "Number of dust devils assigned is increased to 200-250.",
110
+ });
111
+ const WyverNotherOne = new SlayerExtend({
112
+ cost: 100,
113
+ name: "Wyver-nother one",
114
+ notes: "Number of skeletal Wyverns assigned is increased to 50-75.",
115
+ });
116
+ const GetSmashed = new SlayerExtend({
117
+ cost: 100,
118
+ name: "Get smashed",
119
+ notes: "Number of gargoyles assigned is increased to 200-250.",
120
+ });
121
+ const NechsPlease = new SlayerExtend({
122
+ cost: 100,
123
+ name: "Nechs please",
124
+ notes: "Number of nechryael assigned is increased to 200-250.",
125
+ });
126
+ const AugmentMyAbbies = new SlayerExtend({
127
+ cost: 100,
128
+ name: "Augment my abbies",
129
+ notes: "Number of abyssal demons assigned is increased to 200-250.",
130
+ });
131
+ const KrackOn = new SlayerExtend({
132
+ cost: 100,
133
+ name: "Krack on",
134
+ notes: "Number of cave kraken assigned is increased to 150-200.",
135
+ });
136
+ const GetScabarightOnIt = new SlayerExtend({
137
+ cost: 50,
138
+ name: "Get scabaright on it",
139
+ notes: "Number of scabarites assigned is increased to 130-170.",
140
+ });
141
+ const WyverNotherTwo = new SlayerExtend({
142
+ cost: 100,
143
+ name: "Wyver-nother two",
144
+ notes: "Number of Fossil Island wyverns assigned is increased to 55-75.",
145
+ });
146
+ const Basilonger = new SlayerExtend({
147
+ cost: 100,
148
+ name: "Basilonger",
149
+ notes: "Number of Basilisks assigned is increased to 200-250.",
150
+ });
151
+ const MoreAtStake = new SlayerExtend({
152
+ cost: 100,
153
+ name: "More at stake",
154
+ notes: "Number of Vampyres assigned is increased to 200-250.",
155
+ });
156
+ // Add all defined SlayerExtend objects to the array
157
+ exports.SlayerExtends = [
158
+ NeedMoreDarkness,
159
+ AnkouVeryMuch,
160
+ SuqAnotherOne,
161
+ FireAndDarkness,
162
+ PedalToTheMetals,
163
+ IReallyMithYou,
164
+ AdaMindSomeMore,
165
+ Ruuuuune,
166
+ SpiritualFervour,
167
+ BirdsOfAFeather,
168
+ GreaterChallenge,
169
+ ItsDarkInHere,
170
+ BleedMeDry,
171
+ SmellYaLater,
172
+ Horrorific,
173
+ ToDustYouShallReturn,
174
+ WyverNotherOne,
175
+ GetSmashed,
176
+ NechsPlease,
177
+ AugmentMyAbbies,
178
+ KrackOn,
179
+ GetScabarightOnIt,
180
+ WyverNotherTwo,
181
+ Basilonger,
182
+ MoreAtStake,
183
+ // Add additional SlayerExtend objects here...
184
+ ];
@@ -0,0 +1,67 @@
1
+ import { Task } from "./Task";
2
+ /**
3
+ * SlayerMaster class represents a Slayer Master in the game.
4
+ * It encapsulates the properties and methods related to a Slayer Master,
5
+ * including the tasks they assign, their location, level requirements,
6
+ * and the ability to generate random assignments.
7
+ * Reference: https://oldschool.runescape.wiki/w/Duradel
8
+ *
9
+ */
10
+ declare class SlayerMaster {
11
+ name: string;
12
+ totalWeight: number;
13
+ location: string;
14
+ minimumCombatLevel: number;
15
+ tasks: Task[];
16
+ wikiUrl: string;
17
+ taskPoints: Record<number, number>;
18
+ eliteDiaryTaskPoints?: Record<number, number>;
19
+ constructor(name: string, tasks: Task[], location: string, levelRequirement: number, url: string, taskPoints: Record<number, number>, // Pass the task points mapping in the constructor
20
+ eliteDiaryTaskPoints?: Record<number, number>);
21
+ /**
22
+ * Calculate the total weight of all tasks assigned to this Slayer Master.
23
+ * @returns {number} The total weight of all tasks assigned to this Slayer Master.
24
+ */
25
+ calculateTotalWeight(): number;
26
+ /**
27
+ * Get the points awarded for completing a task based on the interval.
28
+ * @param {number} taskInterval - The interval of the task (e.g., 1 for every task, 10 for every 10th task, etc.).
29
+ * @returns {number} The points awarded for the given task interval.
30
+ */
31
+ getPointsForTaskInterval(taskInterval: number): number;
32
+ /**
33
+ * Get the location of the Slayer Master
34
+ */
35
+ getLocation(): string;
36
+ /**
37
+ * Get the minimum combat level of the Slayer Master
38
+ */
39
+ getMinimumCombatLevel(): number;
40
+ /**
41
+ * Get the wiki URL of the Slayer Master
42
+ */
43
+ getWikiUrl(): string;
44
+ /**
45
+ * Get a random task based on the weighting system of the tasks.
46
+ * Tasks with higher weights have a higher chance of being selected.
47
+ * @returns {Task | null} A randomly selected task or null if no tasks are available.
48
+ */
49
+ getRandomTask(): Task | null;
50
+ /**
51
+ * Get the total weight of tasks
52
+ */
53
+ getTotalWeight(): number;
54
+ /**
55
+ * Get Name of Slayer Master
56
+ */
57
+ getName(): string;
58
+ /**
59
+ * Get Tasks
60
+ */
61
+ getTasks(): Task[];
62
+ /**
63
+ * toString function
64
+ */
65
+ toString(): string;
66
+ }
67
+ export { SlayerMaster };