@d2runewizard/d2s 2.0.134 → 2.0.135

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 (40) hide show
  1. package/lib/binary/bitreader.d.ts +23 -23
  2. package/lib/binary/bitreader.js +107 -107
  3. package/lib/binary/bitwriter.d.ts +21 -21
  4. package/lib/binary/bitwriter.js +117 -117
  5. package/lib/binary/constants.d.ts +4 -4
  6. package/lib/binary/constants.js +8 -8
  7. package/lib/binary/seekToSequence.d.ts +2 -2
  8. package/lib/binary/seekToSequence.js +12 -12
  9. package/lib/d2/attribute_enhancer.d.ts +5 -5
  10. package/lib/d2/attribute_enhancer.js +598 -598
  11. package/lib/d2/attributes.d.ts +4 -4
  12. package/lib/d2/attributes.js +98 -98
  13. package/lib/d2/constants.d.ts +4 -4
  14. package/lib/d2/constants.js +15 -15
  15. package/lib/d2/d2s.d.ts +10 -10
  16. package/lib/d2/d2s.js +115 -115
  17. package/lib/d2/header.d.ts +8 -8
  18. package/lib/d2/header.js +94 -94
  19. package/lib/d2/items.d.ts +19 -19
  20. package/lib/d2/items.js +879 -870
  21. package/lib/d2/items.js.map +1 -1
  22. package/lib/d2/skills.d.ts +4 -4
  23. package/lib/d2/skills.js +45 -45
  24. package/lib/d2/stash.d.ts +3 -3
  25. package/lib/d2/stash.js +380 -380
  26. package/lib/d2/types.d.ts +467 -462
  27. package/lib/d2/types.js +14 -14
  28. package/lib/d2/versions/default_header.d.ts +5 -5
  29. package/lib/d2/versions/default_header.js +750 -750
  30. package/lib/data/parser.d.ts +3 -3
  31. package/lib/data/parser.js +626 -626
  32. package/lib/data/versions/105_constant_data.d.ts +16150 -16150
  33. package/lib/data/versions/105_constant_data.js +24316 -24316
  34. package/lib/data/versions/96_constant_data.d.ts +14427 -14427
  35. package/lib/data/versions/96_constant_data.js +4 -4
  36. package/lib/data/versions/99_constant_data.d.ts +15572 -15572
  37. package/lib/data/versions/99_constant_data.js +4 -4
  38. package/lib/index.d.ts +8 -8
  39. package/lib/index.js +46 -46
  40. package/package.json +50 -50
package/lib/d2/types.d.ts CHANGED
@@ -1,462 +1,467 @@
1
- export interface IConfig {
2
- extendedStash?: boolean;
3
- sortProperties?: boolean;
4
- disableItemEnhancements?: boolean;
5
- }
6
- export interface IConstantData {
7
- classes: any[];
8
- skills: any[];
9
- magic_prefixes: any[];
10
- magic_suffixes: any[];
11
- rare_names: any[];
12
- armor_items: any;
13
- weapon_items: any;
14
- other_items: any;
15
- stackables: any;
16
- properties: any;
17
- magical_properties: any[];
18
- runewords: any[];
19
- set_items: any[];
20
- unq_items: any[];
21
- }
22
- export interface ID2S {
23
- header: IHeader;
24
- attributes: IAttributes;
25
- item_bonuses: IMagicProperty[];
26
- skills: ISkill[];
27
- items: IItem[];
28
- corpse_items: IItem[];
29
- merc_items: IItem[];
30
- golem_item: IItem;
31
- demon: IDemon;
32
- is_dead: number;
33
- }
34
- export interface IAttributes {
35
- [key: string]: number;
36
- }
37
- export interface IMenuAppearance {
38
- graphic: number;
39
- tint: number;
40
- }
41
- export interface ICharMenuAppearance {
42
- head: IMenuAppearance;
43
- torso: IMenuAppearance;
44
- legs: IMenuAppearance;
45
- right_arm: IMenuAppearance;
46
- left_arm: IMenuAppearance;
47
- right_hand: IMenuAppearance;
48
- left_hand: IMenuAppearance;
49
- shield: IMenuAppearance;
50
- special1: IMenuAppearance;
51
- special2: IMenuAppearance;
52
- special3: IMenuAppearance;
53
- special4: IMenuAppearance;
54
- special5: IMenuAppearance;
55
- special6: IMenuAppearance;
56
- special7: IMenuAppearance;
57
- special8: IMenuAppearance;
58
- }
59
- export interface IDifficulty {
60
- Normal: number;
61
- Nightmare: number;
62
- Hell: number;
63
- }
64
- export interface INPC {
65
- intro: boolean;
66
- congrats: boolean;
67
- }
68
- export interface INPCS {
69
- warriv_act_ii: INPC;
70
- charsi: INPC;
71
- warriv_act_i: INPC;
72
- kashya: INPC;
73
- akara: INPC;
74
- gheed: INPC;
75
- greiz: INPC;
76
- jerhyn: INPC;
77
- meshif_act_ii: INPC;
78
- geglash: INPC;
79
- lysnader: INPC;
80
- fara: INPC;
81
- drogan: INPC;
82
- alkor: INPC;
83
- hratli: INPC;
84
- ashera: INPC;
85
- cain_act_iii: INPC;
86
- elzix: INPC;
87
- malah: INPC;
88
- anya: INPC;
89
- natalya: INPC;
90
- meshif_act_iii: INPC;
91
- ormus: INPC;
92
- cain_act_v: INPC;
93
- qualkehk: INPC;
94
- nihlathak: INPC;
95
- }
96
- export interface IQuest {
97
- unk15: boolean;
98
- unk14: boolean;
99
- done_recently: boolean;
100
- closed: boolean;
101
- unk11: boolean;
102
- unk10: boolean;
103
- unk9: boolean;
104
- unk8: boolean;
105
- consumed_scroll: boolean;
106
- unk6: boolean;
107
- unk5: boolean;
108
- unk4: boolean;
109
- unk3: boolean;
110
- is_received: boolean;
111
- is_completed: boolean;
112
- is_requirement_completed: boolean;
113
- }
114
- export interface IActIQuests {
115
- introduced: boolean;
116
- den_of_evil: IQuest;
117
- sisters_burial_grounds: IQuest;
118
- tools_of_the_trade: IQuest;
119
- the_search_for_cain: IQuest;
120
- the_forgotten_tower: IQuest;
121
- sisters_to_the_slaughter: IQuest;
122
- completed: boolean;
123
- }
124
- export interface IActIWaypoints {
125
- rogue_encampement: boolean;
126
- cold_plains: boolean;
127
- stony_field: boolean;
128
- dark_woods: boolean;
129
- black_marsh: boolean;
130
- outer_cloister: boolean;
131
- jail_lvl_1: boolean;
132
- inner_cloister: boolean;
133
- catacombs_lvl_2: boolean;
134
- }
135
- export interface IActIIQuests {
136
- introduced: boolean;
137
- radaments_lair: IQuest;
138
- the_horadric_staff: IQuest;
139
- tainted_sun: IQuest;
140
- arcane_sanctuary: IQuest;
141
- the_summoner: IQuest;
142
- the_seven_tombs: IQuest;
143
- completed: boolean;
144
- }
145
- export interface IActIIWaypoints {
146
- lut_gholein: boolean;
147
- sewers_lvl_2: boolean;
148
- dry_hills: boolean;
149
- halls_of_the_dead_lvl_2: boolean;
150
- far_oasis: boolean;
151
- lost_city: boolean;
152
- palace_cellar_lvl_1: boolean;
153
- arcane_sanctuary: boolean;
154
- canyon_of_the_magi: boolean;
155
- }
156
- export interface IActIIIQuests {
157
- introduced: boolean;
158
- lam_esens_tome: IQuest;
159
- khalims_will: IQuest;
160
- blade_of_the_old_religion: IQuest;
161
- the_golden_bird: IQuest;
162
- the_blackened_temple: IQuest;
163
- the_guardian: IQuest;
164
- completed: boolean;
165
- }
166
- export interface IActIIIWaypoints {
167
- kurast_docks: boolean;
168
- spider_forest: boolean;
169
- great_marsh: boolean;
170
- flayer_jungle: boolean;
171
- lower_kurast: boolean;
172
- kurast_bazaar: boolean;
173
- upper_kurast: boolean;
174
- travincal: boolean;
175
- durance_of_hate_lvl_2: boolean;
176
- }
177
- export interface IActIVQuests {
178
- introduced: boolean;
179
- the_fallen_angel: IQuest;
180
- terrors_end: IQuest;
181
- hellforge: IQuest;
182
- completed: boolean;
183
- }
184
- export interface IActIVWaypoints {
185
- the_pandemonium_fortress: boolean;
186
- city_of_the_damned: boolean;
187
- river_of_flame: boolean;
188
- }
189
- export interface IActVQuests {
190
- introduced: boolean;
191
- siege_on_harrogath: IQuest;
192
- rescue_on_mount_arreat: IQuest;
193
- prison_of_ice: IQuest;
194
- betrayal_of_harrogath: IQuest;
195
- rite_of_passage: IQuest;
196
- eve_of_destruction: IQuest;
197
- completed: boolean;
198
- }
199
- export interface IActVWaypoints {
200
- harrogath: boolean;
201
- frigid_highlands: boolean;
202
- arreat_plateau: boolean;
203
- crystalline_passage: boolean;
204
- halls_of_pain: boolean;
205
- glacial_trail: boolean;
206
- frozen_tundra: boolean;
207
- the_ancients_way: boolean;
208
- worldstone_keep_lvl_2: boolean;
209
- }
210
- export interface IQuests {
211
- act_i: IActIQuests;
212
- act_ii: IActIIQuests;
213
- act_iii: IActIIIQuests;
214
- act_iv: IActIVQuests;
215
- act_v: IActVQuests;
216
- }
217
- export interface IWaypoints {
218
- act_i: IActIWaypoints;
219
- act_ii: IActIIWaypoints;
220
- act_iii: IActIIIWaypoints;
221
- act_iv: IActIVWaypoints;
222
- act_v: IActVWaypoints;
223
- }
224
- export interface INPCData {
225
- normal: INPCS;
226
- nm: INPCS;
227
- hell: INPCS;
228
- }
229
- export interface IWaypointData {
230
- normal: IWaypoints;
231
- nm: IWaypoints;
232
- hell: IWaypoints;
233
- }
234
- export interface IHeader {
235
- identifier: string;
236
- checksum: string;
237
- name: string;
238
- status: IStatus;
239
- class: string;
240
- created: number;
241
- last_played: number;
242
- menu_appearance: ICharMenuAppearance;
243
- left_skill: string;
244
- right_skill: string;
245
- left_swap_skill: string;
246
- right_swap_skill: string;
247
- merc_id: string;
248
- assigned_skills: string[];
249
- quests_normal: IQuests;
250
- quests_nm: IQuests;
251
- quests_hell: IQuests;
252
- waypoints: IWaypointData;
253
- npcs: INPCData;
254
- version: number;
255
- filesize: number;
256
- active_arms: number;
257
- progression: number;
258
- level: number;
259
- difficulty: IDifficulty;
260
- map_id: number;
261
- dead_merc: number;
262
- merc_name_id: number;
263
- merc_type: number;
264
- merc_experience: number;
265
- }
266
- export interface IStatus {
267
- expansion: boolean;
268
- died: boolean;
269
- hardcore: boolean;
270
- ladder: boolean;
271
- }
272
- export interface ISkill {
273
- id: number;
274
- points: number;
275
- name: string;
276
- }
277
- export interface IItem {
278
- identified: number;
279
- socketed: number;
280
- new: number;
281
- is_ear: number;
282
- starter_item: number;
283
- simple_item: number;
284
- ethereal: number;
285
- personalized: number;
286
- personalized_name: string;
287
- given_runeword: number;
288
- version: string;
289
- location_id: number;
290
- equipped_id: number;
291
- position_x: number;
292
- position_y: number;
293
- alt_position_id: number;
294
- type: string;
295
- type_id: number;
296
- type_name: string;
297
- quest_difficulty: number;
298
- nr_of_items_in_sockets: number;
299
- id: number;
300
- level: number;
301
- quality: number;
302
- multiple_pictures: number;
303
- picture_id: number;
304
- class_specific: number;
305
- low_quality_id: number;
306
- timestamp: number;
307
- ear_attributes: IEarAttributes;
308
- defense_rating: number;
309
- max_durability: number;
310
- current_durability: number;
311
- total_nr_of_sockets: number;
312
- quantity: number;
313
- magic_prefix: number;
314
- magic_prefix_name: string;
315
- magic_suffix: number;
316
- magic_suffix_name: string;
317
- runeword_id: number;
318
- runeword_name: string;
319
- runeword_attributes: IMagicProperty[];
320
- set_id: number;
321
- set_name: string;
322
- set_list_count: number;
323
- set_attributes: IMagicProperty[][];
324
- set_attributes_num_req: number;
325
- set_attributes_ids_req: number;
326
- rare_name: string;
327
- rare_name2: string;
328
- magical_name_ids: number[] | null[];
329
- unique_id: number;
330
- unique_name: string;
331
- magic_attributes: IMagicProperty[];
332
- combined_magic_attributes: IMagicProperty[];
333
- socketed_items: IItem[];
334
- base_damage: IWeaponDamage;
335
- reqstr: number;
336
- reqdex: number;
337
- inv_width: number;
338
- inv_height: number;
339
- inv_file: number;
340
- inv_transform: number;
341
- transform_color: string;
342
- item_quality: EItemQuality;
343
- categories?: string[];
344
- file_index: number;
345
- auto_affix_id: number;
346
- _unknown_data: {
347
- b0_3?: Uint8Array;
348
- b5_10?: Uint8Array;
349
- b12?: Uint8Array;
350
- b14_15?: Uint8Array;
351
- b18_20?: Uint8Array;
352
- b23?: Uint8Array;
353
- b25?: Uint8Array;
354
- b27_31?: Uint8Array;
355
- plist_flag?: number;
356
- chest_stackable?: number;
357
- };
358
- rare_name_id: number;
359
- rare_name_id2: number;
360
- displayed_magic_attributes: IMagicProperty[];
361
- displayed_runeword_attributes: IMagicProperty[];
362
- displayed_set_attributes?: IMagicProperty[][];
363
- displayed_combined_magic_attributes: IMagicProperty[];
364
- amount_in_shared_stash?: number;
365
- chronicle?: IItemChronicle;
366
- }
367
- export interface IWeaponDamage {
368
- mindam: number;
369
- maxdam: number;
370
- twohandmindam: number;
371
- twohandmaxdam: number;
372
- }
373
- export interface IEarAttributes {
374
- class: number;
375
- level: number;
376
- name: string;
377
- }
378
- export interface IMagicProperty {
379
- id: number;
380
- name: string;
381
- values: number[];
382
- description: string;
383
- visible: boolean;
384
- op_value: number;
385
- op_stats: string[];
386
- }
387
- export declare enum EStashType {
388
- shared = 0,
389
- private = 1
390
- }
391
- export interface IStash {
392
- version: string;
393
- type: EStashType;
394
- pageCount: number;
395
- sharedGold: number;
396
- hardcore: boolean;
397
- pages: IStashPage[];
398
- chronicle?: IChronicle;
399
- }
400
- export interface IChronicleItemData {
401
- id: number;
402
- n?: string;
403
- i?: string;
404
- c?: string;
405
- tc?: string;
406
- }
407
- export interface IChronicleItemEntry {
408
- item: IChronicleItemData;
409
- monster: number;
410
- foundAt: number;
411
- }
412
- export interface IChronicle {
413
- setItems: IChronicleItemEntry[];
414
- uniqueItems: IChronicleItemEntry[];
415
- runewords: IChronicleItemEntry[];
416
- _unknown_data: {
417
- envelopePadding: Uint8Array;
418
- trailing: Uint8Array;
419
- originalCounts: {
420
- setItems: number;
421
- uniqueItems: number;
422
- runewords: number;
423
- };
424
- };
425
- }
426
- export interface IItemChronicle {
427
- monsterId: number;
428
- timestamp: number;
429
- }
430
- export interface IStashPage {
431
- name: string;
432
- type: number;
433
- items: IItem[];
434
- gold?: number;
435
- isStackable?: number;
436
- }
437
- export declare enum EItemQuality {
438
- normal = 0,
439
- exceptional = 1,
440
- elite = 2
441
- }
442
- export interface IDemon {
443
- isSuperUnique: number;
444
- index: number;
445
- difficulty: number;
446
- difficulty2: number;
447
- difficulty3: number;
448
- levelId: number;
449
- level: number;
450
- isDesecrated: number;
451
- mods: number[];
452
- stats: number[];
453
- _unknown_data: {
454
- b1_4: Uint8Array;
455
- b9_15: Uint8Array;
456
- b17_28: Uint8Array;
457
- b31_32: Uint8Array;
458
- b35_57: Uint8Array;
459
- b59_61: Uint8Array;
460
- b63_86: Uint8Array;
461
- };
462
- }
1
+ export interface IConfig {
2
+ extendedStash?: boolean;
3
+ sortProperties?: boolean;
4
+ disableItemEnhancements?: boolean;
5
+ }
6
+ export interface IConstantData {
7
+ classes: any[];
8
+ skills: any[];
9
+ magic_prefixes: any[];
10
+ magic_suffixes: any[];
11
+ rare_names: any[];
12
+ armor_items: any;
13
+ weapon_items: any;
14
+ other_items: any;
15
+ stackables: any;
16
+ properties: any;
17
+ magical_properties: any[];
18
+ runewords: any[];
19
+ set_items: any[];
20
+ unq_items: any[];
21
+ }
22
+ export interface ID2S {
23
+ header: IHeader;
24
+ attributes: IAttributes;
25
+ item_bonuses: IMagicProperty[];
26
+ skills: ISkill[];
27
+ items: IItem[];
28
+ corpse_items: IItem[];
29
+ merc_items: IItem[];
30
+ golem_item: IItem;
31
+ demon: IDemon;
32
+ is_dead: number;
33
+ }
34
+ export interface IAttributes {
35
+ [key: string]: number;
36
+ }
37
+ export interface IMenuAppearance {
38
+ graphic: number;
39
+ tint: number;
40
+ }
41
+ export interface ICharMenuAppearance {
42
+ head: IMenuAppearance;
43
+ torso: IMenuAppearance;
44
+ legs: IMenuAppearance;
45
+ right_arm: IMenuAppearance;
46
+ left_arm: IMenuAppearance;
47
+ right_hand: IMenuAppearance;
48
+ left_hand: IMenuAppearance;
49
+ shield: IMenuAppearance;
50
+ special1: IMenuAppearance;
51
+ special2: IMenuAppearance;
52
+ special3: IMenuAppearance;
53
+ special4: IMenuAppearance;
54
+ special5: IMenuAppearance;
55
+ special6: IMenuAppearance;
56
+ special7: IMenuAppearance;
57
+ special8: IMenuAppearance;
58
+ }
59
+ export interface IDifficulty {
60
+ Normal: number;
61
+ Nightmare: number;
62
+ Hell: number;
63
+ }
64
+ export interface INPC {
65
+ intro: boolean;
66
+ congrats: boolean;
67
+ }
68
+ export interface INPCS {
69
+ warriv_act_ii: INPC;
70
+ charsi: INPC;
71
+ warriv_act_i: INPC;
72
+ kashya: INPC;
73
+ akara: INPC;
74
+ gheed: INPC;
75
+ greiz: INPC;
76
+ jerhyn: INPC;
77
+ meshif_act_ii: INPC;
78
+ geglash: INPC;
79
+ lysnader: INPC;
80
+ fara: INPC;
81
+ drogan: INPC;
82
+ alkor: INPC;
83
+ hratli: INPC;
84
+ ashera: INPC;
85
+ cain_act_iii: INPC;
86
+ elzix: INPC;
87
+ malah: INPC;
88
+ anya: INPC;
89
+ natalya: INPC;
90
+ meshif_act_iii: INPC;
91
+ ormus: INPC;
92
+ cain_act_v: INPC;
93
+ qualkehk: INPC;
94
+ nihlathak: INPC;
95
+ }
96
+ export interface IQuest {
97
+ unk15: boolean;
98
+ unk14: boolean;
99
+ done_recently: boolean;
100
+ closed: boolean;
101
+ unk11: boolean;
102
+ unk10: boolean;
103
+ unk9: boolean;
104
+ unk8: boolean;
105
+ consumed_scroll: boolean;
106
+ unk6: boolean;
107
+ unk5: boolean;
108
+ unk4: boolean;
109
+ unk3: boolean;
110
+ is_received: boolean;
111
+ is_completed: boolean;
112
+ is_requirement_completed: boolean;
113
+ }
114
+ export interface IActIQuests {
115
+ introduced: boolean;
116
+ den_of_evil: IQuest;
117
+ sisters_burial_grounds: IQuest;
118
+ tools_of_the_trade: IQuest;
119
+ the_search_for_cain: IQuest;
120
+ the_forgotten_tower: IQuest;
121
+ sisters_to_the_slaughter: IQuest;
122
+ completed: boolean;
123
+ }
124
+ export interface IActIWaypoints {
125
+ rogue_encampement: boolean;
126
+ cold_plains: boolean;
127
+ stony_field: boolean;
128
+ dark_woods: boolean;
129
+ black_marsh: boolean;
130
+ outer_cloister: boolean;
131
+ jail_lvl_1: boolean;
132
+ inner_cloister: boolean;
133
+ catacombs_lvl_2: boolean;
134
+ }
135
+ export interface IActIIQuests {
136
+ introduced: boolean;
137
+ radaments_lair: IQuest;
138
+ the_horadric_staff: IQuest;
139
+ tainted_sun: IQuest;
140
+ arcane_sanctuary: IQuest;
141
+ the_summoner: IQuest;
142
+ the_seven_tombs: IQuest;
143
+ completed: boolean;
144
+ }
145
+ export interface IActIIWaypoints {
146
+ lut_gholein: boolean;
147
+ sewers_lvl_2: boolean;
148
+ dry_hills: boolean;
149
+ halls_of_the_dead_lvl_2: boolean;
150
+ far_oasis: boolean;
151
+ lost_city: boolean;
152
+ palace_cellar_lvl_1: boolean;
153
+ arcane_sanctuary: boolean;
154
+ canyon_of_the_magi: boolean;
155
+ }
156
+ export interface IActIIIQuests {
157
+ introduced: boolean;
158
+ lam_esens_tome: IQuest;
159
+ khalims_will: IQuest;
160
+ blade_of_the_old_religion: IQuest;
161
+ the_golden_bird: IQuest;
162
+ the_blackened_temple: IQuest;
163
+ the_guardian: IQuest;
164
+ completed: boolean;
165
+ }
166
+ export interface IActIIIWaypoints {
167
+ kurast_docks: boolean;
168
+ spider_forest: boolean;
169
+ great_marsh: boolean;
170
+ flayer_jungle: boolean;
171
+ lower_kurast: boolean;
172
+ kurast_bazaar: boolean;
173
+ upper_kurast: boolean;
174
+ travincal: boolean;
175
+ durance_of_hate_lvl_2: boolean;
176
+ }
177
+ export interface IActIVQuests {
178
+ introduced: boolean;
179
+ the_fallen_angel: IQuest;
180
+ terrors_end: IQuest;
181
+ hellforge: IQuest;
182
+ completed: boolean;
183
+ }
184
+ export interface IActIVWaypoints {
185
+ the_pandemonium_fortress: boolean;
186
+ city_of_the_damned: boolean;
187
+ river_of_flame: boolean;
188
+ }
189
+ export interface IActVQuests {
190
+ introduced: boolean;
191
+ siege_on_harrogath: IQuest;
192
+ rescue_on_mount_arreat: IQuest;
193
+ prison_of_ice: IQuest;
194
+ betrayal_of_harrogath: IQuest;
195
+ rite_of_passage: IQuest;
196
+ eve_of_destruction: IQuest;
197
+ completed: boolean;
198
+ }
199
+ export interface IActVWaypoints {
200
+ harrogath: boolean;
201
+ frigid_highlands: boolean;
202
+ arreat_plateau: boolean;
203
+ crystalline_passage: boolean;
204
+ halls_of_pain: boolean;
205
+ glacial_trail: boolean;
206
+ frozen_tundra: boolean;
207
+ the_ancients_way: boolean;
208
+ worldstone_keep_lvl_2: boolean;
209
+ }
210
+ export interface IQuests {
211
+ act_i: IActIQuests;
212
+ act_ii: IActIIQuests;
213
+ act_iii: IActIIIQuests;
214
+ act_iv: IActIVQuests;
215
+ act_v: IActVQuests;
216
+ }
217
+ export interface IWaypoints {
218
+ act_i: IActIWaypoints;
219
+ act_ii: IActIIWaypoints;
220
+ act_iii: IActIIIWaypoints;
221
+ act_iv: IActIVWaypoints;
222
+ act_v: IActVWaypoints;
223
+ }
224
+ export interface INPCData {
225
+ normal: INPCS;
226
+ nm: INPCS;
227
+ hell: INPCS;
228
+ }
229
+ export interface IWaypointData {
230
+ normal: IWaypoints;
231
+ nm: IWaypoints;
232
+ hell: IWaypoints;
233
+ }
234
+ export interface IHeader {
235
+ identifier: string;
236
+ checksum: string;
237
+ name: string;
238
+ status: IStatus;
239
+ class: string;
240
+ created: number;
241
+ last_played: number;
242
+ menu_appearance: ICharMenuAppearance;
243
+ left_skill: string;
244
+ right_skill: string;
245
+ left_swap_skill: string;
246
+ right_swap_skill: string;
247
+ merc_id: string;
248
+ assigned_skills: string[];
249
+ quests_normal: IQuests;
250
+ quests_nm: IQuests;
251
+ quests_hell: IQuests;
252
+ waypoints: IWaypointData;
253
+ npcs: INPCData;
254
+ version: number;
255
+ filesize: number;
256
+ active_arms: number;
257
+ progression: number;
258
+ level: number;
259
+ difficulty: IDifficulty;
260
+ map_id: number;
261
+ dead_merc: number;
262
+ merc_name_id: number;
263
+ merc_type: number;
264
+ merc_experience: number;
265
+ }
266
+ export interface IStatus {
267
+ expansion: boolean;
268
+ died: boolean;
269
+ hardcore: boolean;
270
+ ladder: boolean;
271
+ }
272
+ export interface ISkill {
273
+ id: number;
274
+ points: number;
275
+ name: string;
276
+ }
277
+ export interface IItem {
278
+ identified: number;
279
+ socketed: number;
280
+ new: number;
281
+ is_ear: number;
282
+ starter_item: number;
283
+ simple_item: number;
284
+ ethereal: number;
285
+ personalized: number;
286
+ personalized_name: string;
287
+ given_runeword: number;
288
+ version: string;
289
+ location_id: number;
290
+ equipped_id: number;
291
+ position_x: number;
292
+ position_y: number;
293
+ alt_position_id: number;
294
+ type: string;
295
+ type_id: number;
296
+ type_name: string;
297
+ quest_difficulty: number;
298
+ nr_of_items_in_sockets: number;
299
+ id: number;
300
+ level: number;
301
+ quality: number;
302
+ multiple_pictures: number;
303
+ picture_id: number;
304
+ class_specific: number;
305
+ low_quality_id: number;
306
+ timestamp: number;
307
+ ear_attributes: IEarAttributes;
308
+ defense_rating: number;
309
+ max_durability: number;
310
+ current_durability: number;
311
+ total_nr_of_sockets: number;
312
+ quantity: number;
313
+ magic_prefix: number;
314
+ magic_prefix_name: string;
315
+ magic_suffix: number;
316
+ magic_suffix_name: string;
317
+ runeword_id: number;
318
+ runeword_name: string;
319
+ runeword_attributes: IMagicProperty[];
320
+ set_id: number;
321
+ set_name: string;
322
+ set_list_count: number;
323
+ set_attributes: IMagicProperty[][];
324
+ set_attributes_num_req: number;
325
+ set_attributes_ids_req: number;
326
+ rare_name: string;
327
+ rare_name2: string;
328
+ magical_name_ids: number[] | null[];
329
+ unique_id: number;
330
+ unique_name: string;
331
+ magic_attributes: IMagicProperty[];
332
+ combined_magic_attributes: IMagicProperty[];
333
+ socketed_items: IItem[];
334
+ base_damage: IWeaponDamage;
335
+ reqstr: number;
336
+ reqdex: number;
337
+ inv_width: number;
338
+ inv_height: number;
339
+ inv_file: number;
340
+ inv_transform: number;
341
+ transform_color: string;
342
+ item_quality: EItemQuality;
343
+ categories?: string[];
344
+ file_index: number;
345
+ auto_affix_id: number;
346
+ _unknown_data: {
347
+ b0_3?: Uint8Array;
348
+ b5_10?: Uint8Array;
349
+ b12?: Uint8Array;
350
+ b14_15?: Uint8Array;
351
+ b18_20?: Uint8Array;
352
+ b23?: Uint8Array;
353
+ b25?: Uint8Array;
354
+ b27_31?: Uint8Array;
355
+ plist_flag?: number;
356
+ chest_stackable?: number;
357
+ };
358
+ rare_name_id: number;
359
+ rare_name_id2: number;
360
+ displayed_magic_attributes: IMagicProperty[];
361
+ displayed_runeword_attributes: IMagicProperty[];
362
+ displayed_set_attributes?: IMagicProperty[][];
363
+ displayed_combined_magic_attributes: IMagicProperty[];
364
+ amount_in_shared_stash?: number;
365
+ chronicle?: IItemChronicle;
366
+ }
367
+ export interface IWeaponDamage {
368
+ mindam: number;
369
+ maxdam: number;
370
+ twohandmindam: number;
371
+ twohandmaxdam: number;
372
+ }
373
+ export interface IEarAttributes {
374
+ class: number;
375
+ level: number;
376
+ name: string;
377
+ }
378
+ export interface IMagicProperty {
379
+ id: number;
380
+ name: string;
381
+ values: number[];
382
+ description: string;
383
+ visible: boolean;
384
+ op_value: number;
385
+ op_stats: string[];
386
+ }
387
+ export declare enum EStashType {
388
+ shared = 0,
389
+ private = 1
390
+ }
391
+ export interface IStash {
392
+ version: string;
393
+ type: EStashType;
394
+ pageCount: number;
395
+ sharedGold: number;
396
+ hardcore: boolean;
397
+ pages: IStashPage[];
398
+ chronicle?: IChronicle;
399
+ }
400
+ export interface IChronicleItemData {
401
+ id: number;
402
+ n?: string;
403
+ i?: string;
404
+ c?: string;
405
+ tc?: string;
406
+ }
407
+ export interface IChronicleItemEntry {
408
+ item: IChronicleItemData;
409
+ monster: number;
410
+ foundAt: number;
411
+ }
412
+ export interface IChronicle {
413
+ setItems: IChronicleItemEntry[];
414
+ uniqueItems: IChronicleItemEntry[];
415
+ runewords: IChronicleItemEntry[];
416
+ _unknown_data: {
417
+ envelopePadding: Uint8Array;
418
+ trailing: Uint8Array;
419
+ originalCounts: {
420
+ setItems: number;
421
+ uniqueItems: number;
422
+ runewords: number;
423
+ };
424
+ };
425
+ }
426
+ export interface IItemChronicle {
427
+ monsterId: number;
428
+ timestamp: number;
429
+ }
430
+ export interface IStashPage {
431
+ name: string;
432
+ type: number;
433
+ items: IItem[];
434
+ gold?: number;
435
+ isStackable?: number;
436
+ }
437
+ export declare enum EItemQuality {
438
+ normal = 0,
439
+ exceptional = 1,
440
+ elite = 2
441
+ }
442
+ export interface IDemon {
443
+ isSuperUnique: number;
444
+ index: number;
445
+ difficulty: number;
446
+ difficulty2: number;
447
+ difficulty3: number;
448
+ levelId: number;
449
+ level: number;
450
+ isDesecrated: number;
451
+ /**
452
+ * The monster's name seed: it picks the random name of a unique, and an Aura Enchanted demon's aura (the first roll of
453
+ * a seed started from it, modulo the auras its level allows).
454
+ */
455
+ nameSeed: number;
456
+ mods: number[];
457
+ stats: number[];
458
+ _unknown_data: {
459
+ b1_4: Uint8Array;
460
+ b11_15: Uint8Array;
461
+ b17_28: Uint8Array;
462
+ b31_32: Uint8Array;
463
+ b35_57: Uint8Array;
464
+ b59_61: Uint8Array;
465
+ b63_86: Uint8Array;
466
+ };
467
+ }