@d2runewizard/d2s 2.0.130 → 2.0.132

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 (42) 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 -595
  11. package/lib/d2/attribute_enhancer.js.map +1 -1
  12. package/lib/d2/attributes.d.ts +4 -4
  13. package/lib/d2/attributes.js +98 -98
  14. package/lib/d2/constants.d.ts +4 -4
  15. package/lib/d2/constants.js +15 -15
  16. package/lib/d2/d2s.d.ts +10 -10
  17. package/lib/d2/d2s.js +115 -115
  18. package/lib/d2/header.d.ts +8 -8
  19. package/lib/d2/header.js +94 -94
  20. package/lib/d2/items.d.ts +19 -19
  21. package/lib/d2/items.js +873 -873
  22. package/lib/d2/items.js.map +1 -1
  23. package/lib/d2/skills.d.ts +4 -4
  24. package/lib/d2/skills.js +45 -45
  25. package/lib/d2/stash.d.ts +3 -3
  26. package/lib/d2/stash.js +243 -243
  27. package/lib/d2/types.d.ts +439 -438
  28. package/lib/d2/types.js +14 -14
  29. package/lib/d2/types.js.map +1 -1
  30. package/lib/d2/versions/default_header.d.ts +5 -5
  31. package/lib/d2/versions/default_header.js +750 -750
  32. package/lib/data/parser.d.ts +3 -3
  33. package/lib/data/parser.js +626 -626
  34. package/lib/data/versions/105_constant_data.d.ts +16150 -16150
  35. package/lib/data/versions/105_constant_data.js +24316 -24316
  36. package/lib/data/versions/96_constant_data.d.ts +14427 -14427
  37. package/lib/data/versions/96_constant_data.js +4 -4
  38. package/lib/data/versions/99_constant_data.d.ts +15572 -15572
  39. package/lib/data/versions/99_constant_data.js +4 -4
  40. package/lib/index.d.ts +8 -8
  41. package/lib/index.js +46 -46
  42. package/package.json +50 -46
@@ -1 +1 @@
1
- {"version":3,"file":"attribute_enhancer.js","sourceRoot":"","sources":["../../src/d2/attribute_enhancer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attribute_enhancer.js","sourceRoot":"","sources":["../../src/d2/attribute_enhancer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import * as types from "./types";
2
- import { BitReader } from "../binary/bitreader";
3
- export declare function readAttributes(char: types.ID2S, reader: BitReader, constants: types.IConstantData): Promise<void>;
4
- export declare function writeAttributes(char: types.ID2S, constants: types.IConstantData): Promise<Uint8Array>;
1
+ import * as types from "./types";
2
+ import { BitReader } from "../binary/bitreader";
3
+ export declare function readAttributes(char: types.ID2S, reader: BitReader, constants: types.IConstantData): Promise<void>;
4
+ export declare function writeAttributes(char: types.ID2S, constants: types.IConstantData): Promise<Uint8Array>;
@@ -1,99 +1,99 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.writeAttributes = exports.readAttributes = void 0;
4
- const bitwriter_1 = require("../binary/bitwriter");
5
- //todo use constants.magical_properties and csvBits
6
- async function readAttributes(char, reader, constants) {
7
- char.attributes = {};
8
- const header = reader.ReadString(2); //0x0000 [attributes header = 0x67, 0x66 "gf"]
9
- if (header != "gf") {
10
- // header is not present in first save after char is created
11
- if (char.header.level === 1) {
12
- const classData = constants.classes.find((c) => c.n === char.header.class).a;
13
- char.attributes = {
14
- strength: +classData.str,
15
- energy: +classData.int,
16
- dexterity: +classData.dex,
17
- vitality: +classData.vit,
18
- unused_stats: 0,
19
- unused_skill_points: 0,
20
- current_hp: +classData.vit + +classData.hpadd,
21
- max_hp: +classData.vit + +classData.hpadd,
22
- current_mana: +classData.int,
23
- max_mana: +classData.int,
24
- current_stamina: +classData.stam,
25
- max_stamina: +classData.stam,
26
- level: 1,
27
- experience: 0,
28
- gold: 0,
29
- stashed_gold: 0,
30
- };
31
- return;
32
- }
33
- throw new Error(`Attribute header 'gf' not found at position ${reader.offset - 2 * 8}`);
34
- }
35
- let bitoffset = 0;
36
- let id = reader.ReadUInt16(9);
37
- //read till 0x1ff end of attributes is found
38
- while (id != 0x1ff) {
39
- bitoffset += 9;
40
- const field = constants.magical_properties[id];
41
- if (field === undefined) {
42
- throw new Error(`Invalid attribute id: ${id}`);
43
- }
44
- const size = field.cB;
45
- char.attributes[Attributes[field.s]] = reader.ReadUInt32(size);
46
- //current_hp - max_stamina need to be bit shifted
47
- if (id >= 6 && id <= 11) {
48
- char.attributes[Attributes[field.s]] >>>= 8;
49
- }
50
- bitoffset += size;
51
- id = reader.ReadUInt16(9);
52
- }
53
- reader.Align();
54
- }
55
- exports.readAttributes = readAttributes;
56
- async function writeAttributes(char, constants) {
57
- const writer = new bitwriter_1.BitWriter();
58
- writer.WriteString("gf", 2); //0x0000 [attributes header = 0x67, 0x66 "gf"]
59
- for (let i = 0; i < 16; i++) {
60
- const property = constants.magical_properties[i];
61
- if (property === undefined) {
62
- throw new Error(`Invalid attribute: ${property}`);
63
- }
64
- let value = char.attributes[Attributes[property.s]];
65
- if (!value) {
66
- continue;
67
- }
68
- const size = property.cB;
69
- if (i >= 6 && i <= 11) {
70
- value <<= 8;
71
- }
72
- writer.WriteUInt16(i, 9);
73
- writer.WriteUInt32(value, size);
74
- }
75
- writer.WriteUInt16(0x1ff, 9);
76
- writer.Align();
77
- return writer.ToArray();
78
- }
79
- exports.writeAttributes = writeAttributes;
80
- //nokkas names
81
- const Attributes = {
82
- strength: "strength",
83
- energy: "energy",
84
- dexterity: "dexterity",
85
- vitality: "vitality",
86
- statpts: "unused_stats",
87
- newskills: "unused_skill_points",
88
- hitpoints: "current_hp",
89
- maxhp: "max_hp",
90
- mana: "current_mana",
91
- maxmana: "max_mana",
92
- stamina: "current_stamina",
93
- maxstamina: "max_stamina",
94
- level: "level",
95
- experience: "experience",
96
- gold: "gold",
97
- goldbank: "stashed_gold",
98
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.writeAttributes = exports.readAttributes = void 0;
4
+ const bitwriter_1 = require("../binary/bitwriter");
5
+ //todo use constants.magical_properties and csvBits
6
+ async function readAttributes(char, reader, constants) {
7
+ char.attributes = {};
8
+ const header = reader.ReadString(2); //0x0000 [attributes header = 0x67, 0x66 "gf"]
9
+ if (header != "gf") {
10
+ // header is not present in first save after char is created
11
+ if (char.header.level === 1) {
12
+ const classData = constants.classes.find((c) => c.n === char.header.class).a;
13
+ char.attributes = {
14
+ strength: +classData.str,
15
+ energy: +classData.int,
16
+ dexterity: +classData.dex,
17
+ vitality: +classData.vit,
18
+ unused_stats: 0,
19
+ unused_skill_points: 0,
20
+ current_hp: +classData.vit + +classData.hpadd,
21
+ max_hp: +classData.vit + +classData.hpadd,
22
+ current_mana: +classData.int,
23
+ max_mana: +classData.int,
24
+ current_stamina: +classData.stam,
25
+ max_stamina: +classData.stam,
26
+ level: 1,
27
+ experience: 0,
28
+ gold: 0,
29
+ stashed_gold: 0,
30
+ };
31
+ return;
32
+ }
33
+ throw new Error(`Attribute header 'gf' not found at position ${reader.offset - 2 * 8}`);
34
+ }
35
+ let bitoffset = 0;
36
+ let id = reader.ReadUInt16(9);
37
+ //read till 0x1ff end of attributes is found
38
+ while (id != 0x1ff) {
39
+ bitoffset += 9;
40
+ const field = constants.magical_properties[id];
41
+ if (field === undefined) {
42
+ throw new Error(`Invalid attribute id: ${id}`);
43
+ }
44
+ const size = field.cB;
45
+ char.attributes[Attributes[field.s]] = reader.ReadUInt32(size);
46
+ //current_hp - max_stamina need to be bit shifted
47
+ if (id >= 6 && id <= 11) {
48
+ char.attributes[Attributes[field.s]] >>>= 8;
49
+ }
50
+ bitoffset += size;
51
+ id = reader.ReadUInt16(9);
52
+ }
53
+ reader.Align();
54
+ }
55
+ exports.readAttributes = readAttributes;
56
+ async function writeAttributes(char, constants) {
57
+ const writer = new bitwriter_1.BitWriter();
58
+ writer.WriteString("gf", 2); //0x0000 [attributes header = 0x67, 0x66 "gf"]
59
+ for (let i = 0; i < 16; i++) {
60
+ const property = constants.magical_properties[i];
61
+ if (property === undefined) {
62
+ throw new Error(`Invalid attribute: ${property}`);
63
+ }
64
+ let value = char.attributes[Attributes[property.s]];
65
+ if (!value) {
66
+ continue;
67
+ }
68
+ const size = property.cB;
69
+ if (i >= 6 && i <= 11) {
70
+ value <<= 8;
71
+ }
72
+ writer.WriteUInt16(i, 9);
73
+ writer.WriteUInt32(value, size);
74
+ }
75
+ writer.WriteUInt16(0x1ff, 9);
76
+ writer.Align();
77
+ return writer.ToArray();
78
+ }
79
+ exports.writeAttributes = writeAttributes;
80
+ //nokkas names
81
+ const Attributes = {
82
+ strength: "strength",
83
+ energy: "energy",
84
+ dexterity: "dexterity",
85
+ vitality: "vitality",
86
+ statpts: "unused_stats",
87
+ newskills: "unused_skill_points",
88
+ hitpoints: "current_hp",
89
+ maxhp: "max_hp",
90
+ mana: "current_mana",
91
+ maxmana: "max_mana",
92
+ stamina: "current_stamina",
93
+ maxstamina: "max_stamina",
94
+ level: "level",
95
+ experience: "experience",
96
+ gold: "gold",
97
+ goldbank: "stashed_gold",
98
+ };
99
99
  //# sourceMappingURL=attributes.js.map
@@ -1,4 +1,4 @@
1
- import * as types from "./types";
2
- declare function getConstantData(version: number): types.IConstantData;
3
- declare function setConstantData(version: number, data: types.IConstantData): void;
4
- export { getConstantData, setConstantData };
1
+ import * as types from "./types";
2
+ declare function getConstantData(version: number): types.IConstantData;
3
+ declare function setConstantData(version: number, data: types.IConstantData): void;
4
+ export { getConstantData, setConstantData };
@@ -1,16 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setConstantData = exports.getConstantData = void 0;
4
- const versionedConstants = new Map();
5
- function getConstantData(version) {
6
- if (!(version in versionedConstants)) {
7
- throw new Error(`No constant data found for this version ${version}`);
8
- }
9
- return versionedConstants[version];
10
- }
11
- exports.getConstantData = getConstantData;
12
- function setConstantData(version, data) {
13
- versionedConstants[version] = data;
14
- }
15
- exports.setConstantData = setConstantData;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setConstantData = exports.getConstantData = void 0;
4
+ const versionedConstants = new Map();
5
+ function getConstantData(version) {
6
+ if (!(version in versionedConstants)) {
7
+ throw new Error(`No constant data found for this version ${version}`);
8
+ }
9
+ return versionedConstants[version];
10
+ }
11
+ exports.getConstantData = getConstantData;
12
+ function setConstantData(version, data) {
13
+ versionedConstants[version] = data;
14
+ }
15
+ exports.setConstantData = setConstantData;
16
16
  //# sourceMappingURL=constants.js.map
package/lib/d2/d2s.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import * as types from "./types";
2
- import { BitReader } from "../binary/bitreader";
3
- import { BitWriter } from "../binary/bitwriter";
4
- declare function reader(buffer: Uint8Array): BitReader;
5
- declare function read(buffer: Uint8Array, constants?: types.IConstantData, userConfig?: types.IConfig): Promise<types.ID2S>;
6
- declare function readItem(buffer: Uint8Array, version: number, constants?: types.IConstantData, userConfig?: types.IConfig): Promise<types.IItem>;
7
- declare function writer(buffer: Uint8Array): BitWriter;
8
- declare function write(data: types.ID2S, constants?: types.IConstantData, userConfig?: types.IConfig): Promise<Uint8Array>;
9
- declare function writeItem(item: types.IItem, version: number, constants?: types.IConstantData, userConfig?: types.IConfig): Promise<Uint8Array>;
10
- export { reader, writer, read, write, readItem, writeItem };
1
+ import * as types from "./types";
2
+ import { BitReader } from "../binary/bitreader";
3
+ import { BitWriter } from "../binary/bitwriter";
4
+ declare function reader(buffer: Uint8Array): BitReader;
5
+ declare function read(buffer: Uint8Array, constants?: types.IConstantData, userConfig?: types.IConfig): Promise<types.ID2S>;
6
+ declare function readItem(buffer: Uint8Array, version: number, constants?: types.IConstantData, userConfig?: types.IConfig): Promise<types.IItem>;
7
+ declare function writer(buffer: Uint8Array): BitWriter;
8
+ declare function write(data: types.ID2S, constants?: types.IConstantData, userConfig?: types.IConfig): Promise<Uint8Array>;
9
+ declare function writeItem(item: types.IItem, version: number, constants?: types.IConstantData, userConfig?: types.IConfig): Promise<Uint8Array>;
10
+ export { reader, writer, read, write, readItem, writeItem };
package/lib/d2/d2s.js CHANGED
@@ -1,116 +1,116 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.writeItem = exports.readItem = exports.write = exports.read = exports.writer = exports.reader = void 0;
23
- const header_1 = require("./header");
24
- const attributes_1 = require("./attributes");
25
- const bitreader_1 = require("../binary/bitreader");
26
- const bitwriter_1 = require("../binary/bitwriter");
27
- const skills_1 = require("./skills");
28
- const items = __importStar(require("./items"));
29
- const constants_1 = require("./constants");
30
- const attribute_enhancer_1 = require("./attribute_enhancer");
31
- const defaultConfig = {
32
- extendedStash: false,
33
- sortProperties: true,
34
- disableItemEnhancements: false,
35
- };
36
- function reader(buffer) {
37
- return new bitreader_1.BitReader(buffer);
38
- }
39
- exports.reader = reader;
40
- async function read(buffer, constants, userConfig) {
41
- const char = {};
42
- const reader = new bitreader_1.BitReader(buffer);
43
- const config = Object.assign(defaultConfig, userConfig);
44
- await header_1.readHeader(char, reader);
45
- //could load constants based on version here
46
- if (!constants) {
47
- constants = constants_1.getConstantData(char.header.version);
48
- }
49
- await header_1.readHeaderData(char, reader, constants);
50
- await attributes_1.readAttributes(char, reader, constants);
51
- await skills_1.readSkills(char, reader, constants);
52
- await items.readCharItems(char, reader, constants, config);
53
- /*if (char.header.version === 0x69) {
54
- reader.SeekSequence("01010010 10110010".replace(/ /g, ""));
55
- }*/
56
- await items.readCorpseItems(char, reader, constants, config);
57
- if (char.header.status.expansion || char.header.version === 0x69) {
58
- await items.readMercItems(char, reader, constants, config);
59
- await items.readGolemItems(char, reader, constants, config);
60
- }
61
- if (char.header.version === 0x69) {
62
- await items.readDemon(char, reader, constants, config);
63
- }
64
- await attribute_enhancer_1.enhanceAttributes(char, constants, config);
65
- return char;
66
- }
67
- exports.read = read;
68
- async function readItem(buffer, version, constants, userConfig) {
69
- const reader = new bitreader_1.BitReader(buffer);
70
- const config = Object.assign(defaultConfig, userConfig);
71
- if (!constants) {
72
- constants = constants_1.getConstantData(version);
73
- }
74
- const item = await items.readItem(reader, version, constants, config);
75
- await attribute_enhancer_1.enhanceItems([item], constants);
76
- return item;
77
- }
78
- exports.readItem = readItem;
79
- function writer(buffer) {
80
- return new bitwriter_1.BitWriter();
81
- }
82
- exports.writer = writer;
83
- async function write(data, constants, userConfig) {
84
- const config = Object.assign(defaultConfig, userConfig);
85
- const writer = new bitwriter_1.BitWriter();
86
- writer.WriteArray(await header_1.writeHeader(data));
87
- if (!constants) {
88
- constants = constants_1.getConstantData(data.header.version);
89
- }
90
- writer.WriteArray(await header_1.writeHeaderData(data, constants));
91
- writer.WriteArray(await attributes_1.writeAttributes(data, constants));
92
- writer.WriteArray(await skills_1.writeSkills(data, constants));
93
- writer.WriteArray(await items.writeCharItems(data, constants, config));
94
- writer.WriteArray(await items.writeCorpseItem(data, constants, config));
95
- if (data.header.status.expansion || data.header.version === 0x69) {
96
- writer.WriteArray(await items.writeMercItems(data, constants, config));
97
- writer.WriteArray(await items.writeGolemItems(data, constants, config));
98
- }
99
- if (data.header.version === 0x69) {
100
- writer.WriteArray(await items.writeDemon(data, constants, config));
101
- }
102
- await header_1.fixHeader(writer);
103
- return writer.ToArray();
104
- }
105
- exports.write = write;
106
- async function writeItem(item, version, constants, userConfig) {
107
- const config = Object.assign(defaultConfig, userConfig);
108
- const writer = new bitwriter_1.BitWriter();
109
- if (!constants) {
110
- constants = constants_1.getConstantData(version);
111
- }
112
- writer.WriteArray(await items.writeItem(item, version, constants, config));
113
- return writer.ToArray();
114
- }
115
- exports.writeItem = writeItem;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.writeItem = exports.readItem = exports.write = exports.read = exports.writer = exports.reader = void 0;
23
+ const header_1 = require("./header");
24
+ const attributes_1 = require("./attributes");
25
+ const bitreader_1 = require("../binary/bitreader");
26
+ const bitwriter_1 = require("../binary/bitwriter");
27
+ const skills_1 = require("./skills");
28
+ const items = __importStar(require("./items"));
29
+ const constants_1 = require("./constants");
30
+ const attribute_enhancer_1 = require("./attribute_enhancer");
31
+ const defaultConfig = {
32
+ extendedStash: false,
33
+ sortProperties: true,
34
+ disableItemEnhancements: false,
35
+ };
36
+ function reader(buffer) {
37
+ return new bitreader_1.BitReader(buffer);
38
+ }
39
+ exports.reader = reader;
40
+ async function read(buffer, constants, userConfig) {
41
+ const char = {};
42
+ const reader = new bitreader_1.BitReader(buffer);
43
+ const config = Object.assign(defaultConfig, userConfig);
44
+ await header_1.readHeader(char, reader);
45
+ //could load constants based on version here
46
+ if (!constants) {
47
+ constants = constants_1.getConstantData(char.header.version);
48
+ }
49
+ await header_1.readHeaderData(char, reader, constants);
50
+ await attributes_1.readAttributes(char, reader, constants);
51
+ await skills_1.readSkills(char, reader, constants);
52
+ await items.readCharItems(char, reader, constants, config);
53
+ /*if (char.header.version === 0x69) {
54
+ reader.SeekSequence("01010010 10110010".replace(/ /g, ""));
55
+ }*/
56
+ await items.readCorpseItems(char, reader, constants, config);
57
+ if (char.header.status.expansion || char.header.version === 0x69) {
58
+ await items.readMercItems(char, reader, constants, config);
59
+ await items.readGolemItems(char, reader, constants, config);
60
+ }
61
+ if (char.header.version === 0x69) {
62
+ await items.readDemon(char, reader, constants, config);
63
+ }
64
+ await attribute_enhancer_1.enhanceAttributes(char, constants, config);
65
+ return char;
66
+ }
67
+ exports.read = read;
68
+ async function readItem(buffer, version, constants, userConfig) {
69
+ const reader = new bitreader_1.BitReader(buffer);
70
+ const config = Object.assign(defaultConfig, userConfig);
71
+ if (!constants) {
72
+ constants = constants_1.getConstantData(version);
73
+ }
74
+ const item = await items.readItem(reader, version, constants, config);
75
+ await attribute_enhancer_1.enhanceItems([item], constants);
76
+ return item;
77
+ }
78
+ exports.readItem = readItem;
79
+ function writer(buffer) {
80
+ return new bitwriter_1.BitWriter();
81
+ }
82
+ exports.writer = writer;
83
+ async function write(data, constants, userConfig) {
84
+ const config = Object.assign(defaultConfig, userConfig);
85
+ const writer = new bitwriter_1.BitWriter();
86
+ writer.WriteArray(await header_1.writeHeader(data));
87
+ if (!constants) {
88
+ constants = constants_1.getConstantData(data.header.version);
89
+ }
90
+ writer.WriteArray(await header_1.writeHeaderData(data, constants));
91
+ writer.WriteArray(await attributes_1.writeAttributes(data, constants));
92
+ writer.WriteArray(await skills_1.writeSkills(data, constants));
93
+ writer.WriteArray(await items.writeCharItems(data, constants, config));
94
+ writer.WriteArray(await items.writeCorpseItem(data, constants, config));
95
+ if (data.header.status.expansion || data.header.version === 0x69) {
96
+ writer.WriteArray(await items.writeMercItems(data, constants, config));
97
+ writer.WriteArray(await items.writeGolemItems(data, constants, config));
98
+ }
99
+ if (data.header.version === 0x69) {
100
+ writer.WriteArray(await items.writeDemon(data, constants, config));
101
+ }
102
+ await header_1.fixHeader(writer);
103
+ return writer.ToArray();
104
+ }
105
+ exports.write = write;
106
+ async function writeItem(item, version, constants, userConfig) {
107
+ const config = Object.assign(defaultConfig, userConfig);
108
+ const writer = new bitwriter_1.BitWriter();
109
+ if (!constants) {
110
+ constants = constants_1.getConstantData(version);
111
+ }
112
+ writer.WriteArray(await items.writeItem(item, version, constants, config));
113
+ return writer.ToArray();
114
+ }
115
+ exports.writeItem = writeItem;
116
116
  //# sourceMappingURL=d2s.js.map
@@ -1,8 +1,8 @@
1
- import * as types from "./types";
2
- import { BitReader } from "../binary/bitreader";
3
- import { BitWriter } from "../binary/bitwriter";
4
- export declare function readHeader(char: types.ID2S, reader: BitReader): Promise<void>;
5
- export declare function readHeaderData(char: types.ID2S, reader: BitReader, constants: types.IConstantData): Promise<void>;
6
- export declare function writeHeader(char: types.ID2S): Promise<Uint8Array>;
7
- export declare function writeHeaderData(char: types.ID2S, constants: types.IConstantData): Promise<Uint8Array>;
8
- export declare function fixHeader(writer: BitWriter): Promise<void>;
1
+ import * as types from "./types";
2
+ import { BitReader } from "../binary/bitreader";
3
+ import { BitWriter } from "../binary/bitwriter";
4
+ export declare function readHeader(char: types.ID2S, reader: BitReader): Promise<void>;
5
+ export declare function readHeaderData(char: types.ID2S, reader: BitReader, constants: types.IConstantData): Promise<void>;
6
+ export declare function writeHeader(char: types.ID2S): Promise<Uint8Array>;
7
+ export declare function writeHeaderData(char: types.ID2S, constants: types.IConstantData): Promise<Uint8Array>;
8
+ export declare function fixHeader(writer: BitWriter): Promise<void>;