@pkmn/sim 0.7.26 → 0.7.28

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 (70) hide show
  1. package/build/cjs/config/formats.js +27 -9
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/conditions.js +5 -1
  4. package/build/cjs/data/conditions.js.map +1 -1
  5. package/build/cjs/data/formats-data.js +3 -3
  6. package/build/cjs/data/formats-data.js.map +1 -1
  7. package/build/cjs/data/mods/gen1/formats-data.js +0 -317
  8. package/build/cjs/data/mods/gen1/formats-data.js.map +1 -1
  9. package/build/cjs/data/mods/gen1/moves.js +2 -2
  10. package/build/cjs/data/mods/gen1/scripts.js +1 -2
  11. package/build/cjs/data/mods/gen1/scripts.js.map +1 -1
  12. package/build/cjs/data/mods/gen2/formats-data.js +0 -140
  13. package/build/cjs/data/mods/gen2/formats-data.js.map +1 -1
  14. package/build/cjs/data/mods/gen3/formats-data.js +0 -220
  15. package/build/cjs/data/mods/gen3/formats-data.js.map +1 -1
  16. package/build/cjs/data/mods/gen4/formats-data.js +18 -333
  17. package/build/cjs/data/mods/gen4/formats-data.js.map +1 -1
  18. package/build/cjs/data/mods/gen5/formats-data.js +19 -430
  19. package/build/cjs/data/mods/gen5/formats-data.js.map +1 -1
  20. package/build/cjs/data/mods/gen6/formats-data.js +26 -1008
  21. package/build/cjs/data/mods/gen6/formats-data.js.map +1 -1
  22. package/build/cjs/data/mods/gen7/formats-data.js +25 -1193
  23. package/build/cjs/data/mods/gen7/formats-data.js.map +1 -1
  24. package/build/cjs/data/mods/gen8/formats-data.js +5 -1861
  25. package/build/cjs/data/mods/gen8/formats-data.js.map +1 -1
  26. package/build/cjs/data/moves.js +1 -6
  27. package/build/cjs/data/moves.js.map +1 -1
  28. package/build/cjs/data/rulesets.js +1 -1
  29. package/build/cjs/data/rulesets.js.map +1 -1
  30. package/build/cjs/data/text/moves.js +3 -3
  31. package/build/cjs/data/text/moves.js.map +1 -1
  32. package/build/cjs/sim/tools/exhaustive-runner.js +55 -27
  33. package/build/cjs/sim/tools/exhaustive-runner.js.map +1 -1
  34. package/build/esm/config/formats.mjs +27 -9
  35. package/build/esm/config/formats.mjs.map +1 -1
  36. package/build/esm/data/conditions.mjs +5 -1
  37. package/build/esm/data/conditions.mjs.map +1 -1
  38. package/build/esm/data/formats-data.mjs +3 -3
  39. package/build/esm/data/formats-data.mjs.map +1 -1
  40. package/build/esm/data/mods/gen1/formats-data.mjs +0 -317
  41. package/build/esm/data/mods/gen1/formats-data.mjs.map +1 -1
  42. package/build/esm/data/mods/gen1/moves.mjs +2 -2
  43. package/build/esm/data/mods/gen1/scripts.mjs +1 -2
  44. package/build/esm/data/mods/gen1/scripts.mjs.map +1 -1
  45. package/build/esm/data/mods/gen2/formats-data.mjs +0 -140
  46. package/build/esm/data/mods/gen2/formats-data.mjs.map +1 -1
  47. package/build/esm/data/mods/gen3/formats-data.mjs +0 -220
  48. package/build/esm/data/mods/gen3/formats-data.mjs.map +1 -1
  49. package/build/esm/data/mods/gen4/formats-data.mjs +18 -333
  50. package/build/esm/data/mods/gen4/formats-data.mjs.map +1 -1
  51. package/build/esm/data/mods/gen5/formats-data.mjs +19 -430
  52. package/build/esm/data/mods/gen5/formats-data.mjs.map +1 -1
  53. package/build/esm/data/mods/gen6/formats-data.mjs +26 -1008
  54. package/build/esm/data/mods/gen6/formats-data.mjs.map +1 -1
  55. package/build/esm/data/mods/gen7/formats-data.mjs +25 -1193
  56. package/build/esm/data/mods/gen7/formats-data.mjs.map +1 -1
  57. package/build/esm/data/mods/gen8/formats-data.mjs +5 -1861
  58. package/build/esm/data/mods/gen8/formats-data.mjs.map +1 -1
  59. package/build/esm/data/moves.mjs +1 -6
  60. package/build/esm/data/moves.mjs.map +1 -1
  61. package/build/esm/data/rulesets.mjs +1 -1
  62. package/build/esm/data/rulesets.mjs.map +1 -1
  63. package/build/esm/data/text/moves.mjs +3 -3
  64. package/build/esm/data/text/moves.mjs.map +1 -1
  65. package/build/esm/sim/tools/exhaustive-runner.mjs +55 -27
  66. package/build/esm/sim/tools/exhaustive-runner.mjs.map +1 -1
  67. package/build/types/sim/exported-global-types.d.ts +4 -3
  68. package/build/types/sim/global-types.d.ts +4 -3
  69. package/build/types/sim/tools/exhaustive-runner.d.ts +4 -2
  70. package/package.json +1 -1
@@ -17,6 +17,7 @@ export class ExhaustiveRunner {
17
17
  this.cmd = options.cmd || ((cycles, format, seed) => `node tools/simulate exhaustive --cycles=${cycles} --format=${format} --seed=${seed}`);
18
18
  this.failures = 0;
19
19
  this.games = 0;
20
+ this.needsClear = false;
20
21
  }
21
22
  async run() {
22
23
  const dex = Dex.forFormat(this.format);
@@ -25,30 +26,55 @@ export class ExhaustiveRunner {
25
26
  const pools = this.createPools(dex);
26
27
  const createAI = (s, o) => new CoordinatedPlayerAI(s, o, pools);
27
28
  const generator = new TeamGenerator(dex, this.prng, pools, ExhaustiveRunner.getSignatures(dex, pools));
28
- do {
29
- this.games++;
30
- try {
31
- // We run these sequentially instead of async so that the team generator
32
- // and the AI can coordinate usage properly.
33
- await this.runner({
34
- prng: this.prng,
35
- p1options: { team: generator.generate(), createAI },
36
- p2options: { team: generator.generate(), createAI },
37
- format: this.format,
38
- dual: this.dual,
39
- error: true,
40
- });
41
- if (this.log)
42
- this.logProgress(dex, pools);
43
- }
44
- catch (err) {
45
- this.failures++;
46
- console.error(`\n\nRun \`${this.cmd(this.cycles, this.format, seed.join())}\`:\n`, err);
47
- }
48
- } while ((!this.maxGames || this.games < this.maxGames) &&
49
- (!this.maxFailures || this.failures < this.maxFailures) &&
50
- generator.exhausted < this.cycles);
51
- return this.failures;
29
+ const log = console.log;
30
+ const error = console.error;
31
+ try {
32
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
33
+ const self = this;
34
+ console.log = (...s) => {
35
+ self.maybeClear();
36
+ log(...s);
37
+ };
38
+ console.error = (...s) => {
39
+ self.maybeClear();
40
+ error(...s);
41
+ };
42
+ do {
43
+ this.games++;
44
+ try {
45
+ // We run these sequentially instead of async so that the team generator
46
+ // and the AI can coordinate usage properly.
47
+ await this.runner({
48
+ prng: this.prng,
49
+ p1options: { team: generator.generate(), createAI },
50
+ p2options: { team: generator.generate(), createAI },
51
+ format: this.format,
52
+ dual: this.dual,
53
+ error: true,
54
+ });
55
+ if (this.log)
56
+ this.logProgress(dex, pools);
57
+ }
58
+ catch (err) {
59
+ this.failures++;
60
+ console.error(`Run \`${this.cmd(this.cycles, this.format, seed.join())}\`:\n`, err);
61
+ }
62
+ } while ((!this.maxGames || this.games < this.maxGames) &&
63
+ (!this.maxFailures || this.failures < this.maxFailures) &&
64
+ generator.exhausted < this.cycles);
65
+ return this.failures;
66
+ }
67
+ finally {
68
+ console.log = log;
69
+ console.error = error;
70
+ this.maybeClear();
71
+ }
72
+ }
73
+ maybeClear() {
74
+ if (this.needsClear) {
75
+ process.stdout.write('\n');
76
+ this.needsClear = false;
77
+ }
52
78
  }
53
79
  createPools(dex) {
54
80
  return {
@@ -66,16 +92,18 @@ export class ExhaustiveRunner {
66
92
  logProgress(dex, p) {
67
93
  // `\r` = return to the beginning of the line
68
94
  // `\x1b[k` (`\e[K`) = clear all characters from cursor position to EOL
69
- if (this.games)
95
+ if (this.games > 1)
70
96
  process.stdout.write('\r\x1b[K');
71
- const msg = [`[${this.format}] P:${p.pokemon}`];
97
+ const name = this.format.slice(0, this.format.indexOf('customgame'));
98
+ const msg = [`\x1b[1m[${name}]\x1b[22m P:${p.pokemon}`];
72
99
  if (dex.gen >= 2)
73
100
  msg.push(`I:${p.items}`);
74
101
  if (dex.gen >= 3)
75
102
  msg.push(`A:${p.abilities}`);
76
103
  msg.push(`M:${p.moves} = ${this.games}`);
77
104
  // Deliberately don't print a `\n` character so that we can overwrite
78
- process.stdout.write(msg.join(' '));
105
+ process.stdout.write(`\x1b[35m${msg.join(' ')}\x1b[0m`);
106
+ this.needsClear = true;
79
107
  }
80
108
  static getSignatures(dex, pools) {
81
109
  const signatures = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"exhaustive-runner.js","sourceRoot":"","sources":["../../../../sim/tools/exhaustive-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exhaustive-runner.js","sourceRoot":"","sources":["../../../../sim/tools/exhaustive-runner.ts"],"names":[],"mappings":"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"}
@@ -230,9 +230,9 @@ export interface ModdedBattleActions {
230
230
  useMoveInner?: (this: BattleActions, move: Move, pokemon: Pokemon, target?: Pokemon | null, sourceEffect?: Effect | null, zMove?: string, maxMove?: string) => boolean;
231
231
  getDamage?: (this: BattleActions, pokemon: Pokemon, target: Pokemon, move: string | number | ActiveMove, suppressMessages: boolean) => number | undefined | null | false;
232
232
  modifyDamage?: (this: BattleActions, baseDamage: number, pokemon: Pokemon, target: Pokemon, move: ActiveMove, suppressMessages?: boolean) => void;
233
- doGetMixedSpecies?: (this: BattleActions, species: Species, deltas: AnyObject) => Species;
234
- getMegaDeltas?: (this: BattleActions, megaSpecies: Species) => AnyObject;
235
- getMixedSpecies?: (this: BattleActions, originalName: string, megaName: string) => Species;
233
+ mutateOriginalSpecies?: (this: BattleActions, species: Species, deltas: AnyObject) => Species;
234
+ getFormeChangeDeltas?: (this: BattleActions, formeChangeSpecies: Species, pokemon?: Pokemon) => AnyObject;
235
+ getMixedSpecies?: (this: BattleActions, originalName: string, megaName: string, pokemon?: Pokemon) => Species;
236
236
  }
237
237
  export interface ModdedBattleSide {
238
238
  canDynamaxNow?: (this: Side) => boolean;
@@ -321,6 +321,7 @@ export interface ModdedBattleScriptsData extends Partial<BattleScriptsData> {
321
321
  nextTurn?: (this: Battle) => void;
322
322
  runAction?: (this: Battle, action: Action) => void;
323
323
  spreadModify?: (this: Battle, baseStats: StatsTable, set: PokemonSet) => StatsTable;
324
+ start?: (this: Battle) => void;
324
325
  suppressingWeather?: (this: Battle) => boolean;
325
326
  trunc?: (n: number) => number;
326
327
  win?: (this: Battle, side?: SideID | '' | Side | null) => boolean;
@@ -230,9 +230,9 @@ interface ModdedBattleActions {
230
230
  useMoveInner?: (this: BattleActions, move: Move, pokemon: Pokemon, target?: Pokemon | null, sourceEffect?: Effect | null, zMove?: string, maxMove?: string) => boolean;
231
231
  getDamage?: (this: BattleActions, pokemon: Pokemon, target: Pokemon, move: string | number | ActiveMove, suppressMessages: boolean) => number | undefined | null | false;
232
232
  modifyDamage?: (this: BattleActions, baseDamage: number, pokemon: Pokemon, target: Pokemon, move: ActiveMove, suppressMessages?: boolean) => void;
233
- doGetMixedSpecies?: (this: BattleActions, species: Species, deltas: AnyObject) => Species;
234
- getMegaDeltas?: (this: BattleActions, megaSpecies: Species) => AnyObject;
235
- getMixedSpecies?: (this: BattleActions, originalName: string, megaName: string) => Species;
233
+ mutateOriginalSpecies?: (this: BattleActions, species: Species, deltas: AnyObject) => Species;
234
+ getFormeChangeDeltas?: (this: BattleActions, formeChangeSpecies: Species, pokemon?: Pokemon) => AnyObject;
235
+ getMixedSpecies?: (this: BattleActions, originalName: string, megaName: string, pokemon?: Pokemon) => Species;
236
236
  }
237
237
  interface ModdedBattleSide {
238
238
  canDynamaxNow?: (this: Side) => boolean;
@@ -321,6 +321,7 @@ interface ModdedBattleScriptsData extends Partial<BattleScriptsData> {
321
321
  nextTurn?: (this: Battle) => void;
322
322
  runAction?: (this: Battle, action: Action) => void;
323
323
  spreadModify?: (this: Battle, baseStats: StatsTable, set: PokemonSet) => StatsTable;
324
+ start?: (this: Battle) => void;
324
325
  suppressingWeather?: (this: Battle) => boolean;
325
326
  trunc?: (n: number) => number;
326
327
  win?: (this: Battle, side?: SideID | '' | Side | null) => boolean;
@@ -9,11 +9,11 @@ export interface ExhaustiveRunnerOptions {
9
9
  maxGames?: number;
10
10
  maxFailures?: number;
11
11
  dual?: boolean | 'debug';
12
- possible?: ExhaustiveRunnerPossibilites;
12
+ possible?: ExhaustiveRunnerPossibilities;
13
13
  runner?: (options: RunnerOptions) => Promise<void>;
14
14
  cmd?: (cycles: number, format: string, seed: string) => string;
15
15
  }
16
- export interface ExhaustiveRunnerPossibilites {
16
+ export interface ExhaustiveRunnerPossibilities {
17
17
  pokemon?: ID[];
18
18
  items?: ID[];
19
19
  abilities?: ID[];
@@ -35,8 +35,10 @@ export declare class ExhaustiveRunner {
35
35
  private readonly cmd;
36
36
  private failures;
37
37
  private games;
38
+ private needsClear;
38
39
  constructor(options: ExhaustiveRunnerOptions);
39
40
  run(): Promise<number>;
41
+ private maybeClear;
40
42
  private createPools;
41
43
  private logProgress;
42
44
  private static getSignatures;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pkmn/sim",
3
- "version": "0.7.26",
3
+ "version": "0.7.28",
4
4
  "description": "An automatically generated extraction of just the simulator portion of Pokémon Showdown",
5
5
  "repository": "github:pkmn/ps",
6
6
  "homepage": "https://psim.us",