@pkmn/sim 0.7.45 → 0.7.47

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 (89) hide show
  1. package/build/cjs/config/formats.js +176 -116
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +5 -5
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/aliases.js +3 -2
  6. package/build/cjs/data/aliases.js.map +1 -1
  7. package/build/cjs/data/formats-data.js +161 -163
  8. package/build/cjs/data/formats-data.js.map +1 -1
  9. package/build/cjs/data/items.js +35 -14
  10. package/build/cjs/data/items.js.map +1 -1
  11. package/build/cjs/data/mods/gen2/scripts.js +3 -3
  12. package/build/cjs/data/mods/gen2/scripts.js.map +1 -1
  13. package/build/cjs/data/mods/gen3/formats-data.js +2 -2
  14. package/build/cjs/data/mods/gen3/formats-data.js.map +1 -1
  15. package/build/cjs/data/mods/gen3/scripts.js +1 -1
  16. package/build/cjs/data/mods/gen3/scripts.js.map +1 -1
  17. package/build/cjs/data/mods/gen4/moves.js +1 -1
  18. package/build/cjs/data/mods/gen4/moves.js.map +1 -1
  19. package/build/cjs/data/mods/gen5/formats-data.js +1 -1
  20. package/build/cjs/data/mods/gen5/formats-data.js.map +1 -1
  21. package/build/cjs/data/mods/gen5/moves.js +1 -1
  22. package/build/cjs/data/mods/gen5/moves.js.map +1 -1
  23. package/build/cjs/data/moves.js +13 -18
  24. package/build/cjs/data/moves.js.map +1 -1
  25. package/build/cjs/data/pokedex.js +9 -9
  26. package/build/cjs/data/pokedex.js.map +1 -1
  27. package/build/cjs/data/pokemongo.js +987 -0
  28. package/build/cjs/data/pokemongo.js.map +1 -0
  29. package/build/cjs/data/rulesets.js +51 -0
  30. package/build/cjs/data/rulesets.js.map +1 -1
  31. package/build/cjs/sim/battle-actions.js +8 -7
  32. package/build/cjs/sim/battle-actions.js.map +1 -1
  33. package/build/cjs/sim/dex-species.js +4 -0
  34. package/build/cjs/sim/dex-species.js.map +1 -1
  35. package/build/cjs/sim/dex.js +3 -2
  36. package/build/cjs/sim/dex.js.map +1 -1
  37. package/build/cjs/sim/pokemon.js +7 -1
  38. package/build/cjs/sim/pokemon.js.map +1 -1
  39. package/build/cjs/sim/team-validator.js +299 -54
  40. package/build/cjs/sim/team-validator.js.map +1 -1
  41. package/build/esm/config/formats.mjs +176 -116
  42. package/build/esm/config/formats.mjs.map +1 -1
  43. package/build/esm/data/abilities.mjs +5 -5
  44. package/build/esm/data/abilities.mjs.map +1 -1
  45. package/build/esm/data/aliases.mjs +3 -2
  46. package/build/esm/data/aliases.mjs.map +1 -1
  47. package/build/esm/data/formats-data.mjs +161 -163
  48. package/build/esm/data/formats-data.mjs.map +1 -1
  49. package/build/esm/data/items.mjs +35 -14
  50. package/build/esm/data/items.mjs.map +1 -1
  51. package/build/esm/data/mods/gen2/scripts.mjs +3 -3
  52. package/build/esm/data/mods/gen2/scripts.mjs.map +1 -1
  53. package/build/esm/data/mods/gen3/formats-data.mjs +2 -2
  54. package/build/esm/data/mods/gen3/formats-data.mjs.map +1 -1
  55. package/build/esm/data/mods/gen3/scripts.mjs +1 -1
  56. package/build/esm/data/mods/gen3/scripts.mjs.map +1 -1
  57. package/build/esm/data/mods/gen4/moves.mjs +1 -1
  58. package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
  59. package/build/esm/data/mods/gen5/formats-data.mjs +1 -1
  60. package/build/esm/data/mods/gen5/formats-data.mjs.map +1 -1
  61. package/build/esm/data/mods/gen5/moves.mjs +1 -1
  62. package/build/esm/data/mods/gen5/moves.mjs.map +1 -1
  63. package/build/esm/data/moves.mjs +13 -18
  64. package/build/esm/data/moves.mjs.map +1 -1
  65. package/build/esm/data/pokedex.mjs +9 -9
  66. package/build/esm/data/pokedex.mjs.map +1 -1
  67. package/build/esm/data/pokemongo.mjs +984 -0
  68. package/build/esm/data/pokemongo.mjs.map +1 -0
  69. package/build/esm/data/rulesets.mjs +51 -0
  70. package/build/esm/data/rulesets.mjs.map +1 -1
  71. package/build/esm/sim/battle-actions.mjs +8 -7
  72. package/build/esm/sim/battle-actions.mjs.map +1 -1
  73. package/build/esm/sim/dex-species.mjs +4 -0
  74. package/build/esm/sim/dex-species.mjs.map +1 -1
  75. package/build/esm/sim/dex.mjs +3 -2
  76. package/build/esm/sim/dex.mjs.map +1 -1
  77. package/build/esm/sim/pokemon.mjs +7 -1
  78. package/build/esm/sim/pokemon.mjs.map +1 -1
  79. package/build/esm/sim/team-validator.mjs +299 -54
  80. package/build/esm/sim/team-validator.mjs.map +1 -1
  81. package/build/types/data/pokemongo.d.ts +31 -0
  82. package/build/types/sim/battle-actions.d.ts +1 -1
  83. package/build/types/sim/dex-species.d.ts +12 -0
  84. package/build/types/sim/dex.d.ts +3 -2
  85. package/build/types/sim/exported-global-types.d.ts +2 -1
  86. package/build/types/sim/global-types.d.ts +2 -1
  87. package/build/types/sim/pokemon.d.ts +2 -0
  88. package/build/types/sim/team-validator.d.ts +8 -1
  89. package/package.json +1 -1
@@ -1101,7 +1101,7 @@ exports.Moves = {
1101
1101
  pp: 40,
1102
1102
  priority: 0,
1103
1103
  flags: {},
1104
- onTryHit(target) {
1104
+ onHit(target) {
1105
1105
  if (!this.canSwitch(target.side) || target.volatiles['commanded']) {
1106
1106
  this.attrLastMove('[still]');
1107
1107
  this.add('-fail', target);
@@ -2426,16 +2426,7 @@ exports.Moves = {
2426
2426
  pp: 5,
2427
2427
  priority: 0,
2428
2428
  flags: { protect: 1, mirror: 1 },
2429
- mindBlownRecoil: true,
2430
- onAfterMove(pokemon, target, move) {
2431
- if (move.mindBlownRecoil && !move.multihit) {
2432
- const hpBeforeRecoil = pokemon.hp;
2433
- this.damage(Math.round(pokemon.maxhp / 2), pokemon, pokemon, this.dex.conditions.get('Chloroblast'), true);
2434
- if (pokemon.hp <= pokemon.maxhp / 2 && hpBeforeRecoil > pokemon.maxhp / 2) {
2435
- this.runEvent('EmergencyExit', pokemon, pokemon);
2436
- }
2437
- }
2438
- },
2429
+ // Recoil implemented in battle-actions.ts
2439
2430
  secondary: null,
2440
2431
  target: "normal",
2441
2432
  type: "Grass",
@@ -9683,11 +9674,15 @@ exports.Moves = {
9683
9674
  pp: 15,
9684
9675
  priority: 0,
9685
9676
  flags: { contact: 1, protect: 1, mirror: 1 },
9686
- onHit() {
9687
- this.field.clearTerrain();
9677
+ onAfterHit(target, source) {
9678
+ if (source.hp) {
9679
+ this.field.clearTerrain();
9680
+ }
9688
9681
  },
9689
- onAfterSubDamage() {
9690
- this.field.clearTerrain();
9682
+ onAfterSubDamage(damage, target, source) {
9683
+ if (source.hp) {
9684
+ this.field.clearTerrain();
9685
+ }
9691
9686
  },
9692
9687
  secondary: null,
9693
9688
  target: "normal",
@@ -16749,7 +16744,7 @@ exports.Moves = {
16749
16744
  flags: {},
16750
16745
  volatileStatus: 'substitute',
16751
16746
  onTryHit(source) {
16752
- if (!this.canSwitch(source.side)) {
16747
+ if (!this.canSwitch(source.side) || source.volatiles['commanded']) {
16753
16748
  this.add('-fail', source);
16754
16749
  return this.NOT_FAIL;
16755
16750
  }
@@ -19100,8 +19095,8 @@ exports.Moves = {
19100
19095
  else {
19101
19096
  this.add('-activate', target, 'move: Substitute', '[damage]');
19102
19097
  }
19103
- if (move.recoil) {
19104
- this.damage(this.actions.calcRecoilDamage(damage, move), source, target, 'recoil');
19098
+ if (move.recoil || move.id === 'chloroblast') {
19099
+ this.damage(this.actions.calcRecoilDamage(damage, move, source), source, target, 'recoil');
19105
19100
  }
19106
19101
  if (move.drain) {
19107
19102
  this.heal(Math.ceil(damage * move.drain[0] / move.drain[1]), source, target, 'drain');