@pkmn/sim 0.7.22 → 0.7.24

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 (37) hide show
  1. package/build/cjs/config/formats.js +26 -20
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +2 -2
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/formats-data.js +6 -6
  6. package/build/cjs/data/formats-data.js.map +1 -1
  7. package/build/cjs/data/legality.js +35 -9
  8. package/build/cjs/data/legality.js.map +1 -1
  9. package/build/cjs/data/moves.js +2 -2
  10. package/build/cjs/data/moves.js.map +1 -1
  11. package/build/cjs/sim/battle-stream.js +11 -8
  12. package/build/cjs/sim/battle-stream.js.map +1 -1
  13. package/build/cjs/sim/battle.js +29 -26
  14. package/build/cjs/sim/battle.js.map +1 -1
  15. package/build/cjs/sim/index.js +2 -1
  16. package/build/cjs/sim/index.js.map +1 -1
  17. package/build/esm/config/formats.mjs +26 -20
  18. package/build/esm/config/formats.mjs.map +1 -1
  19. package/build/esm/data/abilities.mjs +2 -2
  20. package/build/esm/data/abilities.mjs.map +1 -1
  21. package/build/esm/data/formats-data.mjs +6 -6
  22. package/build/esm/data/formats-data.mjs.map +1 -1
  23. package/build/esm/data/legality.mjs +35 -9
  24. package/build/esm/data/legality.mjs.map +1 -1
  25. package/build/esm/data/moves.mjs +2 -2
  26. package/build/esm/data/moves.mjs.map +1 -1
  27. package/build/esm/sim/battle-stream.mjs +12 -9
  28. package/build/esm/sim/battle-stream.mjs.map +1 -1
  29. package/build/esm/sim/battle.mjs +27 -25
  30. package/build/esm/sim/battle.mjs.map +1 -1
  31. package/build/esm/sim/index.mjs +1 -1
  32. package/build/esm/sim/index.mjs.map +1 -1
  33. package/build/types/sim/battle.d.ts +3 -1
  34. package/build/types/sim/exported-global-types.d.ts +11 -0
  35. package/build/types/sim/global-types.d.ts +11 -0
  36. package/build/types/sim/index.d.ts +1 -1
  37. package/package.json +1 -1
@@ -77,10 +77,12 @@ class BattleStream extends lib_1.Streams.ObjectReadWriteStream {
77
77
  if (this.replay) {
78
78
  if (type === 'update') {
79
79
  if (this.replay === 'spectator') {
80
- this.push(data.replace(/\n\|split\|p[1234]\n(?:[^\n]*)\n([^\n]*)/g, '\n$1'));
80
+ const channelMessages = (0, battle_1.extractChannelMessages)(data, [0]);
81
+ this.push(channelMessages[0].join('\n'));
81
82
  }
82
83
  else {
83
- this.push(data.replace(/\n\|split\|p[1234]\n([^\n]*)\n(?:[^\n]*)/g, '\n$1'));
84
+ const channelMessages = (0, battle_1.extractChannelMessages)(data, [-1]);
85
+ this.push(channelMessages[-1].join('\n'));
84
86
  }
85
87
  }
86
88
  return;
@@ -285,12 +287,13 @@ function getPlayerStreams(stream) {
285
287
  const [type, data] = splitFirst(chunk, `\n`);
286
288
  switch (type) {
287
289
  case 'update':
288
- streams.omniscient.push(battle_1.Battle.extractUpdateForSide(data, 'omniscient'));
289
- streams.spectator.push(battle_1.Battle.extractUpdateForSide(data, 'spectator'));
290
- streams.p1.push(battle_1.Battle.extractUpdateForSide(data, 'p1'));
291
- streams.p2.push(battle_1.Battle.extractUpdateForSide(data, 'p2'));
292
- streams.p3.push(battle_1.Battle.extractUpdateForSide(data, 'p3'));
293
- streams.p4.push(battle_1.Battle.extractUpdateForSide(data, 'p4'));
290
+ const channelMessages = (0, battle_1.extractChannelMessages)(data, [-1, 0, 1, 2, 3, 4]);
291
+ streams.omniscient.push(channelMessages[-1].join('\n'));
292
+ streams.spectator.push(channelMessages[0].join('\n'));
293
+ streams.p1.push(channelMessages[1].join('\n'));
294
+ streams.p2.push(channelMessages[2].join('\n'));
295
+ streams.p3.push(channelMessages[3].join('\n'));
296
+ streams.p4.push(channelMessages[4].join('\n'));
294
297
  break;
295
298
  case 'sideupdate':
296
299
  const [side, sideData] = splitFirst(data, `\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"battle-stream.js","sourceRoot":"","sources":["../../../sim/battle-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"battle-stream.js","sourceRoot":"","sources":["../../../sim/battle-stream.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Battle = void 0;
3
+ exports.Battle = exports.extractChannelMessages = void 0;
4
4
  /**
5
5
  * Simulator Battle
6
6
  * Pokemon Showdown - http://pokemonshowdown.com/
@@ -26,6 +26,32 @@ const state_1 = require("./state");
26
26
  const battle_queue_1 = require("./battle-queue");
27
27
  const battle_actions_1 = require("./battle-actions");
28
28
  const lib_1 = require("../lib");
29
+ const splitRegex = /^\|split\|p([1234])\n(.*)\n(.*)|.+/gm;
30
+ function extractChannelMessages(message, channelIds) {
31
+ const channelIdSet = new Set(channelIds);
32
+ const channelMessages = {
33
+ [-1]: [],
34
+ 0: [],
35
+ 1: [],
36
+ 2: [],
37
+ 3: [],
38
+ 4: [],
39
+ };
40
+ for (const [lineMatch, playerMatch, secretMessage, sharedMessage] of message.matchAll(splitRegex)) {
41
+ const player = playerMatch ? parseInt(playerMatch) : 0;
42
+ for (const channelId of channelIdSet) {
43
+ let line = lineMatch;
44
+ if (player) {
45
+ line = channelId === -1 || player === channelId ? secretMessage : sharedMessage;
46
+ if (!line)
47
+ continue;
48
+ }
49
+ channelMessages[channelId].push(line);
50
+ }
51
+ }
52
+ return channelMessages;
53
+ }
54
+ exports.extractChannelMessages = extractChannelMessages;
29
55
  class Battle {
30
56
  constructor(options) {
31
57
  this.toID = dex_1.toID;
@@ -2721,32 +2747,9 @@ class Battle {
2721
2747
  this.add('debug', activity);
2722
2748
  }
2723
2749
  }
2724
- static extractUpdateForSide(data, side = 'spectator') {
2725
- if (side === 'omniscient') {
2726
- // Grab all secret data
2727
- return data.replace(/\|split\|p[1234]\n([^\n]*)\n(?:[^\n]*)/g, '$1');
2728
- }
2729
- // Grab secret data side has access to
2730
- switch (side) {
2731
- case 'p1':
2732
- data = data.replace(/\|split\|p1\n([^\n]*)\n(?:[^\n]*)/g, '$1');
2733
- break;
2734
- case 'p2':
2735
- data = data.replace(/\|split\|p2\n([^\n]*)\n(?:[^\n]*)/g, '$1');
2736
- break;
2737
- case 'p3':
2738
- data = data.replace(/\|split\|p3\n([^\n]*)\n(?:[^\n]*)/g, '$1');
2739
- break;
2740
- case 'p4':
2741
- data = data.replace(/\|split\|p4\n([^\n]*)\n(?:[^\n]*)/g, '$1');
2742
- break;
2743
- }
2744
- // Discard remaining secret data
2745
- // Note: the last \n? is for secret data that are empty when shared
2746
- return data.replace(/\|split\|(?:[^\n]*)\n(?:[^\n]*)\n\n?/g, '');
2747
- }
2748
2750
  getDebugLog() {
2749
- return Battle.extractUpdateForSide(this.log.join('\n'), 'omniscient');
2751
+ const channelMessages = extractChannelMessages(this.log.join('\n'), [-1]);
2752
+ return channelMessages[-1].join('\n');
2750
2753
  }
2751
2754
  debugError(activity) {
2752
2755
  this.add('debug', activity);