overlay-toolkit 0.11.3 → 0.13.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.
- package/dist/file_system.d.ts +40 -0
- package/dist/helper.d.ts +2 -0
- package/dist/memory.d.ts +49 -0
- package/dist/otk.d.ts +54 -2
- package/dist/overlay-toolkit.js +572 -226
- package/dist/overlay-toolkit.umd.cjs +1 -1
- package/dist/overlay.d.ts +1 -0
- package/package.json +4 -1
package/dist/overlay-toolkit.js
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var t = (r, s, e) =>
|
|
4
|
-
function
|
|
5
|
-
|
|
1
|
+
var w = Object.defineProperty;
|
|
2
|
+
var y = (r, s, e) => s in r ? w(r, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[s] = e;
|
|
3
|
+
var t = (r, s, e) => y(r, typeof s != "symbol" ? s + "" : s, e);
|
|
4
|
+
function u(r) {
|
|
5
|
+
let s = null;
|
|
6
|
+
return r instanceof ArrayBuffer ? s = new Uint8Array(r) : s = new Uint8Array(r.buffer, r.byteOffset, r.byteLength), [...s].map((e) => e.toString(16).padStart(2, "0")).join("");
|
|
7
|
+
}
|
|
8
|
+
function o(r) {
|
|
9
|
+
const s = new Uint8Array(Math.ceil(r.length / 2));
|
|
10
|
+
for (let e = 0; e < r.length; )
|
|
11
|
+
s[e / 2] = Number.parseInt(r.slice(e, e += 2), 16);
|
|
12
|
+
return s;
|
|
6
13
|
}
|
|
7
|
-
|
|
14
|
+
function f(r) {
|
|
15
|
+
return new v(r);
|
|
16
|
+
}
|
|
17
|
+
class v extends EventTarget {
|
|
8
18
|
//#endregion
|
|
9
19
|
constructor(e) {
|
|
10
20
|
super();
|
|
@@ -20,12 +30,12 @@ class y extends EventTarget {
|
|
|
20
30
|
async getDevices() {
|
|
21
31
|
const e = await this.requestGetDevices();
|
|
22
32
|
let a = [];
|
|
23
|
-
return e.forEach((
|
|
24
|
-
if (this.devices.has(
|
|
25
|
-
a.push(this.devices.get(
|
|
33
|
+
return e.forEach((n) => {
|
|
34
|
+
if (this.devices.has(n.instanceId))
|
|
35
|
+
a.push(this.devices.get(n.instanceId));
|
|
26
36
|
else {
|
|
27
|
-
const c = new
|
|
28
|
-
this.devices.set(
|
|
37
|
+
const c = new I(this.api, n);
|
|
38
|
+
this.devices.set(n.instanceId, c), a.push(c);
|
|
29
39
|
}
|
|
30
40
|
}), a;
|
|
31
41
|
}
|
|
@@ -33,30 +43,30 @@ class y extends EventTarget {
|
|
|
33
43
|
return e && console.log("Requesting device with options:", e), this.getDevices();
|
|
34
44
|
}
|
|
35
45
|
async requestGetDevices() {
|
|
36
|
-
return (await
|
|
46
|
+
return (await l(this.api, "getDevices", {})).devices;
|
|
37
47
|
}
|
|
38
48
|
addListener() {
|
|
39
49
|
this.api.addOverlayListener("otk::hid::inputreport", (e) => this.callbackInputReport(e)), this.api.addOverlayListener("otk::hid::devicechanged", (e) => this.callbackDeviceChanged(e));
|
|
40
50
|
}
|
|
41
51
|
callbackInputReport(e) {
|
|
42
|
-
const a = e.instanceId,
|
|
43
|
-
c ? c.dispatchEvent(new
|
|
52
|
+
const a = e.instanceId, n = o(e.data), c = this.devices.get(a);
|
|
53
|
+
c ? c.dispatchEvent(new k("inputreport", c, n[0], new DataView(n.buffer, 1))) : console.warn("Device not found:", a);
|
|
44
54
|
}
|
|
45
55
|
callbackDeviceChanged(e) {
|
|
46
56
|
var a = e.add;
|
|
47
|
-
const
|
|
57
|
+
const n = new I(this.api, e.device), c = new b(a ? "connect" : "disconnect", n);
|
|
48
58
|
this.dispatchEvent(c);
|
|
49
59
|
}
|
|
50
60
|
}
|
|
51
|
-
async function
|
|
61
|
+
async function l(r, s, e) {
|
|
52
62
|
const a = {
|
|
53
63
|
call: "otk::hid",
|
|
54
64
|
type: s,
|
|
55
65
|
...e
|
|
56
|
-
},
|
|
57
|
-
return
|
|
66
|
+
}, n = await r.callOverlayHandler(a);
|
|
67
|
+
return n.error && console.log("callOverlayHID error:", s, e, n), n;
|
|
58
68
|
}
|
|
59
|
-
class
|
|
69
|
+
class I extends EventTarget {
|
|
60
70
|
//#endregion
|
|
61
71
|
// Simulate a device with some properties
|
|
62
72
|
constructor(e, a) {
|
|
@@ -103,42 +113,32 @@ class p extends EventTarget {
|
|
|
103
113
|
throw new Error("Device is not opened.");
|
|
104
114
|
const a = await this.request("recvFeature", {
|
|
105
115
|
reportId: e
|
|
106
|
-
}),
|
|
107
|
-
return new DataView(
|
|
116
|
+
}), n = o(a.data);
|
|
117
|
+
return new DataView(n.buffer);
|
|
108
118
|
}
|
|
109
119
|
async request(e, a) {
|
|
110
|
-
return
|
|
120
|
+
return l(this.api, e, {
|
|
111
121
|
instanceId: this.instanceId,
|
|
112
122
|
...a
|
|
113
123
|
});
|
|
114
124
|
}
|
|
115
125
|
}
|
|
116
|
-
class
|
|
126
|
+
class b extends Event {
|
|
117
127
|
constructor(e, a) {
|
|
118
128
|
super(e);
|
|
119
129
|
t(this, "device");
|
|
120
130
|
this.device = a;
|
|
121
131
|
}
|
|
122
132
|
}
|
|
123
|
-
class
|
|
124
|
-
constructor(e, a,
|
|
133
|
+
class k extends Event {
|
|
134
|
+
constructor(e, a, n, c) {
|
|
125
135
|
super(e);
|
|
126
136
|
t(this, "device");
|
|
127
137
|
t(this, "reportId");
|
|
128
138
|
t(this, "data");
|
|
129
|
-
this.device = a, this.reportId =
|
|
139
|
+
this.device = a, this.reportId = n, this.data = c;
|
|
130
140
|
}
|
|
131
141
|
}
|
|
132
|
-
function u(r) {
|
|
133
|
-
let s = null;
|
|
134
|
-
return r instanceof ArrayBuffer ? s = new Uint8Array(r) : s = new Uint8Array(r.buffer, r.byteOffset, r.byteLength), [...s].map((e) => e.toString(16).padStart(2, "0")).join("");
|
|
135
|
-
}
|
|
136
|
-
function o(r) {
|
|
137
|
-
const s = new Uint8Array(Math.ceil(r.length / 2));
|
|
138
|
-
for (let e = 0; e < r.length; )
|
|
139
|
-
s[e / 2] = Number.parseInt(r.slice(e, e += 2), 16);
|
|
140
|
-
return s;
|
|
141
|
-
}
|
|
142
142
|
class x {
|
|
143
143
|
constructor(s = null) {
|
|
144
144
|
t(this, "subscribers", /* @__PURE__ */ new Map());
|
|
@@ -170,8 +170,8 @@ class x {
|
|
|
170
170
|
a.length = 0;
|
|
171
171
|
return;
|
|
172
172
|
}
|
|
173
|
-
const
|
|
174
|
-
|
|
173
|
+
const n = a.indexOf(e);
|
|
174
|
+
n !== -1 && a.splice(n, 1);
|
|
175
175
|
}
|
|
176
176
|
async callOverlayHandler(s) {
|
|
177
177
|
return !this.transport || !this.transport.connected ? (console.warn("OverlayPluginAPI: Transport not connected, queuing message", s), new Promise((a) => {
|
|
@@ -199,6 +199,10 @@ class x {
|
|
|
199
199
|
for (let [e, a] of s)
|
|
200
200
|
this.transport.sendMessage(e).then(a);
|
|
201
201
|
}
|
|
202
|
+
get isConnected() {
|
|
203
|
+
var s;
|
|
204
|
+
return ((s = this.transport) == null ? void 0 : s.connected) ?? !1;
|
|
205
|
+
}
|
|
202
206
|
}
|
|
203
207
|
class D extends EventTarget {
|
|
204
208
|
constructor() {
|
|
@@ -213,7 +217,7 @@ class D extends EventTarget {
|
|
|
213
217
|
}
|
|
214
218
|
sendMessage(e) {
|
|
215
219
|
return new Promise((a) => {
|
|
216
|
-
window.OverlayPluginApi.callHandler(JSON.stringify(e), (
|
|
220
|
+
window.OverlayPluginApi.callHandler(JSON.stringify(e), (n) => a(JSON.parse(n)));
|
|
217
221
|
});
|
|
218
222
|
}
|
|
219
223
|
waitForApi() {
|
|
@@ -248,8 +252,8 @@ class P extends EventTarget {
|
|
|
248
252
|
try {
|
|
249
253
|
const a = JSON.parse(e.data);
|
|
250
254
|
if ("rseq" in a) {
|
|
251
|
-
const
|
|
252
|
-
this.responseResolvers.has(
|
|
255
|
+
const n = a.rseq;
|
|
256
|
+
this.responseResolvers.has(n) && (this.responseResolvers.get(n)(a), this.responseResolvers.delete(n));
|
|
253
257
|
} else
|
|
254
258
|
this.dispatchEvent(new CustomEvent("message", { detail: a }));
|
|
255
259
|
} catch {
|
|
@@ -266,29 +270,294 @@ class P extends EventTarget {
|
|
|
266
270
|
}
|
|
267
271
|
sendMessage(e) {
|
|
268
272
|
const a = this.sequence++;
|
|
269
|
-
return e.rseq = a, new Promise((
|
|
270
|
-
this.responseResolvers.set(a,
|
|
273
|
+
return e.rseq = a, new Promise((n) => {
|
|
274
|
+
this.responseResolvers.set(a, n), this.ws.send(JSON.stringify(e));
|
|
271
275
|
});
|
|
272
276
|
}
|
|
273
277
|
set eventHandler(e) {
|
|
274
278
|
this.evtHandler = e;
|
|
275
279
|
}
|
|
276
280
|
}
|
|
277
|
-
|
|
281
|
+
const N = (r) => ({
|
|
282
|
+
call: "otk::filesystem",
|
|
283
|
+
action: "show_save_file_picker",
|
|
284
|
+
options: r
|
|
285
|
+
}), E = (r) => ({
|
|
286
|
+
call: "otk::filesystem",
|
|
287
|
+
action: "show_open_file_picker",
|
|
288
|
+
options: r
|
|
289
|
+
}), F = (r) => ({
|
|
290
|
+
call: "otk::filesystem",
|
|
291
|
+
action: "file_info",
|
|
292
|
+
handle: r
|
|
293
|
+
}), m = (r, s) => ({
|
|
294
|
+
call: "otk::filesystem",
|
|
295
|
+
action: "read_file",
|
|
296
|
+
handle: r,
|
|
297
|
+
binary: s
|
|
298
|
+
}), C = (r, s) => ({
|
|
299
|
+
call: "otk::filesystem",
|
|
300
|
+
action: "open_write",
|
|
301
|
+
handle: r,
|
|
302
|
+
truncate: s
|
|
303
|
+
}), M = (r, s) => ({
|
|
304
|
+
call: "otk::filesystem",
|
|
305
|
+
action: "write_file",
|
|
306
|
+
handle: r,
|
|
307
|
+
data: typeof s == "string" ? s : btoa(String.fromCharCode(...new Uint8Array(s))),
|
|
308
|
+
binary: typeof s != "string"
|
|
309
|
+
}), d = (r, s, e) => ({
|
|
310
|
+
call: "otk::filesystem",
|
|
311
|
+
action: "file_op",
|
|
312
|
+
handle: r,
|
|
313
|
+
operation: s,
|
|
314
|
+
param: e
|
|
315
|
+
});
|
|
316
|
+
class H {
|
|
317
|
+
constructor(s) {
|
|
318
|
+
t(this, "api");
|
|
319
|
+
this.api = s;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Show the save file picker dialog.
|
|
323
|
+
* @param options SaveFilePickerOptions to configure the file picker
|
|
324
|
+
* @returns A promise that resolves to a FileSystemFileHandle for the selected file
|
|
325
|
+
*/
|
|
326
|
+
async showSaveFilePicker(s) {
|
|
327
|
+
const e = await this.api.callOverlayHandler(N(s));
|
|
328
|
+
if (e.aborted)
|
|
329
|
+
throw DOMException.ABORT_ERR;
|
|
330
|
+
if (e && e.handle && e.name)
|
|
331
|
+
return new p(this.api, e.handle, e.name);
|
|
332
|
+
throw new Error(e.Error ?? "Failed to get file handle");
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Show the open file picker dialog.
|
|
336
|
+
* @param options OpenFilePickerOptions to configure the file picker
|
|
337
|
+
* @returns A promise that resolves to an array of FileSystemFileHandle for the selected files
|
|
338
|
+
*/
|
|
339
|
+
async showOpenFilePicker(s) {
|
|
340
|
+
const e = await this.api.callOverlayHandler(E(s));
|
|
341
|
+
if (e.aborted)
|
|
342
|
+
throw DOMException.ABORT_ERR;
|
|
343
|
+
if (e && e.files && Array.isArray(e.files))
|
|
344
|
+
return e.files.map((a) => new p(this.api, a.handle, a.name));
|
|
345
|
+
throw new Error(e.Error ?? "Failed to get file handles");
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
class p {
|
|
349
|
+
constructor(s, e, a) {
|
|
350
|
+
t(this, "kind", "file");
|
|
351
|
+
t(this, "name");
|
|
352
|
+
t(this, "handle");
|
|
353
|
+
t(this, "api");
|
|
354
|
+
this.api = s, this.handle = e, this.name = a;
|
|
355
|
+
}
|
|
356
|
+
async createWritable(s) {
|
|
357
|
+
const e = await this.api.callOverlayHandler(C(this.handle, s == null ? void 0 : s.keepExistingData));
|
|
358
|
+
if (e && e.handle)
|
|
359
|
+
return new T(this.api, e.handle);
|
|
360
|
+
throw new Error(e.Error ?? "Failed to create writable stream");
|
|
361
|
+
}
|
|
362
|
+
async getFile() {
|
|
363
|
+
const s = await this.api.callOverlayHandler(F(this.handle));
|
|
364
|
+
if (s && s.handle && s.name)
|
|
365
|
+
return new O(this.api, s);
|
|
366
|
+
throw new Error(s.Error ?? "Failed to get file");
|
|
367
|
+
}
|
|
368
|
+
isSameEntry(s) {
|
|
369
|
+
return s instanceof p ? Promise.resolve(this.handle === s.handle) : Promise.resolve(!1);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
class O {
|
|
373
|
+
constructor(s, e) {
|
|
374
|
+
t(this, "handle");
|
|
375
|
+
t(this, "api");
|
|
376
|
+
t(this, "lastModified");
|
|
377
|
+
t(this, "name");
|
|
378
|
+
t(this, "webkitRelativePath");
|
|
379
|
+
t(this, "size");
|
|
380
|
+
t(this, "type");
|
|
381
|
+
this.api = s, this.handle = e.handle, this.name = e.name, this.size = e.size, this.type = e.type, this.lastModified = e.lastModified, this.webkitRelativePath = e.webkitRelativePath || "";
|
|
382
|
+
}
|
|
383
|
+
arrayBuffer() {
|
|
384
|
+
return this.bytes().then((s) => s.buffer);
|
|
385
|
+
}
|
|
386
|
+
async bytes() {
|
|
387
|
+
const s = await this.api.callOverlayHandler(m(this.handle, !0));
|
|
388
|
+
if (s && s.data)
|
|
389
|
+
return Uint8Array.from(atob(s.data), (e) => e.charCodeAt(0));
|
|
390
|
+
throw new Error(s.Error ?? "Failed to read file");
|
|
391
|
+
}
|
|
392
|
+
async text() {
|
|
393
|
+
const s = await this.api.callOverlayHandler(m(this.handle, !1));
|
|
394
|
+
if (s && s.text)
|
|
395
|
+
return s.text;
|
|
396
|
+
throw new Error(s.Error ?? "Failed to read file");
|
|
397
|
+
}
|
|
398
|
+
slice(s, e, a) {
|
|
399
|
+
throw new Error("Method not implemented.");
|
|
400
|
+
}
|
|
401
|
+
stream() {
|
|
402
|
+
throw new Error("Method not implemented.");
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
class T {
|
|
406
|
+
constructor(s, e) {
|
|
407
|
+
t(this, "locked", !1);
|
|
408
|
+
t(this, "handle");
|
|
409
|
+
t(this, "api");
|
|
410
|
+
this.api = s, this.handle = e;
|
|
411
|
+
}
|
|
412
|
+
seek(s) {
|
|
413
|
+
return this.api.callOverlayHandler(d(this.handle, "seek", s));
|
|
414
|
+
}
|
|
415
|
+
truncate(s) {
|
|
416
|
+
return this.api.callOverlayHandler(d(this.handle, "truncate", s));
|
|
417
|
+
}
|
|
418
|
+
writeData(s) {
|
|
419
|
+
return this.api.callOverlayHandler(M(this.handle, s));
|
|
420
|
+
}
|
|
421
|
+
write(s) {
|
|
422
|
+
return typeof s == "string" || s instanceof ArrayBuffer ? this.writeData(s) : s instanceof Uint8Array ? this.writeData(s.buffer) : s instanceof Blob ? s.arrayBuffer().then((e) => this.writeData(e)) : Promise.reject(new Error("Unsupported data type for writing"));
|
|
423
|
+
}
|
|
424
|
+
close() {
|
|
425
|
+
return this.api.callOverlayHandler(d(this.handle, "close"));
|
|
426
|
+
}
|
|
427
|
+
abort(s) {
|
|
428
|
+
throw new Error("Method not implemented.");
|
|
429
|
+
}
|
|
430
|
+
getWriter() {
|
|
431
|
+
throw new Error("Method not implemented.");
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
class S {
|
|
435
|
+
constructor(s) {
|
|
436
|
+
t(this, "addr");
|
|
437
|
+
t(this, "base");
|
|
438
|
+
t(this, "bytes");
|
|
439
|
+
t(this, "mask");
|
|
440
|
+
this.addr = s.addr, this.base = s.base, this.valid ? (this.bytes = o(s.bytes), this.mask = s.mask) : (this.bytes = new Uint8Array(), this.mask = []);
|
|
441
|
+
}
|
|
442
|
+
get valid() {
|
|
443
|
+
return !!this.addr;
|
|
444
|
+
}
|
|
445
|
+
getNthRange(s) {
|
|
446
|
+
let e = 0;
|
|
447
|
+
for (let a = 0; a < this.mask.length; a++)
|
|
448
|
+
if (!this.mask[a]) {
|
|
449
|
+
let n;
|
|
450
|
+
for (n = a; n < this.mask.length && !this.mask[n]; n++) ;
|
|
451
|
+
if (e == s)
|
|
452
|
+
return { begin: a, end: n };
|
|
453
|
+
e++, a = n;
|
|
454
|
+
}
|
|
455
|
+
return { begin: 0, end: 0 };
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* get nth masked (??) data
|
|
459
|
+
* @param index
|
|
460
|
+
* @returns data slice
|
|
461
|
+
*/
|
|
462
|
+
getNthMasked(s) {
|
|
463
|
+
let e = this.getNthRange(s);
|
|
464
|
+
return e.end > e.begin ? this.bytes.slice(e.begin, e.end) : null;
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* get nth masked (??) data in DataView
|
|
468
|
+
* @param index
|
|
469
|
+
* @returns dataview
|
|
470
|
+
*/
|
|
471
|
+
getDataView(s) {
|
|
472
|
+
let e = this.getNthRange(s);
|
|
473
|
+
return e.end > e.begin ? new DataView(this.bytes.buffer, this.bytes.byteOffset + e.begin, Math.min(this.bytes.byteLength, e.end - e.begin)) : null;
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* get relative pointer to another object, usually LEA, call, ...
|
|
477
|
+
* @param index
|
|
478
|
+
* @returns
|
|
479
|
+
*/
|
|
480
|
+
getRelativePointer(s) {
|
|
481
|
+
let e = this.getNthRange(s);
|
|
482
|
+
if (e.end <= e.begin)
|
|
483
|
+
return 0;
|
|
484
|
+
const n = new DataView(this.bytes.buffer, this.bytes.byteOffset, this.bytes.byteLength).getInt32(e.begin, !0);
|
|
485
|
+
return this.addr + n + e.begin + 4;
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
class A {
|
|
489
|
+
constructor(s) {
|
|
490
|
+
t(this, "addr");
|
|
491
|
+
t(this, "length");
|
|
492
|
+
t(this, "bytes");
|
|
493
|
+
t(this, "value");
|
|
494
|
+
this.addr = s.addr, this.length = s.len, this.valid ? (this.bytes = o(s.bytes), this.value = s.value) : this.bytes = new Uint8Array();
|
|
495
|
+
}
|
|
496
|
+
get valid() {
|
|
497
|
+
return !!this.addr && !!this.length;
|
|
498
|
+
}
|
|
499
|
+
get dataView() {
|
|
500
|
+
return new DataView(this.bytes.buffer, this.bytes.byteOffset, this.bytes.byteLength);
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
class L {
|
|
504
|
+
constructor(s) {
|
|
505
|
+
t(this, "headers");
|
|
506
|
+
t(this, "ok");
|
|
507
|
+
t(this, "status");
|
|
508
|
+
t(this, "statusText");
|
|
509
|
+
t(this, "type");
|
|
510
|
+
t(this, "url");
|
|
511
|
+
t(this, "redirected", !1);
|
|
512
|
+
t(this, "body", null);
|
|
513
|
+
t(this, "bodyUsed", !1);
|
|
514
|
+
t(this, "_bodyContent");
|
|
515
|
+
this.headers = new Headers();
|
|
516
|
+
for (const e in s.headers)
|
|
517
|
+
this.headers.append(e, s.headers[e]);
|
|
518
|
+
this.ok = s.ok, this.status = s.status, this.statusText = s.statusText, this.type = s.type, this.url = s.url, this._bodyContent = s.body;
|
|
519
|
+
}
|
|
520
|
+
clone() {
|
|
521
|
+
throw new Error("Method not implemented.");
|
|
522
|
+
}
|
|
523
|
+
text() {
|
|
524
|
+
return Promise.resolve(this._bodyContent);
|
|
525
|
+
}
|
|
526
|
+
json() {
|
|
527
|
+
return Promise.resolve(JSON.parse(this._bodyContent));
|
|
528
|
+
}
|
|
529
|
+
arrayBuffer() {
|
|
530
|
+
return this.bytes().then((s) => s.buffer);
|
|
531
|
+
}
|
|
532
|
+
formData() {
|
|
533
|
+
throw new Error("Method not implemented.");
|
|
534
|
+
}
|
|
535
|
+
blob() {
|
|
536
|
+
throw new Error("Method not implemented.");
|
|
537
|
+
}
|
|
538
|
+
bytes() {
|
|
539
|
+
return Promise.resolve(Uint8Array.from(this._bodyContent, (s) => s.charCodeAt(0)));
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
class R {
|
|
278
543
|
constructor() {
|
|
279
544
|
/**
|
|
280
545
|
* HID interface
|
|
281
546
|
*/
|
|
282
547
|
t(this, "hid");
|
|
548
|
+
t(this, "fs");
|
|
283
549
|
t(this, "api", new x());
|
|
284
550
|
t(this, "handlerMap", /* @__PURE__ */ new Map());
|
|
285
|
-
this.hid =
|
|
551
|
+
this.hid = f(this.api), this.fs = new H(this.api);
|
|
286
552
|
}
|
|
287
553
|
/**
|
|
288
554
|
* Fetch acts like window.fetch but without CORS restrictions
|
|
555
|
+
*
|
|
556
|
+
* This is old behavior for backward compatibility, new code should use fetch() instead which returns a valid Response object
|
|
289
557
|
* @param url target URL
|
|
290
558
|
* @param options options
|
|
291
559
|
* @returns response
|
|
560
|
+
* @deprecated use fetch() instead which returns a valid Response object
|
|
292
561
|
*/
|
|
293
562
|
Fetch(s, e = {}) {
|
|
294
563
|
const a = {
|
|
@@ -298,6 +567,22 @@ class k {
|
|
|
298
567
|
};
|
|
299
568
|
return this.api.callOverlayHandler(a);
|
|
300
569
|
}
|
|
570
|
+
/**
|
|
571
|
+
* fetch acts like window.fetch but without CORS restrictions, returns response body as text.
|
|
572
|
+
* @param url
|
|
573
|
+
* @param options
|
|
574
|
+
* @returns
|
|
575
|
+
*/
|
|
576
|
+
async fetch(s, e = {}) {
|
|
577
|
+
const a = {
|
|
578
|
+
call: "otk::fetch",
|
|
579
|
+
resource: s,
|
|
580
|
+
options: e
|
|
581
|
+
}, n = await this.api.callOverlayHandler(a);
|
|
582
|
+
if (!n)
|
|
583
|
+
throw new Error("method not found");
|
|
584
|
+
return new L(n);
|
|
585
|
+
}
|
|
301
586
|
/**
|
|
302
587
|
* Subscribe to game packets
|
|
303
588
|
* @param name subscription name
|
|
@@ -306,13 +591,13 @@ class k {
|
|
|
306
591
|
* @returns subscription name
|
|
307
592
|
*/
|
|
308
593
|
async SubscribePacket(s, e, a) {
|
|
309
|
-
const
|
|
594
|
+
const n = {
|
|
310
595
|
call: "otk::packet",
|
|
311
596
|
action: "subscribe",
|
|
312
597
|
name: s,
|
|
313
598
|
evt_name: "otk::packet::" + s,
|
|
314
599
|
filters: e
|
|
315
|
-
}, c = await this.api.callOverlayHandler(
|
|
600
|
+
}, c = await this.api.callOverlayHandler(n);
|
|
316
601
|
if (!c)
|
|
317
602
|
throw new Error("method not found");
|
|
318
603
|
if (c.error)
|
|
@@ -335,18 +620,18 @@ class k {
|
|
|
335
620
|
if (a != null && a.error)
|
|
336
621
|
throw new Error(a.error);
|
|
337
622
|
if (this.handlerMap.has(s)) {
|
|
338
|
-
const
|
|
339
|
-
|
|
623
|
+
const n = this.handlerMap.get(s);
|
|
624
|
+
n.evt_name && this.api.removeOverlayListener(n.evt_name), this.handlerMap.delete(s);
|
|
340
625
|
}
|
|
341
626
|
}
|
|
342
627
|
packetHandler(s, e = !1) {
|
|
343
|
-
let a = s,
|
|
344
|
-
|
|
628
|
+
let a = s, n = s;
|
|
629
|
+
n.data = Uint8Array.from(atob(a.msg), (h) => h.charCodeAt(0));
|
|
345
630
|
let c = this.handlerMap.get(a.name);
|
|
346
631
|
if (c) {
|
|
347
632
|
if (e && c.evt_name)
|
|
348
633
|
return;
|
|
349
|
-
c.handler(
|
|
634
|
+
c.handler(n);
|
|
350
635
|
} else e || console.warn("No packet handler for name", a.name);
|
|
351
636
|
}
|
|
352
637
|
/**
|
|
@@ -359,14 +644,69 @@ class k {
|
|
|
359
644
|
return this.api.callOverlayHandler(s);
|
|
360
645
|
}
|
|
361
646
|
/**
|
|
362
|
-
*
|
|
363
|
-
* @returns
|
|
647
|
+
* Get plugin version
|
|
648
|
+
* @returns the plugin version
|
|
364
649
|
*/
|
|
365
650
|
async GetPluginVersion() {
|
|
651
|
+
return (await this.GetPluginInfo()).version;
|
|
652
|
+
}
|
|
653
|
+
/**
|
|
654
|
+
* Get plugin version and tool list
|
|
655
|
+
* @returns the plugin info
|
|
656
|
+
*/
|
|
657
|
+
async GetPluginInfo() {
|
|
366
658
|
const s = {
|
|
367
659
|
call: "otk::plugin_ver"
|
|
368
660
|
};
|
|
369
|
-
return
|
|
661
|
+
return await this.api.callOverlayHandler(s);
|
|
662
|
+
}
|
|
663
|
+
/**
|
|
664
|
+
* Open URL in default browser
|
|
665
|
+
* @param url URL to open
|
|
666
|
+
*/
|
|
667
|
+
async OpenBrowser(s) {
|
|
668
|
+
const e = {
|
|
669
|
+
call: "otk::open_browser",
|
|
670
|
+
url: s
|
|
671
|
+
}, a = await this.api.callOverlayHandler(e);
|
|
672
|
+
if (a != null && a.Error)
|
|
673
|
+
throw new Error(a.Error);
|
|
674
|
+
}
|
|
675
|
+
/**
|
|
676
|
+
* Search memory sig in program TEXT section
|
|
677
|
+
* @param sig sig to scan. e.g. "e8 ?? ?? ?? ??"
|
|
678
|
+
* @param startAddr optional. address to start search, absolute address
|
|
679
|
+
* @param offset optional. address to start search, relative to text begin
|
|
680
|
+
* @returns
|
|
681
|
+
*/
|
|
682
|
+
async MemoryScanSig(s, e, a = 0) {
|
|
683
|
+
const n = {
|
|
684
|
+
call: "otk::memory",
|
|
685
|
+
action: "sig_scanner",
|
|
686
|
+
sig: s,
|
|
687
|
+
started_at: a,
|
|
688
|
+
offset: e
|
|
689
|
+
}, c = await this.api.callOverlayHandler(n);
|
|
690
|
+
if (c != null && c.Error)
|
|
691
|
+
throw new Error(c.Error);
|
|
692
|
+
return new S(c);
|
|
693
|
+
}
|
|
694
|
+
/**
|
|
695
|
+
* Read memory with address and length
|
|
696
|
+
* @param addr address to read
|
|
697
|
+
* @param length length to read. 0x10000 maximum
|
|
698
|
+
* @returns
|
|
699
|
+
*/
|
|
700
|
+
async MemoryRead(s, e) {
|
|
701
|
+
const a = {
|
|
702
|
+
call: "otk::memory",
|
|
703
|
+
action: "read",
|
|
704
|
+
addr: s,
|
|
705
|
+
length: e
|
|
706
|
+
}, n = await this.api.callOverlayHandler(a);
|
|
707
|
+
if (n != null && n.Error)
|
|
708
|
+
throw new Error(n.Error);
|
|
709
|
+
return new A(n);
|
|
370
710
|
}
|
|
371
711
|
/**
|
|
372
712
|
* Call start overlay events
|
|
@@ -439,8 +779,14 @@ class k {
|
|
|
439
779
|
this.api.setTransport(e);
|
|
440
780
|
}
|
|
441
781
|
}
|
|
782
|
+
/**
|
|
783
|
+
* Check if connected to OverlayPlugin
|
|
784
|
+
*/
|
|
785
|
+
get isConnected() {
|
|
786
|
+
return this.api.isConnected;
|
|
787
|
+
}
|
|
442
788
|
}
|
|
443
|
-
class
|
|
789
|
+
class i {
|
|
444
790
|
constructor(s, e) {
|
|
445
791
|
t(this, "type");
|
|
446
792
|
t(this, "typeCode");
|
|
@@ -451,7 +797,7 @@ class n {
|
|
|
451
797
|
return new Date(this.time);
|
|
452
798
|
}
|
|
453
799
|
}
|
|
454
|
-
class
|
|
800
|
+
class q extends i {
|
|
455
801
|
constructor(e) {
|
|
456
802
|
super("LogLine", e);
|
|
457
803
|
t(this, "code");
|
|
@@ -460,7 +806,7 @@ class N extends n {
|
|
|
460
806
|
this.code = e[2], this.name = e[3], this.line = e[4];
|
|
461
807
|
}
|
|
462
808
|
}
|
|
463
|
-
class
|
|
809
|
+
class _ extends i {
|
|
464
810
|
constructor(e) {
|
|
465
811
|
super("ChangeZone", e);
|
|
466
812
|
/**
|
|
@@ -474,7 +820,7 @@ class l extends n {
|
|
|
474
820
|
this.zoneID = parseInt(e[2], 16), this.zoneName = e[3];
|
|
475
821
|
}
|
|
476
822
|
}
|
|
477
|
-
class
|
|
823
|
+
class z extends i {
|
|
478
824
|
constructor(e) {
|
|
479
825
|
super("ChangePrimaryPlayer", e);
|
|
480
826
|
/**
|
|
@@ -491,7 +837,7 @@ class C extends n {
|
|
|
491
837
|
return this.charID.toString(16).toUpperCase();
|
|
492
838
|
}
|
|
493
839
|
}
|
|
494
|
-
class
|
|
840
|
+
class B extends i {
|
|
495
841
|
constructor(e) {
|
|
496
842
|
super("AddCombatant", e);
|
|
497
843
|
/**
|
|
@@ -520,7 +866,7 @@ class b extends n {
|
|
|
520
866
|
this.id = parseInt(e[2], 16), this.name = e[3], this.job = parseInt(e[4], 16), this.level = parseInt(e[5], 16), this.ownerID = parseInt(e[6], 16), this.worldID = parseInt(e[7], 16), this.worldName = e[8], this.npcNameID = parseInt(e[9]), this.npcBaseID = parseInt(e[10]), this.currentHP = parseInt(e[11]), this.hp = parseInt(e[12]), this.currentMP = parseInt(e[13]), this.mp = parseInt(e[14]), this.x = parseFloat(e[17]), this.y = parseFloat(e[18]), this.z = parseFloat(e[19]), this.heading = parseFloat(e[20]);
|
|
521
867
|
}
|
|
522
868
|
}
|
|
523
|
-
class
|
|
869
|
+
class U extends i {
|
|
524
870
|
constructor(e) {
|
|
525
871
|
super("RemoveCombatant", e);
|
|
526
872
|
/**
|
|
@@ -545,7 +891,7 @@ class F extends n {
|
|
|
545
891
|
this.id = parseInt(e[2], 16), this.name = e[3], this.job = parseInt(e[4], 16), this.level = parseInt(e[5], 16), this.ownerID = parseInt(e[6], 16), this.world = e[8], this.npcNameID = parseInt(e[9]), this.npcBaseID = parseInt(e[10]), this.currentHP = parseInt(e[11]), this.hp = parseInt(e[12]), this.currentMP = parseInt(e[13]), this.mp = parseInt(e[14]), this.x = parseFloat(e[17]), this.y = parseFloat(e[18]), this.z = parseFloat(e[19]), this.heading = parseFloat(e[20]);
|
|
546
892
|
}
|
|
547
893
|
}
|
|
548
|
-
class
|
|
894
|
+
class j extends i {
|
|
549
895
|
constructor(e) {
|
|
550
896
|
super("PartyChanged", e);
|
|
551
897
|
/**
|
|
@@ -554,11 +900,11 @@ class M extends n {
|
|
|
554
900
|
t(this, "party");
|
|
555
901
|
this.party = [];
|
|
556
902
|
let a = parseInt(e[2]);
|
|
557
|
-
for (let
|
|
558
|
-
this.party.push(parseInt(e[3 +
|
|
903
|
+
for (let n = 0; n < a; n++)
|
|
904
|
+
this.party.push(parseInt(e[3 + n], 16));
|
|
559
905
|
}
|
|
560
906
|
}
|
|
561
|
-
class
|
|
907
|
+
class V extends i {
|
|
562
908
|
constructor(e) {
|
|
563
909
|
super("PlayerStats", e);
|
|
564
910
|
t(this, "job");
|
|
@@ -581,7 +927,7 @@ class E extends n {
|
|
|
581
927
|
this.job = parseInt(e[2], 16), this.strength = parseInt(e[3]), this.dexterity = parseInt(e[4]), this.vitality = parseInt(e[5]), this.intelligence = parseInt(e[6]), this.mind = parseInt(e[7]), this.piety = parseInt(e[8]), this.attackPower = parseInt(e[9]), this.directHit = parseInt(e[10]), this.criticalHit = parseInt(e[11]), this.attakcMagicPotency = parseInt(e[12]), this.healingMagicPotency = parseInt(e[13]), this.determination = parseInt(e[14]), this.skillSpeed = parseInt(e[15]), this.spellSpeed = parseInt(e[16]), this.tenacity = parseInt(e[18]), this.localContentID = parseInt(e[19], 16);
|
|
582
928
|
}
|
|
583
929
|
}
|
|
584
|
-
class
|
|
930
|
+
class W extends i {
|
|
585
931
|
constructor(e) {
|
|
586
932
|
super("NetworkStartsCasting", e);
|
|
587
933
|
t(this, "sourceID");
|
|
@@ -598,7 +944,7 @@ class H extends n {
|
|
|
598
944
|
this.sourceID = parseInt(e[2], 16), this.sourceName = e[3], this.id = parseInt(e[4], 16), this.ability = e[5], this.targetID = parseInt(e[6], 16), this.targetName = e[7], this.castTime = parseFloat(e[8]), this.x = parseFloat(e[9]), this.y = parseFloat(e[10]), this.z = parseFloat(e[11]), this.heading = parseFloat(e[12]);
|
|
599
945
|
}
|
|
600
946
|
}
|
|
601
|
-
class
|
|
947
|
+
class G extends i {
|
|
602
948
|
constructor(e) {
|
|
603
949
|
super(e[0] == "22" ? "NetworkAOEAbility" : "NetworkAbility", e);
|
|
604
950
|
t(this, "sourceID");
|
|
@@ -643,7 +989,7 @@ class T extends n {
|
|
|
643
989
|
this.targetCurrentHP = parseInt(e[24]), this.targetMaxHP = parseInt(e[25]), this.targetCurrentMP = parseInt(e[26]), this.targetMaxMP = parseInt(e[27]), this.targetX = parseFloat(e[30]), this.targetY = parseFloat(e[31]), this.targetZ = parseFloat(e[32]), this.targetHeading = parseFloat(e[33]), this.currentHP = parseInt(e[34]), this.maxHP = parseInt(e[35]), this.currentMP = parseInt(e[36]), this.maxMP = parseInt(e[37]), this.x = parseFloat(e[40]), this.y = parseFloat(e[41]), this.z = parseFloat(e[42]), this.heading = parseFloat(e[43]), this.sequence = parseInt(e[44], 16), this.targetIndex = parseInt(e[45]), this.targetCount = parseInt(e[46]), this.ownerID = parseInt(e[47], 16), this.ownerName = e[48], this.effectDisplayType = parseInt(e[49]), this.actionID = parseInt(e[50], 16), this.actionAnimationID = parseInt(e[51], 16), this.animationLockTime = parseFloat(e[52]), this.rotationHex = parseInt(e[53], 16);
|
|
644
990
|
}
|
|
645
991
|
}
|
|
646
|
-
class
|
|
992
|
+
class Y extends i {
|
|
647
993
|
constructor(e) {
|
|
648
994
|
super("NetworkCancelAbility", e);
|
|
649
995
|
t(this, "sourceID");
|
|
@@ -654,7 +1000,7 @@ class O extends n {
|
|
|
654
1000
|
this.sourceID = parseInt(e[2], 16), this.source = e[3], this.id = parseInt(e[4], 16), this.name = e[5], this.reason = e[6];
|
|
655
1001
|
}
|
|
656
1002
|
}
|
|
657
|
-
class
|
|
1003
|
+
class Z extends i {
|
|
658
1004
|
constructor(e) {
|
|
659
1005
|
super("NetworkDoT", e);
|
|
660
1006
|
t(this, "id");
|
|
@@ -688,7 +1034,7 @@ class S extends n {
|
|
|
688
1034
|
this.id = parseInt(e[2], 16), this.name = e[3], this.which = e[4], this.effectID = parseInt(e[5], 16), this.damage = parseInt(e[6]), this.currentHP = parseInt(e[7]), this.maxHP = parseInt(e[8]), this.currentMP = parseInt(e[9]), this.maxMP = parseInt(e[10]), this.x = parseFloat(e[13]), this.y = parseFloat(e[14]), this.z = parseFloat(e[15]), this.heading = parseFloat(e[16]), this.sourceID = parseInt(e[17], 16), this.sourceName = e[18], this.damageType = parseInt(e[19], 16), this.sourceCurrentHP = parseInt(e[20]), this.sourceMaxHP = parseInt(e[21]), this.sourceCurrentMP = parseInt(e[22]), this.sourceMaxMP = parseInt(e[23]), this.sourceX = parseFloat(e[26]), this.sourceY = parseFloat(e[27]), this.sourceZ = parseFloat(e[28]), this.sourceHeading = parseFloat(e[29]);
|
|
689
1035
|
}
|
|
690
1036
|
}
|
|
691
|
-
class
|
|
1037
|
+
class J extends i {
|
|
692
1038
|
constructor(e) {
|
|
693
1039
|
super("NetworkDeath", e);
|
|
694
1040
|
t(this, "targetID");
|
|
@@ -698,7 +1044,7 @@ class L extends n {
|
|
|
698
1044
|
this.targetID = parseInt(e[2], 16), this.targetName = e[3], this.sourceID = parseInt(e[4], 16), this.sourceName = e[5];
|
|
699
1045
|
}
|
|
700
1046
|
}
|
|
701
|
-
class
|
|
1047
|
+
class X extends i {
|
|
702
1048
|
constructor(e) {
|
|
703
1049
|
super("NetworkBuff", e);
|
|
704
1050
|
t(this, "effectID");
|
|
@@ -714,7 +1060,7 @@ class A extends n {
|
|
|
714
1060
|
this.effectID = parseInt(e[2], 16), this.effectName = e[3], this.duration = parseFloat(e[4]), this.sourceID = parseInt(e[5], 16), this.sourceName = e[6], this.targetID = parseInt(e[7], 16), this.targetName = e[8], this.count = parseInt(e[9]), this.targetMaxHP = parseInt(e[10] == "" ? "-1" : e[10]), this.sourceMaxHP = parseInt(e[11] == "" ? "-1" : e[11]);
|
|
715
1061
|
}
|
|
716
1062
|
}
|
|
717
|
-
class
|
|
1063
|
+
class K extends i {
|
|
718
1064
|
constructor(e) {
|
|
719
1065
|
super("NetworkTargetIcon", e);
|
|
720
1066
|
t(this, "targetID");
|
|
@@ -724,7 +1070,7 @@ class q extends n {
|
|
|
724
1070
|
this.targetID = parseInt(e[2], 16), this.targetName = e[3], this.id = parseInt(e[6], 16), this.data0 = parseInt(e[7], 16);
|
|
725
1071
|
}
|
|
726
1072
|
}
|
|
727
|
-
class
|
|
1073
|
+
class $ extends i {
|
|
728
1074
|
constructor(e) {
|
|
729
1075
|
super("NetworkRaidMarker", e);
|
|
730
1076
|
t(this, "operation");
|
|
@@ -737,7 +1083,7 @@ class z extends n {
|
|
|
737
1083
|
this.operation = e[2], this.waymark = parseInt(e[3]), this.id = parseInt(e[4], 16), this.name = e[5], this.x = parseFloat(e[6]), this.y = parseFloat(e[7]), this.z = parseFloat(e[8]);
|
|
738
1084
|
}
|
|
739
1085
|
}
|
|
740
|
-
class
|
|
1086
|
+
class Q extends i {
|
|
741
1087
|
constructor(e) {
|
|
742
1088
|
super("NetworkTargetMarker", e);
|
|
743
1089
|
t(this, "operation");
|
|
@@ -749,7 +1095,7 @@ class R extends n {
|
|
|
749
1095
|
this.operation = e[2], this.waymark = parseInt(e[3]), this.id = parseInt(e[4], 16), this.name = e[5], this.targetID = parseInt(e[6], 16), this.targetName = e[7];
|
|
750
1096
|
}
|
|
751
1097
|
}
|
|
752
|
-
class
|
|
1098
|
+
class g extends i {
|
|
753
1099
|
constructor(e) {
|
|
754
1100
|
super("NetworkBuffRemove", e);
|
|
755
1101
|
t(this, "effectID");
|
|
@@ -762,7 +1108,7 @@ class B extends n {
|
|
|
762
1108
|
this.effectID = parseInt(e[2], 16), this.effectName = e[3], this.sourceID = parseInt(e[5], 16), this.sourceName = e[6], this.targetID = parseInt(e[7], 16), this.targetName = e[8], this.count = parseInt(e[9], 16);
|
|
763
1109
|
}
|
|
764
1110
|
}
|
|
765
|
-
class
|
|
1111
|
+
class ee extends i {
|
|
766
1112
|
constructor(e) {
|
|
767
1113
|
super("NetworkGauge", e);
|
|
768
1114
|
t(this, "id");
|
|
@@ -774,13 +1120,13 @@ class U extends n {
|
|
|
774
1120
|
t(this, "data");
|
|
775
1121
|
this.id = parseInt(e[2], 16), this.data = new Uint8Array(16);
|
|
776
1122
|
let a = new DataView(this.data.buffer);
|
|
777
|
-
for (let
|
|
778
|
-
let c = parseInt(e[3 +
|
|
779
|
-
a.setUint32(
|
|
1123
|
+
for (let n = 0; n < 4; n++) {
|
|
1124
|
+
let c = parseInt(e[3 + n]);
|
|
1125
|
+
a.setUint32(n * 4, c, !0);
|
|
780
1126
|
}
|
|
781
1127
|
}
|
|
782
1128
|
}
|
|
783
|
-
class
|
|
1129
|
+
class te extends i {
|
|
784
1130
|
constructor(e) {
|
|
785
1131
|
super("NetworkActorControl", e);
|
|
786
1132
|
t(this, "instance");
|
|
@@ -791,7 +1137,7 @@ class _ extends n {
|
|
|
791
1137
|
this.data.push(parseInt(e[4 + a], 16));
|
|
792
1138
|
}
|
|
793
1139
|
}
|
|
794
|
-
class
|
|
1140
|
+
class se extends i {
|
|
795
1141
|
constructor(e) {
|
|
796
1142
|
super("NetworkNameToggle", e);
|
|
797
1143
|
t(this, "id");
|
|
@@ -805,7 +1151,7 @@ class j extends n {
|
|
|
805
1151
|
this.id = parseInt(e[2], 16), this.name = e[3], this.targetID = parseInt(e[4], 16), this.targetName = e[5], this.toggle = parseInt(e[6]) === 1;
|
|
806
1152
|
}
|
|
807
1153
|
}
|
|
808
|
-
class
|
|
1154
|
+
class re extends i {
|
|
809
1155
|
constructor(e) {
|
|
810
1156
|
super("NetworkTether", e);
|
|
811
1157
|
t(this, "sourceID");
|
|
@@ -816,7 +1162,7 @@ class G extends n {
|
|
|
816
1162
|
this.sourceID = parseInt(e[2], 16), this.sourceName = e[3], this.targetID = parseInt(e[4], 16), this.targetName = e[5], this.id = parseInt(e[8], 16);
|
|
817
1163
|
}
|
|
818
1164
|
}
|
|
819
|
-
class
|
|
1165
|
+
class ae extends i {
|
|
820
1166
|
constructor(e) {
|
|
821
1167
|
super("LimitBreak", e);
|
|
822
1168
|
/**
|
|
@@ -827,7 +1173,7 @@ class V extends n {
|
|
|
827
1173
|
this.value = parseInt(e[2], 16), this.bars = parseInt(e[3]);
|
|
828
1174
|
}
|
|
829
1175
|
}
|
|
830
|
-
class
|
|
1176
|
+
class ne extends i {
|
|
831
1177
|
constructor(e) {
|
|
832
1178
|
super("NetworkActionSync", e);
|
|
833
1179
|
t(this, "id");
|
|
@@ -845,7 +1191,7 @@ class W extends n {
|
|
|
845
1191
|
this.id = parseInt(e[2], 16), this.name = e[3], this.sequenceID = parseInt(e[4], 16), this.currentHP = e[5] ? parseInt(e[5]) : -1, this.maxHP = e[6] ? parseInt(e[6]) : -1, this.currentMP = e[7] ? parseInt(e[7]) : -1, this.maxMP = e[8] ? parseInt(e[8]) : -1, this.currentShield = e[9] ? parseInt(e[9]) : -1, this.x = parseFloat(e[11]), this.y = parseFloat(e[12]), this.z = parseFloat(e[13]), this.heading = parseFloat(e[14]);
|
|
846
1192
|
}
|
|
847
1193
|
}
|
|
848
|
-
class
|
|
1194
|
+
class ie extends i {
|
|
849
1195
|
constructor(e) {
|
|
850
1196
|
super("NetworkStatusEffects", e);
|
|
851
1197
|
t(this, "targetID");
|
|
@@ -867,7 +1213,7 @@ class Y extends n {
|
|
|
867
1213
|
this.data.push(parseInt(e[15 + a], 16));
|
|
868
1214
|
}
|
|
869
1215
|
}
|
|
870
|
-
class
|
|
1216
|
+
class ce extends i {
|
|
871
1217
|
constructor(e) {
|
|
872
1218
|
super("NetworkUpdateHP", e);
|
|
873
1219
|
t(this, "id");
|
|
@@ -885,7 +1231,7 @@ class Z extends n {
|
|
|
885
1231
|
this.id = parseInt(e[2], 16), this.name = e[3], this.currentHP = parseInt(e[4]), this.maxHP = parseInt(e[5]), this.currentMP = parseInt(e[6]), this.maxMP = parseInt(e[7]), this.x = parseFloat(e[10]), this.y = parseFloat(e[11]), this.z = parseFloat(e[12]), this.heading = parseFloat(e[13]);
|
|
886
1232
|
}
|
|
887
1233
|
}
|
|
888
|
-
class
|
|
1234
|
+
class he extends i {
|
|
889
1235
|
constructor(e) {
|
|
890
1236
|
super("Map", e);
|
|
891
1237
|
t(this, "id");
|
|
@@ -895,7 +1241,7 @@ class J extends n {
|
|
|
895
1241
|
this.id = parseInt(e[2], 16), this.regionName = e[3], this.placeName = e[4], this.placeNameSub = e[5];
|
|
896
1242
|
}
|
|
897
1243
|
}
|
|
898
|
-
class
|
|
1244
|
+
class pe extends i {
|
|
899
1245
|
constructor(e) {
|
|
900
1246
|
super("SystemLogMessage", e);
|
|
901
1247
|
t(this, "instance");
|
|
@@ -906,7 +1252,7 @@ class X extends n {
|
|
|
906
1252
|
this.params.push(parseInt(e[4 + a], 16));
|
|
907
1253
|
}
|
|
908
1254
|
}
|
|
909
|
-
class
|
|
1255
|
+
class oe extends i {
|
|
910
1256
|
constructor(e) {
|
|
911
1257
|
super("StatusList3", e);
|
|
912
1258
|
t(this, "id");
|
|
@@ -917,14 +1263,14 @@ class K extends n {
|
|
|
917
1263
|
this.statusList.push(parseInt(e[4 + a], 16));
|
|
918
1264
|
}
|
|
919
1265
|
}
|
|
920
|
-
class
|
|
1266
|
+
class de extends i {
|
|
921
1267
|
constructor(e) {
|
|
922
1268
|
super("Debug", e);
|
|
923
1269
|
t(this, "message");
|
|
924
1270
|
this.message = e[2];
|
|
925
1271
|
}
|
|
926
1272
|
}
|
|
927
|
-
class
|
|
1273
|
+
class ue extends i {
|
|
928
1274
|
constructor(e) {
|
|
929
1275
|
super("PacketDump", e);
|
|
930
1276
|
t(this, "len");
|
|
@@ -933,28 +1279,28 @@ class Q extends n {
|
|
|
933
1279
|
t(this, "packetType");
|
|
934
1280
|
t(this, "data");
|
|
935
1281
|
this.len = parseInt(e[2], 16), this.src = parseInt(e[3], 16), this.dst = parseInt(e[4], 16), this.packetType = parseInt(e[5], 16) & 65535, this.data = new Uint8Array(this.len - 16);
|
|
936
|
-
for (let a = 6,
|
|
1282
|
+
for (let a = 6, n = 0; a < e.length - 2; a++, n++) {
|
|
937
1283
|
const c = parseInt(e[a], 16);
|
|
938
1284
|
for (let h = 0; h < 4; h++)
|
|
939
|
-
this.data[
|
|
1285
|
+
this.data[n * 4 + h] = c >> h * 8 & 255;
|
|
940
1286
|
}
|
|
941
1287
|
}
|
|
942
1288
|
}
|
|
943
|
-
class
|
|
1289
|
+
class Ie extends i {
|
|
944
1290
|
constructor(e) {
|
|
945
1291
|
super("Version", e);
|
|
946
1292
|
t(this, "message");
|
|
947
1293
|
this.message = e[2];
|
|
948
1294
|
}
|
|
949
1295
|
}
|
|
950
|
-
let
|
|
1296
|
+
let me = class extends i {
|
|
951
1297
|
constructor(e) {
|
|
952
1298
|
super("Error", e);
|
|
953
1299
|
t(this, "message");
|
|
954
1300
|
this.message = e[2];
|
|
955
1301
|
}
|
|
956
1302
|
};
|
|
957
|
-
class
|
|
1303
|
+
class le extends i {
|
|
958
1304
|
constructor(e) {
|
|
959
1305
|
super("LineRegistration", e);
|
|
960
1306
|
t(this, "id");
|
|
@@ -964,7 +1310,7 @@ class te extends n {
|
|
|
964
1310
|
this.id = parseInt(e[2]), this.source = e[3], this.name = e[4], this.version = e[5];
|
|
965
1311
|
}
|
|
966
1312
|
}
|
|
967
|
-
class
|
|
1313
|
+
class we extends i {
|
|
968
1314
|
constructor(e) {
|
|
969
1315
|
super("MapEffect", e);
|
|
970
1316
|
t(this, "instance");
|
|
@@ -975,7 +1321,7 @@ class se extends n {
|
|
|
975
1321
|
this.instance = parseInt(e[2], 16), this.flags = parseInt(e[3], 16), this.location = parseInt(e[4], 16), this.data0 = parseInt(e[5], 16), this.data1 = parseInt(e[6], 16);
|
|
976
1322
|
}
|
|
977
1323
|
}
|
|
978
|
-
class
|
|
1324
|
+
class ye extends i {
|
|
979
1325
|
constructor(e) {
|
|
980
1326
|
super("FateDirector", e);
|
|
981
1327
|
t(this, "category");
|
|
@@ -985,7 +1331,7 @@ class re extends n {
|
|
|
985
1331
|
this.category = e[2], this.unknown = parseInt(e[3], 16), this.id = parseInt(e[4], 16), this.progress = parseInt(e[5], 16);
|
|
986
1332
|
}
|
|
987
1333
|
}
|
|
988
|
-
class
|
|
1334
|
+
class fe extends i {
|
|
989
1335
|
constructor(e) {
|
|
990
1336
|
super("CEDirector", e);
|
|
991
1337
|
t(this, "popTime");
|
|
@@ -1000,7 +1346,7 @@ class ae extends n {
|
|
|
1000
1346
|
this.popTime = parseInt(e[2], 16), this.timeRemaining = parseInt(e[3], 16), this.unknown = parseInt(e[4], 16), this.ceKey = parseInt(e[5], 16), this.numPlayers = parseInt(e[6], 16), this.status = parseInt(e[7], 16), this.unknown2 = parseInt(e[8], 16), this.progress = parseInt(e[9], 16);
|
|
1001
1347
|
}
|
|
1002
1348
|
}
|
|
1003
|
-
class
|
|
1349
|
+
class ve extends i {
|
|
1004
1350
|
constructor(e) {
|
|
1005
1351
|
super("InCombat", e);
|
|
1006
1352
|
t(this, "inACTCombat");
|
|
@@ -1010,7 +1356,7 @@ class ne extends n {
|
|
|
1010
1356
|
this.inACTCombat = parseInt(e[2]) === 1, this.inGameCombat = parseInt(e[3]) === 1, this.isACTChanged = parseInt(e[4]) === 1, this.isGameChanged = parseInt(e[5]) === 1;
|
|
1011
1357
|
}
|
|
1012
1358
|
}
|
|
1013
|
-
class
|
|
1359
|
+
class be extends i {
|
|
1014
1360
|
constructor(e) {
|
|
1015
1361
|
super("CombatantMemory", e);
|
|
1016
1362
|
t(this, "change");
|
|
@@ -1021,7 +1367,7 @@ class ie extends n {
|
|
|
1021
1367
|
this.data.set(e[a], e[a + 1]);
|
|
1022
1368
|
}
|
|
1023
1369
|
}
|
|
1024
|
-
class
|
|
1370
|
+
class ke extends i {
|
|
1025
1371
|
constructor(e) {
|
|
1026
1372
|
super("RSVData", e);
|
|
1027
1373
|
t(this, "locale");
|
|
@@ -1031,7 +1377,7 @@ class ce extends n {
|
|
|
1031
1377
|
this.locale = e[2], this.unknown = parseInt(e[3], 16), this.key = e[4], this.value = e[5];
|
|
1032
1378
|
}
|
|
1033
1379
|
}
|
|
1034
|
-
class
|
|
1380
|
+
class xe extends i {
|
|
1035
1381
|
constructor(e) {
|
|
1036
1382
|
super("StartsUsingExtra", e);
|
|
1037
1383
|
t(this, "sourceID");
|
|
@@ -1043,7 +1389,7 @@ class he extends n {
|
|
|
1043
1389
|
this.sourceID = parseInt(e[2], 16), this.id = parseInt(e[3], 16), this.x = parseFloat(e[4]), this.y = parseFloat(e[5]), this.z = parseFloat(e[6]), this.heading = parseFloat(e[7]);
|
|
1044
1390
|
}
|
|
1045
1391
|
}
|
|
1046
|
-
class
|
|
1392
|
+
class De extends i {
|
|
1047
1393
|
constructor(e) {
|
|
1048
1394
|
super("AbilityExtra", e);
|
|
1049
1395
|
t(this, "sourceID");
|
|
@@ -1058,7 +1404,7 @@ class pe extends n {
|
|
|
1058
1404
|
this.sourceID = parseInt(e[2], 16), this.id = parseInt(e[3], 16), this.globalEffectCounter = parseInt(e[4], 16), this.dataFlag = parseInt(e[5], 16), this.x = parseFloat(e[6]), this.y = parseFloat(e[7]), this.z = parseFloat(e[8]), this.heading = parseFloat(e[9]), this.animationTargetId = parseInt(e[10], 16);
|
|
1059
1405
|
}
|
|
1060
1406
|
}
|
|
1061
|
-
class
|
|
1407
|
+
class Pe extends i {
|
|
1062
1408
|
constructor(e) {
|
|
1063
1409
|
super("ContentFinderSettings", e);
|
|
1064
1410
|
t(this, "zoneID");
|
|
@@ -1072,7 +1418,7 @@ class ue extends n {
|
|
|
1072
1418
|
this.zoneID = parseInt(e[2], 16), this.zoneName = e[3], this.inContentFinderContent = parseInt(e[4]) === 1, this.unrestrictedParty = parseInt(e[5]) === 1, this.minimalItemLevel = parseInt(e[6]) === 1, this.silenceEcho = parseInt(e[7]) === 1, this.explorerMode = parseInt(e[8]) === 1, this.levelSync = parseInt(e[9]) === 1;
|
|
1073
1419
|
}
|
|
1074
1420
|
}
|
|
1075
|
-
class
|
|
1421
|
+
class Ne extends i {
|
|
1076
1422
|
constructor(e) {
|
|
1077
1423
|
super("NpcYell", e);
|
|
1078
1424
|
t(this, "npcId");
|
|
@@ -1081,7 +1427,7 @@ class de extends n {
|
|
|
1081
1427
|
this.npcId = parseInt(e[2], 16), this.npcNameId = parseInt(e[3], 16), this.npcYellId = parseInt(e[4], 16);
|
|
1082
1428
|
}
|
|
1083
1429
|
}
|
|
1084
|
-
class
|
|
1430
|
+
class Ee extends i {
|
|
1085
1431
|
constructor(e) {
|
|
1086
1432
|
super("BattleTalk2", e);
|
|
1087
1433
|
t(this, "npcId");
|
|
@@ -1092,7 +1438,7 @@ class oe extends n {
|
|
|
1092
1438
|
this.npcId = parseInt(e[2], 16), this.instance = parseInt(e[3], 16), this.npcNameId = parseInt(e[4], 16), this.instanceContentTextId = parseInt(e[5], 16), this.displayMs = parseInt(e[6]);
|
|
1093
1439
|
}
|
|
1094
1440
|
}
|
|
1095
|
-
class
|
|
1441
|
+
class Fe extends i {
|
|
1096
1442
|
constructor(e) {
|
|
1097
1443
|
super("Countdown", e);
|
|
1098
1444
|
t(this, "id");
|
|
@@ -1103,7 +1449,7 @@ class Ie extends n {
|
|
|
1103
1449
|
this.id = parseInt(e[2], 16), this.worldID = parseInt(e[3], 16), this.countdownTime = parseInt(e[4]), this.result = parseInt(e[5], 16), this.name = e[6];
|
|
1104
1450
|
}
|
|
1105
1451
|
}
|
|
1106
|
-
class
|
|
1452
|
+
class Ce extends i {
|
|
1107
1453
|
constructor(e) {
|
|
1108
1454
|
super("CountdownCancel", e);
|
|
1109
1455
|
t(this, "id");
|
|
@@ -1112,7 +1458,7 @@ class me extends n {
|
|
|
1112
1458
|
this.id = parseInt(e[2], 16), this.worldID = parseInt(e[3], 16), this.name = e[4];
|
|
1113
1459
|
}
|
|
1114
1460
|
}
|
|
1115
|
-
class
|
|
1461
|
+
class Me extends i {
|
|
1116
1462
|
constructor(e) {
|
|
1117
1463
|
super("ActorMove", e);
|
|
1118
1464
|
t(this, "id");
|
|
@@ -1125,7 +1471,7 @@ class we extends n {
|
|
|
1125
1471
|
this.id = parseInt(e[2], 16), this.heading = parseFloat(e[3]), this.unk1 = parseInt(e[4], 16), this.unk2 = parseInt(e[5], 16), this.x = parseFloat(e[6]), this.y = parseFloat(e[7]), this.z = parseFloat(e[8]);
|
|
1126
1472
|
}
|
|
1127
1473
|
}
|
|
1128
|
-
class
|
|
1474
|
+
class He extends i {
|
|
1129
1475
|
constructor(e) {
|
|
1130
1476
|
super("ActorSetPos", e);
|
|
1131
1477
|
t(this, "id");
|
|
@@ -1138,7 +1484,7 @@ class ye extends n {
|
|
|
1138
1484
|
this.id = parseInt(e[2], 16), this.heading = parseFloat(e[3]), this.unk1 = parseInt(e[4], 16), this.unk2 = parseInt(e[5], 16), this.x = parseFloat(e[6]), this.y = parseFloat(e[7]), this.z = parseFloat(e[8]);
|
|
1139
1485
|
}
|
|
1140
1486
|
}
|
|
1141
|
-
class
|
|
1487
|
+
class Oe extends i {
|
|
1142
1488
|
constructor(e) {
|
|
1143
1489
|
super("SpawnNpcExtra", e);
|
|
1144
1490
|
t(this, "id");
|
|
@@ -1148,7 +1494,7 @@ class ve extends n {
|
|
|
1148
1494
|
this.id = parseInt(e[2], 16), this.parentID = parseInt(e[3], 16), this.tetherID = parseInt(e[4], 16), this.animationState = parseInt(e[5], 16);
|
|
1149
1495
|
}
|
|
1150
1496
|
}
|
|
1151
|
-
class
|
|
1497
|
+
class Te extends i {
|
|
1152
1498
|
constructor(e) {
|
|
1153
1499
|
super("ActorControlExtra", e);
|
|
1154
1500
|
t(this, "id");
|
|
@@ -1160,7 +1506,7 @@ class fe extends n {
|
|
|
1160
1506
|
this.id = parseInt(e[2], 16), this.category = parseInt(e[3], 16), this.param1 = parseInt(e[4], 16), this.param2 = parseInt(e[5], 16), this.param3 = parseInt(e[6], 16), this.param4 = parseInt(e[7], 16);
|
|
1161
1507
|
}
|
|
1162
1508
|
}
|
|
1163
|
-
class
|
|
1509
|
+
class Se extends i {
|
|
1164
1510
|
constructor(e) {
|
|
1165
1511
|
super("ActorControlSelfExtra", e);
|
|
1166
1512
|
t(this, "id");
|
|
@@ -1174,181 +1520,181 @@ class xe extends n {
|
|
|
1174
1520
|
this.id = parseInt(e[2], 16), this.category = parseInt(e[3], 16), this.param1 = parseInt(e[4], 16), this.param2 = parseInt(e[5], 16), this.param3 = parseInt(e[6], 16), this.param4 = parseInt(e[7], 16), this.param5 = parseInt(e[8], 16), this.param6 = parseInt(e[9], 16);
|
|
1175
1521
|
}
|
|
1176
1522
|
}
|
|
1177
|
-
class
|
|
1523
|
+
class Ae extends i {
|
|
1178
1524
|
constructor(e) {
|
|
1179
1525
|
super("Unknown", e);
|
|
1180
1526
|
t(this, "rawLines");
|
|
1181
1527
|
this.rawLines = e;
|
|
1182
1528
|
}
|
|
1183
1529
|
}
|
|
1184
|
-
function
|
|
1530
|
+
function _e(r) {
|
|
1185
1531
|
switch (parseInt(r[0])) {
|
|
1186
1532
|
case 0:
|
|
1187
|
-
return new
|
|
1533
|
+
return new q(r);
|
|
1188
1534
|
case 1:
|
|
1189
|
-
return new
|
|
1535
|
+
return new _(r);
|
|
1190
1536
|
case 2:
|
|
1191
|
-
return new
|
|
1537
|
+
return new z(r);
|
|
1192
1538
|
case 3:
|
|
1193
|
-
return new
|
|
1539
|
+
return new B(r);
|
|
1194
1540
|
case 4:
|
|
1195
|
-
return new
|
|
1541
|
+
return new U(r);
|
|
1196
1542
|
case 11:
|
|
1197
|
-
return new
|
|
1543
|
+
return new j(r);
|
|
1198
1544
|
case 12:
|
|
1199
|
-
return new
|
|
1545
|
+
return new V(r);
|
|
1200
1546
|
case 20:
|
|
1201
|
-
return new
|
|
1547
|
+
return new W(r);
|
|
1202
1548
|
case 21:
|
|
1203
1549
|
case 22:
|
|
1204
|
-
return new
|
|
1550
|
+
return new G(r);
|
|
1205
1551
|
case 23:
|
|
1206
|
-
return new
|
|
1552
|
+
return new Y(r);
|
|
1207
1553
|
case 24:
|
|
1208
|
-
return new
|
|
1554
|
+
return new Z(r);
|
|
1209
1555
|
case 25:
|
|
1210
|
-
return new
|
|
1556
|
+
return new J(r);
|
|
1211
1557
|
case 26:
|
|
1212
|
-
return new
|
|
1558
|
+
return new X(r);
|
|
1213
1559
|
case 27:
|
|
1214
|
-
return new
|
|
1560
|
+
return new K(r);
|
|
1215
1561
|
case 28:
|
|
1216
|
-
return new
|
|
1562
|
+
return new $(r);
|
|
1217
1563
|
case 29:
|
|
1218
|
-
return new
|
|
1564
|
+
return new Q(r);
|
|
1219
1565
|
case 30:
|
|
1220
|
-
return new
|
|
1566
|
+
return new g(r);
|
|
1221
1567
|
case 31:
|
|
1222
|
-
return new
|
|
1568
|
+
return new ee(r);
|
|
1223
1569
|
case 33:
|
|
1224
|
-
return new
|
|
1570
|
+
return new te(r);
|
|
1225
1571
|
case 34:
|
|
1226
|
-
return new
|
|
1572
|
+
return new se(r);
|
|
1227
1573
|
case 35:
|
|
1228
|
-
return new
|
|
1574
|
+
return new re(r);
|
|
1229
1575
|
case 36:
|
|
1230
|
-
return new
|
|
1576
|
+
return new ae(r);
|
|
1231
1577
|
case 37:
|
|
1232
|
-
return new
|
|
1578
|
+
return new ne(r);
|
|
1233
1579
|
case 38:
|
|
1234
|
-
return new
|
|
1580
|
+
return new ie(r);
|
|
1235
1581
|
case 39:
|
|
1236
|
-
return new
|
|
1582
|
+
return new ce(r);
|
|
1237
1583
|
case 40:
|
|
1238
|
-
return new
|
|
1584
|
+
return new he(r);
|
|
1239
1585
|
case 41:
|
|
1240
|
-
return new
|
|
1586
|
+
return new pe(r);
|
|
1241
1587
|
case 42:
|
|
1242
|
-
return new
|
|
1588
|
+
return new oe(r);
|
|
1243
1589
|
case 251:
|
|
1244
|
-
return new
|
|
1590
|
+
return new de(r);
|
|
1245
1591
|
case 252:
|
|
1246
|
-
return new
|
|
1592
|
+
return new ue(r);
|
|
1247
1593
|
case 253:
|
|
1248
|
-
return new
|
|
1594
|
+
return new Ie(r);
|
|
1249
1595
|
case 254:
|
|
1250
|
-
return new
|
|
1596
|
+
return new me(r);
|
|
1251
1597
|
case 256:
|
|
1252
|
-
return new
|
|
1598
|
+
return new le(r);
|
|
1253
1599
|
case 257:
|
|
1254
|
-
return new
|
|
1600
|
+
return new we(r);
|
|
1255
1601
|
case 258:
|
|
1256
|
-
return new
|
|
1602
|
+
return new ye(r);
|
|
1257
1603
|
case 259:
|
|
1258
|
-
return new
|
|
1604
|
+
return new fe(r);
|
|
1259
1605
|
case 260:
|
|
1260
|
-
return new
|
|
1606
|
+
return new ve(r);
|
|
1261
1607
|
case 261:
|
|
1262
|
-
return new
|
|
1608
|
+
return new be(r);
|
|
1263
1609
|
case 262:
|
|
1264
|
-
return new
|
|
1610
|
+
return new ke(r);
|
|
1265
1611
|
case 263:
|
|
1266
|
-
return new
|
|
1612
|
+
return new xe(r);
|
|
1267
1613
|
case 264:
|
|
1268
|
-
return new
|
|
1614
|
+
return new De(r);
|
|
1269
1615
|
case 265:
|
|
1270
|
-
return new
|
|
1616
|
+
return new Pe(r);
|
|
1271
1617
|
case 266:
|
|
1272
|
-
return new
|
|
1618
|
+
return new Ne(r);
|
|
1273
1619
|
case 267:
|
|
1274
|
-
return new
|
|
1620
|
+
return new Ee(r);
|
|
1275
1621
|
case 268:
|
|
1276
|
-
return new
|
|
1622
|
+
return new Fe(r);
|
|
1277
1623
|
case 269:
|
|
1278
|
-
return new
|
|
1624
|
+
return new Ce(r);
|
|
1279
1625
|
case 270:
|
|
1280
|
-
return new
|
|
1626
|
+
return new Me(r);
|
|
1281
1627
|
case 271:
|
|
1282
|
-
return new
|
|
1628
|
+
return new He(r);
|
|
1283
1629
|
case 272:
|
|
1284
|
-
return new
|
|
1630
|
+
return new Oe(r);
|
|
1285
1631
|
case 273:
|
|
1286
|
-
return new
|
|
1632
|
+
return new Te(r);
|
|
1287
1633
|
case 274:
|
|
1288
|
-
return new
|
|
1634
|
+
return new Se(r);
|
|
1289
1635
|
default:
|
|
1290
|
-
return new
|
|
1636
|
+
return new Ae(r);
|
|
1291
1637
|
}
|
|
1292
1638
|
}
|
|
1293
|
-
let
|
|
1639
|
+
let Le = new R();
|
|
1294
1640
|
(function() {
|
|
1295
|
-
|
|
1641
|
+
Le.Connect();
|
|
1296
1642
|
})();
|
|
1297
1643
|
export {
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1644
|
+
De as AbilityExtra,
|
|
1645
|
+
Te as ActorControlExtra,
|
|
1646
|
+
Se as ActorControlSelfExtra,
|
|
1647
|
+
Me as ActorMove,
|
|
1648
|
+
He as ActorSetPos,
|
|
1649
|
+
B as AddCombatant,
|
|
1650
|
+
Ee as BattleTalk2,
|
|
1651
|
+
fe as CEDirector,
|
|
1652
|
+
z as ChangePrimaryPlayer,
|
|
1653
|
+
_ as ChangeZone,
|
|
1654
|
+
be as CombatantMemory,
|
|
1655
|
+
Pe as ContentFinderSettings,
|
|
1656
|
+
Fe as Countdown,
|
|
1657
|
+
Ce as CountdownCancel,
|
|
1658
|
+
de as Debug,
|
|
1659
|
+
me as Error,
|
|
1660
|
+
ye as FateDirector,
|
|
1661
|
+
q as GameLogLine,
|
|
1662
|
+
ve as InCombat,
|
|
1663
|
+
ae as LimitBreak,
|
|
1664
|
+
le as LineRegistration,
|
|
1665
|
+
i as LogLineBase,
|
|
1666
|
+
we as MapEffect,
|
|
1667
|
+
he as MapLog,
|
|
1668
|
+
W as NetowrkStartsCasting,
|
|
1669
|
+
G as NetworkAbility,
|
|
1670
|
+
ne as NetworkActionSync,
|
|
1671
|
+
te as NetworkActorControl,
|
|
1672
|
+
X as NetworkBuff,
|
|
1673
|
+
g as NetworkBuffRemove,
|
|
1674
|
+
Y as NetworkCancelAbility,
|
|
1675
|
+
J as NetworkDeath,
|
|
1676
|
+
Z as NetworkDoT,
|
|
1677
|
+
ee as NetworkGauge,
|
|
1678
|
+
se as NetworkNameToggle,
|
|
1679
|
+
$ as NetworkRaidMarker,
|
|
1680
|
+
ie as NetworkStatusEffects,
|
|
1681
|
+
K as NetworkTargetIcon,
|
|
1682
|
+
Q as NetworkTargetMarker,
|
|
1683
|
+
re as NetworkTether,
|
|
1684
|
+
ce as NetworkUpdateHP,
|
|
1685
|
+
Ne as NpcYell,
|
|
1686
|
+
R as OverlayToolkit,
|
|
1687
|
+
ue as PacketDump,
|
|
1688
|
+
_e as ParseLogLine,
|
|
1689
|
+
j as PartyList,
|
|
1690
|
+
V as PlayerStats,
|
|
1691
|
+
ke as RSVData,
|
|
1692
|
+
U as RemoveCombatant,
|
|
1693
|
+
Oe as SpawnNpcExtra,
|
|
1694
|
+
xe as StartsUsingExtra,
|
|
1695
|
+
oe as StatusList3,
|
|
1696
|
+
pe as SystemLogMessage,
|
|
1697
|
+
Ae as UnknownLogLine,
|
|
1698
|
+
Ie as Version,
|
|
1699
|
+
Le as default
|
|
1354
1700
|
};
|