@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
@@ -2489,7 +2489,7 @@ export const Abilities = {
2489
2489
  magicbounce: {
2490
2490
  onTryHitPriority: 1,
2491
2491
  onTryHit(target, source, move) {
2492
- if (target === source || move.hasBounced || !move.flags['reflectable']) {
2492
+ if (target === source || move.hasBounced || !move.flags['reflectable'] || target.isSemiInvulnerable()) {
2493
2493
  return;
2494
2494
  }
2495
2495
  const newMove = this.dex.getActiveMove(move.id);
@@ -2499,7 +2499,7 @@ export const Abilities = {
2499
2499
  return null;
2500
2500
  },
2501
2501
  onAllyTryHitSide(target, source, move) {
2502
- if (target.isAlly(source) || move.hasBounced || !move.flags['reflectable']) {
2502
+ if (target.isAlly(source) || move.hasBounced || !move.flags['reflectable'] || target.isSemiInvulnerable()) {
2503
2503
  return;
2504
2504
  }
2505
2505
  const newMove = this.dex.getActiveMove(move.id);
@@ -3286,18 +3286,11 @@ export const Abilities = {
3286
3286
  },
3287
3287
  perishbody: {
3288
3288
  onDamagingHit(damage, target, source, move) {
3289
- if (!this.checkMoveMakesContact(move, source, target))
3289
+ if (!this.checkMoveMakesContact(move, source, target) || source.volatiles['perishsong'])
3290
3290
  return;
3291
- let announced = false;
3292
- for (const pokemon of [target, source]) {
3293
- if (pokemon.volatiles['perishsong'])
3294
- continue;
3295
- if (!announced) {
3296
- this.add('-ability', target, 'Perish Body');
3297
- announced = true;
3298
- }
3299
- pokemon.addVolatile('perishsong');
3300
- }
3291
+ this.add('-ability', target, 'Perish Body');
3292
+ source.addVolatile('perishsong');
3293
+ target.addVolatile('perishsong');
3301
3294
  },
3302
3295
  flags: {},
3303
3296
  name: "Perish Body",