osrs-tools 0.2.0 → 0.2.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 (92) hide show
  1. package/dist/index.d.ts +8 -0
  2. package/dist/index.js +12 -0
  3. package/dist/jest.config.dev.js +7 -0
  4. package/dist/model/Requirement.d.ts +65 -0
  5. package/dist/model/Requirement.js +130 -0
  6. package/dist/model/account/OsrsAccount.d.ts +31 -0
  7. package/dist/model/account/OsrsAccount.js +64 -0
  8. package/dist/model/quest/Quest.d.ts +41 -0
  9. package/dist/model/quest/Quest.js +2 -0
  10. package/dist/model/quest/QuestTool.d.ts +51 -0
  11. package/{src/model/quest/QuestTool.ts → dist/model/quest/QuestTool.js} +78 -96
  12. package/dist/model/slayer/Assignment.d.ts +17 -0
  13. package/dist/model/slayer/Assignment.js +28 -0
  14. package/dist/model/slayer/SlayerMaster.d.ts +67 -0
  15. package/dist/model/slayer/SlayerMaster.js +112 -0
  16. package/dist/model/slayer/SlayerReward.d.ts +33 -0
  17. package/dist/model/slayer/SlayerReward.js +30 -0
  18. package/dist/model/slayer/Task.d.ts +85 -0
  19. package/dist/model/slayer/Task.js +117 -0
  20. package/dist/resources/slayer/Masters.d.ts +10 -0
  21. package/dist/resources/slayer/Masters.js +100 -0
  22. package/dist/resources/slayer/SlayerData.d.ts +13 -0
  23. package/dist/resources/slayer/SlayerData.js +42 -0
  24. package/dist/resources/slayer/SlayerExtends.d.ts +23 -0
  25. package/dist/resources/slayer/SlayerExtends.js +184 -0
  26. package/dist/resources/slayer/SlayerUnlock.d.ts +7 -0
  27. package/dist/resources/slayer/SlayerUnlock.js +67 -0
  28. package/dist/resources/slayer/slayerBuys.d.ts +3 -0
  29. package/dist/resources/slayer/slayerBuys.js +34 -0
  30. package/dist/resources/slayer/tasks/ChaelderTasks.d.ts +3 -0
  31. package/dist/resources/slayer/tasks/ChaelderTasks.js +78 -0
  32. package/dist/resources/slayer/tasks/DuradelTasks.d.ts +2 -0
  33. package/dist/resources/slayer/tasks/DuradelTasks.js +18 -0
  34. package/{src/resources/slayer/tasks/KonarTasks.ts → dist/resources/slayer/tasks/KonarTasks.d.ts} +3 -6
  35. package/dist/resources/slayer/tasks/KonarTasks.js +5 -0
  36. package/dist/resources/slayer/tasks/MazchnaTasks.d.ts +3 -0
  37. package/dist/resources/slayer/tasks/MazchnaTasks.js +4 -0
  38. package/dist/resources/slayer/tasks/NieveTasks.d.ts +3 -0
  39. package/dist/resources/slayer/tasks/NieveTasks.js +78 -0
  40. package/dist/resources/slayer/tasks/ReadTasks.d.ts +1 -0
  41. package/dist/resources/slayer/tasks/ReadTasks.js +63 -0
  42. package/dist/resources/slayer/tasks/SpriaTasks.d.ts +2 -0
  43. package/dist/resources/slayer/tasks/SpriaTasks.js +117 -0
  44. package/dist/resources/slayer/tasks/Tureal.d.ts +3 -0
  45. package/dist/resources/slayer/tasks/Tureal.js +125 -0
  46. package/dist/resources/slayer/tasks/VannakaTasks.d.ts +3 -0
  47. package/dist/resources/slayer/tasks/VannakaTasks.js +78 -0
  48. package/package.json +22 -25
  49. package/src/index.ts +0 -11
  50. package/src/model/Requirement.ts +0 -173
  51. package/src/model/account/OsrsAccount.ts +0 -82
  52. package/src/model/quest/Quest.ts +0 -44
  53. package/src/model/slayer/Assignment.ts +0 -40
  54. package/src/model/slayer/SlayerMaster.ts +0 -137
  55. package/src/model/slayer/SlayerReward.ts +0 -39
  56. package/src/model/slayer/Task.ts +0 -168
  57. package/src/resources/QuestData.json +0 -754
  58. package/src/resources/quest/diaries.json +0 -1171
  59. package/src/resources/quest/diariesArray.json +0 -0
  60. package/src/resources/quest/exp.json +0 -1333
  61. package/src/resources/quest/questData.js +0 -5628
  62. package/src/resources/quest/questData.json +0 -5790
  63. package/src/resources/quest/questDataArray.js +0 -5489
  64. package/src/resources/quest/questDataArray.json +0 -5489
  65. package/src/resources/quest/subquestArray.js +0 -58
  66. package/src/resources/quest/subquestArray.json +0 -58
  67. package/src/resources/quest/testObj.json +0 -5682
  68. package/src/resources/quest/testarray.json +0 -5589
  69. package/src/resources/quests/CooksAssistant.json +0 -34
  70. package/src/resources/slayer/Masters.ts +0 -180
  71. package/src/resources/slayer/SlayerData.ts +0 -45
  72. package/src/resources/slayer/SlayerExtends.ts +0 -218
  73. package/src/resources/slayer/SlayerUnlock.ts +0 -194
  74. package/src/resources/slayer/slayer.json +0 -3581
  75. package/src/resources/slayer/slayerBuys.ts +0 -38
  76. package/src/resources/slayer/slayerData.json +0 -4431
  77. package/src/resources/slayer/tasks/ChaelderTasks.ts +0 -235
  78. package/src/resources/slayer/tasks/DuradelTasks.ts +0 -75
  79. package/src/resources/slayer/tasks/MazchnaTasks.ts +0 -5
  80. package/src/resources/slayer/tasks/NieveTasks.ts +0 -235
  81. package/src/resources/slayer/tasks/ReadTasks.ts +0 -55
  82. package/src/resources/slayer/tasks/SpriaTasks.ts +0 -344
  83. package/src/resources/slayer/tasks/Tureal.ts +0 -436
  84. package/src/resources/slayer/tasks/VannakaTasks.ts +0 -236
  85. package/src/resources/slayer/tasks/json/Chaeldar.json +0 -348
  86. package/src/resources/slayer/tasks/json/Duradel.json +0 -541
  87. package/src/resources/slayer/tasks/json/Krystilia.json +0 -2
  88. package/src/resources/slayer/tasks/json/Mazchna.json +0 -379
  89. package/src/resources/slayer/tasks/json/Neive.json +0 -320
  90. package/src/resources/slayer/tasks/json/Spria.json +0 -345
  91. package/src/resources/slayer/tasks/json/Tureal.json +0 -341
  92. package/src/resources/slayer/tasks/json/Vannaka.json +0 -547
@@ -1,235 +0,0 @@
1
- import { Task } from '../../../model/slayer/Task';
2
- import {
3
- SlayerLevelRequirement,
4
- CombatLevelRequirement,
5
- QuestRequirement,
6
- ItemRequirement,
7
- LocationRequirement,
8
- } from '../../../model/Requirement';
9
-
10
- const NieveTasks: Task[] = [
11
- new Task(
12
- 'Aberrant spectres',
13
- 40,
14
- 90,
15
- [
16
- new SlayerLevelRequirement(60),
17
- new CombatLevelRequirement(65),
18
- new QuestRequirement('Priest in Peril'),
19
- ],
20
- 200,
21
- 250,
22
- ['Deviant spectres'],
23
- 8
24
- ),
25
- new Task(
26
- 'Abyssal demons',
27
- 40,
28
- 90,
29
- [
30
- new SlayerLevelRequirement(85),
31
- new CombatLevelRequirement(85),
32
- new QuestRequirement('Priest in Peril'),
33
- new QuestRequirement('Fairytale II - Cure a Queen'),
34
- ],
35
- 200,
36
- 250,
37
- ['Abyssal Sire'],
38
- 5
39
- ),
40
- new Task(
41
- 'Ankou',
42
- 25,
43
- 35,
44
- [new CombatLevelRequirement(40)],
45
- 91,
46
- 150,
47
- ['Dark Ankou'],
48
- 7
49
- ),
50
- new Task(
51
- 'Basilisks',
52
- 40,
53
- 90,
54
- [
55
- new SlayerLevelRequirement(40),
56
- new CombatLevelRequirement(40),
57
- new CombatLevelRequirement(20), // Defense requirement
58
- ],
59
- 200,
60
- 250,
61
- ['Basilisk Knight'],
62
- 8
63
- ),
64
- new Task(
65
- 'Bloodveld',
66
- 40,
67
- 90,
68
- [
69
- new SlayerLevelRequirement(50),
70
- new CombatLevelRequirement(50),
71
- new QuestRequirement('Priest in Peril'),
72
- ],
73
- 200,
74
- 250,
75
- ['Mutated Bloodveld'],
76
- 8
77
- ),
78
- new Task(
79
- 'Blue dragons',
80
- 40,
81
- 90,
82
- [
83
- new CombatLevelRequirement(65),
84
- new QuestRequirement('Dragon Slayer I (partial completion)'),
85
- ],
86
- null,
87
- null,
88
- ['Baby blue dragons', 'Brutal blue dragons', 'Vorkath'],
89
- 7
90
- ),
91
- new Task(
92
- 'Brine rats',
93
- 40,
94
- 90,
95
- [
96
- new SlayerLevelRequirement(47),
97
- new CombatLevelRequirement(45),
98
- new QuestRequirement("Olaf's Quest (partial completion)"),
99
- ],
100
- null,
101
- null,
102
- [],
103
- 7
104
- ),
105
- new Task(
106
- 'Cockatrice',
107
- 40,
108
- 90,
109
- [
110
- new SlayerLevelRequirement(25),
111
- new CombatLevelRequirement(25),
112
- new CombatLevelRequirement(20), // Defense requirement
113
- ],
114
- null,
115
- null,
116
- ['Moonlight Cockatrice'],
117
- 8
118
- ),
119
- new Task(
120
- 'Crabs',
121
- 40,
122
- 90,
123
- [new SlayerLevelRequirement(1)],
124
- null,
125
- null,
126
- ['Ammonite crabs', 'Frost crabs', 'Rock crabs', 'Sand crabs', 'Swamp crabs'],
127
- 8
128
- ),
129
- new Task(
130
- 'Crocodiles',
131
- 40,
132
- 90,
133
- [new CombatLevelRequirement(50)],
134
- null,
135
- null,
136
- [],
137
- 6
138
- ),
139
- new Task(
140
- 'Dagannoth',
141
- 40,
142
- 90,
143
- [
144
- new CombatLevelRequirement(75),
145
- new QuestRequirement('Horror from the Deep'),
146
- ],
147
- null,
148
- null,
149
- ['Dagannoth spawn', 'Dagannoth fledgeling', 'Dagannoth Kings'],
150
- 7
151
- ),
152
- new Task(
153
- 'Dust devils',
154
- 40,
155
- 90,
156
- [
157
- new SlayerLevelRequirement(65),
158
- new CombatLevelRequirement(70),
159
- new QuestRequirement('Desert Treasure I (partial completion)'),
160
- ],
161
- 200,
162
- 250,
163
- [],
164
- 8
165
- ),
166
- new Task(
167
- 'Elves',
168
- 30,
169
- 70,
170
- [
171
- new CombatLevelRequirement(70),
172
- new QuestRequirement('Regicide (partial completion)'),
173
- ],
174
- null,
175
- null,
176
- ['Elf warrior', 'Mourner (Mourner Headquarters)'],
177
- 7
178
- ),
179
- new Task(
180
- 'Fever spiders',
181
- 30,
182
- 90,
183
- [
184
- new SlayerLevelRequirement(42),
185
- new CombatLevelRequirement(40),
186
- new QuestRequirement('Rum Deal (partial completion)'),
187
- ],
188
- null,
189
- null,
190
- [],
191
- 7
192
- ),
193
- new Task(
194
- 'Fire giants',
195
- 40,
196
- 90,
197
- [new CombatLevelRequirement(65)],
198
- null,
199
- null,
200
- [],
201
- 7
202
- ),
203
- new Task(
204
- 'Gargoyles',
205
- 40,
206
- 90,
207
- [
208
- new SlayerLevelRequirement(75),
209
- new CombatLevelRequirement(80),
210
- new QuestRequirement('Priest in Peril'),
211
- ],
212
- 200,
213
- 250,
214
- ['Grotesque Guardians'],
215
- 5
216
- ),
217
- new Task(
218
- 'Ghouls',
219
- 10,
220
- 40,
221
- [
222
- new CombatLevelRequirement(25),
223
- new QuestRequirement('Priest in Peril'),
224
- ],
225
- null,
226
- null,
227
- [],
228
- 7
229
- ),
230
- // Add more tasks here following the same structure...
231
- ];
232
-
233
- export { NieveTasks };
234
-
235
-
@@ -1,75 +0,0 @@
1
- import {
2
- CombatLevelRequirement,
3
- SlayerLevelRequirement,
4
- } from '../../../model/Requirement';
5
- import { Task } from '../../../model/slayer/Task';
6
-
7
- export const DuradelTasks = [
8
- new Task(
9
- 'Aberrant Spectres',
10
- 15,
11
- 50,
12
- [],
13
- null,
14
- null,
15
- [
16
- 'Aberrant spectre',
17
- 'Aberrant spectre (blood)',
18
- 'Aberrant spectre (dark)',
19
- 'Aberrant spectre (light)',
20
- 'Aberrant spectre (shadow)',
21
- ],
22
- 6
23
- ),
24
- new Task(
25
- 'Abyssal Demons',
26
- 85,
27
- 100,
28
- [],
29
- null,
30
- null,
31
- ['Abyssal demon', 'Abyssal demon (blood)', 'Abyssal demon (dark)'],
32
- 6
33
- ),
34
- new Task(
35
- 'Black Demons',
36
- 50,
37
- 100,
38
- [],
39
- null,
40
- null,
41
- ['Black demon', 'Black demon (blood)', 'Black demon (dark)'],
42
- 6
43
- ),
44
- new Task(
45
- 'Bloodvelds',
46
- 10,
47
- 50,
48
- [],
49
- null,
50
- null,
51
- ['Bloodveld', 'Bloodveld (blood)', 'Bloodveld (dark)'],
52
- 6
53
- ),
54
- new Task(
55
- 'Cave Horrors',
56
- 20,
57
- 50,
58
- [],
59
- null,
60
- null,
61
- ['Cave horror', 'Cave horror (blood)', 'Cave horror (dark)'],
62
- 6
63
- ),
64
-
65
- new Task(
66
- 'Cave Kraken',
67
- 40,
68
- 70,
69
- [],
70
- null,
71
- null,
72
- ['Cave kraken', 'Cave kraken (blood)', 'Cave kraken (dark)'],
73
- 6
74
- ),
75
- ];
@@ -1,5 +0,0 @@
1
- import { Task } from '../../../model/slayer/Task';
2
-
3
- const MazchnaTasks: Task[] = [];
4
-
5
- export default MazchnaTasks;
@@ -1,235 +0,0 @@
1
- import { Task } from '../../../model/slayer/Task';
2
- import {
3
- SlayerLevelRequirement,
4
- CombatLevelRequirement,
5
- QuestRequirement,
6
- ItemRequirement,
7
- LocationRequirement,
8
- } from '../../../model/Requirement';
9
-
10
- const NieveTasks: Task[] = [
11
- new Task(
12
- 'Aberrant spectres',
13
- 40,
14
- 90,
15
- [
16
- new SlayerLevelRequirement(60),
17
- new CombatLevelRequirement(65),
18
- new QuestRequirement('Priest in Peril'),
19
- ],
20
- 200,
21
- 250,
22
- ['Deviant spectres'],
23
- 8
24
- ),
25
- new Task(
26
- 'Abyssal demons',
27
- 40,
28
- 90,
29
- [
30
- new SlayerLevelRequirement(85),
31
- new CombatLevelRequirement(85),
32
- new QuestRequirement('Priest in Peril'),
33
- new QuestRequirement('Fairytale II - Cure a Queen'),
34
- ],
35
- 200,
36
- 250,
37
- ['Abyssal Sire'],
38
- 5
39
- ),
40
- new Task(
41
- 'Ankou',
42
- 25,
43
- 35,
44
- [new CombatLevelRequirement(40)],
45
- 91,
46
- 150,
47
- ['Dark Ankou'],
48
- 7
49
- ),
50
- new Task(
51
- 'Basilisks',
52
- 40,
53
- 90,
54
- [
55
- new SlayerLevelRequirement(40),
56
- new CombatLevelRequirement(40),
57
- new CombatLevelRequirement(20), // Defense requirement
58
- ],
59
- 200,
60
- 250,
61
- ['Basilisk Knight'],
62
- 8
63
- ),
64
- new Task(
65
- 'Bloodveld',
66
- 40,
67
- 90,
68
- [
69
- new SlayerLevelRequirement(50),
70
- new CombatLevelRequirement(50),
71
- new QuestRequirement('Priest in Peril'),
72
- ],
73
- 200,
74
- 250,
75
- ['Mutated Bloodveld'],
76
- 8
77
- ),
78
- new Task(
79
- 'Blue dragons',
80
- 40,
81
- 90,
82
- [
83
- new CombatLevelRequirement(65),
84
- new QuestRequirement('Dragon Slayer I (partial completion)'),
85
- ],
86
- null,
87
- null,
88
- ['Baby blue dragons', 'Brutal blue dragons', 'Vorkath'],
89
- 7
90
- ),
91
- new Task(
92
- 'Brine rats',
93
- 40,
94
- 90,
95
- [
96
- new SlayerLevelRequirement(47),
97
- new CombatLevelRequirement(45),
98
- new QuestRequirement("Olaf's Quest (partial completion)"),
99
- ],
100
- null,
101
- null,
102
- [],
103
- 7
104
- ),
105
- new Task(
106
- 'Cockatrice',
107
- 40,
108
- 90,
109
- [
110
- new SlayerLevelRequirement(25),
111
- new CombatLevelRequirement(25),
112
- new CombatLevelRequirement(20), // Defense requirement
113
- ],
114
- null,
115
- null,
116
- ['Moonlight Cockatrice'],
117
- 8
118
- ),
119
- new Task(
120
- 'Crabs',
121
- 40,
122
- 90,
123
- [new SlayerLevelRequirement(1)],
124
- null,
125
- null,
126
- ['Ammonite crabs', 'Frost crabs', 'Rock crabs', 'Sand crabs', 'Swamp crabs'],
127
- 8
128
- ),
129
- new Task(
130
- 'Crocodiles',
131
- 40,
132
- 90,
133
- [new CombatLevelRequirement(50)],
134
- null,
135
- null,
136
- [],
137
- 6
138
- ),
139
- new Task(
140
- 'Dagannoth',
141
- 40,
142
- 90,
143
- [
144
- new CombatLevelRequirement(75),
145
- new QuestRequirement('Horror from the Deep'),
146
- ],
147
- null,
148
- null,
149
- ['Dagannoth spawn', 'Dagannoth fledgeling', 'Dagannoth Kings'],
150
- 7
151
- ),
152
- new Task(
153
- 'Dust devils',
154
- 40,
155
- 90,
156
- [
157
- new SlayerLevelRequirement(65),
158
- new CombatLevelRequirement(70),
159
- new QuestRequirement('Desert Treasure I (partial completion)'),
160
- ],
161
- 200,
162
- 250,
163
- [],
164
- 8
165
- ),
166
- new Task(
167
- 'Elves',
168
- 30,
169
- 70,
170
- [
171
- new CombatLevelRequirement(70),
172
- new QuestRequirement('Regicide (partial completion)'),
173
- ],
174
- null,
175
- null,
176
- ['Elf warrior', 'Mourner (Mourner Headquarters)'],
177
- 7
178
- ),
179
- new Task(
180
- 'Fever spiders',
181
- 30,
182
- 90,
183
- [
184
- new SlayerLevelRequirement(42),
185
- new CombatLevelRequirement(40),
186
- new QuestRequirement('Rum Deal (partial completion)'),
187
- ],
188
- null,
189
- null,
190
- [],
191
- 7
192
- ),
193
- new Task(
194
- 'Fire giants',
195
- 40,
196
- 90,
197
- [new CombatLevelRequirement(65)],
198
- null,
199
- null,
200
- [],
201
- 7
202
- ),
203
- new Task(
204
- 'Gargoyles',
205
- 40,
206
- 90,
207
- [
208
- new SlayerLevelRequirement(75),
209
- new CombatLevelRequirement(80),
210
- new QuestRequirement('Priest in Peril'),
211
- ],
212
- 200,
213
- 250,
214
- ['Grotesque Guardians'],
215
- 5
216
- ),
217
- new Task(
218
- 'Ghouls',
219
- 10,
220
- 40,
221
- [
222
- new CombatLevelRequirement(25),
223
- new QuestRequirement('Priest in Peril'),
224
- ],
225
- null,
226
- null,
227
- [],
228
- 7
229
- ),
230
- // Add more tasks here following the same structure...
231
- ];
232
-
233
- export { NieveTasks };
234
-
235
-
@@ -1,55 +0,0 @@
1
- import * as fs from 'fs';
2
- import * as path from 'path';
3
- import {
4
- CombatLevelRequirement,
5
- QuestRequirement,
6
- } from '../../../model/Requirement';
7
- import { Task } from '../../../model/slayer/Task';
8
-
9
- // Path to your JSON file (adjust as necessary)
10
- const filePath = path.join(__dirname, '../slayerData.json');
11
- var parsedJson;
12
- try {
13
- // Read the JSON file synchronously
14
- const data = fs.readFileSync(filePath, 'utf8');
15
-
16
- // Parse the JSON string
17
- parsedJson = JSON.parse(data);
18
- } catch (error) {
19
- console.error('Error reading or parsing the file:', error);
20
- }
21
-
22
- const turaelData = parsedJson.Turael;
23
-
24
- // Create Assignment objects dynamically from the assignments array
25
- const assignments = Object.keys(turaelData.assignments).reduce(
26
- (acc: Record<string, Task>, key) => {
27
- const assignmentData = turaelData.assignments[key];
28
- const unlockRequirements = new CombatLevelRequirement(
29
- assignmentData.unlockRequirements.combat
30
- );
31
-
32
- const questRequirements =
33
- assignmentData.unlockRequirements.quests.map(
34
- (quest: string) => new QuestRequirement(quest)
35
- ) || [];
36
- const partialQuestRequirements =
37
- assignmentData.unlockRequirements.partialQuests.map(
38
- (quest: string) => new QuestRequirement(quest)
39
- ) || [];
40
-
41
- const assignment = new Task(
42
- assignmentData.name,
43
- assignmentData.amountMin,
44
- assignmentData.amountMax,
45
- [questRequirements, partialQuestRequirements, unlockRequirements],
46
- assignmentData.extendedAmountMin ?? null,
47
- assignmentData.extendedAmountMax ?? null,
48
- assignmentData.alternatives,
49
- assignmentData.weight
50
- );
51
- acc[key] = assignment;
52
- return acc;
53
- },
54
- {}
55
- );