osrs-tools 2.8.1 → 2.9.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 (166) hide show
  1. package/dist/index.d.ts +3 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +6 -0
  4. package/dist/runescape/model/collection-log/CollectionLog.d.ts +8 -0
  5. package/dist/runescape/model/collection-log/CollectionLog.d.ts.map +1 -0
  6. package/dist/runescape/model/collection-log/CollectionLog.js +124 -0
  7. package/dist/runescape/model/collection-log/CollectionLog.model.d.ts +48 -0
  8. package/dist/runescape/model/collection-log/CollectionLog.model.d.ts.map +1 -0
  9. package/dist/runescape/model/collection-log/CollectionLog.model.js +13 -0
  10. package/dist/runescape/model/collection-log/index.d.ts +4 -0
  11. package/dist/runescape/model/collection-log/index.d.ts.map +1 -0
  12. package/dist/runescape/model/collection-log/index.js +2 -0
  13. package/dist/runescape/model/combat-achievements/CombatAchievement.model.d.ts +37 -0
  14. package/dist/runescape/model/combat-achievements/CombatAchievement.model.d.ts.map +1 -0
  15. package/dist/runescape/model/combat-achievements/CombatAchievement.model.js +17 -0
  16. package/dist/runescape/model/combat-achievements/CombatAchievements.d.ts +8 -0
  17. package/dist/runescape/model/combat-achievements/CombatAchievements.d.ts.map +1 -0
  18. package/dist/runescape/model/combat-achievements/CombatAchievements.js +80 -0
  19. package/dist/runescape/model/combat-achievements/index.d.ts +4 -0
  20. package/dist/runescape/model/combat-achievements/index.d.ts.map +1 -0
  21. package/dist/runescape/model/combat-achievements/index.js +2 -0
  22. package/dist/runescape/model/guilds/HunterGuild.d.ts +18 -0
  23. package/dist/runescape/model/guilds/HunterGuild.d.ts.map +1 -0
  24. package/dist/runescape/model/guilds/HunterGuild.js +65 -0
  25. package/dist/runescape/model/guilds/HunterGuildMaster.d.ts +29 -0
  26. package/dist/runescape/model/guilds/HunterGuildMaster.d.ts.map +1 -0
  27. package/dist/runescape/model/guilds/HunterGuildMaster.js +39 -0
  28. package/dist/runescape/model/guilds/HunterGuildProgress.d.ts +12 -0
  29. package/dist/runescape/model/guilds/HunterGuildProgress.d.ts.map +1 -0
  30. package/dist/runescape/model/guilds/HunterGuildProgress.js +27 -0
  31. package/dist/runescape/model/guilds/HunterRumour.d.ts +23 -0
  32. package/dist/runescape/model/guilds/HunterRumour.d.ts.map +1 -0
  33. package/dist/runescape/model/guilds/HunterRumour.js +43 -0
  34. package/dist/runescape/model/guilds/RumourLocation.d.ts +10 -0
  35. package/dist/runescape/model/guilds/RumourLocation.d.ts.map +1 -0
  36. package/dist/runescape/model/guilds/RumourLocation.js +12 -0
  37. package/dist/runescape/model/guilds/Rumours.d.ts +3 -0
  38. package/dist/runescape/model/guilds/Rumours.d.ts.map +1 -0
  39. package/dist/runescape/model/guilds/Rumours.js +303 -0
  40. package/dist/runescape/model/guilds/hunter/HunterGuild.d.ts +33 -0
  41. package/dist/runescape/model/guilds/hunter/HunterGuild.d.ts.map +1 -0
  42. package/dist/runescape/model/guilds/hunter/HunterGuild.js +107 -0
  43. package/dist/runescape/model/guilds/hunter/HunterGuildMaster.d.ts +52 -0
  44. package/dist/runescape/model/guilds/hunter/HunterGuildMaster.d.ts.map +1 -0
  45. package/dist/runescape/model/guilds/hunter/HunterGuildMaster.js +71 -0
  46. package/dist/runescape/model/guilds/hunter/HunterGuildMasterName.d.ts +21 -0
  47. package/dist/runescape/model/guilds/hunter/HunterGuildMasterName.d.ts.map +1 -0
  48. package/dist/runescape/model/guilds/hunter/HunterGuildMasterName.js +8 -0
  49. package/dist/runescape/model/guilds/hunter/HunterRumour.d.ts +33 -0
  50. package/dist/runescape/model/guilds/hunter/HunterRumour.d.ts.map +1 -0
  51. package/dist/runescape/model/guilds/hunter/HunterRumour.js +52 -0
  52. package/dist/runescape/model/guilds/hunter/RumourLocation.d.ts +48 -0
  53. package/dist/runescape/model/guilds/hunter/RumourLocation.d.ts.map +1 -0
  54. package/dist/runescape/model/guilds/hunter/RumourLocation.js +42 -0
  55. package/dist/runescape/model/guilds/hunter/Rumours.d.ts +11 -0
  56. package/dist/runescape/model/guilds/hunter/Rumours.d.ts.map +1 -0
  57. package/dist/runescape/model/guilds/hunter/Rumours.js +325 -0
  58. package/dist/runescape/model/guilds/hunter/index.d.ts +5 -0
  59. package/dist/runescape/model/guilds/hunter/index.d.ts.map +1 -0
  60. package/dist/runescape/model/guilds/hunter/index.js +4 -0
  61. package/dist/runescape/model/guilds/hunter/types.d.ts +32 -0
  62. package/dist/runescape/model/guilds/hunter/types.d.ts.map +1 -0
  63. package/dist/runescape/model/guilds/hunter/types.js +10 -0
  64. package/dist/runescape/model/guilds/index.d.ts +2 -0
  65. package/dist/runescape/model/guilds/index.d.ts.map +1 -0
  66. package/dist/runescape/model/guilds/index.js +1 -0
  67. package/dist/runescape/model/guilds/types.d.ts +44 -0
  68. package/dist/runescape/model/guilds/types.d.ts.map +1 -0
  69. package/dist/runescape/model/guilds/types.js +21 -0
  70. package/dist/runescape/model/hunter/HunterRumour.d.ts +155 -0
  71. package/dist/runescape/model/hunter/HunterRumour.d.ts.map +1 -0
  72. package/dist/runescape/model/hunter/HunterRumour.js +183 -0
  73. package/dist/runescape/model/hunter/HunterRumours.d.ts +70 -0
  74. package/dist/runescape/model/hunter/HunterRumours.d.ts.map +1 -0
  75. package/dist/runescape/model/hunter/HunterRumours.js +346 -0
  76. package/dist/runescape/model/hunter/index.d.ts +9 -0
  77. package/dist/runescape/model/hunter/index.d.ts.map +1 -0
  78. package/dist/runescape/model/hunter/index.js +9 -0
  79. package/dist/runescape/model/leagues/DemonicPact.d.ts +23 -0
  80. package/dist/runescape/model/leagues/DemonicPact.d.ts.map +1 -0
  81. package/dist/runescape/model/leagues/DemonicPact.js +210 -0
  82. package/dist/runescape/model/leagues/DemonicPact.model.d.ts +103 -0
  83. package/dist/runescape/model/leagues/DemonicPact.model.d.ts.map +1 -0
  84. package/dist/runescape/model/leagues/DemonicPact.model.js +17 -0
  85. package/dist/runescape/model/leagues/DemonicPactClasses.d.ts +539 -0
  86. package/dist/runescape/model/leagues/DemonicPactClasses.d.ts.map +1 -0
  87. package/dist/runescape/model/leagues/DemonicPactClasses.js +1085 -0
  88. package/dist/runescape/model/leagues/DemonicPactPlanningData.d.ts +4 -0
  89. package/dist/runescape/model/leagues/DemonicPactPlanningData.d.ts.map +1 -0
  90. package/dist/runescape/model/leagues/DemonicPactPlanningData.js +174 -0
  91. package/dist/runescape/model/leagues/DemonicPacts.d.ts +4 -0
  92. package/dist/runescape/model/leagues/DemonicPacts.d.ts.map +1 -0
  93. package/dist/runescape/model/leagues/DemonicPacts.js +66 -0
  94. package/dist/runescape/model/leagues/DemonicPactsLeague/DemonicPactsLeagueAreas.d.ts +23 -0
  95. package/dist/runescape/model/leagues/DemonicPactsLeague/DemonicPactsLeagueAreas.d.ts.map +1 -0
  96. package/dist/runescape/model/leagues/DemonicPactsLeague/DemonicPactsLeagueAreas.js +442 -0
  97. package/dist/runescape/model/leagues/LeaguesRegion.model.d.ts +33 -0
  98. package/dist/runescape/model/leagues/LeaguesRegion.model.d.ts.map +1 -0
  99. package/dist/runescape/model/leagues/LeaguesRegion.model.js +14 -0
  100. package/dist/runescape/model/leagues/LeaguesRegions.d.ts +10 -0
  101. package/dist/runescape/model/leagues/LeaguesRegions.d.ts.map +1 -0
  102. package/dist/runescape/model/leagues/LeaguesRegions.js +69 -0
  103. package/dist/runescape/model/leagues/LeaguesRelic.model.d.ts +31 -0
  104. package/dist/runescape/model/leagues/LeaguesRelic.model.d.ts.map +1 -0
  105. package/dist/runescape/model/leagues/LeaguesRelic.model.js +11 -0
  106. package/dist/runescape/model/leagues/LeaguesRelics.d.ts +8 -0
  107. package/dist/runescape/model/leagues/LeaguesRelics.d.ts.map +1 -0
  108. package/dist/runescape/model/leagues/LeaguesRelics.js +237 -0
  109. package/dist/runescape/model/leagues/RagingEchoesLeague/RagingEchoesLeague.d.ts +749 -0
  110. package/dist/runescape/model/leagues/RagingEchoesLeague/RagingEchoesLeague.d.ts.map +1 -0
  111. package/dist/runescape/model/leagues/RagingEchoesLeague/RagingEchoesLeague.js +856 -0
  112. package/dist/runescape/model/leagues/general/Leagues.d.ts +70 -0
  113. package/dist/runescape/model/leagues/general/Leagues.d.ts.map +1 -0
  114. package/dist/runescape/model/leagues/general/Leagues.js +141 -0
  115. package/dist/runescape/model/leagues/index.d.ts +4 -0
  116. package/dist/runescape/model/leagues/index.d.ts.map +1 -0
  117. package/dist/runescape/model/leagues/index.js +3 -0
  118. package/dist/runescape/model/leagues/model.d.ts +32 -0
  119. package/dist/runescape/model/leagues/model.d.ts.map +1 -0
  120. package/dist/runescape/model/leagues/model.js +19 -0
  121. package/dist/runescape/model/skills/Skill.d.ts +22 -0
  122. package/dist/runescape/model/skills/Skill.d.ts.map +1 -0
  123. package/dist/runescape/model/skills/Skill.js +1 -0
  124. package/dist/runescape/model/skills/attack/Attack.d.ts +15 -0
  125. package/dist/runescape/model/skills/attack/Attack.d.ts.map +1 -0
  126. package/dist/runescape/model/skills/attack/Attack.js +19 -0
  127. package/dist/runescape/model/skills/attack/AttackLevelUnlocks.d.ts +6 -0
  128. package/dist/runescape/model/skills/attack/AttackLevelUnlocks.d.ts.map +1 -0
  129. package/dist/runescape/model/skills/attack/AttackLevelUnlocks.js +47 -0
  130. package/dist/runescape/model/skills/attack/index.d.ts +3 -0
  131. package/dist/runescape/model/skills/attack/index.d.ts.map +1 -0
  132. package/dist/runescape/model/skills/attack/index.js +2 -0
  133. package/dist/runescape/model/skills/hunter/Hunter.d.ts +5 -0
  134. package/dist/runescape/model/skills/hunter/Hunter.d.ts.map +1 -0
  135. package/dist/runescape/model/skills/hunter/Hunter.js +6 -0
  136. package/dist/runescape/model/skills/hunter/HunterNpcs.d.ts +1 -0
  137. package/dist/runescape/model/skills/hunter/HunterNpcs.d.ts.map +1 -0
  138. package/dist/runescape/model/skills/hunter/HunterNpcs.js +1 -0
  139. package/dist/runescape/model/skills/hunter/index.d.ts +2 -0
  140. package/dist/runescape/model/skills/hunter/index.d.ts.map +1 -0
  141. package/dist/runescape/model/skills/hunter/index.js +1 -0
  142. package/dist/runescape/model/skills/index.d.ts +3 -0
  143. package/dist/runescape/model/skills/index.d.ts.map +1 -0
  144. package/dist/runescape/model/skills/index.js +2 -0
  145. package/dist/runescape/resources/QuestData.json +5454 -0
  146. package/dist/runescape/resources/diary/diaries.json +1484 -0
  147. package/dist/runescape/resources/diary/diariesArray.json +0 -0
  148. package/dist/runescape/resources/leagues/demonicPacts.leagues7.json +2449 -0
  149. package/dist/runescape/resources/quest/exp.json +1333 -0
  150. package/dist/runescape/resources/quest/questData.json +5790 -0
  151. package/dist/runescape/resources/quest/questDataArray.json +5489 -0
  152. package/dist/runescape/resources/quest/subquestArray.json +58 -0
  153. package/dist/runescape/resources/quest/testObj.json +5682 -0
  154. package/dist/runescape/resources/quest/testarray.json +5589 -0
  155. package/dist/runescape/resources/quests/CooksAssistant.json +34 -0
  156. package/dist/runescape/resources/slayer/slayer.json +3581 -0
  157. package/dist/runescape/resources/slayer/slayerData.json +4431 -0
  158. package/dist/runescape/resources/slayer/tasks/json/Chaeldar.json +348 -0
  159. package/dist/runescape/resources/slayer/tasks/json/Duradel.json +541 -0
  160. package/dist/runescape/resources/slayer/tasks/json/Krystilia.json +2 -0
  161. package/dist/runescape/resources/slayer/tasks/json/Mazchna.json +379 -0
  162. package/dist/runescape/resources/slayer/tasks/json/Neive.json +320 -0
  163. package/dist/runescape/resources/slayer/tasks/json/Spria.json +345 -0
  164. package/dist/runescape/resources/slayer/tasks/json/Tureal.json +341 -0
  165. package/dist/runescape/resources/slayer/tasks/json/Vannaka.json +547 -0
  166. package/package.json +1 -1
@@ -0,0 +1,1085 @@
1
+ import { DEMONIC_PACTS_LEAGUES_7 } from "./DemonicPacts";
2
+ const DEMONIC_PACTS_BY_ID = new Map(DEMONIC_PACTS_LEAGUES_7.pacts.map((pact) => [pact.id, pact]));
3
+ function getPactOrThrow(pactId) {
4
+ const pact = DEMONIC_PACTS_BY_ID.get(pactId);
5
+ if (!pact) {
6
+ throw new Error(`Unknown demonic pact id: ${pactId}`);
7
+ }
8
+ return pact;
9
+ }
10
+ export class DemonicPactClass {
11
+ pactId;
12
+ constructor(pactId) {
13
+ this.pactId = pactId;
14
+ }
15
+ toPact() {
16
+ return getPactOrThrow(this.pactId);
17
+ }
18
+ }
19
+ export class RegenAmmoNode1 extends DemonicPactClass {
20
+ static pactId = "node1";
21
+ constructor() {
22
+ super(RegenAmmoNode1.pactId);
23
+ }
24
+ }
25
+ export class RangedRegenEchoChanceNode2 extends DemonicPactClass {
26
+ static pactId = "node2";
27
+ constructor() {
28
+ super(RangedRegenEchoChanceNode2.pactId);
29
+ }
30
+ }
31
+ export class BowAlwaysPassAccuracyNode3 extends DemonicPactClass {
32
+ static pactId = "node3";
33
+ constructor() {
34
+ super(BowAlwaysPassAccuracyNode3.pactId);
35
+ }
36
+ }
37
+ export class CrossbowEchoReprocChanceNode4 extends DemonicPactClass {
38
+ static pactId = "node4";
39
+ constructor() {
40
+ super(CrossbowEchoReprocChanceNode4.pactId);
41
+ }
42
+ }
43
+ export class ThrownMaxhitEchoesNode5 extends DemonicPactClass {
44
+ static pactId = "node5";
45
+ constructor() {
46
+ super(ThrownMaxhitEchoesNode5.pactId);
47
+ }
48
+ }
49
+ export class DefenceBoostNode6 extends DemonicPactClass {
50
+ static pactId = "node6";
51
+ constructor() {
52
+ super(DefenceBoostNode6.pactId);
53
+ }
54
+ }
55
+ export class AllStyleAccuracyNode7 extends DemonicPactClass {
56
+ static pactId = "node7";
57
+ constructor() {
58
+ super(AllStyleAccuracyNode7.pactId);
59
+ }
60
+ }
61
+ export class DefenceBoostNode8 extends DemonicPactClass {
62
+ static pactId = "node8";
63
+ constructor() {
64
+ super(DefenceBoostNode8.pactId);
65
+ }
66
+ }
67
+ export class MaxAccuracyRollFromRangeNode9 extends DemonicPactClass {
68
+ static pactId = "node9";
69
+ constructor() {
70
+ super(MaxAccuracyRollFromRangeNode9.pactId);
71
+ }
72
+ }
73
+ export class RegenAmmoNode10 extends DemonicPactClass {
74
+ static pactId = "node10";
75
+ constructor() {
76
+ super(RegenAmmoNode10.pactId);
77
+ }
78
+ }
79
+ export class AllStyleAccuracyNode11 extends DemonicPactClass {
80
+ static pactId = "node11";
81
+ constructor() {
82
+ super(AllStyleAccuracyNode11.pactId);
83
+ }
84
+ }
85
+ export class OffhandStatBoostNode12 extends DemonicPactClass {
86
+ static pactId = "node12";
87
+ constructor() {
88
+ super(OffhandStatBoostNode12.pactId);
89
+ }
90
+ }
91
+ export class PercentageRangedDamageNode13 extends DemonicPactClass {
92
+ static pactId = "node13";
93
+ constructor() {
94
+ super(PercentageRangedDamageNode13.pactId);
95
+ }
96
+ }
97
+ export class BuffedRangedPrayersNode14 extends DemonicPactClass {
98
+ static pactId = "node14";
99
+ constructor() {
100
+ super(BuffedRangedPrayersNode14.pactId);
101
+ }
102
+ }
103
+ export class PercentageRangedDamageNode15 extends DemonicPactClass {
104
+ static pactId = "node15";
105
+ constructor() {
106
+ super(PercentageRangedDamageNode15.pactId);
107
+ }
108
+ }
109
+ export class RangedStrengthHpDifferenceNode16 extends DemonicPactClass {
110
+ static pactId = "node16";
111
+ constructor() {
112
+ super(RangedStrengthHpDifferenceNode16.pactId);
113
+ }
114
+ }
115
+ export class PercentageRangedDamageNode17 extends DemonicPactClass {
116
+ static pactId = "node17";
117
+ constructor() {
118
+ super(PercentageRangedDamageNode17.pactId);
119
+ }
120
+ }
121
+ export class RangedEchoCyclicalNode18 extends DemonicPactClass {
122
+ static pactId = "node18";
123
+ constructor() {
124
+ super(RangedEchoCyclicalNode18.pactId);
125
+ }
126
+ }
127
+ export class PercentageRangedDamageNode19 extends DemonicPactClass {
128
+ static pactId = "node19";
129
+ constructor() {
130
+ super(PercentageRangedDamageNode19.pactId);
131
+ }
132
+ }
133
+ export class BowFastHitsNode20 extends DemonicPactClass {
134
+ static pactId = "node20";
135
+ constructor() {
136
+ super(BowFastHitsNode20.pactId);
137
+ }
138
+ }
139
+ export class CrossbowSlowBigHitsNode21 extends DemonicPactClass {
140
+ static pactId = "node21";
141
+ constructor() {
142
+ super(CrossbowSlowBigHitsNode21.pactId);
143
+ }
144
+ }
145
+ export class ThrownWeaponMeleeStrScaleNode22 extends DemonicPactClass {
146
+ static pactId = "node22";
147
+ constructor() {
148
+ super(ThrownWeaponMeleeStrScaleNode22.pactId);
149
+ }
150
+ }
151
+ export class PercentageRangedDamageNode23 extends DemonicPactClass {
152
+ static pactId = "node23";
153
+ constructor() {
154
+ super(PercentageRangedDamageNode23.pactId);
155
+ }
156
+ }
157
+ export class PercentageRangedDamageNode24 extends DemonicPactClass {
158
+ static pactId = "node24";
159
+ constructor() {
160
+ super(PercentageRangedDamageNode24.pactId);
161
+ }
162
+ }
163
+ export class PercentageRangedDamageNode25 extends DemonicPactClass {
164
+ static pactId = "node25";
165
+ constructor() {
166
+ super(PercentageRangedDamageNode25.pactId);
167
+ }
168
+ }
169
+ export class BowMinHitStackingIncreaseNode26 extends DemonicPactClass {
170
+ static pactId = "node26";
171
+ constructor() {
172
+ super(BowMinHitStackingIncreaseNode26.pactId);
173
+ }
174
+ }
175
+ export class PercentageRangedDamageNode27 extends DemonicPactClass {
176
+ static pactId = "node27";
177
+ constructor() {
178
+ super(PercentageRangedDamageNode27.pactId);
179
+ }
180
+ }
181
+ export class BowMaxHitStackingIncreaseNode28 extends DemonicPactClass {
182
+ static pactId = "node28";
183
+ constructor() {
184
+ super(BowMaxHitStackingIncreaseNode28.pactId);
185
+ }
186
+ }
187
+ export class CrossbowMaxHitNode29 extends DemonicPactClass {
188
+ static pactId = "node29";
189
+ constructor() {
190
+ super(CrossbowMaxHitNode29.pactId);
191
+ }
192
+ }
193
+ export class PercentageRangedDamageNode30 extends DemonicPactClass {
194
+ static pactId = "node30";
195
+ constructor() {
196
+ super(PercentageRangedDamageNode30.pactId);
197
+ }
198
+ }
199
+ export class CrossbowDoubleAccuracyRollNode31 extends DemonicPactClass {
200
+ static pactId = "node31";
201
+ constructor() {
202
+ super(CrossbowDoubleAccuracyRollNode31.pactId);
203
+ }
204
+ }
205
+ export class ThrownWeaponAccuracyNode32 extends DemonicPactClass {
206
+ static pactId = "node32";
207
+ constructor() {
208
+ super(ThrownWeaponAccuracyNode32.pactId);
209
+ }
210
+ }
211
+ export class PercentageRangedDamageNode33 extends DemonicPactClass {
212
+ static pactId = "node33";
213
+ constructor() {
214
+ super(PercentageRangedDamageNode33.pactId);
215
+ }
216
+ }
217
+ export class ThrownWeaponMultiNode34 extends DemonicPactClass {
218
+ static pactId = "node34";
219
+ constructor() {
220
+ super(ThrownWeaponMultiNode34.pactId);
221
+ }
222
+ }
223
+ export class RangedRegenEchoChanceNode38 extends DemonicPactClass {
224
+ static pactId = "node38";
225
+ constructor() {
226
+ super(RangedRegenEchoChanceNode38.pactId);
227
+ }
228
+ }
229
+ export class RangedRegenEchoChanceNode39 extends DemonicPactClass {
230
+ static pactId = "node39";
231
+ constructor() {
232
+ super(RangedRegenEchoChanceNode39.pactId);
233
+ }
234
+ }
235
+ export class MeleeRangeMultiplierNode43 extends DemonicPactClass {
236
+ static pactId = "node43";
237
+ constructor() {
238
+ super(MeleeRangeMultiplierNode43.pactId);
239
+ }
240
+ }
241
+ export class RegenMagicLevelBoostNode44 extends DemonicPactClass {
242
+ static pactId = "node44";
243
+ constructor() {
244
+ super(RegenMagicLevelBoostNode44.pactId);
245
+ }
246
+ }
247
+ export class AirruneRegenPrayerRestoreNode45 extends DemonicPactClass {
248
+ static pactId = "node45";
249
+ constructor() {
250
+ super(AirruneRegenPrayerRestoreNode45.pactId);
251
+ }
252
+ }
253
+ export class WaterruneRegenHealingNode46 extends DemonicPactClass {
254
+ static pactId = "node46";
255
+ constructor() {
256
+ super(WaterruneRegenHealingNode46.pactId);
257
+ }
258
+ }
259
+ export class FireruneRegenDamageBoostNode47 extends DemonicPactClass {
260
+ static pactId = "node47";
261
+ constructor() {
262
+ super(FireruneRegenDamageBoostNode47.pactId);
263
+ }
264
+ }
265
+ export class EarthruneRegenDefenceBoostNode48 extends DemonicPactClass {
266
+ static pactId = "node48";
267
+ constructor() {
268
+ super(EarthruneRegenDefenceBoostNode48.pactId);
269
+ }
270
+ }
271
+ export class RegenStaveChargesWaterNode53 extends DemonicPactClass {
272
+ static pactId = "node53";
273
+ constructor() {
274
+ super(RegenStaveChargesWaterNode53.pactId);
275
+ }
276
+ }
277
+ export class RegenStaveChargesFireNode54 extends DemonicPactClass {
278
+ static pactId = "node54";
279
+ constructor() {
280
+ super(RegenStaveChargesFireNode54.pactId);
281
+ }
282
+ }
283
+ export class AllStyleAccuracyNode55 extends DemonicPactClass {
284
+ static pactId = "node55";
285
+ constructor() {
286
+ super(AllStyleAccuracyNode55.pactId);
287
+ }
288
+ }
289
+ export class AllStyleAccuracyNode56 extends DemonicPactClass {
290
+ static pactId = "node56";
291
+ constructor() {
292
+ super(AllStyleAccuracyNode56.pactId);
293
+ }
294
+ }
295
+ export class AllStyleAccuracyNode57 extends DemonicPactClass {
296
+ static pactId = "node57";
297
+ constructor() {
298
+ super(AllStyleAccuracyNode57.pactId);
299
+ }
300
+ }
301
+ export class AllStyleAccuracyNode58 extends DemonicPactClass {
302
+ static pactId = "node58";
303
+ constructor() {
304
+ super(AllStyleAccuracyNode58.pactId);
305
+ }
306
+ }
307
+ export class OverhealingViaTalentsNode59 extends DemonicPactClass {
308
+ static pactId = "node59";
309
+ constructor() {
310
+ super(OverhealingViaTalentsNode59.pactId);
311
+ }
312
+ }
313
+ export class RegenAmmoNode60 extends DemonicPactClass {
314
+ static pactId = "node60";
315
+ constructor() {
316
+ super(RegenAmmoNode60.pactId);
317
+ }
318
+ }
319
+ export class DefenceBoostNode61 extends DemonicPactClass {
320
+ static pactId = "node61";
321
+ constructor() {
322
+ super(DefenceBoostNode61.pactId);
323
+ }
324
+ }
325
+ export class RegenAmmoNode62 extends DemonicPactClass {
326
+ static pactId = "node62";
327
+ constructor() {
328
+ super(RegenAmmoNode62.pactId);
329
+ }
330
+ }
331
+ export class DefenceBoostNode63 extends DemonicPactClass {
332
+ static pactId = "node63";
333
+ constructor() {
334
+ super(DefenceBoostNode63.pactId);
335
+ }
336
+ }
337
+ export class DefenceBoostNode64 extends DemonicPactClass {
338
+ static pactId = "node64";
339
+ constructor() {
340
+ super(DefenceBoostNode64.pactId);
341
+ }
342
+ }
343
+ export class MaxHitStyleSwapNode65 extends DemonicPactClass {
344
+ static pactId = "node65";
345
+ constructor() {
346
+ super(MaxHitStyleSwapNode65.pactId);
347
+ }
348
+ }
349
+ export class PrayerPenAllNode66 extends DemonicPactClass {
350
+ static pactId = "node66";
351
+ constructor() {
352
+ super(PrayerPenAllNode66.pactId);
353
+ }
354
+ }
355
+ export class PercentageMagicDamageNode67 extends DemonicPactClass {
356
+ static pactId = "node67";
357
+ constructor() {
358
+ super(PercentageMagicDamageNode67.pactId);
359
+ }
360
+ }
361
+ export class PercentageMagicDamageNode68 extends DemonicPactClass {
362
+ static pactId = "node68";
363
+ constructor() {
364
+ super(PercentageMagicDamageNode68.pactId);
365
+ }
366
+ }
367
+ export class PercentageMagicDamageNode69 extends DemonicPactClass {
368
+ static pactId = "node69";
369
+ constructor() {
370
+ super(PercentageMagicDamageNode69.pactId);
371
+ }
372
+ }
373
+ export class PercentageMagicDamageNode70 extends DemonicPactClass {
374
+ static pactId = "node70";
375
+ constructor() {
376
+ super(PercentageMagicDamageNode70.pactId);
377
+ }
378
+ }
379
+ export class ThornsDamageNode71 extends DemonicPactClass {
380
+ static pactId = "node71";
381
+ constructor() {
382
+ super(ThornsDamageNode71.pactId);
383
+ }
384
+ }
385
+ export class LightWeaponDoublehitNode72 extends DemonicPactClass {
386
+ static pactId = "node72";
387
+ constructor() {
388
+ super(LightWeaponDoublehitNode72.pactId);
389
+ }
390
+ }
391
+ export class FreeRandomWeaponAttackChanceNode73 extends DemonicPactClass {
392
+ static pactId = "node73";
393
+ constructor() {
394
+ super(FreeRandomWeaponAttackChanceNode73.pactId);
395
+ }
396
+ }
397
+ export class DistanceMeleeMinhitNode74 extends DemonicPactClass {
398
+ static pactId = "node74";
399
+ constructor() {
400
+ super(DistanceMeleeMinhitNode74.pactId);
401
+ }
402
+ }
403
+ export class MultiHitStrIncreaseNode79 extends DemonicPactClass {
404
+ static pactId = "node79";
405
+ constructor() {
406
+ super(MultiHitStrIncreaseNode79.pactId);
407
+ }
408
+ }
409
+ export class MeleeDistanceHealingChanceNode80 extends DemonicPactClass {
410
+ static pactId = "node80";
411
+ constructor() {
412
+ super(MeleeDistanceHealingChanceNode80.pactId);
413
+ }
414
+ }
415
+ export class DefenceBoostNode81 extends DemonicPactClass {
416
+ static pactId = "node81";
417
+ constructor() {
418
+ super(DefenceBoostNode81.pactId);
419
+ }
420
+ }
421
+ export class AllStyleAccuracyNode82 extends DemonicPactClass {
422
+ static pactId = "node82";
423
+ constructor() {
424
+ super(AllStyleAccuracyNode82.pactId);
425
+ }
426
+ }
427
+ export class AllStyleAccuracyNode83 extends DemonicPactClass {
428
+ static pactId = "node83";
429
+ constructor() {
430
+ super(AllStyleAccuracyNode83.pactId);
431
+ }
432
+ }
433
+ export class ShieldReflectNode84 extends DemonicPactClass {
434
+ static pactId = "node84";
435
+ constructor() {
436
+ super(ShieldReflectNode84.pactId);
437
+ }
438
+ }
439
+ export class SpecForFreeNode85 extends DemonicPactClass {
440
+ static pactId = "node85";
441
+ constructor() {
442
+ super(SpecForFreeNode85.pactId);
443
+ }
444
+ }
445
+ export class AllStyleAccuracyNode86 extends DemonicPactClass {
446
+ static pactId = "node86";
447
+ constructor() {
448
+ super(AllStyleAccuracyNode86.pactId);
449
+ }
450
+ }
451
+ export class RegenAmmoNode87 extends DemonicPactClass {
452
+ static pactId = "node87";
453
+ constructor() {
454
+ super(RegenAmmoNode87.pactId);
455
+ }
456
+ }
457
+ export class RestoreSaEnergyFromDistanceNode88 extends DemonicPactClass {
458
+ static pactId = "node88";
459
+ constructor() {
460
+ super(RestoreSaEnergyFromDistanceNode88.pactId);
461
+ }
462
+ }
463
+ export class PrayerPenAllNode91 extends DemonicPactClass {
464
+ static pactId = "node91";
465
+ constructor() {
466
+ super(PrayerPenAllNode91.pactId);
467
+ }
468
+ }
469
+ export class RegenAmmoNode92 extends DemonicPactClass {
470
+ static pactId = "node92";
471
+ constructor() {
472
+ super(RegenAmmoNode92.pactId);
473
+ }
474
+ }
475
+ export class RegenAmmoNode93 extends DemonicPactClass {
476
+ static pactId = "node93";
477
+ constructor() {
478
+ super(RegenAmmoNode93.pactId);
479
+ }
480
+ }
481
+ export class DefenceBoostNode94 extends DemonicPactClass {
482
+ static pactId = "node94";
483
+ constructor() {
484
+ super(DefenceBoostNode94.pactId);
485
+ }
486
+ }
487
+ export class DefenceBoostNode95 extends DemonicPactClass {
488
+ static pactId = "node95";
489
+ constructor() {
490
+ super(DefenceBoostNode95.pactId);
491
+ }
492
+ }
493
+ export class OverhealingViaTalentsNode96 extends DemonicPactClass {
494
+ static pactId = "node96";
495
+ constructor() {
496
+ super(OverhealingViaTalentsNode96.pactId);
497
+ }
498
+ }
499
+ export class PrayerPenAllNode97 extends DemonicPactClass {
500
+ static pactId = "node97";
501
+ constructor() {
502
+ super(PrayerPenAllNode97.pactId);
503
+ }
504
+ }
505
+ export class DefenceBoostNode98 extends DemonicPactClass {
506
+ static pactId = "node98";
507
+ constructor() {
508
+ super(DefenceBoostNode98.pactId);
509
+ }
510
+ }
511
+ export class DefenceBoostNode99 extends DemonicPactClass {
512
+ static pactId = "node99";
513
+ constructor() {
514
+ super(DefenceBoostNode99.pactId);
515
+ }
516
+ }
517
+ export class OverhealingViaTalentsNode100 extends DemonicPactClass {
518
+ static pactId = "node100";
519
+ constructor() {
520
+ super(OverhealingViaTalentsNode100.pactId);
521
+ }
522
+ }
523
+ export class PrayerPenAllNode101 extends DemonicPactClass {
524
+ static pactId = "node101";
525
+ constructor() {
526
+ super(PrayerPenAllNode101.pactId);
527
+ }
528
+ }
529
+ export class PrayerRestoreNoOverheadNode102 extends DemonicPactClass {
530
+ static pactId = "node102";
531
+ constructor() {
532
+ super(PrayerRestoreNoOverheadNode102.pactId);
533
+ }
534
+ }
535
+ export class PrayerPenAllNode103 extends DemonicPactClass {
536
+ static pactId = "node103";
537
+ constructor() {
538
+ super(PrayerPenAllNode103.pactId);
539
+ }
540
+ }
541
+ export class PrayerPenAllNode106 extends DemonicPactClass {
542
+ static pactId = "node106";
543
+ constructor() {
544
+ super(PrayerPenAllNode106.pactId);
545
+ }
546
+ }
547
+ export class AirSpellDamageActivePrayersNode107 extends DemonicPactClass {
548
+ static pactId = "node107";
549
+ constructor() {
550
+ super(AirSpellDamageActivePrayersNode107.pactId);
551
+ }
552
+ }
553
+ export class PercentageMagicDamageNode108 extends DemonicPactClass {
554
+ static pactId = "node108";
555
+ constructor() {
556
+ super(PercentageMagicDamageNode108.pactId);
557
+ }
558
+ }
559
+ export class AirSpellMaxHitPrayerBonusNode109 extends DemonicPactClass {
560
+ static pactId = "node109";
561
+ constructor() {
562
+ super(AirSpellMaxHitPrayerBonusNode109.pactId);
563
+ }
564
+ }
565
+ export class SmokeCountsAsAirNode111 extends DemonicPactClass {
566
+ static pactId = "node111";
567
+ constructor() {
568
+ super(SmokeCountsAsAirNode111.pactId);
569
+ }
570
+ }
571
+ export class WaterSpellDamageHighHpNode112 extends DemonicPactClass {
572
+ static pactId = "node112";
573
+ constructor() {
574
+ super(WaterSpellDamageHighHpNode112.pactId);
575
+ }
576
+ }
577
+ export class PercentageMagicDamageNode113 extends DemonicPactClass {
578
+ static pactId = "node113";
579
+ constructor() {
580
+ super(PercentageMagicDamageNode113.pactId);
581
+ }
582
+ }
583
+ export class WaterSpellBouceHealNode114 extends DemonicPactClass {
584
+ static pactId = "node114";
585
+ constructor() {
586
+ super(WaterSpellBouceHealNode114.pactId);
587
+ }
588
+ }
589
+ export class FireHpConsumeForDamageNode117 extends DemonicPactClass {
590
+ static pactId = "node117";
591
+ constructor() {
592
+ super(FireHpConsumeForDamageNode117.pactId);
593
+ }
594
+ }
595
+ export class PercentageMagicDamageNode118 extends DemonicPactClass {
596
+ static pactId = "node118";
597
+ constructor() {
598
+ super(PercentageMagicDamageNode118.pactId);
599
+ }
600
+ }
601
+ export class FireSpellBurnBounceNode119 extends DemonicPactClass {
602
+ static pactId = "node119";
603
+ constructor() {
604
+ super(FireSpellBurnBounceNode119.pactId);
605
+ }
606
+ }
607
+ export class MagicAttackSpeedTraditionalNode122 extends DemonicPactClass {
608
+ static pactId = "node122";
609
+ constructor() {
610
+ super(MagicAttackSpeedTraditionalNode122.pactId);
611
+ }
612
+ }
613
+ export class IceCountsAsWaterNode123 extends DemonicPactClass {
614
+ static pactId = "node123";
615
+ constructor() {
616
+ super(IceCountsAsWaterNode123.pactId);
617
+ }
618
+ }
619
+ export class BloodCountsAsFireNode124 extends DemonicPactClass {
620
+ static pactId = "node124";
621
+ constructor() {
622
+ super(BloodCountsAsFireNode124.pactId);
623
+ }
624
+ }
625
+ export class EarthReduceDefenceNode127 extends DemonicPactClass {
626
+ static pactId = "node127";
627
+ constructor() {
628
+ super(EarthReduceDefenceNode127.pactId);
629
+ }
630
+ }
631
+ export class PercentageMagicDamageNode128 extends DemonicPactClass {
632
+ static pactId = "node128";
633
+ constructor() {
634
+ super(PercentageMagicDamageNode128.pactId);
635
+ }
636
+ }
637
+ export class EarthScaleDefenceStatNode129 extends DemonicPactClass {
638
+ static pactId = "node129";
639
+ constructor() {
640
+ super(EarthScaleDefenceStatNode129.pactId);
641
+ }
642
+ }
643
+ export class ShadowCountsAsEarthNode131 extends DemonicPactClass {
644
+ static pactId = "node131";
645
+ constructor() {
646
+ super(ShadowCountsAsEarthNode131.pactId);
647
+ }
648
+ }
649
+ export class MagicAttackSpeedPoweredNode133 extends DemonicPactClass {
650
+ static pactId = "node133";
651
+ constructor() {
652
+ super(MagicAttackSpeedPoweredNode133.pactId);
653
+ }
654
+ }
655
+ export class PrayerPenAllNode134 extends DemonicPactClass {
656
+ static pactId = "node134";
657
+ constructor() {
658
+ super(PrayerPenAllNode134.pactId);
659
+ }
660
+ }
661
+ export class ShieldBlockHealNode135 extends DemonicPactClass {
662
+ static pactId = "node135";
663
+ constructor() {
664
+ super(ShieldBlockHealNode135.pactId);
665
+ }
666
+ }
667
+ export class PrayerPenAllNode136 extends DemonicPactClass {
668
+ static pactId = "node136";
669
+ constructor() {
670
+ super(PrayerPenAllNode136.pactId);
671
+ }
672
+ }
673
+ export class DefenceRecoilScalingNode139 extends DemonicPactClass {
674
+ static pactId = "node139";
675
+ constructor() {
676
+ super(DefenceRecoilScalingNode139.pactId);
677
+ }
678
+ }
679
+ export class PercentageMeleeDamageNode140 extends DemonicPactClass {
680
+ static pactId = "node140";
681
+ constructor() {
682
+ super(PercentageMeleeDamageNode140.pactId);
683
+ }
684
+ }
685
+ export class ThornsDoubleHitNode141 extends DemonicPactClass {
686
+ static pactId = "node141";
687
+ constructor() {
688
+ super(ThornsDoubleHitNode141.pactId);
689
+ }
690
+ }
691
+ export class LightWeaponFasterNode142 extends DemonicPactClass {
692
+ static pactId = "node142";
693
+ constructor() {
694
+ super(LightWeaponFasterNode142.pactId);
695
+ }
696
+ }
697
+ export class PercentageMeleeDamageNode143 extends DemonicPactClass {
698
+ static pactId = "node143";
699
+ constructor() {
700
+ super(PercentageMeleeDamageNode143.pactId);
701
+ }
702
+ }
703
+ export class HitRestoreSpecEnergyNode144 extends DemonicPactClass {
704
+ static pactId = "node144";
705
+ constructor() {
706
+ super(HitRestoreSpecEnergyNode144.pactId);
707
+ }
708
+ }
709
+ export class PercentageMeleeDamageNode145 extends DemonicPactClass {
710
+ static pactId = "node145";
711
+ constructor() {
712
+ super(PercentageMeleeDamageNode145.pactId);
713
+ }
714
+ }
715
+ export class MeleeDistanceHealingChanceNode146 extends DemonicPactClass {
716
+ static pactId = "node146";
717
+ constructor() {
718
+ super(MeleeDistanceHealingChanceNode146.pactId);
719
+ }
720
+ }
721
+ export class UniqueBlindbagChanceNode150 extends DemonicPactClass {
722
+ static pactId = "node150";
723
+ constructor() {
724
+ super(UniqueBlindbagChanceNode150.pactId);
725
+ }
726
+ }
727
+ export class PercentageMeleeDamageNode151 extends DemonicPactClass {
728
+ static pactId = "node151";
729
+ constructor() {
730
+ super(PercentageMeleeDamageNode151.pactId);
731
+ }
732
+ }
733
+ export class UniqueBlindbagDamageNode152 extends DemonicPactClass {
734
+ static pactId = "node152";
735
+ constructor() {
736
+ super(UniqueBlindbagDamageNode152.pactId);
737
+ }
738
+ }
739
+ export class PercentageMeleeMaxhitDistanceNode153 extends DemonicPactClass {
740
+ static pactId = "node153";
741
+ constructor() {
742
+ super(PercentageMeleeMaxhitDistanceNode153.pactId);
743
+ }
744
+ }
745
+ export class PercentageMeleeDamageNode154 extends DemonicPactClass {
746
+ static pactId = "node154";
747
+ constructor() {
748
+ super(PercentageMeleeDamageNode154.pactId);
749
+ }
750
+ }
751
+ export class MeleeRangeConditionalBoostNode155 extends DemonicPactClass {
752
+ static pactId = "node155";
753
+ constructor() {
754
+ super(MeleeRangeConditionalBoostNode155.pactId);
755
+ }
756
+ }
757
+ export class PercentageMeleeDamageNode156 extends DemonicPactClass {
758
+ static pactId = "node156";
759
+ constructor() {
760
+ super(PercentageMeleeDamageNode156.pactId);
761
+ }
762
+ }
763
+ export class Pact2hMeleeEchosNode157 extends DemonicPactClass {
764
+ static pactId = "node157";
765
+ constructor() {
766
+ super(Pact2hMeleeEchosNode157.pactId);
767
+ }
768
+ }
769
+ export class PercentageMeleeDamageNode161 extends DemonicPactClass {
770
+ static pactId = "node161";
771
+ constructor() {
772
+ super(PercentageMeleeDamageNode161.pactId);
773
+ }
774
+ }
775
+ export class MeleeStrengthPrayerBonusNode162 extends DemonicPactClass {
776
+ static pactId = "node162";
777
+ constructor() {
778
+ super(MeleeStrengthPrayerBonusNode162.pactId);
779
+ }
780
+ }
781
+ export class PercentageMeleeDamageNode163 extends DemonicPactClass {
782
+ static pactId = "node163";
783
+ constructor() {
784
+ super(PercentageMeleeDamageNode163.pactId);
785
+ }
786
+ }
787
+ export class PrayerPenAllNode164 extends DemonicPactClass {
788
+ static pactId = "node164";
789
+ constructor() {
790
+ super(PrayerPenAllNode164.pactId);
791
+ }
792
+ }
793
+ export class OverhealConsumptionBoostNode165 extends DemonicPactClass {
794
+ static pactId = "node165";
795
+ constructor() {
796
+ super(OverhealConsumptionBoostNode165.pactId);
797
+ }
798
+ }
799
+ export class RegenStaveChargesAirNode166 extends DemonicPactClass {
800
+ static pactId = "node166";
801
+ constructor() {
802
+ super(RegenStaveChargesAirNode166.pactId);
803
+ }
804
+ }
805
+ export class RegenStaveChargesEarthNode167 extends DemonicPactClass {
806
+ static pactId = "node167";
807
+ constructor() {
808
+ super(RegenStaveChargesEarthNode167.pactId);
809
+ }
810
+ }
811
+ export const ALL_DEMONIC_PACT_CLASSES = [
812
+ RegenAmmoNode1,
813
+ RangedRegenEchoChanceNode2,
814
+ BowAlwaysPassAccuracyNode3,
815
+ CrossbowEchoReprocChanceNode4,
816
+ ThrownMaxhitEchoesNode5,
817
+ DefenceBoostNode6,
818
+ AllStyleAccuracyNode7,
819
+ DefenceBoostNode8,
820
+ MaxAccuracyRollFromRangeNode9,
821
+ RegenAmmoNode10,
822
+ AllStyleAccuracyNode11,
823
+ OffhandStatBoostNode12,
824
+ PercentageRangedDamageNode13,
825
+ BuffedRangedPrayersNode14,
826
+ PercentageRangedDamageNode15,
827
+ RangedStrengthHpDifferenceNode16,
828
+ PercentageRangedDamageNode17,
829
+ RangedEchoCyclicalNode18,
830
+ PercentageRangedDamageNode19,
831
+ BowFastHitsNode20,
832
+ CrossbowSlowBigHitsNode21,
833
+ ThrownWeaponMeleeStrScaleNode22,
834
+ PercentageRangedDamageNode23,
835
+ PercentageRangedDamageNode24,
836
+ PercentageRangedDamageNode25,
837
+ BowMinHitStackingIncreaseNode26,
838
+ PercentageRangedDamageNode27,
839
+ BowMaxHitStackingIncreaseNode28,
840
+ CrossbowMaxHitNode29,
841
+ PercentageRangedDamageNode30,
842
+ CrossbowDoubleAccuracyRollNode31,
843
+ ThrownWeaponAccuracyNode32,
844
+ PercentageRangedDamageNode33,
845
+ ThrownWeaponMultiNode34,
846
+ RangedRegenEchoChanceNode38,
847
+ RangedRegenEchoChanceNode39,
848
+ MeleeRangeMultiplierNode43,
849
+ RegenMagicLevelBoostNode44,
850
+ AirruneRegenPrayerRestoreNode45,
851
+ WaterruneRegenHealingNode46,
852
+ FireruneRegenDamageBoostNode47,
853
+ EarthruneRegenDefenceBoostNode48,
854
+ RegenStaveChargesWaterNode53,
855
+ RegenStaveChargesFireNode54,
856
+ AllStyleAccuracyNode55,
857
+ AllStyleAccuracyNode56,
858
+ AllStyleAccuracyNode57,
859
+ AllStyleAccuracyNode58,
860
+ OverhealingViaTalentsNode59,
861
+ RegenAmmoNode60,
862
+ DefenceBoostNode61,
863
+ RegenAmmoNode62,
864
+ DefenceBoostNode63,
865
+ DefenceBoostNode64,
866
+ MaxHitStyleSwapNode65,
867
+ PrayerPenAllNode66,
868
+ PercentageMagicDamageNode67,
869
+ PercentageMagicDamageNode68,
870
+ PercentageMagicDamageNode69,
871
+ PercentageMagicDamageNode70,
872
+ ThornsDamageNode71,
873
+ LightWeaponDoublehitNode72,
874
+ FreeRandomWeaponAttackChanceNode73,
875
+ DistanceMeleeMinhitNode74,
876
+ MultiHitStrIncreaseNode79,
877
+ MeleeDistanceHealingChanceNode80,
878
+ DefenceBoostNode81,
879
+ AllStyleAccuracyNode82,
880
+ AllStyleAccuracyNode83,
881
+ ShieldReflectNode84,
882
+ SpecForFreeNode85,
883
+ AllStyleAccuracyNode86,
884
+ RegenAmmoNode87,
885
+ RestoreSaEnergyFromDistanceNode88,
886
+ PrayerPenAllNode91,
887
+ RegenAmmoNode92,
888
+ RegenAmmoNode93,
889
+ DefenceBoostNode94,
890
+ DefenceBoostNode95,
891
+ OverhealingViaTalentsNode96,
892
+ PrayerPenAllNode97,
893
+ DefenceBoostNode98,
894
+ DefenceBoostNode99,
895
+ OverhealingViaTalentsNode100,
896
+ PrayerPenAllNode101,
897
+ PrayerRestoreNoOverheadNode102,
898
+ PrayerPenAllNode103,
899
+ PrayerPenAllNode106,
900
+ AirSpellDamageActivePrayersNode107,
901
+ PercentageMagicDamageNode108,
902
+ AirSpellMaxHitPrayerBonusNode109,
903
+ SmokeCountsAsAirNode111,
904
+ WaterSpellDamageHighHpNode112,
905
+ PercentageMagicDamageNode113,
906
+ WaterSpellBouceHealNode114,
907
+ FireHpConsumeForDamageNode117,
908
+ PercentageMagicDamageNode118,
909
+ FireSpellBurnBounceNode119,
910
+ MagicAttackSpeedTraditionalNode122,
911
+ IceCountsAsWaterNode123,
912
+ BloodCountsAsFireNode124,
913
+ EarthReduceDefenceNode127,
914
+ PercentageMagicDamageNode128,
915
+ EarthScaleDefenceStatNode129,
916
+ ShadowCountsAsEarthNode131,
917
+ MagicAttackSpeedPoweredNode133,
918
+ PrayerPenAllNode134,
919
+ ShieldBlockHealNode135,
920
+ PrayerPenAllNode136,
921
+ DefenceRecoilScalingNode139,
922
+ PercentageMeleeDamageNode140,
923
+ ThornsDoubleHitNode141,
924
+ LightWeaponFasterNode142,
925
+ PercentageMeleeDamageNode143,
926
+ HitRestoreSpecEnergyNode144,
927
+ PercentageMeleeDamageNode145,
928
+ MeleeDistanceHealingChanceNode146,
929
+ UniqueBlindbagChanceNode150,
930
+ PercentageMeleeDamageNode151,
931
+ UniqueBlindbagDamageNode152,
932
+ PercentageMeleeMaxhitDistanceNode153,
933
+ PercentageMeleeDamageNode154,
934
+ MeleeRangeConditionalBoostNode155,
935
+ PercentageMeleeDamageNode156,
936
+ Pact2hMeleeEchosNode157,
937
+ PercentageMeleeDamageNode161,
938
+ MeleeStrengthPrayerBonusNode162,
939
+ PercentageMeleeDamageNode163,
940
+ PrayerPenAllNode164,
941
+ OverhealConsumptionBoostNode165,
942
+ RegenStaveChargesAirNode166,
943
+ RegenStaveChargesEarthNode167,
944
+ ];
945
+ export const DEMONIC_PACT_CLASS_BY_ID = Object.freeze({
946
+ "node1": RegenAmmoNode1,
947
+ "node2": RangedRegenEchoChanceNode2,
948
+ "node3": BowAlwaysPassAccuracyNode3,
949
+ "node4": CrossbowEchoReprocChanceNode4,
950
+ "node5": ThrownMaxhitEchoesNode5,
951
+ "node6": DefenceBoostNode6,
952
+ "node7": AllStyleAccuracyNode7,
953
+ "node8": DefenceBoostNode8,
954
+ "node9": MaxAccuracyRollFromRangeNode9,
955
+ "node10": RegenAmmoNode10,
956
+ "node11": AllStyleAccuracyNode11,
957
+ "node12": OffhandStatBoostNode12,
958
+ "node13": PercentageRangedDamageNode13,
959
+ "node14": BuffedRangedPrayersNode14,
960
+ "node15": PercentageRangedDamageNode15,
961
+ "node16": RangedStrengthHpDifferenceNode16,
962
+ "node17": PercentageRangedDamageNode17,
963
+ "node18": RangedEchoCyclicalNode18,
964
+ "node19": PercentageRangedDamageNode19,
965
+ "node20": BowFastHitsNode20,
966
+ "node21": CrossbowSlowBigHitsNode21,
967
+ "node22": ThrownWeaponMeleeStrScaleNode22,
968
+ "node23": PercentageRangedDamageNode23,
969
+ "node24": PercentageRangedDamageNode24,
970
+ "node25": PercentageRangedDamageNode25,
971
+ "node26": BowMinHitStackingIncreaseNode26,
972
+ "node27": PercentageRangedDamageNode27,
973
+ "node28": BowMaxHitStackingIncreaseNode28,
974
+ "node29": CrossbowMaxHitNode29,
975
+ "node30": PercentageRangedDamageNode30,
976
+ "node31": CrossbowDoubleAccuracyRollNode31,
977
+ "node32": ThrownWeaponAccuracyNode32,
978
+ "node33": PercentageRangedDamageNode33,
979
+ "node34": ThrownWeaponMultiNode34,
980
+ "node38": RangedRegenEchoChanceNode38,
981
+ "node39": RangedRegenEchoChanceNode39,
982
+ "node43": MeleeRangeMultiplierNode43,
983
+ "node44": RegenMagicLevelBoostNode44,
984
+ "node45": AirruneRegenPrayerRestoreNode45,
985
+ "node46": WaterruneRegenHealingNode46,
986
+ "node47": FireruneRegenDamageBoostNode47,
987
+ "node48": EarthruneRegenDefenceBoostNode48,
988
+ "node53": RegenStaveChargesWaterNode53,
989
+ "node54": RegenStaveChargesFireNode54,
990
+ "node55": AllStyleAccuracyNode55,
991
+ "node56": AllStyleAccuracyNode56,
992
+ "node57": AllStyleAccuracyNode57,
993
+ "node58": AllStyleAccuracyNode58,
994
+ "node59": OverhealingViaTalentsNode59,
995
+ "node60": RegenAmmoNode60,
996
+ "node61": DefenceBoostNode61,
997
+ "node62": RegenAmmoNode62,
998
+ "node63": DefenceBoostNode63,
999
+ "node64": DefenceBoostNode64,
1000
+ "node65": MaxHitStyleSwapNode65,
1001
+ "node66": PrayerPenAllNode66,
1002
+ "node67": PercentageMagicDamageNode67,
1003
+ "node68": PercentageMagicDamageNode68,
1004
+ "node69": PercentageMagicDamageNode69,
1005
+ "node70": PercentageMagicDamageNode70,
1006
+ "node71": ThornsDamageNode71,
1007
+ "node72": LightWeaponDoublehitNode72,
1008
+ "node73": FreeRandomWeaponAttackChanceNode73,
1009
+ "node74": DistanceMeleeMinhitNode74,
1010
+ "node79": MultiHitStrIncreaseNode79,
1011
+ "node80": MeleeDistanceHealingChanceNode80,
1012
+ "node81": DefenceBoostNode81,
1013
+ "node82": AllStyleAccuracyNode82,
1014
+ "node83": AllStyleAccuracyNode83,
1015
+ "node84": ShieldReflectNode84,
1016
+ "node85": SpecForFreeNode85,
1017
+ "node86": AllStyleAccuracyNode86,
1018
+ "node87": RegenAmmoNode87,
1019
+ "node88": RestoreSaEnergyFromDistanceNode88,
1020
+ "node91": PrayerPenAllNode91,
1021
+ "node92": RegenAmmoNode92,
1022
+ "node93": RegenAmmoNode93,
1023
+ "node94": DefenceBoostNode94,
1024
+ "node95": DefenceBoostNode95,
1025
+ "node96": OverhealingViaTalentsNode96,
1026
+ "node97": PrayerPenAllNode97,
1027
+ "node98": DefenceBoostNode98,
1028
+ "node99": DefenceBoostNode99,
1029
+ "node100": OverhealingViaTalentsNode100,
1030
+ "node101": PrayerPenAllNode101,
1031
+ "node102": PrayerRestoreNoOverheadNode102,
1032
+ "node103": PrayerPenAllNode103,
1033
+ "node106": PrayerPenAllNode106,
1034
+ "node107": AirSpellDamageActivePrayersNode107,
1035
+ "node108": PercentageMagicDamageNode108,
1036
+ "node109": AirSpellMaxHitPrayerBonusNode109,
1037
+ "node111": SmokeCountsAsAirNode111,
1038
+ "node112": WaterSpellDamageHighHpNode112,
1039
+ "node113": PercentageMagicDamageNode113,
1040
+ "node114": WaterSpellBouceHealNode114,
1041
+ "node117": FireHpConsumeForDamageNode117,
1042
+ "node118": PercentageMagicDamageNode118,
1043
+ "node119": FireSpellBurnBounceNode119,
1044
+ "node122": MagicAttackSpeedTraditionalNode122,
1045
+ "node123": IceCountsAsWaterNode123,
1046
+ "node124": BloodCountsAsFireNode124,
1047
+ "node127": EarthReduceDefenceNode127,
1048
+ "node128": PercentageMagicDamageNode128,
1049
+ "node129": EarthScaleDefenceStatNode129,
1050
+ "node131": ShadowCountsAsEarthNode131,
1051
+ "node133": MagicAttackSpeedPoweredNode133,
1052
+ "node134": PrayerPenAllNode134,
1053
+ "node135": ShieldBlockHealNode135,
1054
+ "node136": PrayerPenAllNode136,
1055
+ "node139": DefenceRecoilScalingNode139,
1056
+ "node140": PercentageMeleeDamageNode140,
1057
+ "node141": ThornsDoubleHitNode141,
1058
+ "node142": LightWeaponFasterNode142,
1059
+ "node143": PercentageMeleeDamageNode143,
1060
+ "node144": HitRestoreSpecEnergyNode144,
1061
+ "node145": PercentageMeleeDamageNode145,
1062
+ "node146": MeleeDistanceHealingChanceNode146,
1063
+ "node150": UniqueBlindbagChanceNode150,
1064
+ "node151": PercentageMeleeDamageNode151,
1065
+ "node152": UniqueBlindbagDamageNode152,
1066
+ "node153": PercentageMeleeMaxhitDistanceNode153,
1067
+ "node154": PercentageMeleeDamageNode154,
1068
+ "node155": MeleeRangeConditionalBoostNode155,
1069
+ "node156": PercentageMeleeDamageNode156,
1070
+ "node157": Pact2hMeleeEchosNode157,
1071
+ "node161": PercentageMeleeDamageNode161,
1072
+ "node162": MeleeStrengthPrayerBonusNode162,
1073
+ "node163": PercentageMeleeDamageNode163,
1074
+ "node164": PrayerPenAllNode164,
1075
+ "node165": OverhealConsumptionBoostNode165,
1076
+ "node166": RegenStaveChargesAirNode166,
1077
+ "node167": RegenStaveChargesEarthNode167,
1078
+ });
1079
+ export function createDemonicPactClassById(pactId) {
1080
+ const PactClass = DEMONIC_PACT_CLASS_BY_ID[pactId];
1081
+ if (!PactClass) {
1082
+ throw new Error(`No demonic pact class exists for id: ${pactId}`);
1083
+ }
1084
+ return new PactClass();
1085
+ }