ygopro-msg-encode 1.0.1 → 1.0.2

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 (31) hide show
  1. package/MSG_RESPONSE_GUIDE.md +578 -0
  2. package/README.md +72 -0
  3. package/dist/index.cjs +553 -82
  4. package/dist/index.cjs.map +4 -4
  5. package/dist/index.d.ts +2 -0
  6. package/dist/index.mjs +546 -82
  7. package/dist/index.mjs.map +4 -4
  8. package/dist/src/protos/msg/index-response.d.ts +8 -0
  9. package/dist/src/protos/msg/index.d.ts +2 -0
  10. package/dist/src/protos/msg/proto/announce-attrib.d.ts +4 -3
  11. package/dist/src/protos/msg/proto/announce-card.d.ts +4 -3
  12. package/dist/src/protos/msg/proto/announce-number.d.ts +4 -2
  13. package/dist/src/protos/msg/proto/announce-race.d.ts +4 -3
  14. package/dist/src/protos/msg/proto/select-battlecmd.d.ts +16 -2
  15. package/dist/src/protos/msg/proto/select-card.d.ts +10 -2
  16. package/dist/src/protos/msg/proto/select-chain.d.ts +13 -3
  17. package/dist/src/protos/msg/proto/select-counter.d.ts +12 -3
  18. package/dist/src/protos/msg/proto/select-disfield.d.ts +7 -2
  19. package/dist/src/protos/msg/proto/select-effectyn.d.ts +4 -2
  20. package/dist/src/protos/msg/proto/select-idlecmd.d.ts +23 -8
  21. package/dist/src/protos/msg/proto/select-option.d.ts +4 -2
  22. package/dist/src/protos/msg/proto/select-place.d.ts +7 -2
  23. package/dist/src/protos/msg/proto/select-position.d.ts +3 -2
  24. package/dist/src/protos/msg/proto/select-sum.d.ts +9 -2
  25. package/dist/src/protos/msg/proto/select-tribute.d.ts +10 -3
  26. package/dist/src/protos/msg/proto/select-unselect-card.d.ts +10 -2
  27. package/dist/src/protos/msg/proto/select-yesno.d.ts +4 -2
  28. package/dist/src/protos/msg/proto/sort-card.d.ts +10 -2
  29. package/dist/src/protos/msg/with-response-base.d.ts +4 -0
  30. package/index.ts +2 -0
  31. package/package.json +1 -1
@@ -0,0 +1,8 @@
1
+ declare const INDEX_RESPONSE_SYMBOL: unique symbol;
2
+ export interface IndexResponseObject {
3
+ [INDEX_RESPONSE_SYMBOL]: true;
4
+ index: number;
5
+ }
6
+ export declare const IndexResponse: (index: number) => IndexResponseObject;
7
+ export declare const isIndexResponse: (obj: any) => obj is IndexResponseObject;
8
+ export {};
@@ -1,3 +1,5 @@
1
1
  export * from './base';
2
2
  export * from './registry';
3
3
  export * from './proto';
4
+ export * from './index-response';
5
+ export * from './with-response-base';
@@ -1,7 +1,8 @@
1
- import { YGOProMsgBase } from '../base';
2
- export declare class YGOProMsgAnnounceAttrib extends YGOProMsgBase {
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ export declare class YGOProMsgAnnounceAttrib extends YGOProMsgResponseBase {
3
3
  static identifier: 141;
4
4
  player: number;
5
- availableAttributes: number;
6
5
  count: number;
6
+ availableAttributes: number;
7
+ prepareResponse(attributes: number): Uint8Array<ArrayBuffer>;
7
8
  }
@@ -1,7 +1,8 @@
1
- import { YGOProMsgBase } from '../base';
2
- export declare class YGOProMsgAnnounceCard extends YGOProMsgBase {
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ export declare class YGOProMsgAnnounceCard extends YGOProMsgResponseBase {
3
3
  static identifier: 142;
4
4
  player: number;
5
5
  count: number;
6
- cards: number[];
6
+ opcodes: number[];
7
+ prepareResponse(cardCode: number): Uint8Array<ArrayBuffer>;
7
8
  }
@@ -1,7 +1,9 @@
1
- import { YGOProMsgBase } from '../base';
2
- export declare class YGOProMsgAnnounceNumber extends YGOProMsgBase {
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ import { IndexResponseObject } from '../index-response';
3
+ export declare class YGOProMsgAnnounceNumber extends YGOProMsgResponseBase {
3
4
  static identifier: 143;
4
5
  player: number;
5
6
  count: number;
6
7
  numbers: number[];
8
+ prepareResponse(option: IndexResponseObject | number): Uint8Array<ArrayBuffer>;
7
9
  }
@@ -1,7 +1,8 @@
1
- import { YGOProMsgBase } from '../base';
2
- export declare class YGOProMsgAnnounceRace extends YGOProMsgBase {
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ export declare class YGOProMsgAnnounceRace extends YGOProMsgResponseBase {
3
3
  static identifier: 140;
4
4
  player: number;
5
- availableRaces: number;
6
5
  count: number;
6
+ availableRaces: number;
7
+ prepareResponse(races: number): Uint8Array<ArrayBuffer>;
7
8
  }
@@ -1,4 +1,11 @@
1
- import { YGOProMsgBase } from '../base';
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ import { IndexResponseObject } from '../index-response';
3
+ export declare enum BattleCmdType {
4
+ ACTIVATE = 0,
5
+ ATTACK = 1,
6
+ TO_M2 = 2,
7
+ TO_EP = 3
8
+ }
2
9
  export declare class YGOProMsgSelectBattleCmd_ActivatableInfo {
3
10
  code: number;
4
11
  controller: number;
@@ -13,7 +20,7 @@ export declare class YGOProMsgSelectBattleCmd_AttackableInfo {
13
20
  sequence: number;
14
21
  directAttack: number;
15
22
  }
16
- export declare class YGOProMsgSelectBattleCmd extends YGOProMsgBase {
23
+ export declare class YGOProMsgSelectBattleCmd extends YGOProMsgResponseBase {
17
24
  static identifier: 10;
18
25
  player: number;
19
26
  activatableCount: number;
@@ -22,4 +29,11 @@ export declare class YGOProMsgSelectBattleCmd extends YGOProMsgBase {
22
29
  attackableCards: YGOProMsgSelectBattleCmd_AttackableInfo[];
23
30
  canM2: number;
24
31
  canEp: number;
32
+ prepareResponse(type: BattleCmdType, option?: IndexResponseObject | {
33
+ code?: number;
34
+ controller?: number;
35
+ location?: number;
36
+ sequence?: number;
37
+ desc?: number;
38
+ }): Uint8Array<ArrayBuffer>;
25
39
  }
@@ -1,4 +1,5 @@
1
- import { YGOProMsgBase } from '../base';
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ import { IndexResponseObject } from '../index-response';
2
3
  export declare class YGOProMsgSelectCard_CardInfo {
3
4
  code: number;
4
5
  controller: number;
@@ -6,7 +7,7 @@ export declare class YGOProMsgSelectCard_CardInfo {
6
7
  sequence: number;
7
8
  subsequence: number;
8
9
  }
9
- export declare class YGOProMsgSelectCard extends YGOProMsgBase {
10
+ export declare class YGOProMsgSelectCard extends YGOProMsgResponseBase {
10
11
  static identifier: 15;
11
12
  player: number;
12
13
  cancelable: number;
@@ -14,4 +15,11 @@ export declare class YGOProMsgSelectCard extends YGOProMsgBase {
14
15
  max: number;
15
16
  count: number;
16
17
  cards: YGOProMsgSelectCard_CardInfo[];
18
+ defaultResponse(): Uint8Array<ArrayBuffer>;
19
+ prepareResponse(cardOptions?: Array<IndexResponseObject | {
20
+ code?: number;
21
+ controller?: number;
22
+ location?: number;
23
+ sequence?: number;
24
+ }> | null): Uint8Array<ArrayBuffer>;
17
25
  }
@@ -1,14 +1,16 @@
1
- import { YGOProMsgBase } from '../base';
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ import { IndexResponseObject } from '../index-response';
2
3
  export declare class YGOProMsgSelectChain_ChainInfo {
4
+ edesc: number;
5
+ forced: number;
3
6
  code: number;
4
7
  controller: number;
5
8
  location: number;
6
9
  sequence: number;
7
10
  subsequence: number;
8
11
  desc: number;
9
- chainCount: number;
10
12
  }
11
- export declare class YGOProMsgSelectChain extends YGOProMsgBase {
13
+ export declare class YGOProMsgSelectChain extends YGOProMsgResponseBase {
12
14
  static identifier: 16;
13
15
  player: number;
14
16
  count: number;
@@ -16,4 +18,12 @@ export declare class YGOProMsgSelectChain extends YGOProMsgBase {
16
18
  hint0: number;
17
19
  hint1: number;
18
20
  chains: YGOProMsgSelectChain_ChainInfo[];
21
+ defaultResponse(): Uint8Array<ArrayBuffer>;
22
+ prepareResponse(option?: IndexResponseObject | {
23
+ code?: number;
24
+ controller?: number;
25
+ location?: number;
26
+ sequence?: number;
27
+ desc?: number;
28
+ } | null): Uint8Array<ArrayBuffer>;
19
29
  }
@@ -1,17 +1,26 @@
1
- import { YGOProMsgBase } from '../base';
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ import { IndexResponseObject } from '../index-response';
2
3
  export declare class YGOProMsgSelectCounter_CardInfo {
3
4
  code: number;
4
5
  controller: number;
5
6
  location: number;
6
7
  sequence: number;
7
- subsequence: number;
8
8
  counterCount: number;
9
9
  }
10
- export declare class YGOProMsgSelectCounter extends YGOProMsgBase {
10
+ export declare class YGOProMsgSelectCounter extends YGOProMsgResponseBase {
11
11
  static identifier: 22;
12
12
  player: number;
13
13
  counterType: number;
14
14
  counterCount: number;
15
15
  count: number;
16
16
  cards: YGOProMsgSelectCounter_CardInfo[];
17
+ prepareResponse(counterOptions: Array<{
18
+ card: IndexResponseObject | {
19
+ code?: number;
20
+ controller?: number;
21
+ location?: number;
22
+ sequence?: number;
23
+ };
24
+ count: number;
25
+ }>): Uint8Array<ArrayBuffer>;
17
26
  }
@@ -1,7 +1,12 @@
1
- import { YGOProMsgBase } from '../base';
2
- export declare class YGOProMsgSelectDisField extends YGOProMsgBase {
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ export declare class YGOProMsgSelectDisField extends YGOProMsgResponseBase {
3
3
  static identifier: 24;
4
4
  player: number;
5
5
  count: number;
6
6
  flag: number;
7
+ prepareResponse(places: Array<{
8
+ player: number;
9
+ location: number;
10
+ sequence: number;
11
+ }>): Uint8Array<ArrayBuffer>;
7
12
  }
@@ -1,5 +1,5 @@
1
- import { YGOProMsgBase } from '../base';
2
- export declare class YGOProMsgSelectEffectYn extends YGOProMsgBase {
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ export declare class YGOProMsgSelectEffectYn extends YGOProMsgResponseBase {
3
3
  static identifier: 12;
4
4
  player: number;
5
5
  code: number;
@@ -8,4 +8,6 @@ export declare class YGOProMsgSelectEffectYn extends YGOProMsgBase {
8
8
  sequence: number;
9
9
  position: number;
10
10
  desc: number;
11
+ defaultResponse(): Uint8Array<ArrayBuffer>;
12
+ prepareResponse(yes: boolean): Uint8Array<ArrayBuffer>;
11
13
  }
@@ -1,4 +1,16 @@
1
- import { YGOProMsgBase } from '../base';
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ import { IndexResponseObject } from '../index-response';
3
+ export declare enum IdleCmdType {
4
+ SUMMON = 0,
5
+ SPSUMMON = 1,
6
+ REPOS = 2,
7
+ MSET = 3,
8
+ SSET = 4,
9
+ ACTIVATE = 5,
10
+ TO_BP = 6,
11
+ TO_EP = 7,
12
+ SHUFFLE = 8
13
+ }
2
14
  export declare class YGOProMsgSelectIdleCmd_SimpleCardInfo {
3
15
  code: number;
4
16
  controller: number;
@@ -12,7 +24,7 @@ export declare class YGOProMsgSelectIdleCmd_ActivatableInfo {
12
24
  sequence: number;
13
25
  desc: number;
14
26
  }
15
- export declare class YGOProMsgSelectIdleCmd extends YGOProMsgBase {
27
+ export declare class YGOProMsgSelectIdleCmd extends YGOProMsgResponseBase {
16
28
  static identifier: 11;
17
29
  player: number;
18
30
  summonableCount: number;
@@ -23,15 +35,18 @@ export declare class YGOProMsgSelectIdleCmd extends YGOProMsgBase {
23
35
  reposableCards: YGOProMsgSelectIdleCmd_SimpleCardInfo[];
24
36
  msetableCount: number;
25
37
  msetableCards: YGOProMsgSelectIdleCmd_SimpleCardInfo[];
38
+ ssetableCount: number;
39
+ ssetableCards: YGOProMsgSelectIdleCmd_SimpleCardInfo[];
26
40
  activatableCount: number;
27
41
  activatableCards: YGOProMsgSelectIdleCmd_ActivatableInfo[];
28
- toBpCount: number;
29
- toBpCards: YGOProMsgSelectIdleCmd_ActivatableInfo[];
30
- toEpCount: number;
31
- toEpCards: YGOProMsgSelectIdleCmd_ActivatableInfo[];
32
- shuffleCount: number;
33
- shuffleCards: YGOProMsgSelectIdleCmd_ActivatableInfo[];
34
42
  canBp: number;
35
43
  canEp: number;
36
44
  canShuffle: number;
45
+ prepareResponse(type: IdleCmdType, option?: IndexResponseObject | {
46
+ code?: number;
47
+ controller?: number;
48
+ location?: number;
49
+ sequence?: number;
50
+ desc?: number;
51
+ }): Uint8Array<ArrayBuffer>;
37
52
  }
@@ -1,7 +1,9 @@
1
- import { YGOProMsgBase } from '../base';
2
- export declare class YGOProMsgSelectOption extends YGOProMsgBase {
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ import { IndexResponseObject } from '../index-response';
3
+ export declare class YGOProMsgSelectOption extends YGOProMsgResponseBase {
3
4
  static identifier: 14;
4
5
  player: number;
5
6
  count: number;
6
7
  options: number[];
8
+ prepareResponse(option: IndexResponseObject | number): Uint8Array<ArrayBuffer>;
7
9
  }
@@ -1,7 +1,12 @@
1
- import { YGOProMsgBase } from '../base';
2
- export declare class YGOProMsgSelectPlace extends YGOProMsgBase {
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ export declare class YGOProMsgSelectPlace extends YGOProMsgResponseBase {
3
3
  static identifier: 18;
4
4
  player: number;
5
5
  count: number;
6
6
  flag: number;
7
+ prepareResponse(places: Array<{
8
+ player: number;
9
+ location: number;
10
+ sequence: number;
11
+ }>): Uint8Array<ArrayBuffer>;
7
12
  }
@@ -1,7 +1,8 @@
1
- import { YGOProMsgBase } from '../base';
2
- export declare class YGOProMsgSelectPosition extends YGOProMsgBase {
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ export declare class YGOProMsgSelectPosition extends YGOProMsgResponseBase {
3
3
  static identifier: 19;
4
4
  player: number;
5
5
  code: number;
6
6
  positions: number;
7
+ prepareResponse(position: number): Uint8Array<ArrayBuffer>;
7
8
  }
@@ -1,4 +1,5 @@
1
- import { YGOProMsgBase } from '../base';
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ import { IndexResponseObject } from '../index-response';
2
3
  export declare class YGOProMsgSelectSum_CardInfo {
3
4
  code: number;
4
5
  controller: number;
@@ -6,7 +7,7 @@ export declare class YGOProMsgSelectSum_CardInfo {
6
7
  sequence: number;
7
8
  opParam: number;
8
9
  }
9
- export declare class YGOProMsgSelectSum extends YGOProMsgBase {
10
+ export declare class YGOProMsgSelectSum extends YGOProMsgResponseBase {
10
11
  static identifier: 23;
11
12
  mode: number;
12
13
  player: number;
@@ -17,4 +18,10 @@ export declare class YGOProMsgSelectSum extends YGOProMsgBase {
17
18
  mustSelectCards: YGOProMsgSelectSum_CardInfo[];
18
19
  count: number;
19
20
  cards: YGOProMsgSelectSum_CardInfo[];
21
+ prepareResponse(cardOptions: Array<IndexResponseObject | {
22
+ code?: number;
23
+ controller?: number;
24
+ location?: number;
25
+ sequence?: number;
26
+ }>): Uint8Array<ArrayBuffer>;
20
27
  }
@@ -1,13 +1,13 @@
1
- import { YGOProMsgBase } from '../base';
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ import { IndexResponseObject } from '../index-response';
2
3
  export declare class YGOProMsgSelectTribute_CardInfo {
3
4
  code: number;
4
5
  controller: number;
5
6
  location: number;
6
7
  sequence: number;
7
- subsequence: number;
8
8
  releaseParam: number;
9
9
  }
10
- export declare class YGOProMsgSelectTribute extends YGOProMsgBase {
10
+ export declare class YGOProMsgSelectTribute extends YGOProMsgResponseBase {
11
11
  static identifier: 20;
12
12
  player: number;
13
13
  cancelable: number;
@@ -15,4 +15,11 @@ export declare class YGOProMsgSelectTribute extends YGOProMsgBase {
15
15
  max: number;
16
16
  count: number;
17
17
  cards: YGOProMsgSelectTribute_CardInfo[];
18
+ defaultResponse(): Uint8Array<ArrayBuffer>;
19
+ prepareResponse(cardOptions?: Array<IndexResponseObject | {
20
+ code?: number;
21
+ controller?: number;
22
+ location?: number;
23
+ sequence?: number;
24
+ }> | null): Uint8Array<ArrayBuffer>;
18
25
  }
@@ -1,4 +1,5 @@
1
- import { YGOProMsgBase } from '../base';
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ import { IndexResponseObject } from '../index-response';
2
3
  export declare class YGOProMsgSelectUnselectCard_CardInfo {
3
4
  code: number;
4
5
  controller: number;
@@ -6,7 +7,7 @@ export declare class YGOProMsgSelectUnselectCard_CardInfo {
6
7
  sequence: number;
7
8
  subsequence: number;
8
9
  }
9
- export declare class YGOProMsgSelectUnselectCard extends YGOProMsgBase {
10
+ export declare class YGOProMsgSelectUnselectCard extends YGOProMsgResponseBase {
10
11
  static identifier: 26;
11
12
  player: number;
12
13
  finishable: number;
@@ -17,4 +18,11 @@ export declare class YGOProMsgSelectUnselectCard extends YGOProMsgBase {
17
18
  selectableCards: YGOProMsgSelectUnselectCard_CardInfo[];
18
19
  unselectableCount: number;
19
20
  unselectableCards: YGOProMsgSelectUnselectCard_CardInfo[];
21
+ defaultResponse(): Uint8Array<ArrayBuffer>;
22
+ prepareResponse(cardOption?: IndexResponseObject | {
23
+ code?: number;
24
+ controller?: number;
25
+ location?: number;
26
+ sequence?: number;
27
+ } | null): Uint8Array<ArrayBuffer>;
20
28
  }
@@ -1,6 +1,8 @@
1
- import { YGOProMsgBase } from '../base';
2
- export declare class YGOProMsgSelectYesNo extends YGOProMsgBase {
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ export declare class YGOProMsgSelectYesNo extends YGOProMsgResponseBase {
3
3
  static identifier: 13;
4
4
  player: number;
5
5
  desc: number;
6
+ defaultResponse(): Uint8Array<ArrayBuffer>;
7
+ prepareResponse(yes: boolean): Uint8Array<ArrayBuffer>;
6
8
  }
@@ -1,13 +1,21 @@
1
- import { YGOProMsgBase } from '../base';
1
+ import { YGOProMsgResponseBase } from '../with-response-base';
2
+ import { IndexResponseObject } from '../index-response';
2
3
  export declare class YGOProMsgSortCard_CardInfo {
3
4
  code: number;
4
5
  controller: number;
5
6
  location: number;
6
7
  sequence: number;
7
8
  }
8
- export declare class YGOProMsgSortCard extends YGOProMsgBase {
9
+ export declare class YGOProMsgSortCard extends YGOProMsgResponseBase {
9
10
  static identifier: 25;
10
11
  player: number;
11
12
  count: number;
12
13
  cards: YGOProMsgSortCard_CardInfo[];
14
+ defaultResponse(): Uint8Array<ArrayBuffer>;
15
+ prepareResponse(sortedOptions?: Array<IndexResponseObject | {
16
+ code?: number;
17
+ controller?: number;
18
+ location?: number;
19
+ sequence?: number;
20
+ }> | null): Uint8Array<ArrayBuffer>;
13
21
  }
@@ -0,0 +1,4 @@
1
+ import { YGOProMsgBase } from './base';
2
+ export declare abstract class YGOProMsgResponseBase extends YGOProMsgBase {
3
+ defaultResponse(): Uint8Array | undefined;
4
+ }
package/index.ts CHANGED
@@ -4,3 +4,5 @@ export * from './src/protos/common';
4
4
  export * from './src/protos/ctos';
5
5
  export * from './src/protos/stoc';
6
6
  export * from './src/protos/msg';
7
+ export * from './src/vendor/ocgcore-constants';
8
+ export * from './src/vendor/script-constants';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ygopro-msg-encode",
3
3
  "description": "TS lib for encode / decode YGOPro proto",
4
- "version": "1.0.1",
4
+ "version": "1.0.2",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",
7
7
  "types": "dist/index.d.ts",