@pkmn/sim 0.7.1 → 0.7.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 (157) hide show
  1. package/build/cjs/config/formats.js +27 -22
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +16 -18
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/moves.js +2 -3
  6. package/build/cjs/data/moves.js.map +1 -1
  7. package/build/cjs/data/pokedex.js +3 -3
  8. package/build/cjs/data/pokedex.js.map +1 -1
  9. package/build/cjs/data/rulesets.js +12 -49
  10. package/build/cjs/data/rulesets.js.map +1 -1
  11. package/build/cjs/data/text/abilities.js +5 -4
  12. package/build/cjs/data/text/abilities.js.map +1 -1
  13. package/build/cjs/data/text/moves.js +2 -1
  14. package/build/cjs/data/text/moves.js.map +1 -1
  15. package/build/cjs/sim/battle-queue.js +0 -1
  16. package/build/cjs/sim/battle-queue.js.map +1 -1
  17. package/build/cjs/sim/battle.js +1 -16
  18. package/build/cjs/sim/battle.js.map +1 -1
  19. package/build/cjs/sim/prng.js +1 -103
  20. package/build/cjs/sim/prng.js.map +1 -1
  21. package/build/cjs/sim/side.js +0 -1
  22. package/build/cjs/sim/side.js.map +1 -1
  23. package/build/cjs/sim/team-validator.js +1 -1
  24. package/build/cjs/sim/team-validator.js.map +1 -1
  25. package/build/esm/config/formats.mjs +28 -23
  26. package/build/esm/config/formats.mjs.map +1 -1
  27. package/build/esm/data/abilities.mjs +17 -19
  28. package/build/esm/data/abilities.mjs.map +1 -1
  29. package/build/esm/data/aliases.mjs +1 -1
  30. package/build/esm/data/conditions.mjs +1 -1
  31. package/build/esm/data/formats-data.mjs +1 -1
  32. package/build/esm/data/index.mjs +1 -1
  33. package/build/esm/data/items.mjs +1 -1
  34. package/build/esm/data/learnsets.mjs +1 -1
  35. package/build/esm/data/mods/gen1/conditions.mjs +1 -1
  36. package/build/esm/data/mods/gen1/formats-data.mjs +1 -1
  37. package/build/esm/data/mods/gen1/index.mjs +1 -1
  38. package/build/esm/data/mods/gen1/moves.mjs +1 -1
  39. package/build/esm/data/mods/gen1/pokedex.mjs +1 -1
  40. package/build/esm/data/mods/gen1/rulesets.mjs +1 -1
  41. package/build/esm/data/mods/gen1/scripts.mjs +1 -1
  42. package/build/esm/data/mods/gen1/typechart.mjs +1 -1
  43. package/build/esm/data/mods/gen2/conditions.mjs +1 -1
  44. package/build/esm/data/mods/gen2/formats-data.mjs +1 -1
  45. package/build/esm/data/mods/gen2/index.mjs +1 -1
  46. package/build/esm/data/mods/gen2/items.mjs +1 -1
  47. package/build/esm/data/mods/gen2/learnsets.mjs +1 -1
  48. package/build/esm/data/mods/gen2/moves.mjs +1 -1
  49. package/build/esm/data/mods/gen2/pokedex.mjs +1 -1
  50. package/build/esm/data/mods/gen2/rulesets.mjs +1 -1
  51. package/build/esm/data/mods/gen2/scripts.mjs +1 -1
  52. package/build/esm/data/mods/gen2/typechart.mjs +1 -1
  53. package/build/esm/data/mods/gen3/abilities.mjs +1 -1
  54. package/build/esm/data/mods/gen3/conditions.mjs +1 -1
  55. package/build/esm/data/mods/gen3/formats-data.mjs +1 -1
  56. package/build/esm/data/mods/gen3/index.mjs +1 -1
  57. package/build/esm/data/mods/gen3/items.mjs +1 -1
  58. package/build/esm/data/mods/gen3/moves.mjs +1 -1
  59. package/build/esm/data/mods/gen3/rulesets.mjs +1 -1
  60. package/build/esm/data/mods/gen3/scripts.mjs +1 -1
  61. package/build/esm/data/mods/gen4/abilities.mjs +1 -1
  62. package/build/esm/data/mods/gen4/conditions.mjs +1 -1
  63. package/build/esm/data/mods/gen4/formats-data.mjs +1 -1
  64. package/build/esm/data/mods/gen4/index.mjs +1 -1
  65. package/build/esm/data/mods/gen4/items.mjs +1 -1
  66. package/build/esm/data/mods/gen4/moves.mjs +1 -1
  67. package/build/esm/data/mods/gen4/pokedex.mjs +1 -1
  68. package/build/esm/data/mods/gen4/rulesets.mjs +1 -1
  69. package/build/esm/data/mods/gen4/scripts.mjs +1 -1
  70. package/build/esm/data/mods/gen5/abilities.mjs +1 -1
  71. package/build/esm/data/mods/gen5/conditions.mjs +1 -1
  72. package/build/esm/data/mods/gen5/formats-data.mjs +1 -1
  73. package/build/esm/data/mods/gen5/index.mjs +1 -1
  74. package/build/esm/data/mods/gen5/items.mjs +1 -1
  75. package/build/esm/data/mods/gen5/moves.mjs +1 -1
  76. package/build/esm/data/mods/gen5/pokedex.mjs +1 -1
  77. package/build/esm/data/mods/gen5/rulesets.mjs +1 -1
  78. package/build/esm/data/mods/gen5/scripts.mjs +1 -1
  79. package/build/esm/data/mods/gen5/typechart.mjs +1 -1
  80. package/build/esm/data/mods/gen6/abilities.mjs +1 -1
  81. package/build/esm/data/mods/gen6/conditions.mjs +1 -1
  82. package/build/esm/data/mods/gen6/formats-data.mjs +1 -1
  83. package/build/esm/data/mods/gen6/index.mjs +1 -1
  84. package/build/esm/data/mods/gen6/items.mjs +1 -1
  85. package/build/esm/data/mods/gen6/learnsets.mjs +1 -1
  86. package/build/esm/data/mods/gen6/moves.mjs +1 -1
  87. package/build/esm/data/mods/gen6/pokedex.mjs +1 -1
  88. package/build/esm/data/mods/gen6/scripts.mjs +1 -1
  89. package/build/esm/data/mods/gen6/typechart.mjs +1 -1
  90. package/build/esm/data/mods/gen7/abilities.mjs +1 -1
  91. package/build/esm/data/mods/gen7/formats-data.mjs +1 -1
  92. package/build/esm/data/mods/gen7/index.mjs +1 -1
  93. package/build/esm/data/mods/gen7/items.mjs +1 -1
  94. package/build/esm/data/mods/gen7/moves.mjs +1 -1
  95. package/build/esm/data/mods/gen7/pokedex.mjs +1 -1
  96. package/build/esm/data/mods/gen7/rulesets.mjs +1 -1
  97. package/build/esm/data/mods/gen7/scripts.mjs +1 -1
  98. package/build/esm/data/mods/gen8/abilities.mjs +1 -1
  99. package/build/esm/data/mods/gen8/formats-data.mjs +1 -1
  100. package/build/esm/data/mods/gen8/index.mjs +1 -1
  101. package/build/esm/data/mods/gen8/moves.mjs +1 -1
  102. package/build/esm/data/mods/gen8/pokedex.mjs +1 -1
  103. package/build/esm/data/mods/gen8/rulesets.mjs +1 -1
  104. package/build/esm/data/mods/gen8/scripts.mjs +1 -1
  105. package/build/esm/data/moves.mjs +3 -4
  106. package/build/esm/data/moves.mjs.map +1 -1
  107. package/build/esm/data/natures.mjs +1 -1
  108. package/build/esm/data/pokedex.mjs +4 -4
  109. package/build/esm/data/pokedex.mjs.map +1 -1
  110. package/build/esm/data/rulesets.mjs +13 -50
  111. package/build/esm/data/rulesets.mjs.map +1 -1
  112. package/build/esm/data/scripts.mjs +1 -1
  113. package/build/esm/data/tags.mjs +1 -1
  114. package/build/esm/data/text/abilities.mjs +6 -5
  115. package/build/esm/data/text/abilities.mjs.map +1 -1
  116. package/build/esm/data/text/default.mjs +1 -1
  117. package/build/esm/data/text/items.mjs +1 -1
  118. package/build/esm/data/text/moves.mjs +3 -2
  119. package/build/esm/data/text/moves.mjs.map +1 -1
  120. package/build/esm/data/typechart.mjs +1 -1
  121. package/build/esm/lib/index.mjs +1 -1
  122. package/build/esm/lib/streams.mjs +1 -1
  123. package/build/esm/lib/utils.mjs +1 -1
  124. package/build/esm/sim/battle-actions.mjs +1 -1
  125. package/build/esm/sim/battle-queue.mjs +1 -2
  126. package/build/esm/sim/battle-queue.mjs.map +1 -1
  127. package/build/esm/sim/battle-stream.mjs +1 -1
  128. package/build/esm/sim/battle.mjs +2 -17
  129. package/build/esm/sim/battle.mjs.map +1 -1
  130. package/build/esm/sim/dex-abilities.mjs +1 -1
  131. package/build/esm/sim/dex-conditions.mjs +1 -1
  132. package/build/esm/sim/dex-data.mjs +1 -1
  133. package/build/esm/sim/dex-formats.mjs +1 -1
  134. package/build/esm/sim/dex-items.mjs +1 -1
  135. package/build/esm/sim/dex-moves.mjs +1 -1
  136. package/build/esm/sim/dex-species.mjs +1 -1
  137. package/build/esm/sim/dex.mjs +1 -1
  138. package/build/esm/sim/exported-global-types.mjs +1 -1
  139. package/build/esm/sim/field.mjs +1 -1
  140. package/build/esm/sim/global-types.mjs +1 -1
  141. package/build/esm/sim/index.mjs +1 -1
  142. package/build/esm/sim/pokemon.mjs +1 -1
  143. package/build/esm/sim/prng.mjs +2 -104
  144. package/build/esm/sim/prng.mjs.map +1 -1
  145. package/build/esm/sim/side.mjs +1 -2
  146. package/build/esm/sim/side.mjs.map +1 -1
  147. package/build/esm/sim/state.mjs +1 -1
  148. package/build/esm/sim/team-validator.mjs +2 -2
  149. package/build/esm/sim/team-validator.mjs.map +1 -1
  150. package/build/esm/sim/teams.mjs +1 -1
  151. package/build/esm/sim/tools/exhaustive-runner.mjs +1 -1
  152. package/build/esm/sim/tools/index.mjs +1 -1
  153. package/build/esm/sim/tools/random-player-ai.mjs +1 -1
  154. package/build/esm/sim/tools/runner.mjs +1 -1
  155. package/build/types/sim/exported-global-types.d.ts +1 -0
  156. package/build/types/sim/global-types.d.ts +1 -0
  157. package/package.json +1 -1
@@ -661,18 +661,16 @@ exports.Abilities = {
661
661
  const ally = pokemon.allies()[0];
662
662
  if (!ally)
663
663
  return;
664
- let hasBoost = false;
665
- let b;
666
- for (b in ally.boosts) {
667
- if (ally.boosts[b] !== 0) {
668
- hasBoost = true;
669
- break;
664
+ let activate = false;
665
+ let i;
666
+ for (i in ally.boosts) {
667
+ if (ally.boosts[i]) {
668
+ pokemon.boosts[i] = ally.boosts[i];
669
+ activate = true;
670
670
  }
671
671
  }
672
- if (hasBoost) {
673
- this.add('-activate', pokemon, 'ability: Costar');
674
- this.boost(ally.boosts, pokemon);
675
- }
672
+ if (activate)
673
+ this.add('-copyboost', pokemon, ally, '[from] ability: Costar');
676
674
  },
677
675
  name: "Costar",
678
676
  rating: 2.5,
@@ -3320,28 +3318,28 @@ exports.Abilities = {
3320
3318
  if (this.effectState.bestStat !== 'atk')
3321
3319
  return;
3322
3320
  this.debug('Protosynthesis atk boost');
3323
- return this.chainModify(1.5);
3321
+ return this.chainModify([5325, 4096]);
3324
3322
  },
3325
3323
  onModifyDefPriority: 6,
3326
3324
  onModifyDef(def, target, source, move) {
3327
3325
  if (this.effectState.bestStat !== 'def')
3328
3326
  return;
3329
3327
  this.debug('Protosynthesis def boost');
3330
- return this.chainModify(1.5);
3328
+ return this.chainModify([5325, 4096]);
3331
3329
  },
3332
3330
  onModifySpAPriority: 5,
3333
3331
  onModifySpA(relayVar, source, target, move) {
3334
3332
  if (this.effectState.bestStat !== 'spa')
3335
3333
  return;
3336
3334
  this.debug('Protosynthesis spa boost');
3337
- return this.chainModify(1.5);
3335
+ return this.chainModify([5325, 4096]);
3338
3336
  },
3339
3337
  onModifySpDPriority: 6,
3340
3338
  onModifySpD(relayVar, target, source, move) {
3341
3339
  if (this.effectState.bestStat !== 'spd')
3342
3340
  return;
3343
3341
  this.debug('Protosynthesis spd boost');
3344
- return this.chainModify(1.5);
3342
+ return this.chainModify([5325, 4096]);
3345
3343
  },
3346
3344
  onModifySpe(spe, pokemon) {
3347
3345
  if (this.effectState.bestStat !== 'spe')
@@ -3458,28 +3456,28 @@ exports.Abilities = {
3458
3456
  if (this.effectState.bestStat !== 'atk')
3459
3457
  return;
3460
3458
  this.debug('Quark Drive atk boost');
3461
- return this.chainModify(1.5);
3459
+ return this.chainModify([5325, 4096]);
3462
3460
  },
3463
3461
  onModifyDefPriority: 6,
3464
3462
  onModifyDef(def, target, source, move) {
3465
3463
  if (this.effectState.bestStat !== 'def')
3466
3464
  return;
3467
3465
  this.debug('Quark Drive def boost');
3468
- return this.chainModify(1.5);
3466
+ return this.chainModify([5325, 4096]);
3469
3467
  },
3470
3468
  onModifySpAPriority: 5,
3471
3469
  onModifySpA(relayVar, source, target, move) {
3472
3470
  if (this.effectState.bestStat !== 'spa')
3473
3471
  return;
3474
3472
  this.debug('Quark Drive spa boost');
3475
- return this.chainModify(1.5);
3473
+ return this.chainModify([5325, 4096]);
3476
3474
  },
3477
3475
  onModifySpDPriority: 6,
3478
3476
  onModifySpD(relayVar, target, source, move) {
3479
3477
  if (this.effectState.bestStat !== 'spd')
3480
3478
  return;
3481
3479
  this.debug('Quark Drive spd boost');
3482
- return this.chainModify(1.5);
3480
+ return this.chainModify([5325, 4096]);
3483
3481
  },
3484
3482
  onModifySpe(spe, pokemon) {
3485
3483
  if (this.effectState.bestStat !== 'spe')