@d2runewizard/d2s 2.0.124 → 2.0.126
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/binary/bitreader.d.ts +23 -23
- package/lib/binary/bitreader.js +107 -107
- package/lib/binary/bitwriter.d.ts +21 -21
- package/lib/binary/bitwriter.js +117 -117
- package/lib/binary/constants.d.ts +4 -4
- package/lib/binary/constants.js +8 -8
- package/lib/binary/seekToSequence.d.ts +2 -2
- package/lib/binary/seekToSequence.js +12 -12
- package/lib/d2/attribute_enhancer.d.ts +5 -5
- package/lib/d2/attribute_enhancer.js +595 -595
- package/lib/d2/attributes.d.ts +4 -4
- package/lib/d2/attributes.js +98 -98
- package/lib/d2/constants.d.ts +4 -4
- package/lib/d2/constants.js +15 -15
- package/lib/d2/d2s.d.ts +10 -10
- package/lib/d2/d2s.js +115 -115
- package/lib/d2/header.d.ts +8 -8
- package/lib/d2/header.js +94 -94
- package/lib/d2/items.d.ts +19 -19
- package/lib/d2/items.js +869 -831
- package/lib/d2/items.js.map +1 -1
- package/lib/d2/skills.d.ts +4 -4
- package/lib/d2/skills.js +45 -45
- package/lib/d2/stash.d.ts +3 -3
- package/lib/d2/stash.js +243 -243
- package/lib/d2/types.d.ts +438 -420
- package/lib/d2/types.js +14 -14
- package/lib/d2/versions/default_header.d.ts +5 -5
- package/lib/d2/versions/default_header.js +750 -750
- package/lib/data/parser.d.ts +3 -3
- package/lib/data/parser.js +626 -626
- package/lib/data/versions/105_constant_data.d.ts +16150 -16150
- package/lib/data/versions/105_constant_data.js +24316 -24316
- package/lib/data/versions/105_constant_data.js.map +1 -1
- package/lib/data/versions/96_constant_data.d.ts +14427 -14427
- package/lib/data/versions/96_constant_data.js +4 -4
- package/lib/data/versions/99_constant_data.d.ts +15572 -15572
- package/lib/data/versions/99_constant_data.js +4 -4
- package/lib/index.d.ts +8 -8
- package/lib/index.js +46 -46
- package/package.json +46 -46
package/lib/d2/header.js
CHANGED
|
@@ -1,95 +1,95 @@
|
|
|
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.fixHeader = exports.writeHeaderData = exports.writeHeader = exports.readHeaderData = exports.readHeader = void 0;
|
|
23
|
-
const bitwriter_1 = require("../binary/bitwriter");
|
|
24
|
-
async function readHeader(char, reader) {
|
|
25
|
-
char.header = {};
|
|
26
|
-
//0x0000
|
|
27
|
-
char.header.identifier = reader.ReadUInt32().toString(16).padStart(8, "0");
|
|
28
|
-
if (char.header.identifier != "aa55aa55") {
|
|
29
|
-
throw new Error(`D2S identifier 'aa55aa55' not found at position ${reader.offset - 4 * 8}`);
|
|
30
|
-
}
|
|
31
|
-
//0x0004
|
|
32
|
-
char.header.version = reader.ReadUInt32();
|
|
33
|
-
}
|
|
34
|
-
exports.readHeader = readHeader;
|
|
35
|
-
async function readHeaderData(char, reader, constants) {
|
|
36
|
-
const v = await _versionSpecificHeader(char.header.version);
|
|
37
|
-
if (v == null) {
|
|
38
|
-
throw new Error(`Cannot parse version: ${char.header.version}`);
|
|
39
|
-
}
|
|
40
|
-
v.readHeader(char, reader, constants);
|
|
41
|
-
}
|
|
42
|
-
exports.readHeaderData = readHeaderData;
|
|
43
|
-
async function writeHeader(char) {
|
|
44
|
-
const writer = new bitwriter_1.BitWriter();
|
|
45
|
-
writer.WriteUInt32(parseInt(char.header.identifier, 16)).WriteUInt32(char.header.version);
|
|
46
|
-
return writer.ToArray();
|
|
47
|
-
}
|
|
48
|
-
exports.writeHeader = writeHeader;
|
|
49
|
-
async function writeHeaderData(char, constants) {
|
|
50
|
-
const writer = new bitwriter_1.BitWriter();
|
|
51
|
-
const v = await _versionSpecificHeader(char.header.version);
|
|
52
|
-
if (v == null) {
|
|
53
|
-
throw new Error(`Cannot parse version: ${char.header.version}`);
|
|
54
|
-
}
|
|
55
|
-
v.writeHeader(char, writer, constants);
|
|
56
|
-
return writer.ToArray();
|
|
57
|
-
}
|
|
58
|
-
exports.writeHeaderData = writeHeaderData;
|
|
59
|
-
async function fixHeader(writer) {
|
|
60
|
-
let checksum = 0;
|
|
61
|
-
const eof = writer.length / 8;
|
|
62
|
-
writer.SeekByte(0x0008).WriteUInt32(eof);
|
|
63
|
-
writer.SeekByte(0x000c).WriteUInt32(0);
|
|
64
|
-
for (let i = 0; i < eof; i++) {
|
|
65
|
-
let byte = writer.SeekByte(i).PeekBytes(1)[0];
|
|
66
|
-
if (checksum & 0x80000000) {
|
|
67
|
-
byte += 1;
|
|
68
|
-
}
|
|
69
|
-
checksum = byte + checksum * 2;
|
|
70
|
-
//hack make it a uint32
|
|
71
|
-
checksum >>>= 0;
|
|
72
|
-
}
|
|
73
|
-
//checksum pos
|
|
74
|
-
writer.SeekByte(0x000c).WriteUInt32(checksum);
|
|
75
|
-
}
|
|
76
|
-
exports.fixHeader = fixHeader;
|
|
77
|
-
/**
|
|
78
|
-
* Save Version
|
|
79
|
-
* 0x47, 0x0, 0x0, 0x0 = <1.06
|
|
80
|
-
* 0x59, 0x0, 0x0, 0x0 = 1.08 = version
|
|
81
|
-
* 0x5c, 0x0, 0x0, 0x0 = 1.09 = version
|
|
82
|
-
* 0x60, 0x0, 0x0, 0x0 = 1.13c = version
|
|
83
|
-
* 0x62, 0x0, 0x0, 0x0 = 1.2 = version
|
|
84
|
-
* */
|
|
85
|
-
async function _versionSpecificHeader(version) {
|
|
86
|
-
switch (version) {
|
|
87
|
-
case 0x60: {
|
|
88
|
-
return await Promise.resolve().then(() => __importStar(require(`./versions/default_header`)));
|
|
89
|
-
}
|
|
90
|
-
default: {
|
|
91
|
-
return await Promise.resolve().then(() => __importStar(require(`./versions/default_header`)));
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
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.fixHeader = exports.writeHeaderData = exports.writeHeader = exports.readHeaderData = exports.readHeader = void 0;
|
|
23
|
+
const bitwriter_1 = require("../binary/bitwriter");
|
|
24
|
+
async function readHeader(char, reader) {
|
|
25
|
+
char.header = {};
|
|
26
|
+
//0x0000
|
|
27
|
+
char.header.identifier = reader.ReadUInt32().toString(16).padStart(8, "0");
|
|
28
|
+
if (char.header.identifier != "aa55aa55") {
|
|
29
|
+
throw new Error(`D2S identifier 'aa55aa55' not found at position ${reader.offset - 4 * 8}`);
|
|
30
|
+
}
|
|
31
|
+
//0x0004
|
|
32
|
+
char.header.version = reader.ReadUInt32();
|
|
33
|
+
}
|
|
34
|
+
exports.readHeader = readHeader;
|
|
35
|
+
async function readHeaderData(char, reader, constants) {
|
|
36
|
+
const v = await _versionSpecificHeader(char.header.version);
|
|
37
|
+
if (v == null) {
|
|
38
|
+
throw new Error(`Cannot parse version: ${char.header.version}`);
|
|
39
|
+
}
|
|
40
|
+
v.readHeader(char, reader, constants);
|
|
41
|
+
}
|
|
42
|
+
exports.readHeaderData = readHeaderData;
|
|
43
|
+
async function writeHeader(char) {
|
|
44
|
+
const writer = new bitwriter_1.BitWriter();
|
|
45
|
+
writer.WriteUInt32(parseInt(char.header.identifier, 16)).WriteUInt32(char.header.version);
|
|
46
|
+
return writer.ToArray();
|
|
47
|
+
}
|
|
48
|
+
exports.writeHeader = writeHeader;
|
|
49
|
+
async function writeHeaderData(char, constants) {
|
|
50
|
+
const writer = new bitwriter_1.BitWriter();
|
|
51
|
+
const v = await _versionSpecificHeader(char.header.version);
|
|
52
|
+
if (v == null) {
|
|
53
|
+
throw new Error(`Cannot parse version: ${char.header.version}`);
|
|
54
|
+
}
|
|
55
|
+
v.writeHeader(char, writer, constants);
|
|
56
|
+
return writer.ToArray();
|
|
57
|
+
}
|
|
58
|
+
exports.writeHeaderData = writeHeaderData;
|
|
59
|
+
async function fixHeader(writer) {
|
|
60
|
+
let checksum = 0;
|
|
61
|
+
const eof = writer.length / 8;
|
|
62
|
+
writer.SeekByte(0x0008).WriteUInt32(eof);
|
|
63
|
+
writer.SeekByte(0x000c).WriteUInt32(0);
|
|
64
|
+
for (let i = 0; i < eof; i++) {
|
|
65
|
+
let byte = writer.SeekByte(i).PeekBytes(1)[0];
|
|
66
|
+
if (checksum & 0x80000000) {
|
|
67
|
+
byte += 1;
|
|
68
|
+
}
|
|
69
|
+
checksum = byte + checksum * 2;
|
|
70
|
+
//hack make it a uint32
|
|
71
|
+
checksum >>>= 0;
|
|
72
|
+
}
|
|
73
|
+
//checksum pos
|
|
74
|
+
writer.SeekByte(0x000c).WriteUInt32(checksum);
|
|
75
|
+
}
|
|
76
|
+
exports.fixHeader = fixHeader;
|
|
77
|
+
/**
|
|
78
|
+
* Save Version
|
|
79
|
+
* 0x47, 0x0, 0x0, 0x0 = <1.06
|
|
80
|
+
* 0x59, 0x0, 0x0, 0x0 = 1.08 = version
|
|
81
|
+
* 0x5c, 0x0, 0x0, 0x0 = 1.09 = version
|
|
82
|
+
* 0x60, 0x0, 0x0, 0x0 = 1.13c = version
|
|
83
|
+
* 0x62, 0x0, 0x0, 0x0 = 1.2 = version
|
|
84
|
+
* */
|
|
85
|
+
async function _versionSpecificHeader(version) {
|
|
86
|
+
switch (version) {
|
|
87
|
+
case 0x60: {
|
|
88
|
+
return await Promise.resolve().then(() => __importStar(require(`./versions/default_header`)));
|
|
89
|
+
}
|
|
90
|
+
default: {
|
|
91
|
+
return await Promise.resolve().then(() => __importStar(require(`./versions/default_header`)));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
95
|
//# sourceMappingURL=header.js.map
|
package/lib/d2/items.d.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import * as types from "./types";
|
|
2
|
-
import { BitReader } from "../binary/bitreader";
|
|
3
|
-
import { BitWriter } from "../binary/bitwriter";
|
|
4
|
-
export declare function readCharItems(char: types.ID2S, reader: BitReader, constants: types.IConstantData, config: types.IConfig): Promise<void>;
|
|
5
|
-
export declare function writeCharItems(char: types.ID2S, constants: types.IConstantData, config: types.IConfig): Promise<Uint8Array>;
|
|
6
|
-
export declare function readMercItems(char: types.ID2S, reader: BitReader, constants: types.IConstantData, config: types.IConfig): Promise<void>;
|
|
7
|
-
export declare function writeMercItems(char: types.ID2S, constants: types.IConstantData, config: types.IConfig): Promise<Uint8Array>;
|
|
8
|
-
export declare function readGolemItems(char: types.ID2S, reader: BitReader, constants: types.IConstantData, config: types.IConfig): Promise<void>;
|
|
9
|
-
export declare function writeGolemItems(char: types.ID2S, constants: types.IConstantData, config: types.IConfig): Promise<Uint8Array>;
|
|
10
|
-
export declare function readDemon(char: types.ID2S, reader: BitReader, constants: types.IConstantData, config: types.IConfig): Promise<void>;
|
|
11
|
-
export declare function writeDemon(char: types.ID2S, constants: types.IConstantData, config: types.IConfig): Promise<Uint8Array>;
|
|
12
|
-
export declare function readCorpseItems(char: types.ID2S, reader: BitReader, constants: types.IConstantData, config: types.IConfig): Promise<void>;
|
|
13
|
-
export declare function writeCorpseItem(char: types.ID2S, constants: types.IConstantData, config: types.IConfig): Promise<Uint8Array>;
|
|
14
|
-
export declare function readItems(reader: BitReader, version: number, constants: types.IConstantData, config: types.IConfig, char?: types.ID2S): Promise<types.IItem[]>;
|
|
15
|
-
export declare function writeItems(items: types.IItem[], version: number, constants: types.IConstantData, config: types.IConfig): Promise<Uint8Array>;
|
|
16
|
-
export declare function readItem(reader: BitReader, version: number, originalConstants: types.IConstantData, config: types.IConfig, parent?: types.IItem): Promise<types.IItem>;
|
|
17
|
-
export declare function writeItem(item: types.IItem, version: number, constants: types.IConstantData, config: types.IConfig): Promise<Uint8Array>;
|
|
18
|
-
export declare function _readMagicProperties(reader: BitReader, constants: types.IConstantData, skipMagicProps?: boolean): types.IMagicProperty[];
|
|
19
|
-
export declare function _writeMagicProperties(writer: BitWriter, properties: types.IMagicProperty[], constants: types.IConstantData): void;
|
|
1
|
+
import * as types from "./types";
|
|
2
|
+
import { BitReader } from "../binary/bitreader";
|
|
3
|
+
import { BitWriter } from "../binary/bitwriter";
|
|
4
|
+
export declare function readCharItems(char: types.ID2S, reader: BitReader, constants: types.IConstantData, config: types.IConfig): Promise<void>;
|
|
5
|
+
export declare function writeCharItems(char: types.ID2S, constants: types.IConstantData, config: types.IConfig): Promise<Uint8Array>;
|
|
6
|
+
export declare function readMercItems(char: types.ID2S, reader: BitReader, constants: types.IConstantData, config: types.IConfig): Promise<void>;
|
|
7
|
+
export declare function writeMercItems(char: types.ID2S, constants: types.IConstantData, config: types.IConfig): Promise<Uint8Array>;
|
|
8
|
+
export declare function readGolemItems(char: types.ID2S, reader: BitReader, constants: types.IConstantData, config: types.IConfig): Promise<void>;
|
|
9
|
+
export declare function writeGolemItems(char: types.ID2S, constants: types.IConstantData, config: types.IConfig): Promise<Uint8Array>;
|
|
10
|
+
export declare function readDemon(char: types.ID2S, reader: BitReader, constants: types.IConstantData, config: types.IConfig): Promise<void>;
|
|
11
|
+
export declare function writeDemon(char: types.ID2S, constants: types.IConstantData, config: types.IConfig): Promise<Uint8Array>;
|
|
12
|
+
export declare function readCorpseItems(char: types.ID2S, reader: BitReader, constants: types.IConstantData, config: types.IConfig): Promise<void>;
|
|
13
|
+
export declare function writeCorpseItem(char: types.ID2S, constants: types.IConstantData, config: types.IConfig): Promise<Uint8Array>;
|
|
14
|
+
export declare function readItems(reader: BitReader, version: number, constants: types.IConstantData, config: types.IConfig, char?: types.ID2S): Promise<types.IItem[]>;
|
|
15
|
+
export declare function writeItems(items: types.IItem[], version: number, constants: types.IConstantData, config: types.IConfig): Promise<Uint8Array>;
|
|
16
|
+
export declare function readItem(reader: BitReader, version: number, originalConstants: types.IConstantData, config: types.IConfig, parent?: types.IItem): Promise<types.IItem>;
|
|
17
|
+
export declare function writeItem(item: types.IItem, version: number, constants: types.IConstantData, config: types.IConfig): Promise<Uint8Array>;
|
|
18
|
+
export declare function _readMagicProperties(reader: BitReader, constants: types.IConstantData, skipMagicProps?: boolean): types.IMagicProperty[];
|
|
19
|
+
export declare function _writeMagicProperties(writer: BitWriter, properties: types.IMagicProperty[], constants: types.IConstantData): void;
|