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.
- package/README.md +3 -3
- package/dist/index.d.ts +145 -8
- package/dist/index.js +169 -10
- package/dist/model/Requirement.d.ts +9 -9
- package/dist/model/Requirement.js +12 -37
- package/dist/model/account/OsrsAccount.d.ts +76 -27
- package/dist/model/account/OsrsAccount.js +172 -48
- package/dist/model/account/Skill.d.ts +25 -0
- package/dist/model/account/Skill.js +29 -0
- package/dist/model/misc/Item.d.ts +7 -0
- package/dist/model/misc/Item.js +12 -0
- package/dist/model/quest/Quest.d.ts +49 -17
- package/dist/model/quest/Quest.js +8 -0
- package/dist/model/quest/QuestTool.d.ts +24 -39
- package/dist/model/quest/QuestTool.js +115 -56
- package/dist/model/quest/all/AHandInTheSand.d.ts +2 -0
- package/dist/model/quest/all/AHandInTheSand.js +46 -0
- package/dist/model/quest/all/AKingdomDivided.d.ts +3 -0
- package/dist/model/quest/all/AKingdomDivided.js +56 -0
- package/dist/model/quest/all/APorcineOfInterest.d.ts +3 -0
- package/dist/model/quest/all/APorcineOfInterest.js +47 -0
- package/dist/model/quest/all/ASoulsBane.d.ts +3 -0
- package/dist/model/quest/all/ASoulsBane.js +42 -0
- package/dist/model/quest/all/ATailOfTwoCats.d.ts +3 -0
- package/dist/model/quest/all/ATailOfTwoCats.js +37 -0
- package/dist/model/quest/all/ATasteOfHope.d.ts +3 -0
- package/dist/model/quest/all/ATasteOfHope.js +39 -0
- package/dist/model/quest/all/ATheatreOfBlood.d.ts +3 -0
- package/dist/model/quest/all/ATheatreOfBlood.js +38 -0
- package/dist/model/quest/all/AnimalMagnetism.d.ts +3 -0
- package/dist/model/quest/all/AnimalMagnetism.js +45 -0
- package/dist/model/quest/all/AnotherSliceOfHAM.d.ts +3 -0
- package/dist/model/quest/all/AnotherSliceOfHAM.js +42 -0
- package/dist/model/quest/all/BelowIceMountain.d.ts +3 -0
- package/dist/model/quest/all/BelowIceMountain.js +47 -0
- package/dist/model/quest/all/BetweenARock.d.ts +3 -0
- package/dist/model/quest/all/BetweenARock.js +43 -0
- package/dist/model/quest/all/BigChompyBirdHunting.d.ts +3 -0
- package/dist/model/quest/all/BigChompyBirdHunting.js +43 -0
- package/dist/model/quest/all/Biohazard.d.ts +3 -0
- package/dist/model/quest/all/Biohazard.js +41 -0
- package/dist/model/quest/all/BlackKnightsFortress.d.ts +3 -0
- package/dist/model/quest/all/BlackKnightsFortress.js +39 -0
- package/dist/model/quest/all/BoneVoyage.d.ts +3 -0
- package/dist/model/quest/all/BoneVoyage.js +39 -0
- package/dist/model/quest/all/CabinFever.d.ts +3 -0
- package/dist/model/quest/all/CabinFever.js +43 -0
- package/dist/model/quest/all/ClientOfKourend.d.ts +3 -0
- package/dist/model/quest/all/ClientOfKourend.js +39 -0
- package/dist/model/quest/all/ClockTower.d.ts +3 -0
- package/dist/model/quest/all/ClockTower.js +39 -0
- package/dist/model/quest/all/ColdWar.d.ts +3 -0
- package/dist/model/quest/all/ColdWar.js +44 -0
- package/dist/model/quest/all/Contact.d.ts +3 -0
- package/dist/model/quest/all/Contact.js +42 -0
- package/dist/model/quest/all/CookAssistant.d.ts +3 -0
- package/dist/model/quest/all/CookAssistant.js +51 -0
- package/dist/model/quest/all/CooksAssistant.d.ts +3 -0
- package/dist/model/quest/all/CooksAssistant.js +42 -0
- package/dist/model/quest/all/CreatureOfFenkenstrain.d.ts +3 -0
- package/dist/model/quest/all/CreatureOfFenkenstrain.js +42 -0
- package/dist/model/quest/all/DarknessOfHallowvale.d.ts +3 -0
- package/dist/model/quest/all/DarknessOfHallowvale.js +44 -0
- package/dist/model/quest/all/DeathPlateau.d.ts +3 -0
- package/dist/model/quest/all/DeathPlateau.js +42 -0
- package/dist/model/quest/all/DeathToTheDorgeshuun.d.ts +3 -0
- package/dist/model/quest/all/DeathToTheDorgeshuun.js +43 -0
- package/dist/model/quest/all/DemonSlayer.d.ts +3 -0
- package/dist/model/quest/all/DemonSlayer.js +39 -0
- package/dist/model/quest/all/DesertTreasure.d.ts +14 -0
- package/dist/model/quest/all/DesertTreasure.js +15 -0
- package/dist/model/quest/all/DeviousMinds.d.ts +3 -0
- package/dist/model/quest/all/DeviousMinds.js +44 -0
- package/dist/model/quest/all/DoricQuest.d.ts +16 -0
- package/dist/model/quest/all/DoricQuest.js +20 -0
- package/dist/model/quest/all/DoricsQuest.d.ts +3 -0
- package/dist/model/quest/all/DoricsQuest.js +42 -0
- package/dist/model/quest/all/DragonSlayer.d.ts +3 -0
- package/dist/model/quest/all/DragonSlayer.js +43 -0
- package/dist/model/quest/all/DragonSlayerII.d.ts +3 -0
- package/dist/model/quest/all/DragonSlayerII.js +45 -0
- package/dist/model/quest/all/DreamMentor.d.ts +16 -0
- package/dist/model/quest/all/DreamMentor.js +21 -0
- package/dist/model/quest/all/DruidicRitual.d.ts +3 -0
- package/dist/model/quest/all/DruidicRitual.js +42 -0
- package/dist/model/quest/all/DwarfCannon.d.ts +3 -0
- package/dist/model/quest/all/DwarfCannon.js +42 -0
- package/dist/model/quest/all/EadgarsRuse.d.ts +3 -0
- package/dist/model/quest/all/EadgarsRuse.js +42 -0
- package/dist/model/quest/all/EaglesPeak.d.ts +3 -0
- package/dist/model/quest/all/EaglesPeak.js +42 -0
- package/dist/model/quest/all/ElementalWorkshopI.d.ts +3 -0
- package/dist/model/quest/all/ElementalWorkshopI.js +43 -0
- package/dist/model/quest/all/ElementalWorkshopII.d.ts +3 -0
- package/dist/model/quest/all/ElementalWorkshopII.js +43 -0
- package/dist/model/quest/all/EnakhrasLament.d.ts +3 -0
- package/dist/model/quest/all/EnakhrasLament.js +39 -0
- package/dist/model/quest/all/EnlightenedJourney.d.ts +3 -0
- package/dist/model/quest/all/EnlightenedJourney.js +39 -0
- package/dist/model/quest/all/FairytaleIGrowingPains.d.ts +3 -0
- package/dist/model/quest/all/FairytaleIGrowingPains.js +39 -0
- package/dist/model/quest/all/FairytaleIICureAQueen.d.ts +3 -0
- package/dist/model/quest/all/FairytaleIICureAQueen.js +39 -0
- package/dist/model/quest/all/FamilyCrest.d.ts +3 -0
- package/dist/model/quest/all/FamilyCrest.js +39 -0
- package/dist/model/quest/all/FightArena.d.ts +3 -0
- package/dist/model/quest/all/FightArena.js +39 -0
- package/dist/model/quest/all/FishingContest.d.ts +3 -0
- package/dist/model/quest/all/FishingContest.js +39 -0
- package/dist/model/quest/all/ForgettableTale.d.ts +3 -0
- package/dist/model/quest/all/ForgettableTale.js +39 -0
- package/dist/model/quest/all/GardenOfTranquillity.d.ts +3 -0
- package/dist/model/quest/all/GardenOfTranquillity.js +39 -0
- package/dist/model/quest/all/GertrudesCat.d.ts +3 -0
- package/dist/model/quest/all/GertrudesCat.js +39 -0
- package/dist/model/quest/all/GettingAhead.d.ts +3 -0
- package/dist/model/quest/all/GettingAhead.js +39 -0
- package/dist/model/quest/all/GhostsAhoy.d.ts +3 -0
- package/dist/model/quest/all/GhostsAhoy.js +39 -0
- package/dist/model/quest/all/GoblinDiplomacy.d.ts +3 -0
- package/dist/model/quest/all/GoblinDiplomacy.js +39 -0
- package/dist/model/quest/all/GrimTales.d.ts +3 -0
- package/dist/model/quest/all/GrimTales.js +47 -0
- package/dist/model/quest/all/HauntedMine.d.ts +3 -0
- package/dist/model/quest/all/HauntedMine.js +42 -0
- package/dist/model/quest/all/HazeelCult.d.ts +3 -0
- package/dist/model/quest/all/HazeelCult.js +42 -0
- package/dist/model/quest/all/HeroesQuest.d.ts +3 -0
- package/dist/model/quest/all/HeroesQuest.js +61 -0
- package/dist/model/quest/all/HolyGrail.d.ts +3 -0
- package/dist/model/quest/all/HolyGrail.js +50 -0
- package/dist/model/quest/all/HorrorFromTheDeep.d.ts +3 -0
- package/dist/model/quest/all/HorrorFromTheDeep.js +52 -0
- package/dist/model/quest/all/IcthlarinsLittleHelper.d.ts +3 -0
- package/dist/model/quest/all/IcthlarinsLittleHelper.js +44 -0
- package/dist/model/quest/all/ImpCatcher.d.ts +3 -0
- package/dist/model/quest/all/ImpCatcher.js +42 -0
- package/dist/model/quest/all/InAidOfTheMyreque.d.ts +3 -0
- package/dist/model/quest/all/InAidOfTheMyreque.js +51 -0
- package/dist/model/quest/all/InSearchOfTheMyreque.d.ts +3 -0
- package/dist/model/quest/all/InSearchOfTheMyreque.js +50 -0
- package/dist/model/quest/all/JunglePotion.d.ts +3 -0
- package/dist/model/quest/all/JunglePotion.js +43 -0
- package/dist/model/quest/all/KingsRansom.d.ts +3 -0
- package/dist/model/quest/all/KingsRansom.js +50 -0
- package/dist/model/quest/all/LegendsQuest.d.ts +3 -0
- package/dist/model/quest/all/LegendsQuest.js +56 -0
- package/dist/model/quest/all/LostCity.d.ts +3 -0
- package/dist/model/quest/all/LostCity.js +42 -0
- package/dist/model/quest/all/LunarDiplomacy.d.ts +3 -0
- package/dist/model/quest/all/LunarDiplomacy.js +55 -0
- package/dist/model/quest/all/MakingHistory.d.ts +3 -0
- package/dist/model/quest/all/MakingHistory.js +42 -0
- package/dist/model/quest/all/MerlinsCrystal.d.ts +3 -0
- package/dist/model/quest/all/MerlinsCrystal.js +39 -0
- package/dist/model/quest/all/MonkeyMadness.d.ts +3 -0
- package/dist/model/quest/all/MonkeyMadness.js +46 -0
- package/dist/model/quest/all/MonkeyMadnessII.d.ts +3 -0
- package/dist/model/quest/all/MonkeyMadnessII.js +57 -0
- package/dist/model/quest/all/MonksFriend.d.ts +3 -0
- package/dist/model/quest/all/MonksFriend.js +42 -0
- package/dist/model/quest/all/MurderMystery.d.ts +3 -0
- package/dist/model/quest/all/MurderMystery.js +39 -0
- package/dist/model/quest/all/MyArmsBigAdventure.d.ts +3 -0
- package/dist/model/quest/all/MyArmsBigAdventure.js +48 -0
- package/dist/model/quest/all/NatureSpirit.d.ts +3 -0
- package/dist/model/quest/all/NatureSpirit.js +43 -0
- package/dist/model/quest/all/ObservatoryQuest.d.ts +3 -0
- package/dist/model/quest/all/ObservatoryQuest.js +39 -0
- package/dist/model/quest/all/OlafsQuest.d.ts +3 -0
- package/dist/model/quest/all/OlafsQuest.js +47 -0
- package/dist/model/quest/all/OneSmallFavour.d.ts +3 -0
- package/dist/model/quest/all/OneSmallFavour.js +47 -0
- package/dist/model/quest/all/PlagueCity.d.ts +3 -0
- package/dist/model/quest/all/PlagueCity.js +39 -0
- package/dist/model/quest/all/PriestInPeril.d.ts +3 -0
- package/dist/model/quest/all/PriestInPeril.js +42 -0
- package/dist/model/quest/all/RagAndBoneMan.d.ts +3 -0
- package/dist/model/quest/all/RagAndBoneMan.js +39 -0
- package/dist/model/quest/all/Ratcatchers.d.ts +3 -0
- package/dist/model/quest/all/Ratcatchers.js +42 -0
- package/dist/model/quest/all/RecipeForDisaster.d.ts +3 -0
- package/dist/model/quest/all/RecipeForDisaster.js +62 -0
- package/dist/model/quest/all/RecruitmentDrive.d.ts +3 -0
- package/dist/model/quest/all/RecruitmentDrive.js +43 -0
- package/dist/model/quest/all/Regicide.d.ts +3 -0
- package/dist/model/quest/all/Regicide.js +43 -0
- package/dist/model/quest/all/RovingElves.d.ts +3 -0
- package/dist/model/quest/all/RovingElves.js +43 -0
- package/dist/model/quest/all/RoyalTrouble.d.ts +3 -0
- package/dist/model/quest/all/RoyalTrouble.js +44 -0
- package/dist/model/quest/all/RumDeal.d.ts +3 -0
- package/dist/model/quest/all/RumDeal.js +47 -0
- package/dist/model/quest/all/ScorpionCatcher.d.ts +3 -0
- package/dist/model/quest/all/ScorpionCatcher.js +39 -0
- package/dist/model/quest/all/SeaSlug.d.ts +3 -0
- package/dist/model/quest/all/SeaSlug.js +39 -0
- package/dist/model/quest/all/ShadesOfMortton.d.ts +3 -0
- package/dist/model/quest/all/ShadesOfMortton.js +43 -0
- package/dist/model/quest/all/ShadowOfTheStorm.d.ts +3 -0
- package/dist/model/quest/all/ShadowOfTheStorm.js +44 -0
- package/dist/model/quest/all/SheepHerder.d.ts +3 -0
- package/dist/model/quest/all/SheepHerder.js +39 -0
- package/dist/model/quest/all/ShiloVillage.d.ts +3 -0
- package/dist/model/quest/all/ShiloVillage.js +43 -0
- package/dist/model/quest/all/SlugMenace.d.ts +3 -0
- package/dist/model/quest/all/SlugMenace.js +48 -0
- package/dist/model/quest/all/SongOfTheElves.d.ts +3 -0
- package/dist/model/quest/all/SongOfTheElves.js +50 -0
- package/dist/model/quest/all/SpiritsOfTheElid.d.ts +3 -0
- package/dist/model/quest/all/SpiritsOfTheElid.js +43 -0
- package/dist/model/quest/all/SwanSong.d.ts +3 -0
- package/dist/model/quest/all/SwanSong.js +47 -0
- package/dist/model/quest/all/TaiBwoWannaiTrio.d.ts +3 -0
- package/dist/model/quest/all/TaiBwoWannaiTrio.js +45 -0
- package/dist/model/quest/all/TheAscentOfArceuus.d.ts +3 -0
- package/dist/model/quest/all/TheAscentOfArceuus.js +39 -0
- package/dist/model/quest/all/TheDepthsOfDespair.d.ts +3 -0
- package/dist/model/quest/all/TheDepthsOfDespair.js +43 -0
- package/dist/model/quest/all/TheForsakenTower.d.ts +3 -0
- package/dist/model/quest/all/TheForsakenTower.js +42 -0
- package/dist/model/quest/all/TheFremennikExiles.d.ts +3 -0
- package/dist/model/quest/all/TheFremennikExiles.js +47 -0
- package/dist/model/quest/all/TheFremennikIsles.d.ts +3 -0
- package/dist/model/quest/all/TheFremennikIsles.js +44 -0
- package/dist/model/quest/all/TheFremennikTrials.d.ts +3 -0
- package/dist/model/quest/all/TheFremennikTrials.js +39 -0
- package/dist/model/quest/all/TheGiantDwarf.d.ts +3 -0
- package/dist/model/quest/all/TheGiantDwarf.js +44 -0
- package/dist/model/quest/all/TheGolem.d.ts +3 -0
- package/dist/model/quest/all/TheGolem.js +39 -0
- package/dist/model/quest/all/TheGrandTree.d.ts +3 -0
- package/dist/model/quest/all/TheGrandTree.js +39 -0
- package/dist/model/quest/all/TheGreatBrainRobbery.d.ts +3 -0
- package/dist/model/quest/all/TheGreatBrainRobbery.js +46 -0
- package/dist/model/quest/all/TheHandInTheSand.d.ts +3 -0
- package/dist/model/quest/all/TheHandInTheSand.js +43 -0
- package/dist/model/quest/all/TheKnightsSword.d.ts +3 -0
- package/dist/model/quest/all/TheKnightsSword.js +39 -0
- package/dist/model/quest/all/TheLostTribe.d.ts +3 -0
- package/dist/model/quest/all/TheLostTribe.js +43 -0
- package/dist/model/quest/all/TheQueenOfThieves.d.ts +3 -0
- package/dist/model/quest/all/TheQueenOfThieves.js +43 -0
- package/dist/model/quest/all/TheSlugMenace.d.ts +3 -0
- package/dist/model/quest/all/TheSlugMenace.js +48 -0
- package/dist/model/quest/all/TheTaleOfTheRighteous.d.ts +3 -0
- package/dist/model/quest/all/TheTaleOfTheRighteous.js +43 -0
- package/dist/model/quest/all/TheTempleOfIkov.d.ts +3 -0
- package/dist/model/quest/all/TheTempleOfIkov.js +42 -0
- package/dist/model/quest/all/TheTouristTrap.d.ts +3 -0
- package/dist/model/quest/all/TheTouristTrap.js +43 -0
- package/dist/model/quest/all/ThroneOfMiscellania.d.ts +3 -0
- package/dist/model/quest/all/ThroneOfMiscellania.js +46 -0
- package/dist/model/quest/all/TowerOfLife.d.ts +3 -0
- package/dist/model/quest/all/TowerOfLife.js +42 -0
- package/dist/model/quest/all/TreeGnomeVillage.d.ts +3 -0
- package/dist/model/quest/all/TreeGnomeVillage.js +39 -0
- package/dist/model/quest/all/TribalTotem.d.ts +3 -0
- package/dist/model/quest/all/TribalTotem.js +39 -0
- package/dist/model/quest/all/TrollRomance.d.ts +3 -0
- package/dist/model/quest/all/TrollRomance.js +43 -0
- package/dist/model/quest/all/TrollStronghold.d.ts +3 -0
- package/dist/model/quest/all/TrollStronghold.js +42 -0
- package/dist/model/quest/all/UndergroundPass.d.ts +3 -0
- package/dist/model/quest/all/UndergroundPass.js +43 -0
- package/dist/model/quest/all/VampyreSlayer.d.ts +3 -0
- package/dist/model/quest/all/VampyreSlayer.js +39 -0
- package/dist/model/quest/all/Wanted.d.ts +3 -0
- package/dist/model/quest/all/Wanted.js +48 -0
- package/dist/model/quest/all/Watchtower.d.ts +3 -0
- package/dist/model/quest/all/Watchtower.js +45 -0
- package/dist/model/quest/all/WaterfallQuest.d.ts +3 -0
- package/dist/model/quest/all/WaterfallQuest.js +39 -0
- package/dist/model/quest/all/WhatLiesBelow.d.ts +3 -0
- package/dist/model/quest/all/WhatLiesBelow.js +42 -0
- package/dist/model/quest/all/WitchesPotion.d.ts +3 -0
- package/dist/model/quest/all/WitchesPotion.js +39 -0
- package/dist/model/quest/all/WitchsHouse.d.ts +3 -0
- package/dist/model/quest/all/WitchsHouse.js +39 -0
- package/dist/model/quest/all/ZogreFleshEaters.d.ts +3 -0
- package/dist/model/quest/all/ZogreFleshEaters.js +44 -0
- package/dist/model/slayer/Assignment.d.ts +1 -1
- package/dist/model/slayer/Masters.d.ts +10 -0
- package/dist/model/slayer/Masters.js +104 -0
- package/dist/model/slayer/SlayerBuys.d.ts +3 -0
- package/dist/model/slayer/SlayerBuys.js +34 -0
- package/dist/model/slayer/SlayerExtends.d.ts +23 -0
- package/dist/model/slayer/SlayerExtends.js +184 -0
- package/dist/model/slayer/SlayerUnlock.d.ts +7 -0
- package/dist/model/slayer/SlayerUnlock.js +67 -0
- package/dist/model/slayer/task/ChaelderTasks.d.ts +3 -0
- package/dist/model/slayer/task/ChaelderTasks.js +68 -0
- package/dist/model/slayer/task/DuradelTasks.d.ts +3 -0
- package/dist/model/slayer/task/DuradelTasks.js +36 -0
- package/dist/model/slayer/task/KonarTasks.d.ts +3 -0
- package/dist/model/slayer/task/KonarTasks.js +36 -0
- package/dist/model/slayer/task/KrystiliaTasks.d.ts +3 -0
- package/dist/model/slayer/task/KrystiliaTasks.js +36 -0
- package/dist/model/slayer/task/MazchnaTasks.d.ts +3 -0
- package/dist/model/slayer/task/MazchnaTasks.js +85 -0
- package/dist/model/slayer/task/NieveTasks.d.ts +3 -0
- package/dist/model/slayer/task/NieveTasks.js +52 -0
- package/dist/model/slayer/task/SpriaTasks.d.ts +3 -0
- package/dist/model/slayer/task/SpriaTasks.js +122 -0
- package/dist/model/slayer/task/TurealTasks.d.ts +3 -0
- package/dist/model/slayer/task/TurealTasks.js +125 -0
- package/dist/model/slayer/task/VannakaTasks.d.ts +3 -0
- package/dist/model/slayer/task/VannakaTasks.js +63 -0
- package/dist/slayer/SlayerData.js +5 -0
- package/package.json +4 -3
|
@@ -1,78 +1,137 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.QuestTool = void 0;
|
|
4
|
+
const Requirement_1 = require("../Requirement");
|
|
4
5
|
class QuestTool {
|
|
5
|
-
constructor() {
|
|
6
|
-
|
|
7
|
-
this.questObject = [];
|
|
8
|
-
this.questArray = [];
|
|
9
|
-
this.subQuestArray = [];
|
|
6
|
+
constructor(account) {
|
|
7
|
+
this.osrsAccount = account;
|
|
10
8
|
}
|
|
11
|
-
/**
|
|
12
|
-
* to string func
|
|
13
|
-
* @todo Implement this function
|
|
14
|
-
* @return {String} The string representation of the class object.
|
|
15
|
-
*/
|
|
16
|
-
toString() {
|
|
17
|
-
return "QuestTool :) WIP";
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Get the data for a quest
|
|
21
|
-
* @param {String} questName The name of the quest
|
|
22
|
-
* @return {Object} The data for the input quest in a JSON object.
|
|
23
|
-
* */
|
|
24
|
-
getQuest(questName) {
|
|
25
|
-
if (typeof questName === "string" && this.questObject[questName]) {
|
|
26
|
-
// return new Quest(this.questObject[questName]); TODO
|
|
27
|
-
}
|
|
28
|
-
return undefined;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Get the data for a quest
|
|
32
|
-
* @param {String} questName The name of the quest
|
|
33
|
-
* @return {Object} The data for the input quest in a JSON object.
|
|
34
|
-
* */
|
|
35
|
-
getQuestByName(questName) {
|
|
36
|
-
return this.getQuest(questName);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Get the data for a quest
|
|
40
|
-
* @param {String} subQuestName The name of the subquest
|
|
41
|
-
* @return {Object} The data for the input subquest in a JSON object.
|
|
42
|
-
* */
|
|
43
|
-
getSubQuest(subQuestName) {
|
|
44
|
-
return this.subQuestArray.find((x) => x.name === subQuestName);
|
|
45
|
-
}
|
|
46
|
-
// Define highestBoost method, switch case omitted for brevity
|
|
47
|
-
/**
|
|
48
|
-
* Add two numbers together
|
|
49
|
-
* @todo Need to implement Recipe for disaster functionality
|
|
50
|
-
* @param {String} quest The either string or quest object of the quest to be determined completeable or not.
|
|
51
|
-
* @return {Boolean} If the account currently tied to the tool can complete the quest.
|
|
52
|
-
* */
|
|
53
|
-
canCompleteQuest(quest) {
|
|
54
|
-
// Implementation omitted for brevity
|
|
55
|
-
return true; // Placeholder return value
|
|
56
|
-
}
|
|
57
|
-
// Define completableQuests method, implementation omitted for brevity
|
|
58
9
|
/**
|
|
59
10
|
* Set the account to be used in this quest tool
|
|
60
11
|
* @param {OsrsAccount} acc1 The osrs Account to be associated with this class object.
|
|
61
|
-
|
|
12
|
+
*/
|
|
62
13
|
setOsrsAccount(acc1) {
|
|
63
14
|
if (acc1) {
|
|
64
|
-
|
|
15
|
+
this.osrsAccount = acc1;
|
|
65
16
|
return true;
|
|
66
17
|
}
|
|
67
18
|
return false;
|
|
68
19
|
}
|
|
69
|
-
// Define other methods, implementation omitted for brevity
|
|
70
20
|
/**
|
|
71
21
|
* Get the osrs account associated with this quest tool
|
|
72
22
|
* @return {OsrsAccount | undefined} The osrs Account associated with this class object.
|
|
73
|
-
|
|
23
|
+
*/
|
|
74
24
|
getOsrsAccount() {
|
|
75
25
|
return this.osrsAccount;
|
|
76
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Determine if the account can complete a quest, including recursively checking quest requirements.
|
|
29
|
+
* @param quest The quest to check (must be a Quest instance)
|
|
30
|
+
* @param visited (internal) Set of quest names already checked to prevent infinite recursion
|
|
31
|
+
*/
|
|
32
|
+
canCompleteQuest(quest, visited = new Set()) {
|
|
33
|
+
if (!this.osrsAccount)
|
|
34
|
+
return false;
|
|
35
|
+
if (!quest)
|
|
36
|
+
return false;
|
|
37
|
+
if (visited.has(quest.name))
|
|
38
|
+
return true; // Prevent infinite loops
|
|
39
|
+
visited.add(quest.name);
|
|
40
|
+
// check requirements
|
|
41
|
+
if (!quest.requirements || quest.requirements.length === 0)
|
|
42
|
+
return true;
|
|
43
|
+
for (const req of quest.requirements) {
|
|
44
|
+
if (req.type === Requirement_1.RequirementType.Quest) {
|
|
45
|
+
// Recursively check quest requirements
|
|
46
|
+
const questReq = req;
|
|
47
|
+
if (!questReq ||
|
|
48
|
+
!this.canCompleteQuest(QuestTool.getQuestByName(questReq.questName), visited)) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
else if (req.type === Requirement_1.RequirementType.Level) {
|
|
53
|
+
// Check if the account meets the level requirement
|
|
54
|
+
const levelReq = req;
|
|
55
|
+
const skill = this.osrsAccount.getSkill(levelReq.skillName);
|
|
56
|
+
if (!skill) {
|
|
57
|
+
return false; // Skill not found in account
|
|
58
|
+
}
|
|
59
|
+
// If the skill is boostable, we can check if the current level + max boost is enough
|
|
60
|
+
if (levelReq.boostable) {
|
|
61
|
+
if (skill.level + QuestTool.getMaxSkillBoost(levelReq.skillName) <
|
|
62
|
+
levelReq.level) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else if (skill.level < levelReq.level) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Static utility to get a Quest instance by its name.
|
|
75
|
+
* This assumes all quests are exported as default from their respective files in quest/all/.
|
|
76
|
+
* @param questName The name of the quest to retrieve
|
|
77
|
+
* @returns Quest instance or undefined if not found
|
|
78
|
+
*/
|
|
79
|
+
static getQuestByName(questName) {
|
|
80
|
+
// Normalize quest name to match file naming convention
|
|
81
|
+
const normalized = questName
|
|
82
|
+
.replace(/[^a-zA-Z0-9]/g, '') // Remove non-alphanumeric
|
|
83
|
+
.replace(/\s+/g, '') // Remove spaces
|
|
84
|
+
.replace(/^./, (c) => c.toUpperCase());
|
|
85
|
+
try {
|
|
86
|
+
// Dynamically require the quest file
|
|
87
|
+
// Note: This only works in Node.js, not in browser environments
|
|
88
|
+
// and assumes all quest files are named as <QuestName>.ts/js and exported as default
|
|
89
|
+
// Example: 'Dragon Slayer' => './all/DragonSlayer'
|
|
90
|
+
// You may want to maintain a map for production use
|
|
91
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
92
|
+
const questModule = require(`./all/${normalized}`);
|
|
93
|
+
return questModule.default || questModule;
|
|
94
|
+
}
|
|
95
|
+
catch (e) {
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get the maximum boost for a given skill, based on OSRS Wiki data.
|
|
101
|
+
* @param skillName The name of the skill (case-insensitive, e.g. 'Attack', 'Herblore')
|
|
102
|
+
* @returns The maximum boost amount for the skill (positive integer, or 0 if unboostable)
|
|
103
|
+
*/
|
|
104
|
+
static getMaxSkillBoost(skillName) {
|
|
105
|
+
var _a;
|
|
106
|
+
// Data from https://oldschool.runescape.wiki/w/Temporary_skill_boost
|
|
107
|
+
const boosts = {
|
|
108
|
+
Attack: 5, // Super combat potion, Overload(+)
|
|
109
|
+
Strength: 5, // Super combat potion, Overload(+)
|
|
110
|
+
Defence: 5, // Super combat potion, Overload(+)
|
|
111
|
+
Magic: 4, // Overload(+), Imbued heart
|
|
112
|
+
Ranged: 4, // Ranging potion, Overload(+)
|
|
113
|
+
Prayer: 2, // Preserve, Prayer-boosting items
|
|
114
|
+
Hitpoints: 0, // No boost
|
|
115
|
+
Agility: 5, // Summer pie
|
|
116
|
+
Herblore: 5, // Botanical pie
|
|
117
|
+
Thieving: 5, // Volcanic ash, Summer pie
|
|
118
|
+
Crafting: 3, // Mushroom pie
|
|
119
|
+
Fletching: 3, // Fletching potion
|
|
120
|
+
Slayer: 2, // Wild pie
|
|
121
|
+
Hunter: 5, // Hunter potion
|
|
122
|
+
Mining: 3, // Dwarven stout(m)
|
|
123
|
+
Smithing: 4, // Spicy stew (orange)
|
|
124
|
+
Fishing: 5, // Admiral pie
|
|
125
|
+
Cooking: 5, // Chef's delight(m)
|
|
126
|
+
Firemaking: 4, // Spicy stew (red)
|
|
127
|
+
Woodcutting: 3, // Spicy stew (yellow)
|
|
128
|
+
Farming: 5, // Garden pie
|
|
129
|
+
Runecraft: 5, // Spicy stew (orange)
|
|
130
|
+
Construction: 5, // Spicy stew (orange)
|
|
131
|
+
// Add more as needed
|
|
132
|
+
};
|
|
133
|
+
const normalized = skillName.charAt(0).toUpperCase() + skillName.slice(1).toLowerCase();
|
|
134
|
+
return (_a = boosts[normalized]) !== null && _a !== void 0 ? _a : 0;
|
|
135
|
+
}
|
|
77
136
|
}
|
|
78
137
|
exports.QuestTool = QuestTool;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AHandInTheSand = void 0;
|
|
4
|
+
const Quest_1 = require("../Quest");
|
|
5
|
+
const Requirement_1 = require("../../Requirement");
|
|
6
|
+
exports.AHandInTheSand = {
|
|
7
|
+
id: 0,
|
|
8
|
+
name: 'A Hand in the Sand',
|
|
9
|
+
members: true,
|
|
10
|
+
difficulty: 'Intermediate',
|
|
11
|
+
length: 'Medium',
|
|
12
|
+
requirements: [
|
|
13
|
+
new Requirement_1.LevelRequirement('Crafting', 49, false),
|
|
14
|
+
new Requirement_1.LevelRequirement('Thieving', 40, false),
|
|
15
|
+
],
|
|
16
|
+
questPoints: 1,
|
|
17
|
+
startLocation: '',
|
|
18
|
+
description: '',
|
|
19
|
+
steps: [],
|
|
20
|
+
status: Quest_1.QuestStatus.NotStarted,
|
|
21
|
+
miniquest: false,
|
|
22
|
+
shortName: 'aHandInTheSand',
|
|
23
|
+
url: 'https://oldschool.runescape.wiki/w/A_Hand_in_the_Sand',
|
|
24
|
+
series: null,
|
|
25
|
+
age: '',
|
|
26
|
+
difficultyLevel: 'Intermediate',
|
|
27
|
+
officialDifficulty: 'Intermediate',
|
|
28
|
+
officialLength: 'Medium',
|
|
29
|
+
officialAge: '',
|
|
30
|
+
recommendedItems: [],
|
|
31
|
+
recommendedSkills: {},
|
|
32
|
+
recommendedPrayers: [],
|
|
33
|
+
rewards: {
|
|
34
|
+
experience: [
|
|
35
|
+
{ skill: 'Crafting', amount: 9000 },
|
|
36
|
+
{ skill: 'Thieving', amount: 1000 },
|
|
37
|
+
],
|
|
38
|
+
questPoints: 1,
|
|
39
|
+
items: [],
|
|
40
|
+
areas: [],
|
|
41
|
+
unlocks: [],
|
|
42
|
+
lamps: [],
|
|
43
|
+
points: [],
|
|
44
|
+
pets: [],
|
|
45
|
+
},
|
|
46
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Quest_1 = require("../Quest");
|
|
4
|
+
const Requirement_1 = require("../../Requirement");
|
|
5
|
+
const AKingdomDivided = {
|
|
6
|
+
id: 0,
|
|
7
|
+
name: 'A Kingdom Divided',
|
|
8
|
+
members: true,
|
|
9
|
+
difficulty: 'Master',
|
|
10
|
+
length: 'Long',
|
|
11
|
+
requirements: [
|
|
12
|
+
new Requirement_1.QuestRequirement('Client of Kourend'),
|
|
13
|
+
new Requirement_1.QuestRequirement('The Depths of Despair'),
|
|
14
|
+
new Requirement_1.QuestRequirement('The Queen of Thieves'),
|
|
15
|
+
new Requirement_1.QuestRequirement('The Ascent of Arceuus'),
|
|
16
|
+
new Requirement_1.QuestRequirement('The Forsaken Tower'),
|
|
17
|
+
new Requirement_1.LevelRequirement('Thieving', 54, false),
|
|
18
|
+
new Requirement_1.LevelRequirement('Agility', 52, false),
|
|
19
|
+
new Requirement_1.LevelRequirement('Woodcutting', 52, false),
|
|
20
|
+
new Requirement_1.LevelRequirement('Magic', 50, false),
|
|
21
|
+
new Requirement_1.LevelRequirement('Mining', 42, false),
|
|
22
|
+
new Requirement_1.LevelRequirement('Smithing', 42, false),
|
|
23
|
+
new Requirement_1.LevelRequirement('Farming', 35, false),
|
|
24
|
+
new Requirement_1.LevelRequirement('Crafting', 38, false),
|
|
25
|
+
new Requirement_1.LevelRequirement('Hunter', 42, false),
|
|
26
|
+
new Requirement_1.LevelRequirement('Herblore', 45, false),
|
|
27
|
+
],
|
|
28
|
+
questPoints: 2,
|
|
29
|
+
startLocation: '',
|
|
30
|
+
description: '',
|
|
31
|
+
steps: [],
|
|
32
|
+
status: Quest_1.QuestStatus.NotStarted,
|
|
33
|
+
miniquest: false,
|
|
34
|
+
shortName: 'aKingdomDivided',
|
|
35
|
+
url: 'https://oldschool.runescape.wiki/w/A_Kingdom_Divided',
|
|
36
|
+
series: 'Great Kourend',
|
|
37
|
+
age: '',
|
|
38
|
+
difficultyLevel: 'Master',
|
|
39
|
+
officialDifficulty: 'Master',
|
|
40
|
+
officialLength: 'Long',
|
|
41
|
+
officialAge: '',
|
|
42
|
+
recommendedItems: [],
|
|
43
|
+
recommendedSkills: {},
|
|
44
|
+
recommendedPrayers: [],
|
|
45
|
+
rewards: {
|
|
46
|
+
experience: [],
|
|
47
|
+
questPoints: 2,
|
|
48
|
+
items: [],
|
|
49
|
+
areas: [],
|
|
50
|
+
unlocks: [],
|
|
51
|
+
lamps: [],
|
|
52
|
+
points: [],
|
|
53
|
+
pets: [],
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
exports.default = AKingdomDivided;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Quest_1 = require("../Quest");
|
|
4
|
+
const APorcineOfInterest = {
|
|
5
|
+
id: 0, // Assign a unique ID if available
|
|
6
|
+
name: "A Porcine of Interest",
|
|
7
|
+
members: true,
|
|
8
|
+
difficulty: 'Novice',
|
|
9
|
+
length: 'Short',
|
|
10
|
+
requirements: [],
|
|
11
|
+
questPoints: 1,
|
|
12
|
+
startLocation: "Read the town notice board in Draynor Village, behind Fortunato's Wine Shop.",
|
|
13
|
+
description: "Ah, the Falador Farm - filled with cabbages, cows, and even a sleepy sheepdog. A peaceful place, where you can learn to churn butter, give a dog a bone, or purchase various Farming supplies. What was once a place of happiness, joy and wholesome dairy goods has of late become dominated by a vile presence. Each morning Sarah wakes to find her crops destroyed, her cows cowering, and her loyal sheepdog looking... sheepish. She's had enough, but she thinks she's got the culprit on the trot. Can you help her track down... A Porcine of Interest?",
|
|
14
|
+
steps: [],
|
|
15
|
+
status: Quest_1.QuestStatus.NotStarted,
|
|
16
|
+
miniquest: false,
|
|
17
|
+
shortName: "aPorcineOfInterest",
|
|
18
|
+
url: 'https://oldschool.runescape.wiki/w/A_Porcine_of_Interest',
|
|
19
|
+
series: null,
|
|
20
|
+
age: '',
|
|
21
|
+
difficultyLevel: 'Novice',
|
|
22
|
+
officialDifficulty: 'Novice',
|
|
23
|
+
officialLength: 'Short',
|
|
24
|
+
officialAge: '',
|
|
25
|
+
recommendedItems: [
|
|
26
|
+
"Charged amulet of glory",
|
|
27
|
+
"Explorer's ring 2 or above",
|
|
28
|
+
"Stamina potion",
|
|
29
|
+
"Combat equipment",
|
|
30
|
+
"Some food for lower levels"
|
|
31
|
+
],
|
|
32
|
+
recommendedSkills: {},
|
|
33
|
+
recommendedPrayers: [],
|
|
34
|
+
rewards: {
|
|
35
|
+
experience: [
|
|
36
|
+
{ skill: 'Slayer', amount: 1000 },
|
|
37
|
+
],
|
|
38
|
+
questPoints: 1,
|
|
39
|
+
items: [],
|
|
40
|
+
areas: [],
|
|
41
|
+
unlocks: [],
|
|
42
|
+
lamps: [],
|
|
43
|
+
points: [],
|
|
44
|
+
pets: [],
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
exports.default = APorcineOfInterest;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Quest_1 = require("../Quest");
|
|
4
|
+
const ASoulsBane = {
|
|
5
|
+
id: 0, // Assign a unique ID if available
|
|
6
|
+
name: "A Soul's Bane",
|
|
7
|
+
members: true,
|
|
8
|
+
difficulty: 'Novice',
|
|
9
|
+
length: 'Medium',
|
|
10
|
+
requirements: [], // No skill or quest requirements
|
|
11
|
+
questPoints: 1,
|
|
12
|
+
startLocation: '', // Not specified in JSON
|
|
13
|
+
description: '', // Not specified in JSON
|
|
14
|
+
steps: [], // Not specified in JSON
|
|
15
|
+
status: Quest_1.QuestStatus.NotStarted,
|
|
16
|
+
miniquest: false,
|
|
17
|
+
shortName: "aSoulsBane",
|
|
18
|
+
url: 'https://oldschool.runescape.wiki/w/A_Soul%27s_Bane',
|
|
19
|
+
series: null,
|
|
20
|
+
age: '',
|
|
21
|
+
difficultyLevel: 'Novice',
|
|
22
|
+
officialDifficulty: 'Novice',
|
|
23
|
+
officialLength: 'Medium',
|
|
24
|
+
officialAge: '',
|
|
25
|
+
recommendedItems: [],
|
|
26
|
+
recommendedSkills: {},
|
|
27
|
+
recommendedPrayers: [],
|
|
28
|
+
rewards: {
|
|
29
|
+
experience: [
|
|
30
|
+
{ skill: 'Defence', amount: 500 },
|
|
31
|
+
{ skill: 'Hitpoints', amount: 500 },
|
|
32
|
+
],
|
|
33
|
+
questPoints: 1,
|
|
34
|
+
items: [],
|
|
35
|
+
areas: [],
|
|
36
|
+
unlocks: [],
|
|
37
|
+
lamps: [],
|
|
38
|
+
points: [],
|
|
39
|
+
pets: [],
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
exports.default = ASoulsBane;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Quest_1 = require("../Quest");
|
|
4
|
+
const ATailOfTwoCats = {
|
|
5
|
+
id: 0, // Assign a unique ID if available
|
|
6
|
+
name: "A Tail of Two Cats",
|
|
7
|
+
members: true,
|
|
8
|
+
difficulty: 'Intermediate',
|
|
9
|
+
length: 'Long',
|
|
10
|
+
requirements: [], // Only quest requirement: Icthlarin's Little Helper
|
|
11
|
+
questPoints: 2,
|
|
12
|
+
startLocation: '',
|
|
13
|
+
description: '',
|
|
14
|
+
steps: [],
|
|
15
|
+
status: Quest_1.QuestStatus.NotStarted,
|
|
16
|
+
miniquest: false,
|
|
17
|
+
shortName: "aTailOfTwoCats",
|
|
18
|
+
url: 'https://oldschool.runescape.wiki/w/A_Tail_of_Two_Cats',
|
|
19
|
+
series: 'Dragonkin',
|
|
20
|
+
age: '',
|
|
21
|
+
difficultyLevel: 'Intermediate',
|
|
22
|
+
officialDifficulty: 'Intermediate',
|
|
23
|
+
officialLength: 'Long',
|
|
24
|
+
officialAge: '',
|
|
25
|
+
recommendedItems: [],
|
|
26
|
+
recommendedSkills: {},
|
|
27
|
+
recommendedPrayers: [],
|
|
28
|
+
rewards: {
|
|
29
|
+
experience: [],
|
|
30
|
+
questPoints: 2,
|
|
31
|
+
unlocks: [],
|
|
32
|
+
lamps: [],
|
|
33
|
+
points: [],
|
|
34
|
+
pets: [],
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
exports.default = ATailOfTwoCats;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Quest_1 = require("../Quest");
|
|
4
|
+
const ATasteOfHope = {
|
|
5
|
+
id: 0, // Assign a unique ID if available
|
|
6
|
+
name: "A Taste of Hope",
|
|
7
|
+
members: true,
|
|
8
|
+
difficulty: 'Experienced',
|
|
9
|
+
length: 'Long',
|
|
10
|
+
requirements: [], // Quests: Darkness of Hallowvale, Skills: Crafting 48, Agility 45, Attack 40, Herblore 40, Slayer 38
|
|
11
|
+
questPoints: 1,
|
|
12
|
+
startLocation: '',
|
|
13
|
+
description: '',
|
|
14
|
+
steps: [],
|
|
15
|
+
status: Quest_1.QuestStatus.NotStarted,
|
|
16
|
+
miniquest: false,
|
|
17
|
+
shortName: "aTasteOfHope",
|
|
18
|
+
url: 'https://oldschool.runescape.wiki/w/A_Taste_of_Hope',
|
|
19
|
+
series: 'Myreque',
|
|
20
|
+
age: '',
|
|
21
|
+
difficultyLevel: 'Experienced',
|
|
22
|
+
officialDifficulty: 'Experienced',
|
|
23
|
+
officialLength: 'Long',
|
|
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 = ATasteOfHope;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Quest_1 = require("../Quest");
|
|
4
|
+
const ATheatreOfBlood = {
|
|
5
|
+
id: 0,
|
|
6
|
+
name: 'A Theatre of Blood',
|
|
7
|
+
members: true,
|
|
8
|
+
difficulty: 'Master',
|
|
9
|
+
length: 'Long',
|
|
10
|
+
requirements: [],
|
|
11
|
+
questPoints: 1,
|
|
12
|
+
startLocation: '',
|
|
13
|
+
description: '',
|
|
14
|
+
steps: [],
|
|
15
|
+
status: Quest_1.QuestStatus.NotStarted,
|
|
16
|
+
miniquest: false,
|
|
17
|
+
shortName: 'aTheatreOfBlood',
|
|
18
|
+
url: 'https://oldschool.runescape.wiki/w/Theatre_of_Blood',
|
|
19
|
+
series: null,
|
|
20
|
+
age: '',
|
|
21
|
+
difficultyLevel: 'Master',
|
|
22
|
+
officialDifficulty: 'Master',
|
|
23
|
+
officialLength: 'Long',
|
|
24
|
+
officialAge: '',
|
|
25
|
+
recommendedItems: [],
|
|
26
|
+
recommendedSkills: {},
|
|
27
|
+
recommendedPrayers: [],
|
|
28
|
+
rewards: {
|
|
29
|
+
experience: [],
|
|
30
|
+
questPoints: 1,
|
|
31
|
+
items: [],
|
|
32
|
+
unlocks: [],
|
|
33
|
+
lamps: [],
|
|
34
|
+
points: [],
|
|
35
|
+
pets: [],
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
exports.default = ATheatreOfBlood;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Quest_1 = require("../Quest");
|
|
4
|
+
const Skill_1 = require("../../account/Skill");
|
|
5
|
+
const AnimalMagnetism = {
|
|
6
|
+
id: 0, // Assign a unique ID if available
|
|
7
|
+
name: 'Animal Magnetism',
|
|
8
|
+
members: true,
|
|
9
|
+
difficulty: 'Intermediate',
|
|
10
|
+
length: 'Medium - Long',
|
|
11
|
+
requirements: [], // Quests: The Restless Ghost, Ernest the Chicken, Priest in Peril. Skills: Slayer 18, Crafting 19, Ranged 30, Woodcutting 35, Prayer 31
|
|
12
|
+
questPoints: 1,
|
|
13
|
+
startLocation: '',
|
|
14
|
+
description: '',
|
|
15
|
+
steps: [],
|
|
16
|
+
status: Quest_1.QuestStatus.NotStarted,
|
|
17
|
+
miniquest: false,
|
|
18
|
+
shortName: 'animalMagnetism',
|
|
19
|
+
url: 'https://oldschool.runescape.wiki/w/Animal_Magnetism',
|
|
20
|
+
series: null,
|
|
21
|
+
age: '',
|
|
22
|
+
difficultyLevel: 'Intermediate',
|
|
23
|
+
officialDifficulty: 'Intermediate',
|
|
24
|
+
officialLength: 'Medium - Long',
|
|
25
|
+
officialAge: '',
|
|
26
|
+
recommendedItems: [],
|
|
27
|
+
recommendedSkills: {},
|
|
28
|
+
recommendedPrayers: [],
|
|
29
|
+
rewards: {
|
|
30
|
+
experience: [
|
|
31
|
+
{ skill: Skill_1.Skill.Crafting, amount: 1000 },
|
|
32
|
+
{ skill: Skill_1.Skill.Fletching, amount: 1000 },
|
|
33
|
+
{ skill: Skill_1.Skill.Slayer, amount: 1000 },
|
|
34
|
+
{ skill: Skill_1.Skill.Woodcutting, amount: 2500 },
|
|
35
|
+
],
|
|
36
|
+
questPoints: 1,
|
|
37
|
+
items: [],
|
|
38
|
+
areas: [],
|
|
39
|
+
unlocks: [],
|
|
40
|
+
lamps: [],
|
|
41
|
+
points: [],
|
|
42
|
+
pets: [],
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
exports.default = AnimalMagnetism;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Quest_1 = require("../Quest");
|
|
4
|
+
const AnotherSliceOfHAM = {
|
|
5
|
+
id: 0, // Assign a unique ID if available
|
|
6
|
+
name: "Another Slice of H.A.M.",
|
|
7
|
+
members: true,
|
|
8
|
+
difficulty: 'Intermediate',
|
|
9
|
+
length: 'Medium',
|
|
10
|
+
requirements: [], // Quests: Death to the Dorgeshuun, The Giant Dwarf, The Dig Site, Druidic Ritual. Skills: Attack 15, Prayer 25
|
|
11
|
+
questPoints: 1,
|
|
12
|
+
startLocation: '',
|
|
13
|
+
description: '',
|
|
14
|
+
steps: [],
|
|
15
|
+
status: Quest_1.QuestStatus.NotStarted,
|
|
16
|
+
miniquest: false,
|
|
17
|
+
shortName: "anotherSliceOfHAM",
|
|
18
|
+
url: 'https://oldschool.runescape.wiki/w/Another_Slice_of_H.A.M.',
|
|
19
|
+
series: 'Dorgeshuun (#4)',
|
|
20
|
+
age: '',
|
|
21
|
+
difficultyLevel: 'Intermediate',
|
|
22
|
+
officialDifficulty: 'Intermediate',
|
|
23
|
+
officialLength: 'Medium',
|
|
24
|
+
officialAge: '',
|
|
25
|
+
recommendedItems: [],
|
|
26
|
+
recommendedSkills: {},
|
|
27
|
+
recommendedPrayers: [],
|
|
28
|
+
rewards: {
|
|
29
|
+
experience: [
|
|
30
|
+
{ skill: 'Mining', amount: 3000 },
|
|
31
|
+
{ skill: 'Prayer', amount: 3000 },
|
|
32
|
+
],
|
|
33
|
+
questPoints: 1,
|
|
34
|
+
items: [],
|
|
35
|
+
areas: [],
|
|
36
|
+
unlocks: [],
|
|
37
|
+
lamps: [],
|
|
38
|
+
points: [],
|
|
39
|
+
pets: [],
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
exports.default = AnotherSliceOfHAM;
|