@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
@@ -1098,7 +1098,7 @@ export const Moves = {
1098
1098
  pp: 40,
1099
1099
  priority: 0,
1100
1100
  flags: {},
1101
- onTryHit(target) {
1101
+ onHit(target) {
1102
1102
  if (!this.canSwitch(target.side) || target.volatiles['commanded']) {
1103
1103
  this.attrLastMove('[still]');
1104
1104
  this.add('-fail', target);
@@ -2423,16 +2423,7 @@ export const Moves = {
2423
2423
  pp: 5,
2424
2424
  priority: 0,
2425
2425
  flags: { protect: 1, mirror: 1 },
2426
- mindBlownRecoil: true,
2427
- onAfterMove(pokemon, target, move) {
2428
- if (move.mindBlownRecoil && !move.multihit) {
2429
- const hpBeforeRecoil = pokemon.hp;
2430
- this.damage(Math.round(pokemon.maxhp / 2), pokemon, pokemon, this.dex.conditions.get('Chloroblast'), true);
2431
- if (pokemon.hp <= pokemon.maxhp / 2 && hpBeforeRecoil > pokemon.maxhp / 2) {
2432
- this.runEvent('EmergencyExit', pokemon, pokemon);
2433
- }
2434
- }
2435
- },
2426
+ // Recoil implemented in battle-actions.ts
2436
2427
  secondary: null,
2437
2428
  target: "normal",
2438
2429
  type: "Grass",
@@ -9680,11 +9671,15 @@ export const Moves = {
9680
9671
  pp: 15,
9681
9672
  priority: 0,
9682
9673
  flags: { contact: 1, protect: 1, mirror: 1 },
9683
- onHit() {
9684
- this.field.clearTerrain();
9674
+ onAfterHit(target, source) {
9675
+ if (source.hp) {
9676
+ this.field.clearTerrain();
9677
+ }
9685
9678
  },
9686
- onAfterSubDamage() {
9687
- this.field.clearTerrain();
9679
+ onAfterSubDamage(damage, target, source) {
9680
+ if (source.hp) {
9681
+ this.field.clearTerrain();
9682
+ }
9688
9683
  },
9689
9684
  secondary: null,
9690
9685
  target: "normal",
@@ -16746,7 +16741,7 @@ export const Moves = {
16746
16741
  flags: {},
16747
16742
  volatileStatus: 'substitute',
16748
16743
  onTryHit(source) {
16749
- if (!this.canSwitch(source.side)) {
16744
+ if (!this.canSwitch(source.side) || source.volatiles['commanded']) {
16750
16745
  this.add('-fail', source);
16751
16746
  return this.NOT_FAIL;
16752
16747
  }
@@ -19097,8 +19092,8 @@ export const Moves = {
19097
19092
  else {
19098
19093
  this.add('-activate', target, 'move: Substitute', '[damage]');
19099
19094
  }
19100
- if (move.recoil) {
19101
- this.damage(this.actions.calcRecoilDamage(damage, move), source, target, 'recoil');
19095
+ if (move.recoil || move.id === 'chloroblast') {
19096
+ this.damage(this.actions.calcRecoilDamage(damage, move, source), source, target, 'recoil');
19102
19097
  }
19103
19098
  if (move.drain) {
19104
19099
  this.heal(Math.ceil(damage * move.drain[0] / move.drain[1]), source, target, 'drain');