@pkmn/sim 0.9.28 → 0.9.29

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 (73) hide show
  1. package/build/cjs/data/abilities.js +6 -13
  2. package/build/cjs/data/abilities.js.map +1 -1
  3. package/build/cjs/data/aliases.js +0 -2
  4. package/build/cjs/data/aliases.js.map +1 -1
  5. package/build/cjs/data/formats-data.js +1 -1
  6. package/build/cjs/data/learnsets.js +1 -55
  7. package/build/cjs/data/learnsets.js.map +1 -1
  8. package/build/cjs/data/legality.js +39 -17
  9. package/build/cjs/data/legality.js.map +1 -1
  10. package/build/cjs/data/mods/gen3/formats-data.js +12 -12
  11. package/build/cjs/data/mods/gen3/formats-data.js.map +1 -1
  12. package/build/cjs/data/mods/gen4/moves.js +6 -2
  13. package/build/cjs/data/mods/gen4/moves.js.map +1 -1
  14. package/build/cjs/data/mods/gen5/abilities.js +25 -0
  15. package/build/cjs/data/mods/gen5/abilities.js.map +1 -1
  16. package/build/cjs/data/mods/gen5/moves.js +35 -0
  17. package/build/cjs/data/mods/gen5/moves.js.map +1 -1
  18. package/build/cjs/data/mods/gen7/moves.js +3 -1
  19. package/build/cjs/data/mods/gen7/moves.js.map +1 -1
  20. package/build/cjs/data/moves.js +23 -7
  21. package/build/cjs/data/moves.js.map +1 -1
  22. package/build/cjs/data/pokedex.js +18 -3
  23. package/build/cjs/data/pokedex.js.map +1 -1
  24. package/build/cjs/data/pokemongo.js +1 -1
  25. package/build/cjs/data/pokemongo.js.map +1 -1
  26. package/build/cjs/sim/dex-species.js +1 -9
  27. package/build/cjs/sim/dex-species.js.map +1 -1
  28. package/build/cjs/sim/pokemon.js +5 -3
  29. package/build/cjs/sim/pokemon.js.map +1 -1
  30. package/build/cjs/sim/prng.d.ts +0 -1
  31. package/build/cjs/sim/prng.js +1 -41
  32. package/build/cjs/sim/prng.js.map +1 -1
  33. package/build/cjs/sim/team-validator.js +14 -2
  34. package/build/cjs/sim/team-validator.js.map +1 -1
  35. package/build/cjs/sim/tools/exhaustive-runner.js +1 -1
  36. package/build/cjs/sim/tools/exhaustive-runner.js.map +1 -1
  37. package/build/esm/data/abilities.mjs +6 -13
  38. package/build/esm/data/abilities.mjs.map +1 -1
  39. package/build/esm/data/aliases.mjs +0 -2
  40. package/build/esm/data/aliases.mjs.map +1 -1
  41. package/build/esm/data/formats-data.mjs +1 -1
  42. package/build/esm/data/learnsets.mjs +1 -55
  43. package/build/esm/data/learnsets.mjs.map +1 -1
  44. package/build/esm/data/legality.mjs +39 -17
  45. package/build/esm/data/legality.mjs.map +1 -1
  46. package/build/esm/data/mods/gen3/formats-data.mjs +12 -12
  47. package/build/esm/data/mods/gen3/formats-data.mjs.map +1 -1
  48. package/build/esm/data/mods/gen4/moves.mjs +6 -2
  49. package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
  50. package/build/esm/data/mods/gen5/abilities.mjs +25 -0
  51. package/build/esm/data/mods/gen5/abilities.mjs.map +1 -1
  52. package/build/esm/data/mods/gen5/moves.mjs +35 -0
  53. package/build/esm/data/mods/gen5/moves.mjs.map +1 -1
  54. package/build/esm/data/mods/gen7/moves.mjs +3 -1
  55. package/build/esm/data/mods/gen7/moves.mjs.map +1 -1
  56. package/build/esm/data/moves.mjs +23 -7
  57. package/build/esm/data/moves.mjs.map +1 -1
  58. package/build/esm/data/pokedex.mjs +18 -3
  59. package/build/esm/data/pokedex.mjs.map +1 -1
  60. package/build/esm/data/pokemongo.mjs +1 -1
  61. package/build/esm/data/pokemongo.mjs.map +1 -1
  62. package/build/esm/sim/dex-species.mjs +1 -9
  63. package/build/esm/sim/dex-species.mjs.map +1 -1
  64. package/build/esm/sim/pokemon.mjs +5 -3
  65. package/build/esm/sim/pokemon.mjs.map +1 -1
  66. package/build/esm/sim/prng.d.mts +0 -1
  67. package/build/esm/sim/prng.mjs +1 -8
  68. package/build/esm/sim/prng.mjs.map +1 -1
  69. package/build/esm/sim/team-validator.mjs +14 -2
  70. package/build/esm/sim/team-validator.mjs.map +1 -1
  71. package/build/esm/sim/tools/exhaustive-runner.mjs +1 -1
  72. package/build/esm/sim/tools/exhaustive-runner.mjs.map +1 -1
  73. package/package.json +2 -2
@@ -2492,7 +2492,7 @@ exports.Abilities = {
2492
2492
  magicbounce: {
2493
2493
  onTryHitPriority: 1,
2494
2494
  onTryHit(target, source, move) {
2495
- if (target === source || move.hasBounced || !move.flags['reflectable']) {
2495
+ if (target === source || move.hasBounced || !move.flags['reflectable'] || target.isSemiInvulnerable()) {
2496
2496
  return;
2497
2497
  }
2498
2498
  const newMove = this.dex.getActiveMove(move.id);
@@ -2502,7 +2502,7 @@ exports.Abilities = {
2502
2502
  return null;
2503
2503
  },
2504
2504
  onAllyTryHitSide(target, source, move) {
2505
- if (target.isAlly(source) || move.hasBounced || !move.flags['reflectable']) {
2505
+ if (target.isAlly(source) || move.hasBounced || !move.flags['reflectable'] || target.isSemiInvulnerable()) {
2506
2506
  return;
2507
2507
  }
2508
2508
  const newMove = this.dex.getActiveMove(move.id);
@@ -3289,18 +3289,11 @@ exports.Abilities = {
3289
3289
  },
3290
3290
  perishbody: {
3291
3291
  onDamagingHit(damage, target, source, move) {
3292
- if (!this.checkMoveMakesContact(move, source, target))
3292
+ if (!this.checkMoveMakesContact(move, source, target) || source.volatiles['perishsong'])
3293
3293
  return;
3294
- let announced = false;
3295
- for (const pokemon of [target, source]) {
3296
- if (pokemon.volatiles['perishsong'])
3297
- continue;
3298
- if (!announced) {
3299
- this.add('-ability', target, 'Perish Body');
3300
- announced = true;
3301
- }
3302
- pokemon.addVolatile('perishsong');
3303
- }
3294
+ this.add('-ability', target, 'Perish Body');
3295
+ source.addVolatile('perishsong');
3296
+ target.addVolatile('perishsong');
3304
3297
  },
3305
3298
  flags: {},
3306
3299
  name: "Perish Body",