koishipro-core.js 1.1.5 → 1.2.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/index.cjs CHANGED
@@ -48,18 +48,17 @@ __export(index_exports, {
48
48
  MESSAGE_BUFFER_SIZE: () => MESSAGE_BUFFER_SIZE,
49
49
  MapReader: () => MapReader,
50
50
  MapScriptReader: () => MapScriptReader,
51
- OcgcoreCommonConstants: () => OcgcoreCommonConstants,
52
51
  OcgcoreDuel: () => OcgcoreDuel,
53
52
  OcgcoreDuelOptionFlag: () => OcgcoreDuelOptionFlag,
54
53
  OcgcoreDuelRule: () => OcgcoreDuelRule,
55
54
  OcgcoreMessageType: () => OcgcoreMessageType,
56
- OcgcoreScriptConstants: () => OcgcoreScriptConstants,
57
55
  OcgcoreWrapper: () => OcgcoreWrapper,
58
56
  QUERY_BUFFER_SIZE: () => QUERY_BUFFER_SIZE,
59
57
  REGISTRY_BUFFER_SIZE: () => REGISTRY_BUFFER_SIZE,
60
58
  SqljsCardReader: () => SqljsCardReader,
61
59
  ZipReader: () => ZipReader,
62
60
  ZipScriptReader: () => ZipScriptReader,
61
+ _OcgcoreConstants: () => vendor_exports,
63
62
  consumeResponseFromOcgcoreProcess: () => consumeResponseFromOcgcoreProcess,
64
63
  createDuelFromYrp: () => createDuelFromYrp,
65
64
  createOcgcoreWrapper: () => createOcgcoreWrapper,
@@ -78,370 +77,16 @@ __export(index_exports, {
78
77
  module.exports = __toCommonJS(index_exports);
79
78
  var import_buffer = require("buffer");
80
79
 
81
- // src/vendor/ocgcore-constants.ts
82
- var OcgcoreCommonConstants = {
83
- ACTIVITY_ATTACK: 5,
84
- ACTIVITY_BATTLE_PHASE: 6,
85
- ACTIVITY_CHAIN: 7,
86
- ACTIVITY_FLIPSUMMON: 4,
87
- ACTIVITY_NORMALSUMMON: 2,
88
- ACTIVITY_SPSUMMON: 3,
89
- ACTIVITY_SUMMON: 1,
90
- ATTRIBUTES_COUNT: 7,
91
- ATTRIBUTE_ALL: 127,
92
- ATTRIBUTE_DARK: 32,
93
- ATTRIBUTE_DEVINE: 64,
94
- ATTRIBUTE_EARTH: 1,
95
- ATTRIBUTE_FIRE: 4,
96
- ATTRIBUTE_LIGHT: 16,
97
- ATTRIBUTE_WATER: 2,
98
- ATTRIBUTE_WIND: 8,
99
- CARDDATA_ALIAS: 2,
100
- CARDDATA_ATTACK: 8,
101
- CARDDATA_ATTRIBUTE: 6,
102
- CARDDATA_CODE: 1,
103
- CARDDATA_DEFENSE: 9,
104
- CARDDATA_LEVEL: 5,
105
- CARDDATA_LINK_MARKER: 12,
106
- CARDDATA_LSCALE: 10,
107
- CARDDATA_RACE: 7,
108
- CARDDATA_RSCALE: 11,
109
- CARDDATA_SETCODE: 3,
110
- CARDDATA_TYPE: 4,
111
- CHINT_ATTRIBUTE: 4,
112
- CHINT_CARD: 2,
113
- CHINT_DESC_ADD: 6,
114
- CHINT_DESC_REMOVE: 7,
115
- CHINT_NUMBER: 5,
116
- CHINT_RACE: 3,
117
- CHINT_TURN: 1,
118
- CURRENT_RULE: 5,
119
- DUEL_ATTACK_FIRST_TURN: 2,
120
- DUEL_OBSOLETE_RULING: 8,
121
- DUEL_PSEUDO_SHUFFLE: 16,
122
- DUEL_RETURN_DECK_TOP: 128,
123
- DUEL_REVEAL_DECK_SEQ: 256,
124
- DUEL_SIMPLE_AI: 64,
125
- DUEL_TAG_MODE: 32,
126
- DUEL_TEST_MODE: 1,
127
- EDESC_OPERATION: 1,
128
- EDESC_RESET: 2,
129
- FALSE: 0,
130
- GETEFFECT_ALL: 15,
131
- GETEFFECT_COPY: 4,
132
- GETEFFECT_GAIN: 2,
133
- GETEFFECT_GRANT: 8,
134
- GETEFFECT_INITIAL: 1,
135
- HINT_ATTRIB: 7,
136
- HINT_CARD: 10,
137
- HINT_CODE: 8,
138
- HINT_EFFECT: 5,
139
- HINT_EVENT: 1,
140
- HINT_MESSAGE: 2,
141
- HINT_MUSIC: 21,
142
- HINT_MUSIC_OGG: 23,
143
- HINT_NUMBER: 9,
144
- HINT_OPSELECTED: 4,
145
- HINT_RACE: 6,
146
- HINT_SELECTMSG: 3,
147
- HINT_SOUND: 22,
148
- HINT_ZONE: 11,
149
- LINK_MARKER_BOTTOM: 2,
150
- LINK_MARKER_BOTTOM_LEFT: 1,
151
- LINK_MARKER_BOTTOM_RIGHT: 4,
152
- LINK_MARKER_LEFT: 8,
153
- LINK_MARKER_RIGHT: 32,
154
- LINK_MARKER_TOP: 128,
155
- LINK_MARKER_TOP_LEFT: 64,
156
- LINK_MARKER_TOP_RIGHT: 256,
157
- LOCATION_DECKBOT: 65537,
158
- LOCATION_DECKSHF: 131073,
159
- MASTER_RULE3: 3,
160
- MASTER_RULE_2020: 5,
161
- MSG_ADD_COUNTER: 101,
162
- MSG_AI_NAME: 163,
163
- MSG_ANNOUNCE_ATTRIB: 141,
164
- MSG_ANNOUNCE_CARD: 142,
165
- MSG_ANNOUNCE_NUMBER: 143,
166
- MSG_ANNOUNCE_RACE: 140,
167
- MSG_ATTACK: 110,
168
- MSG_ATTACK_DISABLED: 112,
169
- MSG_BATTLE: 111,
170
- MSG_BECOME_TARGET: 83,
171
- MSG_CANCEL_TARGET: 97,
172
- MSG_CARD_HINT: 160,
173
- MSG_CARD_TARGET: 96,
174
- MSG_CHAINED: 71,
175
- MSG_CHAINING: 70,
176
- MSG_CHAIN_DISABLED: 76,
177
- MSG_CHAIN_END: 74,
178
- MSG_CHAIN_NEGATED: 75,
179
- MSG_CHAIN_SOLVED: 73,
180
- MSG_CHAIN_SOLVING: 72,
181
- MSG_CONFIRM_CARDS: 31,
182
- MSG_CONFIRM_DECKTOP: 30,
183
- MSG_CONFIRM_EXTRATOP: 42,
184
- MSG_CUSTOM_MSG: 180,
185
- MSG_DAMAGE: 91,
186
- MSG_DAMAGE_STEP_END: 114,
187
- MSG_DAMAGE_STEP_START: 113,
188
- MSG_DECK_TOP: 38,
189
- MSG_DRAW: 90,
190
- MSG_EQUIP: 93,
191
- MSG_FIELD_DISABLED: 56,
192
- MSG_FLIPSUMMONED: 65,
193
- MSG_FLIPSUMMONING: 64,
194
- MSG_HAND_RES: 133,
195
- MSG_HINT: 2,
196
- MSG_LPUPDATE: 94,
197
- MSG_MATCH_KILL: 170,
198
- MSG_MISSED_EFFECT: 120,
199
- MSG_MOVE: 50,
200
- MSG_NEW_PHASE: 41,
201
- MSG_NEW_TURN: 40,
202
- MSG_PAY_LPCOST: 100,
203
- MSG_PLAYER_HINT: 165,
204
- MSG_POS_CHANGE: 53,
205
- MSG_RANDOM_SELECTED: 81,
206
- MSG_RECOVER: 92,
207
- MSG_RELOAD_FIELD: 162,
208
- MSG_REMOVE_COUNTER: 102,
209
- MSG_RESET_TIME: 221,
210
- MSG_RETRY: 1,
211
- MSG_REVERSE_DECK: 37,
212
- MSG_ROCK_PAPER_SCISSORS: 132,
213
- MSG_SELECT_BATTLECMD: 10,
214
- MSG_SELECT_CARD: 15,
215
- MSG_SELECT_CHAIN: 16,
216
- MSG_SELECT_COUNTER: 22,
217
- MSG_SELECT_DISFIELD: 24,
218
- MSG_SELECT_EFFECTYN: 12,
219
- MSG_SELECT_IDLECMD: 11,
220
- MSG_SELECT_OPTION: 14,
221
- MSG_SELECT_PLACE: 18,
222
- MSG_SELECT_POSITION: 19,
223
- MSG_SELECT_SUM: 23,
224
- MSG_SELECT_TRIBUTE: 20,
225
- MSG_SELECT_UNSELECT_CARD: 26,
226
- MSG_SELECT_YESNO: 13,
227
- MSG_SET: 54,
228
- MSG_SHOW_HINT: 164,
229
- MSG_SHUFFLE_DECK: 32,
230
- MSG_SHUFFLE_EXTRA: 39,
231
- MSG_SHUFFLE_HAND: 33,
232
- MSG_SHUFFLE_SET_CARD: 36,
233
- MSG_SORT_CARD: 25,
234
- MSG_SPSUMMONED: 63,
235
- MSG_SPSUMMONING: 62,
236
- MSG_SUMMONED: 61,
237
- MSG_SUMMONING: 60,
238
- MSG_SWAP: 55,
239
- MSG_SWAP_GRAVE_DECK: 35,
240
- MSG_TAG_SWAP: 161,
241
- MSG_TOSS_COIN: 130,
242
- MSG_TOSS_DICE: 131,
243
- MSG_UPDATE_CARD: 7,
244
- MSG_WIN: 5,
245
- NEW_MASTER_RULE: 4,
246
- NO_FLIP_EFFECT: 65536,
247
- OPCODE_ADD: 1073741824,
248
- OPCODE_AND: 1073741828,
249
- OPCODE_DIV: 1073741827,
250
- OPCODE_ISATTRIBUTE: 1073742084,
251
- OPCODE_ISCODE: 1073742080,
252
- OPCODE_ISRACE: 1073742083,
253
- OPCODE_ISSETCARD: 1073742081,
254
- OPCODE_ISTYPE: 1073742082,
255
- OPCODE_MUL: 1073741826,
256
- OPCODE_NEG: 1073741830,
257
- OPCODE_NOT: 1073741831,
258
- OPCODE_OR: 1073741829,
259
- OPCODE_SUB: 1073741825,
260
- OPERATION_CANCELED: -1,
261
- OPERATION_FAIL: 0,
262
- OPERATION_SUCCESS: 1,
263
- PHASE_BATTLE: 128,
264
- PHASE_BATTLE_START: 8,
265
- PHASE_BATTLE_STEP: 16,
266
- PHASE_DAMAGE: 32,
267
- PHASE_DAMAGE_CAL: 64,
268
- PHASE_DRAW: 1,
269
- PHASE_END: 512,
270
- PHASE_MAIN1: 4,
271
- PHASE_MAIN2: 256,
272
- PHASE_STANDBY: 2,
273
- PHINT_DESC_ADD: 6,
274
- PHINT_DESC_REMOVE: 7,
275
- PLAYER_ALL: 3,
276
- PLAYER_NONE: 2,
277
- PLAYER_SELFDES: 5,
278
- POS_ATTACK: 3,
279
- POS_DEFENSE: 12,
280
- POS_FACEDOWN: 10,
281
- POS_FACEDOWN_ATTACK: 2,
282
- POS_FACEDOWN_DEFENSE: 8,
283
- POS_FACEUP: 5,
284
- POS_FACEUP_ATTACK: 1,
285
- POS_FACEUP_DEFENSE: 4,
286
- PROCESSOR_BUFFER_LEN: 268435455,
287
- PROCESSOR_END: 536870912,
288
- PROCESSOR_FLAG: 4026531840,
289
- PROCESSOR_NONE: 0,
290
- PROCESSOR_WAITING: 268435456,
291
- QUERY_ALIAS: 4,
292
- QUERY_ATTACK: 256,
293
- QUERY_ATTRIBUTE: 64,
294
- QUERY_BASE_ATTACK: 1024,
295
- QUERY_BASE_DEFENSE: 2048,
296
- QUERY_CODE: 1,
297
- QUERY_COUNTERS: 131072,
298
- QUERY_DEFENSE: 512,
299
- QUERY_EQUIP_CARD: 16384,
300
- QUERY_LEVEL: 16,
301
- QUERY_LINK: 8388608,
302
- QUERY_LSCALE: 2097152,
303
- QUERY_OVERLAY_CARD: 65536,
304
- QUERY_OWNER: 262144,
305
- QUERY_POSITION: 2,
306
- QUERY_RACE: 128,
307
- QUERY_RANK: 32,
308
- QUERY_REASON: 4096,
309
- QUERY_REASON_CARD: 8192,
310
- QUERY_RSCALE: 4194304,
311
- QUERY_STATUS: 524288,
312
- QUERY_TARGET_CARD: 32768,
313
- QUERY_TYPE: 8,
314
- RACES_COUNT: 26,
315
- RACE_ALL: 67108863,
316
- RACE_AQUA: 64,
317
- RACE_BEAST: 16384,
318
- RACE_BEASTWARRIOR: 32768,
319
- RACE_CREATORGOD: 4194304,
320
- RACE_CYBERSE: 16777216,
321
- RACE_DEVINE: 2097152,
322
- RACE_DINOSAUR: 65536,
323
- RACE_DRAGON: 8192,
324
- RACE_FAIRY: 4,
325
- RACE_FIEND: 8,
326
- RACE_FISH: 131072,
327
- RACE_ILLUSION: 33554432,
328
- RACE_INSECT: 2048,
329
- RACE_MACHINE: 32,
330
- RACE_PLANT: 1024,
331
- RACE_PSYCHO: 1048576,
332
- RACE_PYRO: 128,
333
- RACE_REPTILE: 524288,
334
- RACE_ROCK: 256,
335
- RACE_SEASERPENT: 262144,
336
- RACE_SPELLCASTER: 2,
337
- RACE_THUNDER: 4096,
338
- RACE_WARRIOR: 1,
339
- RACE_WINDBEAST: 512,
340
- RACE_WYRM: 8388608,
341
- RACE_ZOMBIE: 16,
342
- REASONS_PROCEDURE: 271056896,
343
- REASON_ACTION: 2147483648,
344
- REASON_ADJUST: 256,
345
- REASON_BATTLE: 32,
346
- REASON_COST: 128,
347
- REASON_DESTROY: 1,
348
- REASON_DISCARD: 16384,
349
- REASON_DISSUMMON: 4096,
350
- REASON_DRAW: 33554432,
351
- REASON_EFFECT: 64,
352
- REASON_FLIP: 8192,
353
- REASON_FUSION: 262144,
354
- REASON_LINK: 268435456,
355
- REASON_LOST_OVERLAY: 536870912,
356
- REASON_LOST_TARGET: 512,
357
- REASON_MAINTENANCE: 1073741824,
358
- REASON_MATERIAL: 8,
359
- REASON_RDAMAGE: 32768,
360
- REASON_REDIRECT: 67108864,
361
- REASON_RELEASE: 2,
362
- REASON_REPLACE: 16777216,
363
- REASON_RETURN: 131072,
364
- REASON_REVEAL: 134217728,
365
- REASON_RITUAL: 1048576,
366
- REASON_RRECOVER: 65536,
367
- REASON_RULE: 1024,
368
- REASON_SPSUMMON: 2048,
369
- REASON_SUMMON: 16,
370
- REASON_SYNCHRO: 524288,
371
- REASON_TEMPORARY: 4,
372
- REASON_XYZ: 2097152,
373
- RETURN_TEMP_REMOVE_TO_FIELD: 1,
374
- RETURN_TRAP_MONSTER_TO_SZONE: 2,
375
- SEQ_DECKBOTTOM: 1,
376
- SEQ_DECKSHUFFLE: 2,
377
- SEQ_DECKTOP: 0,
378
- SIZE_AI_NAME: 128,
379
- SIZE_HINT_MSG: 1024,
380
- SIZE_MESSAGE_BUFFER: 8192,
381
- SIZE_RETURN_VALUE: 512,
382
- STATUS_ACTIVATE_DISABLED: 262144,
383
- STATUS_ACT_FROM_HAND: 134217728,
384
- STATUS_ATTACK_CANCELED: 2097152,
385
- STATUS_BATTLE_DESTROYED: 16384,
386
- STATUS_BATTLE_RESULT: 64,
387
- STATUS_CANNOT_CHANGE_FORM: 256,
388
- STATUS_CHAINING: 65536,
389
- STATUS_CONTINUOUS_POS: 33554432,
390
- STATUS_COPYING_EFFECT: 32768,
391
- STATUS_DESTROY_CONFIRMED: 4096,
392
- STATUS_DISABLED: 1,
393
- STATUS_EFFECT_ENABLED: 1024,
394
- STATUS_EFFECT_REPLACED: 524288,
395
- STATUS_FLIP_SUMMONING: 1048576,
396
- STATUS_FLIP_SUMMON_DISABLED: 2147483648,
397
- STATUS_FLIP_SUMMON_TURN: 536870912,
398
- STATUS_FORBIDDEN: 67108864,
399
- STATUS_INITIALIZING: 4194304,
400
- STATUS_JUST_POS: 16777216,
401
- STATUS_LEAVE_CONFIRMED: 8192,
402
- STATUS_NO_LEVEL: 32,
403
- STATUS_OPPO_BATTLE: 268435456,
404
- STATUS_PROC_COMPLETE: 8,
405
- STATUS_SET_TURN: 16,
406
- STATUS_SPSUMMON_STEP: 128,
407
- STATUS_SPSUMMON_TURN: 1073741824,
408
- STATUS_SUMMONING: 512,
409
- STATUS_SUMMON_DISABLED: 131072,
410
- STATUS_SUMMON_TURN: 2048,
411
- STATUS_TO_DISABLE: 4,
412
- STATUS_TO_ENABLE: 2,
413
- STATUS_TO_HAND_WITHOUT_CONFIRM: 8388608,
414
- TRUE: 1,
415
- TYPES_EXTRA_DECK: 75505728,
416
- TYPE_CONTINUOUS: 131072,
417
- TYPE_COUNTER: 1048576,
418
- TYPE_DUAL: 2048,
419
- TYPE_EFFECT: 32,
420
- TYPE_EQUIP: 262144,
421
- TYPE_FIELD: 524288,
422
- TYPE_FLIP: 2097152,
423
- TYPE_FUSION: 64,
424
- TYPE_LINK: 67108864,
425
- TYPE_MONSTER: 1,
426
- TYPE_NORMAL: 16,
427
- TYPE_PENDULUM: 16777216,
428
- TYPE_QUICKPLAY: 65536,
429
- TYPE_RITUAL: 128,
430
- TYPE_SPELL: 2,
431
- TYPE_SPIRIT: 512,
432
- TYPE_SPSUMMON: 33554432,
433
- TYPE_SYNCHRO: 8192,
434
- TYPE_TOKEN: 16384,
435
- TYPE_TOON: 4194304,
436
- TYPE_TRAP: 4,
437
- TYPE_TRAPMONSTER: 256,
438
- TYPE_TUNER: 4096,
439
- TYPE_UNION: 1024,
440
- TYPE_XYZ: 8388608
441
- };
80
+ // src/vendor/index.ts
81
+ var vendor_exports = {};
82
+ __export(vendor_exports, {
83
+ OcgcoreCommonConstants: () => import_ygopro_msg_encode.OcgcoreCommonConstants,
84
+ OcgcoreScriptConstants: () => import_ygopro_msg_encode.OcgcoreScriptConstants
85
+ });
86
+ var import_ygopro_msg_encode = require("ygopro-msg-encode");
442
87
 
443
88
  // src/constants/ocgcore.ts
444
- var MESSAGE_BUFFER_SIZE = OcgcoreCommonConstants.SIZE_MESSAGE_BUFFER;
89
+ var MESSAGE_BUFFER_SIZE = import_ygopro_msg_encode.OcgcoreCommonConstants.SIZE_MESSAGE_BUFFER;
445
90
  var QUERY_BUFFER_SIZE = 16384;
446
91
  var REGISTRY_BUFFER_SIZE = 8192;
447
92
  var LEN_FAIL = 0;
@@ -470,13 +115,13 @@ function decodeUtf8(value) {
470
115
  }
471
116
 
472
117
  // src/adapters/ocgcore-parsers.ts
473
- var import_ygopro_msg_encode = require("ygopro-msg-encode");
118
+ var import_ygopro_msg_encode2 = require("ygopro-msg-encode");
474
119
  function parseCardQuery(raw, length) {
475
120
  if (length <= LEN_HEADER) {
476
121
  return null;
477
122
  }
478
123
  const payload = raw.subarray(4, length);
479
- return new import_ygopro_msg_encode.CardQuery().fromPayload(payload);
124
+ return new import_ygopro_msg_encode2.CardQuery().fromPayload(payload);
480
125
  }
481
126
  function parseFieldCardQuery(raw, length) {
482
127
  const cards = [];
@@ -488,20 +133,20 @@ function parseFieldCardQuery(raw, length) {
488
133
  }
489
134
  const end = Math.min(length, offset + chunkLen);
490
135
  if (chunkLen <= LEN_HEADER) {
491
- const emptyCard = new import_ygopro_msg_encode.CardQuery();
136
+ const emptyCard = new import_ygopro_msg_encode2.CardQuery();
492
137
  emptyCard.flags = 0;
493
138
  emptyCard.empty = true;
494
139
  cards.push(emptyCard);
495
140
  } else {
496
141
  const payload = raw.subarray(offset + 4, end);
497
- cards.push(new import_ygopro_msg_encode.CardQuery().fromPayload(payload));
142
+ cards.push(new import_ygopro_msg_encode2.CardQuery().fromPayload(payload));
498
143
  }
499
144
  offset += chunkLen;
500
145
  }
501
146
  return cards;
502
147
  }
503
148
  function parseFieldInfo(raw) {
504
- return new import_ygopro_msg_encode.YGOProMsgReloadField().fromPayload(raw);
149
+ return new import_ygopro_msg_encode2.YGOProMsgReloadField().fromPayload(raw);
505
150
  }
506
151
  function parseRegistryKeys(raw) {
507
152
  const keys = [];
@@ -558,7 +203,7 @@ function normalizeStartDuelOptions(options) {
558
203
  }
559
204
 
560
205
  // src/ocgcore-duel.ts
561
- var import_ygopro_msg_encode2 = require("ygopro-msg-encode");
206
+ var import_ygopro_msg_encode3 = require("ygopro-msg-encode");
562
207
  var OcgcoreDuel = class {
563
208
  constructor(ocgcoreWrapper, duelPtr) {
564
209
  this.ocgcoreWrapper = ocgcoreWrapper;
@@ -614,7 +259,7 @@ var OcgcoreDuel = class {
614
259
  let parsedMessage;
615
260
  if (messageData.raw.length > 0) {
616
261
  try {
617
- parsedMessage = import_ygopro_msg_encode2.YGOProMessages.getInstanceFromPayload(messageData.raw);
262
+ parsedMessage = import_ygopro_msg_encode3.YGOProMessages.getInstanceFromPayload(messageData.raw);
618
263
  } catch (e) {
619
264
  }
620
265
  }
@@ -797,52 +442,52 @@ var OcgcoreDuel = class {
797
442
  };
798
443
 
799
444
  // src/structs/card-data.ts
800
- var import_ygopro_msg_encode3 = require("ygopro-msg-encode");
445
+ var import_ygopro_msg_encode4 = require("ygopro-msg-encode");
801
446
  var _CardDataStruct = class _CardDataStruct {
802
447
  static fromBytes(data) {
803
448
  const obj = new _CardDataStruct();
804
- (0, import_ygopro_msg_encode3.fillBinaryFields)(obj, data, _CardDataStruct);
449
+ (0, import_ygopro_msg_encode4.fillBinaryFields)(obj, data, _CardDataStruct);
805
450
  return obj;
806
451
  }
807
452
  toBytes() {
808
- return (0, import_ygopro_msg_encode3.toBinaryFields)(this, _CardDataStruct);
453
+ return (0, import_ygopro_msg_encode4.toBinaryFields)(this, _CardDataStruct);
809
454
  }
810
455
  };
811
456
  __decorateClass([
812
- (0, import_ygopro_msg_encode3.BinaryField)("u32", 0)
457
+ (0, import_ygopro_msg_encode4.BinaryField)("u32", 0)
813
458
  ], _CardDataStruct.prototype, "code", 2);
814
459
  __decorateClass([
815
- (0, import_ygopro_msg_encode3.BinaryField)("u32", 4)
460
+ (0, import_ygopro_msg_encode4.BinaryField)("u32", 4)
816
461
  ], _CardDataStruct.prototype, "alias", 2);
817
462
  __decorateClass([
818
- (0, import_ygopro_msg_encode3.BinaryField)("u16", 8, 16)
463
+ (0, import_ygopro_msg_encode4.BinaryField)("u16", 8, 16)
819
464
  ], _CardDataStruct.prototype, "setcode", 2);
820
465
  __decorateClass([
821
- (0, import_ygopro_msg_encode3.BinaryField)("u32", 40)
466
+ (0, import_ygopro_msg_encode4.BinaryField)("u32", 40)
822
467
  ], _CardDataStruct.prototype, "type", 2);
823
468
  __decorateClass([
824
- (0, import_ygopro_msg_encode3.BinaryField)("u32", 44)
469
+ (0, import_ygopro_msg_encode4.BinaryField)("u32", 44)
825
470
  ], _CardDataStruct.prototype, "level", 2);
826
471
  __decorateClass([
827
- (0, import_ygopro_msg_encode3.BinaryField)("u32", 48)
472
+ (0, import_ygopro_msg_encode4.BinaryField)("u32", 48)
828
473
  ], _CardDataStruct.prototype, "attribute", 2);
829
474
  __decorateClass([
830
- (0, import_ygopro_msg_encode3.BinaryField)("u32", 52)
475
+ (0, import_ygopro_msg_encode4.BinaryField)("u32", 52)
831
476
  ], _CardDataStruct.prototype, "race", 2);
832
477
  __decorateClass([
833
- (0, import_ygopro_msg_encode3.BinaryField)("i32", 56)
478
+ (0, import_ygopro_msg_encode4.BinaryField)("i32", 56)
834
479
  ], _CardDataStruct.prototype, "attack", 2);
835
480
  __decorateClass([
836
- (0, import_ygopro_msg_encode3.BinaryField)("i32", 60)
481
+ (0, import_ygopro_msg_encode4.BinaryField)("i32", 60)
837
482
  ], _CardDataStruct.prototype, "defense", 2);
838
483
  __decorateClass([
839
- (0, import_ygopro_msg_encode3.BinaryField)("u32", 64)
484
+ (0, import_ygopro_msg_encode4.BinaryField)("u32", 64)
840
485
  ], _CardDataStruct.prototype, "lscale", 2);
841
486
  __decorateClass([
842
- (0, import_ygopro_msg_encode3.BinaryField)("u32", 68)
487
+ (0, import_ygopro_msg_encode4.BinaryField)("u32", 68)
843
488
  ], _CardDataStruct.prototype, "rscale", 2);
844
489
  __decorateClass([
845
- (0, import_ygopro_msg_encode3.BinaryField)("u32", 72)
490
+ (0, import_ygopro_msg_encode4.BinaryField)("u32", 72)
846
491
  ], _CardDataStruct.prototype, "linkMarker", 2);
847
492
  var CardDataStruct = _CardDataStruct;
848
493
 
@@ -897,17 +542,7 @@ var OcgcoreWrapper = class {
897
542
  this.logBufferSize = options?.logBufferSize ?? 1024;
898
543
  this.scriptReaderFunc = this.createFunction((scriptPtr, lenPtr) => {
899
544
  const scriptPath = this.getUTF8String(scriptPtr);
900
- let content;
901
- for (const reader of this.scriptReaders) {
902
- try {
903
- content = reader(scriptPath);
904
- } catch {
905
- content = null;
906
- }
907
- if (content != null) {
908
- break;
909
- }
910
- }
545
+ const content = this.readScript(scriptPath);
911
546
  if (content == null) {
912
547
  return 0;
913
548
  }
@@ -916,7 +551,7 @@ var OcgcoreWrapper = class {
916
551
  this.scriptBufferSize
917
552
  );
918
553
  }
919
- const bytes = typeof content === "string" ? this.encoder.encode(content) : content;
554
+ const bytes = content;
920
555
  if (bytes.length > this.scriptBufferSize) {
921
556
  this.ocgcoreModule._free(this.scriptBufferPtr);
922
557
  this.scriptBufferPtr = this.ocgcoreModule._malloc(bytes.length);
@@ -928,17 +563,7 @@ var OcgcoreWrapper = class {
928
563
  }, "iii");
929
564
  this.ocgcoreModule._set_script_reader(this.scriptReaderFunc);
930
565
  this.cardReaderFunc = this.createFunction((cardId, cardDataPtr) => {
931
- let data;
932
- for (const reader of this.cardReaders) {
933
- try {
934
- data = reader(cardId);
935
- } catch {
936
- data = null;
937
- }
938
- if (data) {
939
- break;
940
- }
941
- }
566
+ const data = this.readCard(cardId);
942
567
  if (!data) {
943
568
  return 0;
944
569
  }
@@ -982,15 +607,46 @@ var OcgcoreWrapper = class {
982
607
  const message = this.getUTF8String(this.logBufferPtr);
983
608
  const type = messageType === 2 ? "DebugMessage" /* DebugMessage */ : "ScriptError" /* ScriptError */;
984
609
  const duel = this.getOrCreateDuel(duelPtr);
985
- for (const handler of this.messageHandlers) {
986
- try {
987
- handler(duel, message, type);
988
- } catch {
989
- }
990
- }
610
+ this.handleMessage(duel, message, type);
991
611
  }, "iii");
992
612
  this.ocgcoreModule._set_message_handler(this.messageHandlerFunc);
993
613
  }
614
+ readScript(scriptPath) {
615
+ let content;
616
+ for (const reader of this.scriptReaders) {
617
+ try {
618
+ content = reader(scriptPath);
619
+ } catch {
620
+ content = null;
621
+ }
622
+ if (content != null) {
623
+ break;
624
+ }
625
+ }
626
+ return typeof content === "string" ? this.encoder.encode(content) : content ?? null;
627
+ }
628
+ readCard(cardId) {
629
+ let data;
630
+ for (const reader of this.cardReaders) {
631
+ try {
632
+ data = reader(cardId);
633
+ } catch {
634
+ data = null;
635
+ }
636
+ if (data) {
637
+ break;
638
+ }
639
+ }
640
+ return data ?? null;
641
+ }
642
+ handleMessage(duel, message, type) {
643
+ for (const handler of this.messageHandlers) {
644
+ try {
645
+ handler(duel, message, type);
646
+ } catch {
647
+ }
648
+ }
649
+ }
994
650
  getUTF8String(ptr) {
995
651
  let length = 0;
996
652
  while (this.heapU8[ptr + length] !== 0) {
@@ -1228,844 +884,6 @@ async function createOcgcoreWrapper(options = {}) {
1228
884
  return new OcgcoreWrapper(moduleInstance);
1229
885
  }
1230
886
 
1231
- // src/vendor/script-constants.ts
1232
- var OcgcoreScriptConstants = {
1233
- ACTIVITY_ATTACK: 5,
1234
- ACTIVITY_BATTLE_PHASE: 6,
1235
- ACTIVITY_CHAIN: 7,
1236
- ACTIVITY_FLIPSUMMON: 4,
1237
- ACTIVITY_NORMALSUMMON: 2,
1238
- ACTIVITY_SPSUMMON: 3,
1239
- ACTIVITY_SUMMON: 1,
1240
- ASSUME_ATTACK: 7,
1241
- ASSUME_ATTRIBUTE: 5,
1242
- ASSUME_CODE: 1,
1243
- ASSUME_DEFENSE: 8,
1244
- ASSUME_LEVEL: 3,
1245
- ASSUME_RACE: 6,
1246
- ASSUME_RANK: 4,
1247
- ASSUME_TYPE: 2,
1248
- ATTRIBUTE_ALL: 127,
1249
- ATTRIBUTE_DARK: 32,
1250
- ATTRIBUTE_DIVINE: 64,
1251
- ATTRIBUTE_EARTH: 1,
1252
- ATTRIBUTE_FIRE: 4,
1253
- ATTRIBUTE_LIGHT: 16,
1254
- ATTRIBUTE_WATER: 2,
1255
- ATTRIBUTE_WIND: 8,
1256
- CARD_MARINE_DOLPHIN: 78734254,
1257
- CARD_QUESTION: 38723936,
1258
- CARD_TWINKLE_MOSS: 13857930,
1259
- CATEGORY_ANNOUNCE: 536870912,
1260
- CATEGORY_ATKCHANGE: 2097152,
1261
- CATEGORY_COIN: 16777216,
1262
- CATEGORY_CONTROL: 8192,
1263
- CATEGORY_COUNTER: 8388608,
1264
- CATEGORY_DAMAGE: 524288,
1265
- CATEGORY_DECKDES: 64,
1266
- CATEGORY_DEFCHANGE: 4194304,
1267
- CATEGORY_DESTROY: 1,
1268
- CATEGORY_DICE: 33554432,
1269
- CATEGORY_DISABLE: 16384,
1270
- CATEGORY_DISABLE_SUMMON: 32768,
1271
- CATEGORY_DRAW: 65536,
1272
- CATEGORY_EQUIP: 262144,
1273
- CATEGORY_FUSION_SUMMON: 1073741824,
1274
- CATEGORY_GRAVE_ACTION: 2048,
1275
- CATEGORY_GRAVE_SPSUMMON: 134217728,
1276
- CATEGORY_HANDES: 128,
1277
- CATEGORY_LEAVE_GRAVE: 67108864,
1278
- CATEGORY_NEGATE: 268435456,
1279
- CATEGORY_POSITION: 4096,
1280
- CATEGORY_RECOVER: 1048576,
1281
- CATEGORY_RELEASE: 2,
1282
- CATEGORY_REMOVE: 4,
1283
- CATEGORY_SEARCH: 131072,
1284
- CATEGORY_SPECIAL_SUMMON: 512,
1285
- CATEGORY_SUMMON: 256,
1286
- CATEGORY_TODECK: 16,
1287
- CATEGORY_TOEXTRA: 2147483648,
1288
- CATEGORY_TOGRAVE: 32,
1289
- CATEGORY_TOHAND: 8,
1290
- CATEGORY_TOKEN: 1024,
1291
- CHAININFO_CHAIN_COUNT: 1,
1292
- CHAININFO_CHAIN_ID: 2048,
1293
- CHAININFO_DISABLE_PLAYER: 1024,
1294
- CHAININFO_DISABLE_REASON: 512,
1295
- CHAININFO_EXTTYPE: 8192,
1296
- CHAININFO_TARGET_CARDS: 64,
1297
- CHAININFO_TARGET_PARAM: 256,
1298
- CHAININFO_TARGET_PLAYER: 128,
1299
- CHAININFO_TRIGGERING_ATTACK: 4194304,
1300
- CHAININFO_TRIGGERING_ATTRIBUTE: 1048576,
1301
- CHAININFO_TRIGGERING_CODE: 32768,
1302
- CHAININFO_TRIGGERING_CODE2: 65536,
1303
- CHAININFO_TRIGGERING_CONTROLER: 8,
1304
- CHAININFO_TRIGGERING_DEFENSE: 8388608,
1305
- CHAININFO_TRIGGERING_EFFECT: 2,
1306
- CHAININFO_TRIGGERING_LEVEL: 262144,
1307
- CHAININFO_TRIGGERING_LOCATION: 16,
1308
- CHAININFO_TRIGGERING_PLAYER: 4,
1309
- CHAININFO_TRIGGERING_POSITION: 16384,
1310
- CHAININFO_TRIGGERING_RACE: 2097152,
1311
- CHAININFO_TRIGGERING_RANK: 524288,
1312
- CHAININFO_TRIGGERING_SEQUENCE: 32,
1313
- CHAININFO_TYPE: 4096,
1314
- CHINT_ATTRIBUTE: 4,
1315
- CHINT_CARD: 2,
1316
- CHINT_DESC: 6,
1317
- CHINT_NUMBER: 5,
1318
- CHINT_RACE: 3,
1319
- CHINT_TURN: 1,
1320
- COUNTER_NEED_ENABLE: 8192,
1321
- COUNTER_WITHOUT_PERMIT: 4096,
1322
- DUEL_ATTACK_FIRST_TURN: 2,
1323
- DUEL_OBSOLETE_RULING: 8,
1324
- DUEL_OLD_REPLAY: 4,
1325
- DUEL_PSEUDO_SHUFFLE: 16,
1326
- DUEL_RETURN_DECK_TOP: 128,
1327
- DUEL_REVEAL_DECK_SEQ: 256,
1328
- DUEL_SIMPLE_AI: 64,
1329
- DUEL_TAG_MODE: 32,
1330
- DUEL_TEST_MODE: 1,
1331
- EFFECT_ACTIVATE_COST: 90,
1332
- EFFECT_ACTIVATION_COUNT_LIMIT: 367,
1333
- EFFECT_ADD_ATTRIBUTE: 125,
1334
- EFFECT_ADD_CODE: 113,
1335
- EFFECT_ADD_EXTRA_TRIBUTE: 157,
1336
- EFFECT_ADD_FUSION_ATTRIBUTE: 349,
1337
- EFFECT_ADD_FUSION_CODE: 340,
1338
- EFFECT_ADD_FUSION_SETCODE: 341,
1339
- EFFECT_ADD_LINK_ATTRIBUTE: 356,
1340
- EFFECT_ADD_LINK_CODE: 354,
1341
- EFFECT_ADD_LINK_RACE: 357,
1342
- EFFECT_ADD_LINK_SETCODE: 355,
1343
- EFFECT_ADD_RACE: 120,
1344
- EFFECT_ADD_SETCODE: 334,
1345
- EFFECT_ADD_TYPE: 115,
1346
- EFFECT_ALSO_BATTLE_DAMAGE: 207,
1347
- EFFECT_ATTACK_ALL: 193,
1348
- EFFECT_ATTACK_COST: 96,
1349
- EFFECT_ATTACK_DISABLED: 197,
1350
- EFFECT_AVOID_BATTLE_DAMAGE: 201,
1351
- EFFECT_BATTLE_DAMAGE_TO_EFFECT: 205,
1352
- EFFECT_BATTLE_DESTROY_REDIRECT: 204,
1353
- EFFECT_BOTH_BATTLE_DAMAGE: 206,
1354
- EFFECT_BP_TWICE: 296,
1355
- EFFECT_CANNOT_ACTIVATE: 6,
1356
- EFFECT_CANNOT_ATTACK: 85,
1357
- EFFECT_CANNOT_ATTACK_ANNOUNCE: 86,
1358
- EFFECT_CANNOT_BE_BATTLE_TARGET: 70,
1359
- EFFECT_CANNOT_BE_EFFECT_TARGET: 71,
1360
- EFFECT_CANNOT_BP: 185,
1361
- EFFECT_CANNOT_CHANGE_CONTROL: 5,
1362
- EFFECT_CANNOT_CHANGE_POSITION: 14,
1363
- EFFECT_CANNOT_CHANGE_POS_E: 87,
1364
- EFFECT_CANNOT_DIRECT_ATTACK: 73,
1365
- EFFECT_CANNOT_DISABLE: 3,
1366
- EFFECT_CANNOT_DISABLE_FLIP_SUMMON: 39,
1367
- EFFECT_CANNOT_DISABLE_SPSUMMON: 27,
1368
- EFFECT_CANNOT_DISABLE_SUMMON: 26,
1369
- EFFECT_CANNOT_DISCARD_DECK: 56,
1370
- EFFECT_CANNOT_DISCARD_HAND: 55,
1371
- EFFECT_CANNOT_DISEFFECT: 13,
1372
- EFFECT_CANNOT_DRAW: 25,
1373
- EFFECT_CANNOT_EP: 187,
1374
- EFFECT_CANNOT_FLIP_SUMMON: 21,
1375
- EFFECT_CANNOT_INACTIVATE: 12,
1376
- EFFECT_CANNOT_M2: 186,
1377
- EFFECT_CANNOT_MSET: 23,
1378
- EFFECT_CANNOT_PLACE_COUNTER: 58,
1379
- EFFECT_CANNOT_RELEASE: 46,
1380
- EFFECT_CANNOT_REMOVE: 67,
1381
- EFFECT_CANNOT_SELECT_BATTLE_TARGET: 332,
1382
- EFFECT_CANNOT_SELECT_EFFECT_TARGET: 333,
1383
- EFFECT_CANNOT_SPECIAL_SUMMON: 22,
1384
- EFFECT_CANNOT_SSET: 24,
1385
- EFFECT_CANNOT_SUMMON: 20,
1386
- EFFECT_CANNOT_TO_DECK: 66,
1387
- EFFECT_CANNOT_TO_GRAVE: 68,
1388
- EFFECT_CANNOT_TO_GRAVE_AS_COST: 59,
1389
- EFFECT_CANNOT_TO_HAND: 65,
1390
- EFFECT_CANNOT_TRIGGER: 7,
1391
- EFFECT_CANNOT_TURN_SET: 69,
1392
- EFFECT_CANNOT_USE_AS_COST: 57,
1393
- EFFECT_CHAIN_MATERIAL: 231,
1394
- EFFECT_CHANGE_ATTRIBUTE: 127,
1395
- EFFECT_CHANGE_BATTLE_DAMAGE: 208,
1396
- EFFECT_CHANGE_CODE: 114,
1397
- EFFECT_CHANGE_DAMAGE: 82,
1398
- EFFECT_CHANGE_ENVIRONMENT: 290,
1399
- EFFECT_CHANGE_FUSION_ATTRIBUTE: 351,
1400
- EFFECT_CHANGE_GRAVE_ATTRIBUTE: 365,
1401
- EFFECT_CHANGE_GRAVE_RACE: 366,
1402
- EFFECT_CHANGE_INVOLVING_BATTLE_DAMAGE: 314,
1403
- EFFECT_CHANGE_LEVEL: 131,
1404
- EFFECT_CHANGE_LSCALE: 135,
1405
- EFFECT_CHANGE_RACE: 122,
1406
- EFFECT_CHANGE_RANK: 133,
1407
- EFFECT_CHANGE_RANK_FINAL: 315,
1408
- EFFECT_CHANGE_RSCALE: 137,
1409
- EFFECT_CHANGE_TYPE: 117,
1410
- EFFECT_COUNT_CODE_CHAIN: 1073741824,
1411
- EFFECT_COUNT_CODE_DUEL: 536870912,
1412
- EFFECT_COUNT_CODE_OATH: 268435456,
1413
- EFFECT_COUNT_CODE_SINGLE: 1,
1414
- EFFECT_DECREASE_TRIBUTE: 151,
1415
- EFFECT_DECREASE_TRIBUTE_SET: 152,
1416
- EFFECT_DEFENSE_ATTACK: 190,
1417
- EFFECT_DESTROY_REPLACE: 50,
1418
- EFFECT_DESTROY_SUBSTITUTE: 45,
1419
- EFFECT_DIRECT_ATTACK: 74,
1420
- EFFECT_DISABLE: 2,
1421
- EFFECT_DISABLE_CHAIN: 9,
1422
- EFFECT_DISABLE_CHAIN_FIELD: 337,
1423
- EFFECT_DISABLE_EFFECT: 8,
1424
- EFFECT_DISABLE_FIELD: 260,
1425
- EFFECT_DISABLE_TRAPMONSTER: 10,
1426
- EFFECT_DISCARD_COST_CHANGE: 338,
1427
- EFFECT_DIVINE_LIGHT: 38,
1428
- EFFECT_DOUBLE_TRIBUTE: 150,
1429
- EFFECT_DOUBLE_XMATERIAL: 375,
1430
- EFFECT_DRAW_COUNT: 271,
1431
- EFFECT_DUAL_STATUS: 75,
1432
- EFFECT_DUAL_SUMMONABLE: 77,
1433
- EFFECT_EQUIP_LIMIT: 76,
1434
- EFFECT_EXTRA_ATTACK: 194,
1435
- EFFECT_EXTRA_ATTACK_MONSTER: 346,
1436
- EFFECT_EXTRA_FUSION_MATERIAL: 352,
1437
- EFFECT_EXTRA_LINK_MATERIAL: 358,
1438
- EFFECT_EXTRA_PENDULUM_SUMMON: 360,
1439
- EFFECT_EXTRA_RELEASE: 153,
1440
- EFFECT_EXTRA_RELEASE_NONSUM: 158,
1441
- EFFECT_EXTRA_RELEASE_SUM: 155,
1442
- EFFECT_EXTRA_SET_COUNT: 35,
1443
- EFFECT_EXTRA_SUMMON_COUNT: 29,
1444
- EFFECT_EXTRA_SYNCHRO_MATERIAL: 232,
1445
- EFFECT_FIRST_ATTACK: 192,
1446
- EFFECT_FLAG2_COF: 2,
1447
- EFFECT_FLAG2_OPTION: 8,
1448
- EFFECT_FLAG2_REPEAT_UPDATE: 1,
1449
- EFFECT_FLAG2_WICKED: 4,
1450
- EFFECT_FLAG_ABSOLUTE_TARGET: 64,
1451
- EFFECT_FLAG_ACTIVATE_CONDITION: 536870912,
1452
- EFFECT_FLAG_BOTH_SIDE: 4096,
1453
- EFFECT_FLAG_CANNOT_DISABLE: 1024,
1454
- EFFECT_FLAG_CANNOT_INACTIVATE: 33554432,
1455
- EFFECT_FLAG_CAN_FORBIDDEN: 512,
1456
- EFFECT_FLAG_CARD_TARGET: 16,
1457
- EFFECT_FLAG_CLIENT_HINT: 67108864,
1458
- EFFECT_FLAG_COIN: 4294967296,
1459
- EFFECT_FLAG_CONTINUOUS_TARGET: 134217728,
1460
- EFFECT_FLAG_COPY: 8192,
1461
- EFFECT_FLAG_COUNT_LIMIT: 4,
1462
- EFFECT_FLAG_CVAL_CHECK: 1073741824,
1463
- EFFECT_FLAG_DAMAGE_CAL: 32768,
1464
- EFFECT_FLAG_DAMAGE_STEP: 16384,
1465
- EFFECT_FLAG_DELAY: 65536,
1466
- EFFECT_FLAG_DICE: 8589934592,
1467
- EFFECT_FLAG_EFFECT: 536870912,
1468
- EFFECT_FLAG_EVENT_PLAYER: 8388608,
1469
- EFFECT_FLAG_FIELD_ONLY: 8,
1470
- EFFECT_FLAG_FUNC_VALUE: 2,
1471
- EFFECT_FLAG_FUSION_SUMMON: 17179869184,
1472
- EFFECT_FLAG_IGNORE_IMMUNE: 128,
1473
- EFFECT_FLAG_IGNORE_RANGE: 32,
1474
- EFFECT_FLAG_IMMEDIATELY_APPLY: 2147483648,
1475
- EFFECT_FLAG_INITIAL: 1,
1476
- EFFECT_FLAG_LIMIT_ZONE: 268435456,
1477
- EFFECT_FLAG_NO_TURN_RESET: 4194304,
1478
- EFFECT_FLAG_OATH: 524288,
1479
- EFFECT_FLAG_OWNER_RELATE: 16777216,
1480
- EFFECT_FLAG_PLAYER_TARGET: 2048,
1481
- EFFECT_FLAG_REPEAT: 2097152,
1482
- EFFECT_FLAG_SET_AVAILABLE: 256,
1483
- EFFECT_FLAG_SINGLE_RANGE: 131072,
1484
- EFFECT_FLAG_SPSUM_PARAM: 1048576,
1485
- EFFECT_FLAG_UNCOPYABLE: 262144,
1486
- EFFECT_FLIPSUMMON_COST: 93,
1487
- EFFECT_FORBIDDEN: 292,
1488
- EFFECT_FUSION_MATERIAL: 230,
1489
- EFFECT_FUSION_SUBSTITUTE: 234,
1490
- EFFECT_HAND_LIMIT: 270,
1491
- EFFECT_HAND_SYNCHRO: 339,
1492
- EFFECT_IGNORE_BATTLE_TARGET: 72,
1493
- EFFECT_IMMUNE_EFFECT: 1,
1494
- EFFECT_INDESTRUCTABLE: 40,
1495
- EFFECT_INDESTRUCTABLE_BATTLE: 42,
1496
- EFFECT_INDESTRUCTABLE_COUNT: 47,
1497
- EFFECT_INDESTRUCTABLE_EFFECT: 41,
1498
- EFFECT_KAISER_COLOSSEUM: 370,
1499
- EFFECT_LEAVE_FIELD_REDIRECT: 60,
1500
- EFFECT_LEFT_SPSUMMON_COUNT: 331,
1501
- EFFECT_LIMIT_SET_PROC: 37,
1502
- EFFECT_LIMIT_SPECIAL_SUMMON_POSITION: 368,
1503
- EFFECT_LIMIT_SUMMON_PROC: 33,
1504
- EFFECT_LPCOST_CHANGE: 170,
1505
- EFFECT_LPCOST_REPLACE: 171,
1506
- EFFECT_MATCH_KILL: 300,
1507
- EFFECT_MATERIAL_CHECK: 251,
1508
- EFFECT_MATERIAL_LIMIT: 361,
1509
- EFFECT_MAX_MZONE: 263,
1510
- EFFECT_MAX_SZONE: 264,
1511
- EFFECT_MONSTER_SSET: 18,
1512
- EFFECT_MSET_COST: 94,
1513
- EFFECT_MUST_ATTACK: 191,
1514
- EFFECT_MUST_ATTACK_MONSTER: 344,
1515
- EFFECT_MUST_BE_ATTACKED: 195,
1516
- EFFECT_MUST_BE_FMATERIAL: 316,
1517
- EFFECT_MUST_BE_LMATERIAL: 318,
1518
- EFFECT_MUST_BE_SMATERIAL: 312,
1519
- EFFECT_MUST_BE_XMATERIAL: 317,
1520
- EFFECT_MUST_USE_MZONE: 265,
1521
- EFFECT_NECRO_VALLEY: 291,
1522
- EFFECT_NECRO_VALLEY_IM: 293,
1523
- EFFECT_NO_BATTLE_DAMAGE: 200,
1524
- EFFECT_NO_EFFECT_DAMAGE: 335,
1525
- EFFECT_OLDUNION_STATUS: 348,
1526
- EFFECT_ONLY_ATTACK_MONSTER: 343,
1527
- EFFECT_ONLY_BE_ATTACKED: 196,
1528
- EFFECT_OVERLAY_RITUAL_MATERIAL: 364,
1529
- EFFECT_PATRICIAN_OF_DARKNESS: 345,
1530
- EFFECT_PIERCE: 203,
1531
- EFFECT_PRE_MONSTER: 250,
1532
- EFFECT_PUBLIC: 160,
1533
- EFFECT_QP_ACT_IN_NTPHAND: 311,
1534
- EFFECT_QP_ACT_IN_SET_TURN: 359,
1535
- EFFECT_REFLECT_BATTLE_DAMAGE: 202,
1536
- EFFECT_REFLECT_DAMAGE: 83,
1537
- EFFECT_RELEASE_REPLACE: 51,
1538
- EFFECT_REMAIN_FIELD: 17,
1539
- EFFECT_REMOVE_ATTRIBUTE: 126,
1540
- EFFECT_REMOVE_BRAINWASHING: 295,
1541
- EFFECT_REMOVE_FUSION_ATTRIBUTE: 350,
1542
- EFFECT_REMOVE_RACE: 121,
1543
- EFFECT_REMOVE_REDIRECT: 64,
1544
- EFFECT_REMOVE_TYPE: 116,
1545
- EFFECT_REPLACE_DAMAGE: 371,
1546
- EFFECT_REVERSE_DAMAGE: 80,
1547
- EFFECT_REVERSE_DECK: 294,
1548
- EFFECT_REVERSE_RECOVER: 81,
1549
- EFFECT_REVERSE_UPDATE: 108,
1550
- EFFECT_REVIVE_LIMIT: 31,
1551
- EFFECT_RISE_TO_FULL_HEIGHT: 342,
1552
- EFFECT_RITUAL_LEVEL_EX: 374,
1553
- EFFECT_SELF_DESTROY: 141,
1554
- EFFECT_SELF_TOGRAVE: 142,
1555
- EFFECT_SEND_REPLACE: 52,
1556
- EFFECT_SET_ATTACK: 101,
1557
- EFFECT_SET_ATTACK_FINAL: 102,
1558
- EFFECT_SET_BASE_ATTACK: 103,
1559
- EFFECT_SET_BASE_ATTACK_FINAL: 111,
1560
- EFFECT_SET_BASE_DEFENSE: 107,
1561
- EFFECT_SET_BASE_DEFENSE_FINAL: 112,
1562
- EFFECT_SET_BATTLE_ATTACK: 362,
1563
- EFFECT_SET_BATTLE_DEFENSE: 363,
1564
- EFFECT_SET_CONTROL: 4,
1565
- EFFECT_SET_DEFENSE: 105,
1566
- EFFECT_SET_DEFENSE_FINAL: 106,
1567
- EFFECT_SET_POSITION: 140,
1568
- EFFECT_SET_PROC: 36,
1569
- EFFECT_SET_SUMMON_COUNT_LIMIT: 28,
1570
- EFFECT_SKIP_BP: 183,
1571
- EFFECT_SKIP_DP: 180,
1572
- EFFECT_SKIP_M1: 182,
1573
- EFFECT_SKIP_M2: 184,
1574
- EFFECT_SKIP_SP: 181,
1575
- EFFECT_SKIP_TURN: 188,
1576
- EFFECT_SPIRIT_DONOT_RETURN: 280,
1577
- EFFECT_SPIRIT_MAYNOT_RETURN: 281,
1578
- EFFECT_SPSUMMON_CONDITION: 30,
1579
- EFFECT_SPSUMMON_COST: 92,
1580
- EFFECT_SPSUMMON_COUNT_LIMIT: 330,
1581
- EFFECT_SPSUMMON_PROC: 34,
1582
- EFFECT_SPSUMMON_PROC_G: 320,
1583
- EFFECT_SSET_COST: 95,
1584
- EFFECT_SUMMON_COST: 91,
1585
- EFFECT_SUMMON_PROC: 32,
1586
- EFFECT_SWAP_AD: 109,
1587
- EFFECT_SWAP_BASE_AD: 110,
1588
- EFFECT_SYNCHRO_CHECK: 310,
1589
- EFFECT_SYNCHRO_LEVEL_EX: 373,
1590
- EFFECT_TOSS_COIN_REPLACE: 220,
1591
- EFFECT_TOSS_DICE_REPLACE: 221,
1592
- EFFECT_TO_DECK_REDIRECT: 62,
1593
- EFFECT_TO_GRAVE_REDIRECT: 63,
1594
- EFFECT_TO_GRAVE_REDIRECT_CB: 313,
1595
- EFFECT_TO_HAND_REDIRECT: 61,
1596
- EFFECT_TRAP_ACT_IN_HAND: 15,
1597
- EFFECT_TRAP_ACT_IN_SET_TURN: 16,
1598
- EFFECT_TRIBUTE_LIMIT: 154,
1599
- EFFECT_TRIPLE_TRIBUTE: 156,
1600
- EFFECT_TUNER: 369,
1601
- EFFECT_TUNER_MATERIAL_LIMIT: 353,
1602
- EFFECT_TYPE_ACTIONS: 8,
1603
- EFFECT_TYPE_ACTIVATE: 16,
1604
- EFFECT_TYPE_CONTINUOUS: 2048,
1605
- EFFECT_TYPE_EQUIP: 4,
1606
- EFFECT_TYPE_FIELD: 2,
1607
- EFFECT_TYPE_FLIP: 32,
1608
- EFFECT_TYPE_GRANT: 8192,
1609
- EFFECT_TYPE_IGNITION: 64,
1610
- EFFECT_TYPE_QUICK_F: 1024,
1611
- EFFECT_TYPE_QUICK_O: 256,
1612
- EFFECT_TYPE_SINGLE: 1,
1613
- EFFECT_TYPE_TARGET: 16384,
1614
- EFFECT_TYPE_TRIGGER_F: 512,
1615
- EFFECT_TYPE_TRIGGER_O: 128,
1616
- EFFECT_TYPE_XMATERIAL: 4096,
1617
- EFFECT_UNION_LIMIT: 78,
1618
- EFFECT_UNION_STATUS: 347,
1619
- EFFECT_UNIQUE_CHECK: 297,
1620
- EFFECT_UNRELEASABLE_EFFECT: 48,
1621
- EFFECT_UNRELEASABLE_NONSUM: 44,
1622
- EFFECT_UNRELEASABLE_SUM: 43,
1623
- EFFECT_UNSUMMONABLE_CARD: 336,
1624
- EFFECT_UPDATE_ATTACK: 100,
1625
- EFFECT_UPDATE_DEFENSE: 104,
1626
- EFFECT_UPDATE_LEVEL: 130,
1627
- EFFECT_UPDATE_LSCALE: 134,
1628
- EFFECT_UPDATE_RANK: 132,
1629
- EFFECT_UPDATE_RSCALE: 136,
1630
- EFFECT_USE_EXTRA_MZONE: 261,
1631
- EFFECT_USE_EXTRA_SZONE: 262,
1632
- EFFECT_XYZ_MATERIAL: 233,
1633
- EFFECT_XYZ_MIN_COUNT: 372,
1634
- EVENT_ADD_COUNTER: 65536,
1635
- EVENT_ADJUST: 1040,
1636
- EVENT_ATTACK_ANNOUNCE: 1130,
1637
- EVENT_ATTACK_DISABLED: 1142,
1638
- EVENT_BATTLED: 1138,
1639
- EVENT_BATTLE_CONFIRM: 1133,
1640
- EVENT_BATTLE_DAMAGE: 1143,
1641
- EVENT_BATTLE_DESTROYED: 1140,
1642
- EVENT_BATTLE_DESTROYING: 1139,
1643
- EVENT_BATTLE_END: 1137,
1644
- EVENT_BATTLE_START: 1132,
1645
- EVENT_BECOME_TARGET: 1028,
1646
- EVENT_BE_BATTLE_TARGET: 1131,
1647
- EVENT_BE_MATERIAL: 1108,
1648
- EVENT_BE_PRE_MATERIAL: 1109,
1649
- EVENT_BREAK_EFFECT: 1050,
1650
- EVENT_CHAINING: 1027,
1651
- EVENT_CHAIN_ACTIVATED: 1023,
1652
- EVENT_CHAIN_ACTIVATING: 1021,
1653
- EVENT_CHAIN_DISABLED: 1025,
1654
- EVENT_CHAIN_END: 1026,
1655
- EVENT_CHAIN_NEGATED: 1024,
1656
- EVENT_CHAIN_SOLVED: 1022,
1657
- EVENT_CHAIN_SOLVING: 1020,
1658
- EVENT_CHANGE_POS: 1016,
1659
- EVENT_CONTROL_CHANGED: 1120,
1660
- EVENT_CUSTOM: 268435456,
1661
- EVENT_DAMAGE: 1111,
1662
- EVENT_DAMAGE_CALCULATING: 1135,
1663
- EVENT_DAMAGE_STEP_END: 1141,
1664
- EVENT_DESTROY: 1010,
1665
- EVENT_DESTROYED: 1029,
1666
- EVENT_DETACH_MATERIAL: 1202,
1667
- EVENT_DISCARD: 1018,
1668
- EVENT_DRAW: 1110,
1669
- EVENT_EQUIP: 1121,
1670
- EVENT_FLIP: 1001,
1671
- EVENT_FLIP_SUMMON: 1104,
1672
- EVENT_FLIP_SUMMON_NEGATED: 1115,
1673
- EVENT_FLIP_SUMMON_SUCCESS: 1101,
1674
- EVENT_FREE_CHAIN: 1002,
1675
- EVENT_LEAVE_DECK: 1032,
1676
- EVENT_LEAVE_FIELD: 1015,
1677
- EVENT_LEAVE_FIELD_P: 1019,
1678
- EVENT_LEAVE_GRAVE: 1031,
1679
- EVENT_LEVEL_UP: 1200,
1680
- EVENT_MOVE: 1030,
1681
- EVENT_MSET: 1106,
1682
- EVENT_PAY_LPCOST: 1201,
1683
- EVENT_PHASE: 4096,
1684
- EVENT_PHASE_START: 8192,
1685
- EVENT_PREDRAW: 1113,
1686
- EVENT_PRE_BATTLE_DAMAGE: 1136,
1687
- EVENT_PRE_DAMAGE_CALCULATE: 1134,
1688
- EVENT_RECOVER: 1112,
1689
- EVENT_RELEASE: 1017,
1690
- EVENT_REMOVE: 1011,
1691
- EVENT_REMOVE_COUNTER: 131072,
1692
- EVENT_RETURN_TO_GRAVE: 1203,
1693
- EVENT_SPSUMMON: 1105,
1694
- EVENT_SPSUMMON_NEGATED: 1116,
1695
- EVENT_SPSUMMON_SUCCESS: 1102,
1696
- EVENT_SPSUMMON_SUCCESS_G_P: 1117,
1697
- EVENT_SSET: 1107,
1698
- EVENT_STARTUP: 1e3,
1699
- EVENT_SUMMON: 1103,
1700
- EVENT_SUMMON_NEGATED: 1114,
1701
- EVENT_SUMMON_SUCCESS: 1100,
1702
- EVENT_TOSS_COIN: 1151,
1703
- EVENT_TOSS_COIN_NEGATE: 1152,
1704
- EVENT_TOSS_DICE: 1150,
1705
- EVENT_TOSS_DICE_NEGATE: 1153,
1706
- EVENT_TO_DECK: 1013,
1707
- EVENT_TO_GRAVE: 1014,
1708
- EVENT_TO_HAND: 1012,
1709
- EVENT_TURN_END: 1210,
1710
- FLAG_ID_ALLURE_QUEEN: 4,
1711
- FLAG_ID_ARCANA_COIN: 5,
1712
- FLAG_ID_CHAINING: 1,
1713
- FLAG_ID_NO_NORMAL_DRAW: 3,
1714
- FLAG_ID_REVERSAL_OF_FATE: 36690018,
1715
- FLAG_ID_UNION: 2,
1716
- GLOBALFLAG_BRAINWASHING_CHECK: 2,
1717
- GLOBALFLAG_DECK_REVERSE_CHECK: 1,
1718
- GLOBALFLAG_DELAYED_QUICKEFFECT: 8,
1719
- GLOBALFLAG_DETACH_EVENT: 16,
1720
- GLOBALFLAG_MUST_BE_SMATERIAL: 32,
1721
- GLOBALFLAG_SCRAP_CHIMERA: 4,
1722
- GLOBALFLAG_SELF_TOGRAVE: 256,
1723
- GLOBALFLAG_SPSUMMON_COUNT: 64,
1724
- GLOBALFLAG_SPSUMMON_ONCE: 512,
1725
- GLOBALFLAG_TUNE_MAGICIAN: 1024,
1726
- GLOBALFLAG_XMAT_COUNT_LIMIT: 128,
1727
- HINGMSG_LVRANK: 567,
1728
- HINGMSG_NUMBER: 565,
1729
- HINTMSG_ATOHAND: 506,
1730
- HINTMSG_ATTACK: 516,
1731
- HINTMSG_ATTACKTARGET: 549,
1732
- HINTMSG_ATTRIBUTE: 562,
1733
- HINTMSG_CARDTYPE: 554,
1734
- HINTMSG_CODE: 564,
1735
- HINTMSG_COIN: 552,
1736
- HINTMSG_CONFIRM: 526,
1737
- HINTMSG_CONTROL: 520,
1738
- HINTMSG_COUNTER: 572,
1739
- HINTMSG_DEATTACHFROM: 532,
1740
- HINTMSG_DEFENSE: 517,
1741
- HINTMSG_DESREPLACE: 521,
1742
- HINTMSG_DESTROY: 502,
1743
- HINTMSG_DICE: 553,
1744
- HINTMSG_DISABLE: 573,
1745
- HINTMSG_DISABLEZONE: 570,
1746
- HINTMSG_DISCARD: 501,
1747
- HINTMSG_EFFECT: 550,
1748
- HINTMSG_EQUIP: 518,
1749
- HINTMSG_FACEDOWN: 515,
1750
- HINTMSG_FACEDOWNATTACK: 524,
1751
- HINTMSG_FACEDOWNDEFENSE: 525,
1752
- HINTMSG_FACEUP: 514,
1753
- HINTMSG_FACEUPATTACK: 522,
1754
- HINTMSG_FACEUPDEFENSE: 523,
1755
- HINTMSG_FIELD_FIRST: 575,
1756
- HINTMSG_FMATERIAL: 511,
1757
- HINTMSG_LMATERIAL: 533,
1758
- HINTMSG_OPERATECARD: 574,
1759
- HINTMSG_OPPO: 530,
1760
- HINTMSG_OPTION: 555,
1761
- HINTMSG_POSCHANGE: 528,
1762
- HINTMSG_POSITION: 561,
1763
- HINTMSG_RACE: 563,
1764
- HINTMSG_RELEASE: 500,
1765
- HINTMSG_REMOVE: 503,
1766
- HINTMSG_REMOVEXYZ: 519,
1767
- HINTMSG_RESOLVECARD: 568,
1768
- HINTMSG_RESOLVEEFFECT: 556,
1769
- HINTMSG_RTOHAND: 505,
1770
- HINTMSG_SELECT: 560,
1771
- HINTMSG_SELF: 529,
1772
- HINTMSG_SET: 510,
1773
- HINTMSG_SMATERIAL: 512,
1774
- HINTMSG_SPSUMMON: 509,
1775
- HINTMSG_SUMMON: 508,
1776
- HINTMSG_TARGET: 551,
1777
- HINTMSG_TODECK: 507,
1778
- HINTMSG_TOFIELD: 527,
1779
- HINTMSG_TOGRAVE: 504,
1780
- HINTMSG_TOZONE: 571,
1781
- HINTMSG_TRIBUTE: 531,
1782
- HINTMSG_XMATERIAL: 513,
1783
- HINTMSG_ZONE: 569,
1784
- HINT_ATTRIB: 7,
1785
- HINT_CARD: 10,
1786
- HINT_CODE: 8,
1787
- HINT_EFFECT: 5,
1788
- HINT_EVENT: 1,
1789
- HINT_MESSAGE: 2,
1790
- HINT_NUMBER: 9,
1791
- HINT_OPSELECTED: 4,
1792
- HINT_RACE: 6,
1793
- HINT_SELECTMSG: 3,
1794
- HINT_ZONE: 11,
1795
- LINK_MARKER_BOTTOM: 2,
1796
- LINK_MARKER_BOTTOM_LEFT: 1,
1797
- LINK_MARKER_BOTTOM_RIGHT: 4,
1798
- LINK_MARKER_LEFT: 8,
1799
- LINK_MARKER_RIGHT: 32,
1800
- LINK_MARKER_TOP: 128,
1801
- LINK_MARKER_TOP_LEFT: 64,
1802
- LINK_MARKER_TOP_RIGHT: 256,
1803
- LOCATION_DECK: 1,
1804
- LOCATION_DECKBOT: 65537,
1805
- LOCATION_DECKSHF: 131073,
1806
- LOCATION_EXTRA: 64,
1807
- LOCATION_FZONE: 256,
1808
- LOCATION_GRAVE: 16,
1809
- LOCATION_HAND: 2,
1810
- LOCATION_MZONE: 4,
1811
- LOCATION_ONFIELD: 12,
1812
- LOCATION_OVERLAY: 128,
1813
- LOCATION_PZONE: 512,
1814
- LOCATION_REASON_CONTROL: 2,
1815
- LOCATION_REASON_TOFIELD: 1,
1816
- LOCATION_REMOVED: 32,
1817
- LOCATION_SZONE: 8,
1818
- MASTER_RULE3: 3,
1819
- MASTER_RULE_2020: 5,
1820
- MAX_COUNTER: 65535,
1821
- MAX_ID: 268435455,
1822
- MAX_PARAMETER: 65535,
1823
- MAX_XYZ_LEVEL: 4095,
1824
- MIN_ID: 128,
1825
- NEW_MASTER_RULE: 4,
1826
- OPCODE_ADD: 1073741824,
1827
- OPCODE_AND: 1073741828,
1828
- OPCODE_DIV: 1073741827,
1829
- OPCODE_ISATTRIBUTE: 1073742084,
1830
- OPCODE_ISCODE: 1073742080,
1831
- OPCODE_ISRACE: 1073742083,
1832
- OPCODE_ISSETCARD: 1073742081,
1833
- OPCODE_ISTYPE: 1073742082,
1834
- OPCODE_MUL: 1073741826,
1835
- OPCODE_NEG: 1073741830,
1836
- OPCODE_NOT: 1073741831,
1837
- OPCODE_OR: 1073741829,
1838
- OPCODE_SUB: 1073741825,
1839
- PHASE_BATTLE: 128,
1840
- PHASE_BATTLE_START: 8,
1841
- PHASE_BATTLE_STEP: 16,
1842
- PHASE_DAMAGE: 32,
1843
- PHASE_DAMAGE_CAL: 64,
1844
- PHASE_DRAW: 1,
1845
- PHASE_END: 512,
1846
- PHASE_MAIN1: 4,
1847
- PHASE_MAIN2: 256,
1848
- PHASE_STANDBY: 2,
1849
- PLAYER_ALL: 3,
1850
- PLAYER_NONE: 2,
1851
- POS_ATTACK: 3,
1852
- POS_DEFENSE: 12,
1853
- POS_FACEDOWN: 10,
1854
- POS_FACEDOWN_ATTACK: 2,
1855
- POS_FACEDOWN_DEFENSE: 8,
1856
- POS_FACEUP: 5,
1857
- POS_FACEUP_ATTACK: 1,
1858
- POS_FACEUP_DEFENSE: 4,
1859
- RACE_ALL: 67108863,
1860
- RACE_AQUA: 64,
1861
- RACE_BEAST: 16384,
1862
- RACE_BEASTWARRIOR: 32768,
1863
- RACE_CREATORGOD: 4194304,
1864
- RACE_CYBERSE: 16777216,
1865
- RACE_DINOSAUR: 65536,
1866
- RACE_DIVINE: 2097152,
1867
- RACE_DRAGON: 8192,
1868
- RACE_FAIRY: 4,
1869
- RACE_FIEND: 8,
1870
- RACE_FISH: 131072,
1871
- RACE_ILLUSION: 33554432,
1872
- RACE_INSECT: 2048,
1873
- RACE_MACHINE: 32,
1874
- RACE_PLANT: 1024,
1875
- RACE_PSYCHO: 1048576,
1876
- RACE_PYRO: 128,
1877
- RACE_REPTILE: 524288,
1878
- RACE_ROCK: 256,
1879
- RACE_SEASERPENT: 262144,
1880
- RACE_SPELLCASTER: 2,
1881
- RACE_THUNDER: 4096,
1882
- RACE_WARRIOR: 1,
1883
- RACE_WINDBEAST: 512,
1884
- RACE_WYRM: 8388608,
1885
- RACE_ZOMBIE: 16,
1886
- REASON_ACTION: 2147483648,
1887
- REASON_ADJUST: 256,
1888
- REASON_BATTLE: 32,
1889
- REASON_COST: 128,
1890
- REASON_DESTROY: 1,
1891
- REASON_DISCARD: 16384,
1892
- REASON_DISSUMMON: 4096,
1893
- REASON_DRAW: 33554432,
1894
- REASON_EFFECT: 64,
1895
- REASON_FLIP: 8192,
1896
- REASON_FUSION: 262144,
1897
- REASON_LINK: 268435456,
1898
- REASON_LOST_OVERLAY: 536870912,
1899
- REASON_LOST_TARGET: 512,
1900
- REASON_MAINTENANCE: 1073741824,
1901
- REASON_MATERIAL: 8,
1902
- REASON_RDAMAGE: 32768,
1903
- REASON_REDIRECT: 67108864,
1904
- REASON_RELEASE: 2,
1905
- REASON_REPLACE: 16777216,
1906
- REASON_RETURN: 131072,
1907
- REASON_REVEAL: 134217728,
1908
- REASON_RITUAL: 1048576,
1909
- REASON_RRECOVER: 65536,
1910
- REASON_RULE: 1024,
1911
- REASON_SPSUMMON: 2048,
1912
- REASON_SUMMON: 16,
1913
- REASON_SYNCHRO: 524288,
1914
- REASON_TEMPORARY: 4,
1915
- REASON_XYZ: 2097152,
1916
- RESETS_REDIRECT: 209584128,
1917
- RESETS_STANDARD: 33423360,
1918
- RESETS_WITHOUT_TEMP_REMOVE: 91095040,
1919
- RESET_CARD: 8192,
1920
- RESET_CHAIN: 2147483648,
1921
- RESET_CODE: 16384,
1922
- RESET_CONTROL: 33554432,
1923
- RESET_COPY: 32768,
1924
- RESET_DISABLE: 65536,
1925
- RESET_EVENT: 4096,
1926
- RESET_LEAVE: 8388608,
1927
- RESET_MSCHANGE: 134217728,
1928
- RESET_OPPO_TURN: 536870912,
1929
- RESET_OVERLAY: 67108864,
1930
- RESET_PHASE: 1073741824,
1931
- RESET_REMOVE: 524288,
1932
- RESET_SELF_TURN: 268435456,
1933
- RESET_TEMP_REMOVE: 1048576,
1934
- RESET_TODECK: 4194304,
1935
- RESET_TOFIELD: 16777216,
1936
- RESET_TOGRAVE: 262144,
1937
- RESET_TOHAND: 2097152,
1938
- RESET_TURN_SET: 131072,
1939
- SELECT_HEADS: 60,
1940
- SELECT_TAILS: 61,
1941
- SEQ_DECKBOTTOM: 1,
1942
- SEQ_DECKSHUFFLE: 2,
1943
- SEQ_DECKTOP: 0,
1944
- STATUS_ACTIVATE_DISABLED: 262144,
1945
- STATUS_ACT_FROM_HAND: 134217728,
1946
- STATUS_ATTACK_CANCELED: 2097152,
1947
- STATUS_BATTLE_DESTROYED: 16384,
1948
- STATUS_BATTLE_RESULT: 64,
1949
- STATUS_CANNOT_CHANGE_FORM: 256,
1950
- STATUS_CHAINING: 65536,
1951
- STATUS_CONTINUOUS_POS: 33554432,
1952
- STATUS_COPYING_EFFECT: 32768,
1953
- STATUS_DESTROY_CONFIRMED: 4096,
1954
- STATUS_DISABLED: 1,
1955
- STATUS_EFFECT_ENABLED: 1024,
1956
- STATUS_EFFECT_REPLACED: 524288,
1957
- STATUS_FLIP_SUMMONING: 1048576,
1958
- STATUS_FLIP_SUMMON_DISABLED: 2147483648,
1959
- STATUS_FLIP_SUMMON_TURN: 536870912,
1960
- STATUS_FORBIDDEN: 67108864,
1961
- STATUS_INITIALIZING: 4194304,
1962
- STATUS_JUST_POS: 16777216,
1963
- STATUS_LEAVE_CONFIRMED: 8192,
1964
- STATUS_NO_LEVEL: 32,
1965
- STATUS_OPPO_BATTLE: 268435456,
1966
- STATUS_PROC_COMPLETE: 8,
1967
- STATUS_SET_TURN: 16,
1968
- STATUS_SPSUMMON_STEP: 128,
1969
- STATUS_SPSUMMON_TURN: 1073741824,
1970
- STATUS_SUMMONING: 512,
1971
- STATUS_SUMMON_DISABLED: 131072,
1972
- STATUS_SUMMON_TURN: 2048,
1973
- STATUS_TO_DISABLE: 4,
1974
- STATUS_TO_ENABLE: 2,
1975
- STATUS_TO_HAND_WITHOUT_CONFIRM: 8388608,
1976
- SUMMON_INFO_ATTACK: 128,
1977
- SUMMON_INFO_ATTRIBUTE: 32,
1978
- SUMMON_INFO_CODE: 1,
1979
- SUMMON_INFO_CODE2: 2,
1980
- SUMMON_INFO_DEFENSE: 256,
1981
- SUMMON_INFO_LEVEL: 8,
1982
- SUMMON_INFO_RACE: 64,
1983
- SUMMON_INFO_RANK: 16,
1984
- SUMMON_INFO_REASON_EFFECT: 512,
1985
- SUMMON_INFO_REASON_PLAYER: 1024,
1986
- SUMMON_INFO_TYPE: 4,
1987
- SUMMON_TYPE_ADVANCE: 285212672,
1988
- SUMMON_TYPE_DUAL: 301989888,
1989
- SUMMON_TYPE_FLIP: 536870912,
1990
- SUMMON_TYPE_FUSION: 1124073472,
1991
- SUMMON_TYPE_LINK: 1275068416,
1992
- SUMMON_TYPE_NORMAL: 268435456,
1993
- SUMMON_TYPE_PENDULUM: 1241513984,
1994
- SUMMON_TYPE_RITUAL: 1157627904,
1995
- SUMMON_TYPE_SPECIAL: 1073741824,
1996
- SUMMON_TYPE_SYNCHRO: 1174405120,
1997
- SUMMON_TYPE_XYZ: 1224736768,
1998
- SUMMON_VALUE_ASSAULT_MODE: 21,
1999
- SUMMON_VALUE_DARK_FUSION: 1124073494,
2000
- SUMMON_VALUE_DARK_SANCTUARY: 18,
2001
- SUMMON_VALUE_EVOLTILE: 16384,
2002
- SUMMON_VALUE_FOSSIL_FUSION: 1124073495,
2003
- SUMMON_VALUE_FUTURE_FUSION: 1124073496,
2004
- SUMMON_VALUE_GLADIATOR: 8192,
2005
- SUMMON_VALUE_LV: 4096,
2006
- SUMMON_VALUE_MASK_CHANGE: 20,
2007
- SUMMON_VALUE_MONSTER_REBORN: 19,
2008
- SUMMON_VALUE_SELF: 1,
2009
- SUMMON_VALUE_SYNCHRO_MATERIAL: 17,
2010
- TIMINGS_CHECK_MONSTER: 448,
2011
- TIMING_ATTACK: 4096,
2012
- TIMING_BATTLED: 134217728,
2013
- TIMING_BATTLE_END: 16,
2014
- TIMING_BATTLE_PHASE: 16777216,
2015
- TIMING_BATTLE_START: 8,
2016
- TIMING_BATTLE_STEP_END: 67108864,
2017
- TIMING_CHAIN_END: 32768,
2018
- TIMING_DAMAGE: 131072,
2019
- TIMING_DAMAGE_CAL: 16384,
2020
- TIMING_DAMAGE_STEP: 8192,
2021
- TIMING_DESTROY: 524288,
2022
- TIMING_DRAW: 65536,
2023
- TIMING_DRAW_PHASE: 1,
2024
- TIMING_END_PHASE: 32,
2025
- TIMING_EQUIP: 33554432,
2026
- TIMING_FLIPSUMMON: 256,
2027
- TIMING_MAIN_END: 4,
2028
- TIMING_MSET: 512,
2029
- TIMING_POS_CHANGE: 2048,
2030
- TIMING_RECOVER: 262144,
2031
- TIMING_REMOVE: 1048576,
2032
- TIMING_SPSUMMON: 128,
2033
- TIMING_SSET: 1024,
2034
- TIMING_STANDBY_PHASE: 2,
2035
- TIMING_SUMMON: 64,
2036
- TIMING_TODECK: 4194304,
2037
- TIMING_TOGRAVE: 8388608,
2038
- TIMING_TOHAND: 2097152,
2039
- TYPES_EFFECT_TRAP_MONSTER: 289,
2040
- TYPES_NORMAL_TRAP_MONSTER: 273,
2041
- TYPES_TOKEN_MONSTER: 16401,
2042
- TYPE_CONTINUOUS: 131072,
2043
- TYPE_COUNTER: 1048576,
2044
- TYPE_DUAL: 2048,
2045
- TYPE_EFFECT: 32,
2046
- TYPE_EQUIP: 262144,
2047
- TYPE_FIELD: 524288,
2048
- TYPE_FLIP: 2097152,
2049
- TYPE_FUSION: 64,
2050
- TYPE_LINK: 67108864,
2051
- TYPE_MONSTER: 1,
2052
- TYPE_NORMAL: 16,
2053
- TYPE_PENDULUM: 16777216,
2054
- TYPE_QUICKPLAY: 65536,
2055
- TYPE_RITUAL: 128,
2056
- TYPE_SPELL: 2,
2057
- TYPE_SPIRIT: 512,
2058
- TYPE_SPSUMMON: 33554432,
2059
- TYPE_SYNCHRO: 8192,
2060
- TYPE_TOKEN: 16384,
2061
- TYPE_TOON: 4194304,
2062
- TYPE_TRAP: 4,
2063
- TYPE_TRAPMONSTER: 256,
2064
- TYPE_TUNER: 4096,
2065
- TYPE_UNION: 1024,
2066
- TYPE_XYZ: 8388608
2067
- };
2068
-
2069
887
  // src/script-reader/script-readers.ts
2070
888
  var import_jszip = __toESM(require("jszip"));
2071
889
  var SCRIPT_PREFIX = "./script/";
@@ -2286,7 +1104,7 @@ function mapRowToCardData(row) {
2286
1104
  const attack = row.atk ?? 0;
2287
1105
  let defense = row.def ?? 0;
2288
1106
  let linkMarker = 0;
2289
- if ((type & OcgcoreCommonConstants.TYPE_LINK) >>> 0 !== 0) {
1107
+ if ((type & import_ygopro_msg_encode.OcgcoreCommonConstants.TYPE_LINK) >>> 0 !== 0) {
2290
1108
  linkMarker = defense;
2291
1109
  defense = 0;
2292
1110
  }
@@ -2458,7 +1276,7 @@ async function DirCardReader(sqljs, ...baseDirs) {
2458
1276
 
2459
1277
  // src/play-yrp.ts
2460
1278
  var import_ygopro_yrp_encode = require("ygopro-yrp-encode");
2461
- var { LOCATION_DECK, LOCATION_EXTRA, POS_FACEDOWN_DEFENSE } = OcgcoreScriptConstants;
1279
+ var { LOCATION_DECK, LOCATION_EXTRA, POS_FACEDOWN_DEFENSE } = import_ygopro_msg_encode.OcgcoreScriptConstants;
2462
1280
  function normalizeYrp(input) {
2463
1281
  if (input instanceof import_ygopro_yrp_encode.YGOProYrp) {
2464
1282
  return input;
@@ -2558,7 +1376,7 @@ function createDuelFromYrp(wrapper, yrpInput) {
2558
1376
  return { yrp, duel };
2559
1377
  }
2560
1378
  function consumeResponseFromOcgcoreProcess(duel, result, responses) {
2561
- if (result.raw.length > 0 && result.raw[0] === OcgcoreCommonConstants.MSG_RETRY) {
1379
+ if (result.raw.length > 0 && result.raw[0] === import_ygopro_msg_encode.OcgcoreCommonConstants.MSG_RETRY) {
2562
1380
  throw new Error("Got MSG_RETRY");
2563
1381
  }
2564
1382
  if (result.status === 0) {
@@ -2610,7 +1428,7 @@ var playYrp = (ocgcoreWrapper, yrpInput) => {
2610
1428
  };
2611
1429
 
2612
1430
  // src/test-card.ts
2613
- var { LOCATION_DECK: LOCATION_DECK2, POS_FACEUP_ATTACK } = OcgcoreScriptConstants;
1431
+ var { LOCATION_DECK: LOCATION_DECK2, POS_FACEUP_ATTACK } = import_ygopro_msg_encode.OcgcoreScriptConstants;
2614
1432
  function testCard(ocgcoreWrapper, ...ids) {
2615
1433
  const logs = [];
2616
1434
  const duel = ocgcoreWrapper.createDuelV2(
@@ -2640,7 +1458,7 @@ function testCard(ocgcoreWrapper, ...ids) {
2640
1458
  duel.startDuel(0);
2641
1459
  while (true) {
2642
1460
  const { status, raw } = duel.process();
2643
- if (raw.length > 0 && raw[0] === OcgcoreCommonConstants.MSG_RETRY) {
1461
+ if (raw.length > 0 && raw[0] === import_ygopro_msg_encode.OcgcoreCommonConstants.MSG_RETRY) {
2644
1462
  break;
2645
1463
  }
2646
1464
  if (status === 0) {
@@ -2669,18 +1487,17 @@ if (typeof globalThis !== "undefined" && !globalThis.Buffer) {
2669
1487
  MESSAGE_BUFFER_SIZE,
2670
1488
  MapReader,
2671
1489
  MapScriptReader,
2672
- OcgcoreCommonConstants,
2673
1490
  OcgcoreDuel,
2674
1491
  OcgcoreDuelOptionFlag,
2675
1492
  OcgcoreDuelRule,
2676
1493
  OcgcoreMessageType,
2677
- OcgcoreScriptConstants,
2678
1494
  OcgcoreWrapper,
2679
1495
  QUERY_BUFFER_SIZE,
2680
1496
  REGISTRY_BUFFER_SIZE,
2681
1497
  SqljsCardReader,
2682
1498
  ZipReader,
2683
1499
  ZipScriptReader,
1500
+ _OcgcoreConstants,
2684
1501
  consumeResponseFromOcgcoreProcess,
2685
1502
  createDuelFromYrp,
2686
1503
  createOcgcoreWrapper,