@pkmn/sim 0.5.12 → 0.5.15

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 (109) hide show
  1. package/build/config/formats.js +163 -149
  2. package/build/config/formats.js.map +1 -1
  3. package/build/data/abilities.js +2 -2
  4. package/build/data/abilities.js.map +1 -1
  5. package/build/data/aliases.js +2 -2
  6. package/build/data/aliases.js.map +1 -1
  7. package/build/data/conditions.js +4 -1
  8. package/build/data/conditions.js.map +1 -1
  9. package/build/data/formats-data.js +2 -2
  10. package/build/data/formats-data.js.map +1 -1
  11. package/build/data/items.js +4 -2
  12. package/build/data/items.js.map +1 -1
  13. package/build/data/learnsets.js +5 -4
  14. package/build/data/learnsets.js.map +1 -1
  15. package/build/data/mods/gen1/formats-data.js +38 -36
  16. package/build/data/mods/gen1/formats-data.js.map +1 -1
  17. package/build/data/mods/gen1/scripts.js +1 -1
  18. package/build/data/mods/gen1/scripts.js.map +1 -1
  19. package/build/data/mods/gen2/items.js +28 -0
  20. package/build/data/mods/gen2/items.js.map +1 -1
  21. package/build/data/mods/gen2/moves.js +2 -2
  22. package/build/data/mods/gen2/moves.js.map +1 -1
  23. package/build/data/mods/gen3/items.js +28 -0
  24. package/build/data/mods/gen3/items.js.map +1 -1
  25. package/build/data/mods/gen4/abilities.js +20 -0
  26. package/build/data/mods/gen4/abilities.js.map +1 -1
  27. package/build/data/mods/gen4/items.js +28 -0
  28. package/build/data/mods/gen4/items.js.map +1 -1
  29. package/build/data/mods/gen4/moves.js +14 -6
  30. package/build/data/mods/gen4/moves.js.map +1 -1
  31. package/build/data/mods/gen5/items.js +0 -4
  32. package/build/data/mods/gen5/items.js.map +1 -1
  33. package/build/data/mods/gen6/formats-data.js +3 -3
  34. package/build/data/mods/gen6/formats-data.js.map +1 -1
  35. package/build/data/mods/gen6/items.js +24 -0
  36. package/build/data/mods/gen6/items.js.map +1 -1
  37. package/build/data/mods/gen7/abilities.js +31 -0
  38. package/build/data/mods/gen7/abilities.js.map +1 -1
  39. package/build/data/mods/gen7/items.js +12 -0
  40. package/build/data/mods/gen7/items.js.map +1 -1
  41. package/build/data/mods/gen7/moves.js +14 -0
  42. package/build/data/mods/gen7/moves.js.map +1 -1
  43. package/build/data/moves.js +45 -19
  44. package/build/data/moves.js.map +1 -1
  45. package/build/data/rulesets.js +72 -1
  46. package/build/data/rulesets.js.map +1 -1
  47. package/build/data/tags.js +3 -3
  48. package/build/data/tags.js.map +1 -1
  49. package/build/data/text/moves.js +8 -8
  50. package/build/data/text/moves.js.map +1 -1
  51. package/build/sim/battle-queue.d.ts +2 -2
  52. package/build/sim/battle-queue.js +8 -0
  53. package/build/sim/battle-queue.js.map +1 -1
  54. package/build/sim/battle.js +42 -2
  55. package/build/sim/battle.js.map +1 -1
  56. package/build/sim/dex-conditions.d.ts +2 -2
  57. package/build/sim/dex-conditions.js +1 -0
  58. package/build/sim/dex-conditions.js.map +1 -1
  59. package/build/sim/dex-data.js +1 -0
  60. package/build/sim/dex-data.js.map +1 -1
  61. package/build/sim/dex-formats.js +1 -0
  62. package/build/sim/dex-formats.js.map +1 -1
  63. package/build/sim/dex-items.js +1 -0
  64. package/build/sim/dex-items.js.map +1 -1
  65. package/build/sim/dex-moves.d.ts +1 -0
  66. package/build/sim/dex-moves.js +1 -0
  67. package/build/sim/dex-moves.js.map +1 -1
  68. package/build/sim/dex-species.js +1 -0
  69. package/build/sim/dex-species.js.map +1 -1
  70. package/build/sim/pokemon.js +18 -5
  71. package/build/sim/pokemon.js.map +1 -1
  72. package/build/sim/team-validator.js +1 -1
  73. package/build/sim/team-validator.js.map +1 -1
  74. package/config/formats.ts +169 -154
  75. package/data/abilities.ts +2 -2
  76. package/data/aliases.ts +2 -2
  77. package/data/conditions.ts +4 -1
  78. package/data/formats-data.ts +2 -2
  79. package/data/items.ts +4 -2
  80. package/data/learnsets.ts +5 -4
  81. package/data/mods/gen1/formats-data.ts +38 -36
  82. package/data/mods/gen1/scripts.ts +1 -1
  83. package/data/mods/gen2/items.ts +28 -0
  84. package/data/mods/gen2/moves.ts +2 -2
  85. package/data/mods/gen3/items.ts +28 -0
  86. package/data/mods/gen4/abilities.ts +20 -0
  87. package/data/mods/gen4/items.ts +28 -0
  88. package/data/mods/gen4/moves.ts +14 -7
  89. package/data/mods/gen5/items.ts +0 -4
  90. package/data/mods/gen6/formats-data.ts +3 -3
  91. package/data/mods/gen6/items.ts +24 -0
  92. package/data/mods/gen7/abilities.ts +31 -0
  93. package/data/mods/gen7/items.ts +12 -0
  94. package/data/mods/gen7/moves.ts +14 -0
  95. package/data/moves.ts +45 -18
  96. package/data/rulesets.ts +71 -1
  97. package/data/tags.ts +3 -3
  98. package/data/text/moves.ts +8 -8
  99. package/package.json +3 -3
  100. package/sim/battle-queue.ts +10 -2
  101. package/sim/battle.ts +39 -2
  102. package/sim/dex-conditions.ts +7 -2
  103. package/sim/dex-data.ts +1 -0
  104. package/sim/dex-formats.ts +1 -0
  105. package/sim/dex-items.ts +1 -0
  106. package/sim/dex-moves.ts +2 -0
  107. package/sim/dex-species.ts +1 -0
  108. package/sim/pokemon.ts +19 -7
  109. package/sim/team-validator.ts +1 -1
@@ -293,7 +293,7 @@ exports.MovesText = {
293
293
  },
294
294
  banefulbunker: {
295
295
  name: "Baneful Bunker",
296
- desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon making contact with the user become poisoned. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
296
+ desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon making contact with the user become poisoned. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
297
297
  shortDesc: "Protects from moves. Contact: poison.",
298
298
  gen7: {
299
299
  desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon making contact with the user become poisoned. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
@@ -1136,7 +1136,7 @@ exports.MovesText = {
1136
1136
  },
1137
1137
  detect: {
1138
1138
  name: "Detect",
1139
- desc: "The user is protected from most attacks made by other Pokemon during this turn. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
1139
+ desc: "The user is protected from most attacks made by other Pokemon during this turn. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
1140
1140
  shortDesc: "Prevents moves from affecting the user this turn.",
1141
1141
  gen7: {
1142
1142
  desc: "The user is protected from most attacks made by other Pokemon during this turn. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
@@ -1551,7 +1551,7 @@ exports.MovesText = {
1551
1551
  },
1552
1552
  endure: {
1553
1553
  name: "Endure",
1554
- desc: "The user will survive attacks made by other Pokemon during this turn with at least 1 HP. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
1554
+ desc: "The user will survive attacks made by other Pokemon during this turn with at least 1 HP. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
1555
1555
  shortDesc: "User survives attacks this turn with at least 1 HP.",
1556
1556
  gen7: {
1557
1557
  desc: "The user will survive attacks made by other Pokemon during this turn with at least 1 HP. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
@@ -3070,7 +3070,7 @@ exports.MovesText = {
3070
3070
  },
3071
3071
  kingsshield: {
3072
3072
  name: "King's Shield",
3073
- desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon trying to make contact with the user have their Attack lowered by 1 stage. Non-damaging moves go through this protection. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
3073
+ desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon trying to make contact with the user have their Attack lowered by 1 stage. Non-damaging moves go through this protection. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
3074
3074
  shortDesc: "Protects from damaging attacks. Contact: -1 Atk.",
3075
3075
  gen7: {
3076
3076
  desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon trying to make contact with the user have their Attack lowered by 2 stages. Non-damaging moves go through this protection. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
@@ -4306,7 +4306,7 @@ exports.MovesText = {
4306
4306
  },
4307
4307
  protect: {
4308
4308
  name: "Protect",
4309
- desc: "The user is protected from most attacks made by other Pokemon during this turn. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
4309
+ desc: "The user is protected from most attacks made by other Pokemon during this turn. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
4310
4310
  shortDesc: "Prevents moves from affecting the user this turn.",
4311
4311
  gen7: {
4312
4312
  desc: "The user is protected from most attacks made by other Pokemon during this turn. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
@@ -4456,7 +4456,7 @@ exports.MovesText = {
4456
4456
  },
4457
4457
  quickguard: {
4458
4458
  name: "Quick Guard",
4459
- desc: "The user and its party members are protected from attacks with original or altered priority greater than 0 made by other Pokemon, including allies, during this turn. This move modifies the same 1/X chance of being successful used by other protection moves, where X starts at 1 and triples each time this move is successfully used, but does not use the chance to check for failure. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn or if this move is already in effect for the user's side.",
4459
+ desc: "The user and its party members are protected from attacks with original or altered priority greater than 0 made by other Pokemon, including allies, during this turn. This move modifies the same 1/X chance of being successful used by other protection moves, where X starts at 1 and triples each time this move is successfully used, but does not use the chance to check for failure. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn or if this move is already in effect for the user's side.",
4460
4460
  shortDesc: "Protects allies from priority attacks this turn.",
4461
4461
  gen7: {
4462
4462
  desc: "The user and its party members are protected from attacks with original or altered priority greater than 0 made by other Pokemon, including allies, during this turn. This move modifies the same 1/X chance of being successful used by other protection moves, where X starts at 1 and triples each time this move is successfully used, but does not use the chance to check for failure. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn or if this move is already in effect for the user's side.",
@@ -5474,7 +5474,7 @@ exports.MovesText = {
5474
5474
  },
5475
5475
  spikyshield: {
5476
5476
  name: "Spiky Shield",
5477
- desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon making contact with the user lose 1/8 of their maximum HP, rounded down. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
5477
+ desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon making contact with the user lose 1/8 of their maximum HP, rounded down. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
5478
5478
  shortDesc: "Protects from moves. Contact: loses 1/8 max HP.",
5479
5479
  gen7: {
5480
5480
  desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon making contact with the user lose 1/8 of their maximum HP, rounded down. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.",
@@ -6537,7 +6537,7 @@ exports.MovesText = {
6537
6537
  },
6538
6538
  wideguard: {
6539
6539
  name: "Wide Guard",
6540
- desc: "The user and its party members are protected from moves made by other Pokemon, including allies, during this turn that target all adjacent foes or all adjacent Pokemon. This move modifies the same 1/X chance of being successful used by other protection moves, where X starts at 1 and triples each time this move is successfully used, but does not use the chance to check for failure. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn or if this move is already in effect for the user's side.",
6540
+ desc: "The user and its party members are protected from moves made by other Pokemon, including allies, during this turn that target all adjacent foes or all adjacent Pokemon. This move modifies the same 1/X chance of being successful used by other protection moves, where X starts at 1 and triples each time this move is successfully used, but does not use the chance to check for failure. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn or if this move is already in effect for the user's side.",
6541
6541
  shortDesc: "Protects allies from multi-target moves this turn.",
6542
6542
  gen7: {
6543
6543
  desc: "The user and its party members are protected from moves made by other Pokemon, including allies, during this turn that target all adjacent foes or all adjacent Pokemon. This move modifies the same 1/X chance of being successful used by other protection moves, where X starts at 1 and triples each time this move is successfully used, but does not use the chance to check for failure. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn or if this move is already in effect for the user's side.",