ygopro-msg-encode 1.1.19 → 1.1.21
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/index.cjs +112 -8
- package/dist/index.cjs.map +3 -3
- package/dist/index.mjs +112 -8
- package/dist/index.mjs.map +3 -3
- package/dist/src/proto-base/index.d.ts +1 -0
- package/dist/src/proto-base/proto-registry-base.d.ts +10 -0
- package/dist/src/proto-base/registry-base.d.ts +1 -0
- package/dist/src/protos/ctos/registry.d.ts +2 -2
- package/dist/src/protos/msg/proto/select-card.d.ts +2 -0
- package/dist/src/protos/msg/proto/select-tribute.d.ts +2 -0
- package/dist/src/protos/msg/proto/select-unselect-card.d.ts +2 -0
- package/dist/src/protos/stoc/registry.d.ts +2 -2
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -57,6 +57,7 @@ __export(index_exports, {
|
|
|
57
57
|
OcgcoreScriptConstants: () => OcgcoreScriptConstants,
|
|
58
58
|
PayloadBase: () => PayloadBase,
|
|
59
59
|
PlayerChangeState: () => PlayerChangeState,
|
|
60
|
+
ProtoRegistryBase: () => ProtoRegistryBase,
|
|
60
61
|
RegistryBase: () => RegistryBase,
|
|
61
62
|
RoomStatus: () => RoomStatus,
|
|
62
63
|
SEND_TO_ALL: () => SEND_TO_ALL,
|
|
@@ -1568,10 +1569,77 @@ var _RegistryBase = class _RegistryBase {
|
|
|
1568
1569
|
data.slice(this.options.dataOffset ?? 0)
|
|
1569
1570
|
);
|
|
1570
1571
|
}
|
|
1572
|
+
getInstancesFromPayload(data) {
|
|
1573
|
+
const instances = [];
|
|
1574
|
+
const identifierOffset = this.options.identifierOffset ?? 0;
|
|
1575
|
+
const dataOffset = this.options.dataOffset ?? 0;
|
|
1576
|
+
const minLength = Math.max(identifierOffset + 1, dataOffset);
|
|
1577
|
+
let remaining = data;
|
|
1578
|
+
while (remaining.length > 0) {
|
|
1579
|
+
if (remaining.length < minLength) {
|
|
1580
|
+
break;
|
|
1581
|
+
}
|
|
1582
|
+
try {
|
|
1583
|
+
const instance = this.getInstanceFromPayload(remaining);
|
|
1584
|
+
if (!instance) {
|
|
1585
|
+
break;
|
|
1586
|
+
}
|
|
1587
|
+
const consumed = dataOffset + instance.toPayload().length;
|
|
1588
|
+
if (consumed <= 0 || consumed > remaining.length) {
|
|
1589
|
+
break;
|
|
1590
|
+
}
|
|
1591
|
+
instances.push(instance);
|
|
1592
|
+
remaining = remaining.slice(consumed);
|
|
1593
|
+
} catch {
|
|
1594
|
+
break;
|
|
1595
|
+
}
|
|
1596
|
+
}
|
|
1597
|
+
return instances;
|
|
1598
|
+
}
|
|
1571
1599
|
};
|
|
1572
1600
|
__name(_RegistryBase, "RegistryBase");
|
|
1573
1601
|
var RegistryBase = _RegistryBase;
|
|
1574
1602
|
|
|
1603
|
+
// src/proto-base/proto-registry-base.ts
|
|
1604
|
+
var _ProtoRegistryBase = class _ProtoRegistryBase extends RegistryBase {
|
|
1605
|
+
constructor(payloadClass) {
|
|
1606
|
+
super(payloadClass, {
|
|
1607
|
+
identifierOffset: 2,
|
|
1608
|
+
dataOffset: 3
|
|
1609
|
+
});
|
|
1610
|
+
}
|
|
1611
|
+
getInstancesFromPayload(data) {
|
|
1612
|
+
const instances = [];
|
|
1613
|
+
let offset = 0;
|
|
1614
|
+
while (offset + 2 <= data.length) {
|
|
1615
|
+
const declaredLength = data[offset] | data[offset + 1] << 8;
|
|
1616
|
+
if (declaredLength <= 0) {
|
|
1617
|
+
break;
|
|
1618
|
+
}
|
|
1619
|
+
const packetLength = 2 + declaredLength;
|
|
1620
|
+
if (offset + packetLength > data.length) {
|
|
1621
|
+
break;
|
|
1622
|
+
}
|
|
1623
|
+
const chunk = data.slice(offset, offset + packetLength);
|
|
1624
|
+
const identifier = chunk[2];
|
|
1625
|
+
const proto = this.get(identifier);
|
|
1626
|
+
if (!proto) {
|
|
1627
|
+
break;
|
|
1628
|
+
}
|
|
1629
|
+
try {
|
|
1630
|
+
const instance = new proto().fromFullPayload(chunk);
|
|
1631
|
+
instances.push(instance);
|
|
1632
|
+
} catch {
|
|
1633
|
+
break;
|
|
1634
|
+
}
|
|
1635
|
+
offset += packetLength;
|
|
1636
|
+
}
|
|
1637
|
+
return instances;
|
|
1638
|
+
}
|
|
1639
|
+
};
|
|
1640
|
+
__name(_ProtoRegistryBase, "ProtoRegistryBase");
|
|
1641
|
+
var ProtoRegistryBase = _ProtoRegistryBase;
|
|
1642
|
+
|
|
1575
1643
|
// src/protos/ctos/proto/response.ts
|
|
1576
1644
|
var _YGOProCtosResponse = class _YGOProCtosResponse extends YGOProCtosBase {
|
|
1577
1645
|
fromPayload(data) {
|
|
@@ -1864,10 +1932,7 @@ _YGOProCtosRequestField.identifier = 48;
|
|
|
1864
1932
|
var YGOProCtosRequestField = _YGOProCtosRequestField;
|
|
1865
1933
|
|
|
1866
1934
|
// src/protos/ctos/registry.ts
|
|
1867
|
-
var YGOProCtos = new
|
|
1868
|
-
identifierOffset: 2,
|
|
1869
|
-
dataOffset: 3
|
|
1870
|
-
});
|
|
1935
|
+
var YGOProCtos = new ProtoRegistryBase(YGOProCtosBase);
|
|
1871
1936
|
YGOProCtos.register(YGOProCtosResponse);
|
|
1872
1937
|
YGOProCtos.register(YGOProCtosUpdateDeck);
|
|
1873
1938
|
YGOProCtos.register(YGOProCtosHandResult);
|
|
@@ -4296,6 +4361,18 @@ __decorateClass([
|
|
|
4296
4361
|
], _YGOProMsgSelectCard_CardInfo.prototype, "subsequence", 2);
|
|
4297
4362
|
var YGOProMsgSelectCard_CardInfo = _YGOProMsgSelectCard_CardInfo;
|
|
4298
4363
|
var _YGOProMsgSelectCard = class _YGOProMsgSelectCard extends YGOProMsgResponseBase {
|
|
4364
|
+
maskedView(playerId) {
|
|
4365
|
+
const view = this.copy();
|
|
4366
|
+
for (const card of view.cards || []) {
|
|
4367
|
+
if (card.controller !== playerId) {
|
|
4368
|
+
card.code = 0;
|
|
4369
|
+
}
|
|
4370
|
+
}
|
|
4371
|
+
return view;
|
|
4372
|
+
}
|
|
4373
|
+
playerView(playerId) {
|
|
4374
|
+
return this.maskedView(playerId);
|
|
4375
|
+
}
|
|
4299
4376
|
responsePlayer() {
|
|
4300
4377
|
return this.player;
|
|
4301
4378
|
}
|
|
@@ -5026,6 +5103,18 @@ __decorateClass([
|
|
|
5026
5103
|
], _YGOProMsgSelectTribute_CardInfo.prototype, "releaseParam", 2);
|
|
5027
5104
|
var YGOProMsgSelectTribute_CardInfo = _YGOProMsgSelectTribute_CardInfo;
|
|
5028
5105
|
var _YGOProMsgSelectTribute = class _YGOProMsgSelectTribute extends YGOProMsgResponseBase {
|
|
5106
|
+
maskedView(playerId) {
|
|
5107
|
+
const view = this.copy();
|
|
5108
|
+
for (const card of view.cards || []) {
|
|
5109
|
+
if (card.controller !== playerId) {
|
|
5110
|
+
card.code = 0;
|
|
5111
|
+
}
|
|
5112
|
+
}
|
|
5113
|
+
return view;
|
|
5114
|
+
}
|
|
5115
|
+
playerView(playerId) {
|
|
5116
|
+
return this.maskedView(playerId);
|
|
5117
|
+
}
|
|
5029
5118
|
responsePlayer() {
|
|
5030
5119
|
return this.player;
|
|
5031
5120
|
}
|
|
@@ -5113,6 +5202,23 @@ __decorateClass([
|
|
|
5113
5202
|
], _YGOProMsgSelectUnselectCard_CardInfo.prototype, "subsequence", 2);
|
|
5114
5203
|
var YGOProMsgSelectUnselectCard_CardInfo = _YGOProMsgSelectUnselectCard_CardInfo;
|
|
5115
5204
|
var _YGOProMsgSelectUnselectCard = class _YGOProMsgSelectUnselectCard extends YGOProMsgResponseBase {
|
|
5205
|
+
maskedView(playerId) {
|
|
5206
|
+
const view = this.copy();
|
|
5207
|
+
for (const card of view.selectableCards || []) {
|
|
5208
|
+
if (card.controller !== playerId) {
|
|
5209
|
+
card.code = 0;
|
|
5210
|
+
}
|
|
5211
|
+
}
|
|
5212
|
+
for (const card of view.unselectableCards || []) {
|
|
5213
|
+
if (card.controller !== playerId) {
|
|
5214
|
+
card.code = 0;
|
|
5215
|
+
}
|
|
5216
|
+
}
|
|
5217
|
+
return view;
|
|
5218
|
+
}
|
|
5219
|
+
playerView(playerId) {
|
|
5220
|
+
return this.maskedView(playerId);
|
|
5221
|
+
}
|
|
5116
5222
|
responsePlayer() {
|
|
5117
5223
|
return this.player;
|
|
5118
5224
|
}
|
|
@@ -6431,10 +6537,7 @@ __decorateClass([
|
|
|
6431
6537
|
var YGOProStocSrvproRoomlist = _YGOProStocSrvproRoomlist;
|
|
6432
6538
|
|
|
6433
6539
|
// src/protos/stoc/registry.ts
|
|
6434
|
-
var YGOProStoc = new
|
|
6435
|
-
identifierOffset: 2,
|
|
6436
|
-
dataOffset: 3
|
|
6437
|
-
});
|
|
6540
|
+
var YGOProStoc = new ProtoRegistryBase(YGOProStocBase);
|
|
6438
6541
|
YGOProStoc.register(YGOProStocGameMsg);
|
|
6439
6542
|
YGOProStoc.register(YGOProStocErrorMsg);
|
|
6440
6543
|
YGOProStoc.register(YGOProStocSelectHand);
|
|
@@ -6480,6 +6583,7 @@ YGOProStoc.register(YGOProStocSrvproRoomlist);
|
|
|
6480
6583
|
OcgcoreScriptConstants,
|
|
6481
6584
|
PayloadBase,
|
|
6482
6585
|
PlayerChangeState,
|
|
6586
|
+
ProtoRegistryBase,
|
|
6483
6587
|
RegistryBase,
|
|
6484
6588
|
RoomStatus,
|
|
6485
6589
|
SEND_TO_ALL,
|