@pkmn/sim 0.9.38 → 0.10.0

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 (237) hide show
  1. package/build/cjs/config/formats.js +185 -173
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +62 -72
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/aliases.js +11 -4
  6. package/build/cjs/data/aliases.js.map +1 -1
  7. package/build/cjs/data/formats-data.js +163 -63
  8. package/build/cjs/data/formats-data.js.map +1 -1
  9. package/build/cjs/data/items.js +406 -2
  10. package/build/cjs/data/items.js.map +1 -1
  11. package/build/cjs/data/legality.js +548 -113
  12. package/build/cjs/data/legality.js.map +1 -1
  13. package/build/cjs/data/mods/gen1/conditions.js +1 -1
  14. package/build/cjs/data/mods/gen2/formats-data.js +2 -2
  15. package/build/cjs/data/mods/gen2/formats-data.js.map +1 -1
  16. package/build/cjs/data/mods/gen3/abilities.js +1 -3
  17. package/build/cjs/data/mods/gen3/abilities.js.map +1 -1
  18. package/build/cjs/data/mods/gen3/formats-data.js +5 -11
  19. package/build/cjs/data/mods/gen3/formats-data.js.map +1 -1
  20. package/build/cjs/data/mods/gen3/moves.js +24 -0
  21. package/build/cjs/data/mods/gen3/moves.js.map +1 -1
  22. package/build/cjs/data/mods/gen4/abilities.js +2 -14
  23. package/build/cjs/data/mods/gen4/abilities.js.map +1 -1
  24. package/build/cjs/data/mods/gen4/formats-data.js.map +1 -1
  25. package/build/cjs/data/mods/gen4/moves.js +37 -6
  26. package/build/cjs/data/mods/gen4/moves.js.map +1 -1
  27. package/build/cjs/data/mods/gen5/abilities.js +4 -0
  28. package/build/cjs/data/mods/gen5/abilities.js.map +1 -1
  29. package/build/cjs/data/mods/gen5/formats-data.js.map +1 -1
  30. package/build/cjs/data/mods/gen6/pokedex.js +104 -0
  31. package/build/cjs/data/mods/gen6/pokedex.js.map +1 -1
  32. package/build/cjs/data/mods/gen7/abilities.js +11 -26
  33. package/build/cjs/data/mods/gen7/abilities.js.map +1 -1
  34. package/build/cjs/data/mods/gen7/formats-data.js +1 -1
  35. package/build/cjs/data/mods/gen7/formats-data.js.map +1 -1
  36. package/build/cjs/data/mods/gen7/pokedex.js +96 -0
  37. package/build/cjs/data/mods/gen7/pokedex.js.map +1 -1
  38. package/build/cjs/data/mods/gen8/abilities.js +0 -3
  39. package/build/cjs/data/mods/gen8/abilities.js.map +1 -1
  40. package/build/cjs/data/mods/gen8bdsp/abilities.d.ts +1 -0
  41. package/build/cjs/data/mods/gen8bdsp/abilities.js +42 -0
  42. package/build/cjs/data/mods/gen8bdsp/abilities.js.map +1 -0
  43. package/build/cjs/data/mods/gen8bdsp/formats-data.d.ts +1 -0
  44. package/build/cjs/data/mods/gen8bdsp/formats-data.js +1837 -0
  45. package/build/cjs/data/mods/gen8bdsp/formats-data.js.map +1 -0
  46. package/build/cjs/data/mods/gen8bdsp/index.d.ts +6 -0
  47. package/build/cjs/data/mods/gen8bdsp/index.js +16 -0
  48. package/build/cjs/data/mods/gen8bdsp/index.js.map +1 -0
  49. package/build/cjs/data/mods/gen8bdsp/items.d.ts +1 -0
  50. package/build/cjs/data/mods/gen8bdsp/items.js +831 -0
  51. package/build/cjs/data/mods/gen8bdsp/items.js.map +1 -0
  52. package/build/cjs/data/mods/gen8bdsp/learnsets.d.ts +3 -0
  53. package/build/cjs/data/mods/gen8bdsp/learnsets.js +25784 -0
  54. package/build/cjs/data/mods/gen8bdsp/learnsets.js.map +1 -0
  55. package/build/cjs/data/mods/gen8bdsp/legality.d.ts +3 -0
  56. package/build/cjs/data/mods/gen8bdsp/legality.js +242 -0
  57. package/build/cjs/data/mods/gen8bdsp/legality.js.map +1 -0
  58. package/build/cjs/data/mods/gen8bdsp/moves.d.ts +1 -0
  59. package/build/cjs/data/mods/gen8bdsp/moves.js +919 -0
  60. package/build/cjs/data/mods/gen8bdsp/moves.js.map +1 -0
  61. package/build/cjs/data/mods/gen8bdsp/pokedex.d.ts +1 -0
  62. package/build/cjs/data/mods/gen8bdsp/pokedex.js +99 -0
  63. package/build/cjs/data/mods/gen8bdsp/pokedex.js.map +1 -0
  64. package/build/cjs/data/mods/gen8bdsp/scripts.d.ts +1 -0
  65. package/build/cjs/data/mods/gen8bdsp/scripts.js +15 -0
  66. package/build/cjs/data/mods/gen8bdsp/scripts.js.map +1 -0
  67. package/build/cjs/data/mods/gen8legends/formats-data.d.ts +1 -0
  68. package/build/cjs/data/mods/gen8legends/formats-data.js +2775 -0
  69. package/build/cjs/data/mods/gen8legends/formats-data.js.map +1 -0
  70. package/build/cjs/data/mods/gen8legends/index.d.ts +2 -0
  71. package/build/cjs/data/mods/gen8legends/index.js +8 -0
  72. package/build/cjs/data/mods/gen8legends/index.js.map +1 -0
  73. package/build/cjs/data/mods/gen8legends/learnsets.d.ts +3 -0
  74. package/build/cjs/data/mods/gen8legends/learnsets.js +5553 -0
  75. package/build/cjs/data/mods/gen8legends/learnsets.js.map +1 -0
  76. package/build/cjs/data/mods/gen8legends/legality.d.ts +3 -0
  77. package/build/cjs/data/mods/gen8legends/legality.js +149 -0
  78. package/build/cjs/data/mods/gen8legends/legality.js.map +1 -0
  79. package/build/cjs/data/mods/gen8legends/scripts.d.ts +1 -0
  80. package/build/cjs/data/mods/gen8legends/scripts.js +8 -0
  81. package/build/cjs/data/mods/gen8legends/scripts.js.map +1 -0
  82. package/build/cjs/data/moves.js +53 -55
  83. package/build/cjs/data/moves.js.map +1 -1
  84. package/build/cjs/data/pokedex.js +735 -10
  85. package/build/cjs/data/pokedex.js.map +1 -1
  86. package/build/cjs/data/rulesets.js +78 -0
  87. package/build/cjs/data/rulesets.js.map +1 -1
  88. package/build/cjs/data/text/items.js +108 -0
  89. package/build/cjs/data/text/items.js.map +1 -1
  90. package/build/cjs/data/text/moves.js +6 -2
  91. package/build/cjs/data/text/moves.js.map +1 -1
  92. package/build/cjs/sim/battle-actions.js +17 -7
  93. package/build/cjs/sim/battle-actions.js.map +1 -1
  94. package/build/cjs/sim/battle-queue.d.ts +11 -6
  95. package/build/cjs/sim/battle-queue.js.map +1 -1
  96. package/build/cjs/sim/battle.d.ts +2 -2
  97. package/build/cjs/sim/battle.js +23 -28
  98. package/build/cjs/sim/battle.js.map +1 -1
  99. package/build/cjs/sim/dex-conditions.d.ts +2 -1
  100. package/build/cjs/sim/dex-conditions.js.map +1 -1
  101. package/build/cjs/sim/dex-formats.d.ts +2 -0
  102. package/build/cjs/sim/dex-formats.js +12 -1
  103. package/build/cjs/sim/dex-formats.js.map +1 -1
  104. package/build/cjs/sim/dex-species.d.ts +13 -2
  105. package/build/cjs/sim/dex-species.js +40 -19
  106. package/build/cjs/sim/dex-species.js.map +1 -1
  107. package/build/cjs/sim/dex.js +11 -0
  108. package/build/cjs/sim/dex.js.map +1 -1
  109. package/build/cjs/sim/exported-global-types.d.ts +5 -4
  110. package/build/cjs/sim/global-types.d.ts +5 -4
  111. package/build/cjs/sim/pokemon.d.ts +6 -4
  112. package/build/cjs/sim/pokemon.js +31 -24
  113. package/build/cjs/sim/pokemon.js.map +1 -1
  114. package/build/cjs/sim/side.js +11 -41
  115. package/build/cjs/sim/side.js.map +1 -1
  116. package/build/cjs/sim/team-validator.d.ts +1 -0
  117. package/build/cjs/sim/team-validator.js +50 -18
  118. package/build/cjs/sim/team-validator.js.map +1 -1
  119. package/build/esm/config/formats.mjs +185 -173
  120. package/build/esm/config/formats.mjs.map +1 -1
  121. package/build/esm/data/abilities.mjs +62 -72
  122. package/build/esm/data/abilities.mjs.map +1 -1
  123. package/build/esm/data/aliases.mjs +11 -4
  124. package/build/esm/data/aliases.mjs.map +1 -1
  125. package/build/esm/data/formats-data.mjs +163 -63
  126. package/build/esm/data/formats-data.mjs.map +1 -1
  127. package/build/esm/data/items.mjs +406 -2
  128. package/build/esm/data/items.mjs.map +1 -1
  129. package/build/esm/data/legality.mjs +548 -113
  130. package/build/esm/data/legality.mjs.map +1 -1
  131. package/build/esm/data/mods/gen1/conditions.mjs +1 -1
  132. package/build/esm/data/mods/gen2/formats-data.mjs +2 -2
  133. package/build/esm/data/mods/gen2/formats-data.mjs.map +1 -1
  134. package/build/esm/data/mods/gen3/abilities.mjs +1 -3
  135. package/build/esm/data/mods/gen3/abilities.mjs.map +1 -1
  136. package/build/esm/data/mods/gen3/formats-data.mjs +5 -11
  137. package/build/esm/data/mods/gen3/formats-data.mjs.map +1 -1
  138. package/build/esm/data/mods/gen3/moves.mjs +24 -0
  139. package/build/esm/data/mods/gen3/moves.mjs.map +1 -1
  140. package/build/esm/data/mods/gen4/abilities.mjs +2 -14
  141. package/build/esm/data/mods/gen4/abilities.mjs.map +1 -1
  142. package/build/esm/data/mods/gen4/formats-data.mjs.map +1 -1
  143. package/build/esm/data/mods/gen4/moves.mjs +37 -6
  144. package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
  145. package/build/esm/data/mods/gen5/abilities.mjs +4 -0
  146. package/build/esm/data/mods/gen5/abilities.mjs.map +1 -1
  147. package/build/esm/data/mods/gen5/formats-data.mjs.map +1 -1
  148. package/build/esm/data/mods/gen6/pokedex.mjs +104 -0
  149. package/build/esm/data/mods/gen6/pokedex.mjs.map +1 -1
  150. package/build/esm/data/mods/gen7/abilities.mjs +11 -26
  151. package/build/esm/data/mods/gen7/abilities.mjs.map +1 -1
  152. package/build/esm/data/mods/gen7/formats-data.mjs +1 -1
  153. package/build/esm/data/mods/gen7/formats-data.mjs.map +1 -1
  154. package/build/esm/data/mods/gen7/pokedex.mjs +96 -0
  155. package/build/esm/data/mods/gen7/pokedex.mjs.map +1 -1
  156. package/build/esm/data/mods/gen8/abilities.mjs +0 -3
  157. package/build/esm/data/mods/gen8/abilities.mjs.map +1 -1
  158. package/build/esm/data/mods/gen8bdsp/abilities.d.mts +1 -0
  159. package/build/esm/data/mods/gen8bdsp/abilities.mjs +39 -0
  160. package/build/esm/data/mods/gen8bdsp/abilities.mjs.map +1 -0
  161. package/build/esm/data/mods/gen8bdsp/formats-data.d.mts +1 -0
  162. package/build/esm/data/mods/gen8bdsp/formats-data.mjs +1834 -0
  163. package/build/esm/data/mods/gen8bdsp/formats-data.mjs.map +1 -0
  164. package/build/esm/data/mods/gen8bdsp/index.d.mts +6 -0
  165. package/build/esm/data/mods/gen8bdsp/index.mjs +7 -0
  166. package/build/esm/data/mods/gen8bdsp/index.mjs.map +1 -0
  167. package/build/esm/data/mods/gen8bdsp/items.d.mts +1 -0
  168. package/build/esm/data/mods/gen8bdsp/items.mjs +828 -0
  169. package/build/esm/data/mods/gen8bdsp/items.mjs.map +1 -0
  170. package/build/esm/data/mods/gen8bdsp/learnsets.d.mts +3 -0
  171. package/build/esm/data/mods/gen8bdsp/learnsets.mjs +25781 -0
  172. package/build/esm/data/mods/gen8bdsp/learnsets.mjs.map +1 -0
  173. package/build/esm/data/mods/gen8bdsp/legality.d.mts +3 -0
  174. package/build/esm/data/mods/gen8bdsp/legality.mjs +239 -0
  175. package/build/esm/data/mods/gen8bdsp/legality.mjs.map +1 -0
  176. package/build/esm/data/mods/gen8bdsp/moves.d.mts +1 -0
  177. package/build/esm/data/mods/gen8bdsp/moves.mjs +916 -0
  178. package/build/esm/data/mods/gen8bdsp/moves.mjs.map +1 -0
  179. package/build/esm/data/mods/gen8bdsp/pokedex.d.mts +1 -0
  180. package/build/esm/data/mods/gen8bdsp/pokedex.mjs +96 -0
  181. package/build/esm/data/mods/gen8bdsp/pokedex.mjs.map +1 -0
  182. package/build/esm/data/mods/gen8bdsp/scripts.d.mts +1 -0
  183. package/build/esm/data/mods/gen8bdsp/scripts.mjs +12 -0
  184. package/build/esm/data/mods/gen8bdsp/scripts.mjs.map +1 -0
  185. package/build/esm/data/mods/gen8legends/formats-data.d.mts +1 -0
  186. package/build/esm/data/mods/gen8legends/formats-data.mjs +2772 -0
  187. package/build/esm/data/mods/gen8legends/formats-data.mjs.map +1 -0
  188. package/build/esm/data/mods/gen8legends/index.d.mts +2 -0
  189. package/build/esm/data/mods/gen8legends/index.mjs +3 -0
  190. package/build/esm/data/mods/gen8legends/index.mjs.map +1 -0
  191. package/build/esm/data/mods/gen8legends/learnsets.d.mts +3 -0
  192. package/build/esm/data/mods/gen8legends/learnsets.mjs +5550 -0
  193. package/build/esm/data/mods/gen8legends/learnsets.mjs.map +1 -0
  194. package/build/esm/data/mods/gen8legends/legality.d.mts +3 -0
  195. package/build/esm/data/mods/gen8legends/legality.mjs +146 -0
  196. package/build/esm/data/mods/gen8legends/legality.mjs.map +1 -0
  197. package/build/esm/data/mods/gen8legends/scripts.d.mts +1 -0
  198. package/build/esm/data/mods/gen8legends/scripts.mjs +5 -0
  199. package/build/esm/data/mods/gen8legends/scripts.mjs.map +1 -0
  200. package/build/esm/data/moves.mjs +53 -55
  201. package/build/esm/data/moves.mjs.map +1 -1
  202. package/build/esm/data/pokedex.mjs +735 -10
  203. package/build/esm/data/pokedex.mjs.map +1 -1
  204. package/build/esm/data/rulesets.mjs +78 -0
  205. package/build/esm/data/rulesets.mjs.map +1 -1
  206. package/build/esm/data/text/items.mjs +108 -0
  207. package/build/esm/data/text/items.mjs.map +1 -1
  208. package/build/esm/data/text/moves.mjs +6 -2
  209. package/build/esm/data/text/moves.mjs.map +1 -1
  210. package/build/esm/sim/battle-actions.mjs +17 -7
  211. package/build/esm/sim/battle-actions.mjs.map +1 -1
  212. package/build/esm/sim/battle-queue.d.mts +11 -6
  213. package/build/esm/sim/battle-queue.mjs.map +1 -1
  214. package/build/esm/sim/battle.d.mts +2 -2
  215. package/build/esm/sim/battle.mjs +23 -28
  216. package/build/esm/sim/battle.mjs.map +1 -1
  217. package/build/esm/sim/dex-conditions.d.mts +2 -1
  218. package/build/esm/sim/dex-conditions.mjs.map +1 -1
  219. package/build/esm/sim/dex-formats.d.mts +2 -0
  220. package/build/esm/sim/dex-formats.mjs +12 -1
  221. package/build/esm/sim/dex-formats.mjs.map +1 -1
  222. package/build/esm/sim/dex-species.d.mts +13 -2
  223. package/build/esm/sim/dex-species.mjs +40 -19
  224. package/build/esm/sim/dex-species.mjs.map +1 -1
  225. package/build/esm/sim/dex.mjs +11 -0
  226. package/build/esm/sim/dex.mjs.map +1 -1
  227. package/build/esm/sim/exported-global-types.d.mts +5 -4
  228. package/build/esm/sim/global-types.d.mts +5 -4
  229. package/build/esm/sim/pokemon.d.mts +6 -4
  230. package/build/esm/sim/pokemon.mjs +31 -24
  231. package/build/esm/sim/pokemon.mjs.map +1 -1
  232. package/build/esm/sim/side.mjs +11 -41
  233. package/build/esm/sim/side.mjs.map +1 -1
  234. package/build/esm/sim/team-validator.d.mts +1 -0
  235. package/build/esm/sim/team-validator.mjs +50 -18
  236. package/build/esm/sim/team-validator.mjs.map +1 -1
  237. package/package.json +2 -2
@@ -30,7 +30,7 @@ export const Formats = [
30
30
  {
31
31
  name: '[Gen 9] Free-For-All Random Battle',
32
32
  mod: 'gen9',
33
- team: 'random',
33
+ team: 'randomFFA',
34
34
  gameType: 'freeforall',
35
35
  ruleset: [
36
36
  'Obtainable',
@@ -121,11 +121,11 @@ export const Formats = [
121
121
  'Rufflet', 'Scraggy',
122
122
  'Scyther', 'Sneasel',
123
123
  'Sneasel-Hisui', 'Snivy',
124
- 'Stantler', 'Voltorb-Hisui',
125
- 'Vulpix', 'Vulpix-Alola',
126
- 'Yanma', 'Moody',
127
- 'Heat Rock', 'Baton Pass',
128
- 'Sticky Web'
124
+ 'Stantler', 'Torchic',
125
+ 'Voltorb-Hisui', 'Vulpix',
126
+ 'Vulpix-Alola', 'Yanma',
127
+ 'Moody', 'Heat Rock',
128
+ 'Baton Pass', 'Sticky Web'
129
129
  ]
130
130
  },
131
131
  {
@@ -222,7 +222,7 @@ export const Formats = [
222
222
  mod: 'gen9',
223
223
  gameType: 'doubles',
224
224
  ruleset: ['Standard Doubles', 'Evasion Abilities Clause'],
225
- banlist: ['DUber', 'Shadow Tag']
225
+ banlist: ['DUber', 'Shadow Tag', 'Commander']
226
226
  },
227
227
  {
228
228
  name: '[Gen 9] Doubles Ubers',
@@ -332,21 +332,6 @@ export const Formats = [
332
332
  ],
333
333
  restricted: ['Restricted Legendary']
334
334
  },
335
- {
336
- name: '[Gen 9] VGC 2025 Reg I (Bo3)',
337
- mod: 'gen9',
338
- gameType: 'doubles',
339
- ruleset: [
340
- 'Flat Rules',
341
- '!! Adjust Level = 50',
342
- 'Min Source Gen = 9',
343
- 'VGC Timer',
344
- 'Force Open Team Sheets',
345
- 'Best of = 3',
346
- 'Limit Two Restricted'
347
- ],
348
- restricted: ['Restricted Legendary']
349
- },
350
335
  {
351
336
  name: '[Gen 9] VGC 2025 Reg J',
352
337
  mod: 'gen9',
@@ -471,26 +456,20 @@ export const Formats = [
471
456
  mod: 'gen9',
472
457
  ruleset: ['[Gen 9] Ubers'],
473
458
  banlist: [
474
- 'Arceus-Normal', 'Arceus-Fairy',
475
- 'Arceus-Ghost', 'Arceus-Ground',
476
- 'Arceus-Water', 'Calyrex-Ice',
477
- 'Chien-Pao', 'Deoxys-Attack',
478
- 'Deoxys-Speed', 'Ditto',
479
- 'Dondozo', 'Eternatus',
480
- 'Flutter Mane', 'Giratina-Origin',
481
- 'Glimmora', 'Gliscor',
482
- 'Groudon', 'Hatterene',
483
- 'Ho-Oh', 'Kingambit',
484
- 'Koraidon', 'Kyogre',
485
- 'Kyurem-Black', 'Landorus-Therian',
486
- 'Lunala', 'Miraidon',
487
- 'Necrozma-Dusk-Mane', 'Rayquaza',
488
- 'Ribombee', 'Skeledirge',
489
- 'Terapagos', 'Ting-Lu',
490
- 'Zacian-Crowned', 'Arceus-Dragon',
491
- 'Arceus-Fire', 'Arceus-Flying',
492
- 'Arceus-Steel', 'Necrozma-Dawn-Wings',
493
- 'Shaymin-Sky', 'Spectrier',
459
+ 'Arceus-Normal', 'Arceus-Fairy', 'Arceus-Ghost',
460
+ 'Arceus-Ground', 'Arceus-Water', 'Calyrex-Ice',
461
+ 'Chien-Pao', 'Deoxys-Attack', 'Deoxys-Speed',
462
+ 'Ditto', 'Dondozo', 'Eternatus',
463
+ 'Flutter Mane', 'Giratina', 'Giratina-Origin',
464
+ 'Glimmora', 'Gliscor', 'Grimmsnarl',
465
+ 'Groudon', 'Hatterene', 'Ho-Oh',
466
+ 'Kingambit', 'Koraidon', 'Kyogre',
467
+ 'Kyurem-Black', 'Landorus-Therian', 'Lunala',
468
+ 'Necrozma-Dusk-Mane', 'Rayquaza', 'Regieleki',
469
+ 'Ribombee', 'Skeledirge', 'Terapagos',
470
+ 'Ting-Lu', 'Zacian-Crowned', 'Arceus-Dragon',
471
+ 'Arceus-Fire', 'Arceus-Flying', 'Arceus-Steel',
472
+ 'Necrozma-Dawn-Wings', 'Shaymin-Sky', 'Spectrier',
494
473
  'Zacian', 'Zekrom'
495
474
  ]
496
475
  },
@@ -498,7 +477,7 @@ export const Formats = [
498
477
  name: '[Gen 9] ZU',
499
478
  mod: 'gen9',
500
479
  ruleset: ['[Gen 9] PU'],
501
- banlist: ['PU', 'ZUBL', 'Unburden']
480
+ banlist: ['PU', 'ZUBL', 'Unburden', 'Heat Rock']
502
481
  },
503
482
  {
504
483
  name: '[Gen 9] Free-For-All',
@@ -542,14 +521,16 @@ export const Formats = [
542
521
  'Elekid', 'Foongus',
543
522
  'Glimmet', 'Gothita',
544
523
  'Grookey', 'Growlithe-Hisui',
545
- 'Mareanie', 'Mienfoo',
546
- 'Mudbray', 'Pawniard',
524
+ 'Larvesta', 'Mareanie',
525
+ 'Mienfoo', 'Mudbray',
526
+ 'Munchlax', 'Pawniard',
547
527
  'Sandshrew-Alola', 'Shellder',
548
528
  'Shellos', 'Shroodle',
549
- 'Snubbull', 'Stunky',
550
- 'Tinkatink', 'Toedscool',
551
- 'Torchic', 'Vullaby',
552
- 'Wingull', 'Deerling',
529
+ 'Snover', 'Stunky',
530
+ 'Timburr', 'Tinkatink',
531
+ 'Toedscool', 'Trapinch',
532
+ 'Vullaby', 'Wingull',
533
+ 'Zorua-Hisui', 'Deerling',
553
534
  'Minccino'
554
535
  ]
555
536
  },
@@ -656,6 +637,42 @@ export const Formats = [
656
637
  'EV limit = 510'
657
638
  ]
658
639
  },
640
+ {
641
+ name: '[Gen 8] Balanced Hackmons',
642
+ mod: 'gen8',
643
+ ruleset: [
644
+ '-Nonexistent',
645
+ 'OHKO Clause',
646
+ 'Evasion Moves Clause',
647
+ 'Forme Clause',
648
+ 'Team Preview',
649
+ 'HP Percentage Mod',
650
+ 'Cancel Mod',
651
+ 'Dynamax Clause',
652
+ 'Sleep Moves Clause',
653
+ 'Endless Battle Clause'
654
+ ],
655
+ banlist: [
656
+ 'Calyrex-Shadow', 'Cramorant-Gorging',
657
+ 'Darmanitan-Galar-Zen', 'Eternatus-Eternamax',
658
+ 'Shedinja', 'Zacian-Crowned',
659
+ 'Arena Trap', 'Contrary',
660
+ 'Gorilla Tactics', 'Huge Power',
661
+ 'Illusion', 'Innards Out',
662
+ 'Intrepid Sword', 'Libero',
663
+ 'Magnet Pull', 'Moody',
664
+ 'Neutralizing Gas', 'Parental Bond',
665
+ 'Protean', 'Pure Power',
666
+ 'Shadow Tag', 'Stakeout',
667
+ 'Water Bubble', 'Wonder Guard',
668
+ 'Comatose + Sleep Talk', 'Rusted Sword',
669
+ 'Belly Drum', 'Bolt Beak',
670
+ 'Court Change', 'Double Iron Bash',
671
+ 'Octolock', 'Shell Smash',
672
+ 'Transform'
673
+ ],
674
+ unbanlist: ['Acupressure']
675
+ },
659
676
  {
660
677
  name: '[Gen 9] National Dex',
661
678
  mod: 'gen9',
@@ -812,20 +829,21 @@ export const Formats = [
812
829
  ruleset: ['[Gen 9] National Dex Ubers'],
813
830
  banlist: [
814
831
  'Arceus-Normal', 'Arceus-Dark', 'Arceus-Ground',
815
- 'Calyrex-Ice', 'Deoxys-Attack', 'Deoxys-Speed',
816
- 'Dondozo', 'Eternatus', 'Giratina-Origin',
817
- 'Groudon-Primal', 'Ho-Oh', 'Kyogre-Primal',
832
+ 'Calyrex-Ice', 'Chansey', 'Deoxys-Attack',
833
+ 'Deoxys-Speed', 'Ditto', 'Dondozo',
834
+ 'Eternatus', 'Giratina-Origin', 'Groudon-Primal',
835
+ 'Hatterene', 'Ho-Oh', 'Kyogre-Primal',
818
836
  'Lunala', 'Marshadow', 'Melmetal',
819
837
  'Mewtwo-Mega-Y', 'Necrozma-Dusk-Mane', 'Necrozma-Ultra',
820
- 'Salamence-Mega', 'Smeargle', 'Terapagos',
821
- 'Yveltal', 'Zacian-Crowned', 'Zygarde-50%',
822
- 'Arceus-Dragon', 'Arceus-Fairy', 'Arceus-Fire',
823
- 'Arceus-Flying', 'Arceus-Ghost', 'Arceus-Water',
824
- 'Blaziken-Mega', 'Chi-Yu', 'Flutter Mane',
825
- 'Groudon', 'Kyogre', 'Kyurem-Black',
826
- 'Rayquaza', 'Shaymin-Sky', 'Zacian',
827
- 'Zekrom', 'Power Construct', 'Light Clay',
828
- 'Ultranecrozium Z', 'Last Respects'
838
+ 'Salamence-Mega', 'Smeargle', 'Yveltal',
839
+ 'Zacian-Crowned', 'Zygarde-50%', 'Arceus-Dragon',
840
+ 'Arceus-Fairy', 'Arceus-Fire', 'Arceus-Flying',
841
+ 'Arceus-Ghost', 'Arceus-Water', 'Blaziken-Mega',
842
+ 'Chi-Yu', 'Chien-Pao', 'Dracovish',
843
+ 'Flutter Mane', 'Groudon', 'Kyogre',
844
+ 'Kyurem-Black', 'Rayquaza', 'Shaymin-Sky',
845
+ 'Zacian', 'Zekrom', 'Power Construct',
846
+ 'Light Clay', 'Ultranecrozium Z', 'Last Respects'
829
847
  ]
830
848
  },
831
849
  {
@@ -848,22 +866,23 @@ export const Formats = [
848
866
  'Arceus', 'Archaludon', 'Blastoise-Mega',
849
867
  'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu',
850
868
  'Deoxys-Normal', 'Deoxys-Attack', 'Deoxys-Defense',
851
- 'Dialga', 'Dialga-Origin', 'Eternatus',
852
- 'Flutter Mane', 'Giratina', 'Giratina-Origin',
853
- 'Gouging Fire', 'Groudon', 'Ho-Oh',
854
- 'Jirachi', 'Kangaskhan-Mega', 'Koraidon',
855
- 'Kyogre', 'Kyurem-Black', 'Kyurem-White',
856
- 'Lugia', 'Lunala', 'Marshadow',
857
- 'Metagross-Mega', 'Mew', 'Mewtwo',
858
- 'Mimikyu', 'Miraidon', 'Necrozma-Dawn-Wings',
859
- 'Necrozma-Dusk-Mane', 'Ogerpon-Cornerstone', 'Palkia',
860
- 'Palkia-Origin', 'Rayquaza', 'Reshiram',
861
- 'Salamence-Mega', 'Shaymin-Sky', 'Snorlax',
862
- 'Solgaleo', 'Terapagos', 'Xerneas',
863
- 'Yveltal', 'Zacian', 'Zacian-Crowned',
864
- 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom',
865
- 'Moody', 'Focus Band', 'Focus Sash',
866
- 'Fightinium Z + Detect', 'Perish Song'
869
+ 'Dialga', 'Dialga-Origin', 'Dragonite',
870
+ 'Eternatus', 'Flutter Mane', 'Giratina',
871
+ 'Giratina-Origin', 'Gouging Fire', 'Groudon',
872
+ 'Ho-Oh', 'Jirachi', 'Kangaskhan-Mega',
873
+ 'Koraidon', 'Kyogre', 'Kyurem-Black',
874
+ 'Kyurem-White', 'Lugia', 'Lunala',
875
+ 'Marshadow', 'Melmetal', 'Metagross-Mega',
876
+ 'Mew', 'Mewtwo', 'Mimikyu',
877
+ 'Miraidon', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane',
878
+ 'Ogerpon-Cornerstone', 'Palkia', 'Palkia-Origin',
879
+ 'Rayquaza', 'Reshiram', 'Salamence-Mega',
880
+ 'Shaymin-Sky', 'Snorlax', 'Solgaleo',
881
+ 'Terapagos', 'Xerneas', 'Yveltal',
882
+ 'Zacian', 'Zacian-Crowned', 'Zamazenta',
883
+ 'Zamazenta-Crowned', 'Zekrom', 'Moody',
884
+ 'Focus Band', 'Focus Sash', 'Fightinium Z + Detect',
885
+ 'Perish Song'
867
886
  ]
868
887
  },
869
888
  {
@@ -944,19 +963,6 @@ export const Formats = [
944
963
  'Baton Pass'
945
964
  ]
946
965
  },
947
- {
948
- name: '[Gen 9] Random Battle (Hyperblitz, Auto Choose)',
949
- mod: 'gen9',
950
- team: 'random',
951
- bestOfDefault: true,
952
- ruleset: [
953
- '[Gen 9] Random Battle (Blitz)',
954
- '!! Timer Starting = 900',
955
- '!! Timer Add Per Turn = 10',
956
- '!! Timer Max Per Turn = 10',
957
- 'Timeout Auto Choose'
958
- ]
959
- },
960
966
  {
961
967
  name: '[Gen 9] Monotype Random Battle',
962
968
  mod: 'gen9',
@@ -992,20 +998,6 @@ export const Formats = [
992
998
  'Illusion Level Mod'
993
999
  ]
994
1000
  },
995
- {
996
- name: '[Gen 9] Computer-Generated Teams',
997
- mod: 'gen9',
998
- team: 'computerGenerated',
999
- bestOfDefault: true,
1000
- ruleset: [
1001
- 'Obtainable',
1002
- 'Species Clause',
1003
- 'HP Percentage Mod',
1004
- 'Cancel Mod',
1005
- 'Sleep Clause Mod',
1006
- 'Illusion Level Mod'
1007
- ]
1008
- },
1009
1001
  {
1010
1002
  name: '[Gen 9] Hackmons Cup',
1011
1003
  mod: 'gen9',
@@ -1255,33 +1247,24 @@ export const Formats = [
1255
1247
  ]
1256
1248
  },
1257
1249
  {
1258
- name: '[Gen 5] UU',
1259
- mod: 'gen5',
1260
- ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
1261
- banlist: [
1262
- 'Uber',
1263
- 'OU',
1264
- 'UUBL',
1265
- 'Arena Trap',
1266
- 'Drought',
1267
- 'Sand Stream',
1268
- 'Snow Warning',
1269
- 'Prankster + Assist',
1270
- 'Prankster + Copycat',
1271
- 'Baton Pass'
1272
- ]
1250
+ name: '[Gen 7] UU',
1251
+ mod: 'gen7',
1252
+ ruleset: ['[Gen 7] OU'],
1253
+ banlist: ['OU', 'UUBL', 'Drizzle', 'Drought', 'Kommonium Z', 'Mewnium Z']
1273
1254
  },
1274
1255
  {
1275
- name: '[Gen 1] UU',
1276
- mod: 'gen1',
1277
- ruleset: ['[Gen 1] OU'],
1278
- banlist: ['OU', 'UUBL', 'Bind', 'Clamp', 'Fire Spin', 'Wrap']
1256
+ name: '[Gen 5] VGC 2013',
1257
+ mod: 'gen5',
1258
+ gameType: 'doubles',
1259
+ bestOfDefault: true,
1260
+ ruleset: ['Flat Rules'],
1261
+ banlist: ['Chatot', 'Dark Void', 'Sky Drop', 'Soul Dew']
1279
1262
  },
1280
1263
  {
1281
- name: '[Gen 6] ZU',
1282
- mod: 'gen6',
1283
- ruleset: ['[Gen 6] PU'],
1284
- banlist: ['PU', 'ZUBL', 'Light Clay']
1264
+ name: '[Gen 8] ZU',
1265
+ mod: 'gen8',
1266
+ ruleset: ['[Gen 8] PU'],
1267
+ banlist: ['PU', 'ZUBL', 'Damp Rock', 'Grassy Seed']
1285
1268
  },
1286
1269
  {
1287
1270
  name: '[Gen 8] OU',
@@ -1309,8 +1292,17 @@ export const Formats = [
1309
1292
  {
1310
1293
  name: '[Gen 6] OU',
1311
1294
  mod: 'gen6',
1312
- ruleset: ['Standard', 'Swagger Clause'],
1313
- banlist: ['Uber', 'Arena Trap', 'Shadow Tag', 'Soul Dew', 'Baton Pass']
1295
+ ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause'],
1296
+ banlist: [
1297
+ 'Uber',
1298
+ 'Arena Trap',
1299
+ 'Shadow Tag',
1300
+ "King's Rock",
1301
+ 'Quick Claw',
1302
+ 'Razor Fang',
1303
+ 'Soul Dew',
1304
+ 'Baton Pass'
1305
+ ]
1314
1306
  },
1315
1307
  {
1316
1308
  name: '[Gen 5] OU',
@@ -1350,7 +1342,13 @@ export const Formats = [
1350
1342
  {
1351
1343
  name: '[Gen 3] OU',
1352
1344
  mod: 'gen3',
1353
- ruleset: ['Standard', 'One Boost Passer Clause', 'Freeze Clause Mod'],
1345
+ ruleset: [
1346
+ 'Standard',
1347
+ 'One Boost Passer Clause',
1348
+ 'Accuracy Trap Clause',
1349
+ 'Freeze Clause Mod',
1350
+ 'Speed Pass Clause'
1351
+ ],
1354
1352
  banlist: [
1355
1353
  'Uber',
1356
1354
  'Smeargle + Ingrain',
@@ -1396,14 +1394,14 @@ export const Formats = [
1396
1394
  mod: 'gen5',
1397
1395
  gameType: 'doubles',
1398
1396
  ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
1399
- banlist: ['DUber', 'Soul Dew', 'Dark Void', 'Gravity']
1397
+ banlist: ['DUber', 'Shadow Tag', 'Soul Dew', 'Dark Void', 'Gravity']
1400
1398
  },
1401
1399
  {
1402
1400
  name: '[Gen 4] Doubles OU',
1403
1401
  mod: 'gen4',
1404
1402
  gameType: 'doubles',
1405
1403
  ruleset: ['Standard', 'Evasion Abilities Clause'],
1406
- banlist: ['AG', 'Uber', 'Soul Dew', 'Dark Void', 'Thunder Wave'],
1404
+ banlist: ['AG', 'Uber', 'Soul Dew', 'Dark Void', 'Swagger', 'Thunder Wave'],
1407
1405
  unbanlist: ['Machamp', 'Manaphy', 'Mew', 'Salamence', 'Wobbuffet', 'Wynaut']
1408
1406
  },
1409
1407
  {
@@ -1523,12 +1521,6 @@ export const Formats = [
1523
1521
  'Endless Battle Clause'
1524
1522
  ]
1525
1523
  },
1526
- {
1527
- name: '[Gen 8] ZU',
1528
- mod: 'gen8',
1529
- ruleset: ['[Gen 8] PU'],
1530
- banlist: ['PU', 'ZUBL', 'Damp Rock', 'Grassy Seed']
1531
- },
1532
1524
  {
1533
1525
  name: '[Gen 8] CAP',
1534
1526
  mod: 'gen8',
@@ -1618,12 +1610,6 @@ export const Formats = [
1618
1610
  ruleset: ['Standard', 'Mega Rayquaza Clause'],
1619
1611
  banlist: ['Baton Pass']
1620
1612
  },
1621
- {
1622
- name: '[Gen 7] UU',
1623
- mod: 'gen7',
1624
- ruleset: ['[Gen 7] OU'],
1625
- banlist: ['OU', 'UUBL', 'Drizzle', 'Drought', 'Kommonium Z', 'Mewnium Z']
1626
- },
1627
1613
  {
1628
1614
  name: '[Gen 7] RU',
1629
1615
  mod: 'gen7',
@@ -1650,10 +1636,11 @@ export const Formats = [
1650
1636
  'Porygon', 'Scyther',
1651
1637
  'Sneasel', 'Swirlix',
1652
1638
  'Tangela', 'Trapinch',
1653
- 'Vulpix-Base', 'Wingull',
1654
- 'Yanma', 'Eevium Z',
1655
- 'Baton Pass', 'Dragon Rage',
1656
- 'Sonic Boom', 'Sticky Web'
1639
+ 'Vulpix-Base', 'Vulpix-Alola',
1640
+ 'Wingull', 'Yanma',
1641
+ 'Eevium Z', 'Baton Pass',
1642
+ 'Dragon Rage', 'Sonic Boom',
1643
+ 'Sticky Web'
1657
1644
  ]
1658
1645
  },
1659
1646
  {
@@ -1833,8 +1820,14 @@ export const Formats = [
1833
1820
  {
1834
1821
  name: '[Gen 6] UU',
1835
1822
  mod: 'gen6',
1836
- ruleset: ['[Gen 6] OU'],
1837
- banlist: ['OU', 'UUBL', 'Drizzle', 'Drought']
1823
+ ruleset: ['Standard', 'Swagger Clause'],
1824
+ banlist: [
1825
+ 'Uber', 'OU',
1826
+ 'UUBL', 'Arena Trap',
1827
+ 'Drizzle', 'Drought',
1828
+ 'Shadow Tag', 'Soul Dew',
1829
+ 'Baton Pass'
1830
+ ]
1838
1831
  },
1839
1832
  { name: '[Gen 6] RU', mod: 'gen6', ruleset: ['[Gen 6] UU'], banlist: ['UU', 'RUBL'] },
1840
1833
  { name: '[Gen 6] NU', mod: 'gen6', ruleset: ['[Gen 6] RU'], banlist: ['RU', 'NUBL'] },
@@ -1931,6 +1924,12 @@ export const Formats = [
1931
1924
  'Cancel Mod'
1932
1925
  ]
1933
1926
  },
1927
+ {
1928
+ name: '[Gen 6] ZU',
1929
+ mod: 'gen6',
1930
+ ruleset: ['[Gen 6] PU'],
1931
+ banlist: ['PU', 'ZUBL', 'Light Clay']
1932
+ },
1934
1933
  {
1935
1934
  name: '[Gen 6] CAP',
1936
1935
  mod: 'gen6',
@@ -2026,6 +2025,23 @@ export const Formats = [
2026
2025
  ]
2027
2026
  },
2028
2027
  { name: '[Gen 5] Ubers', mod: 'gen5', ruleset: ['Standard', 'Sleep Clause Mod'] },
2028
+ {
2029
+ name: '[Gen 5] UU',
2030
+ mod: 'gen5',
2031
+ ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
2032
+ banlist: [
2033
+ 'Uber',
2034
+ 'OU',
2035
+ 'UUBL',
2036
+ 'Arena Trap',
2037
+ 'Drought',
2038
+ 'Sand Stream',
2039
+ 'Snow Warning',
2040
+ 'Prankster + Assist',
2041
+ 'Prankster + Copycat',
2042
+ 'Baton Pass'
2043
+ ]
2044
+ },
2029
2045
  {
2030
2046
  name: '[Gen 5] RU',
2031
2047
  mod: 'gen5',
@@ -2148,14 +2164,6 @@ export const Formats = [
2148
2164
  'Default Level = 100'
2149
2165
  ]
2150
2166
  },
2151
- {
2152
- name: '[Gen 5] VGC 2013',
2153
- mod: 'gen5',
2154
- gameType: 'doubles',
2155
- bestOfDefault: true,
2156
- ruleset: ['Flat Rules'],
2157
- banlist: ['Chatot', 'Dark Void', 'Sky Drop', 'Soul Dew']
2158
- },
2159
2167
  {
2160
2168
  name: '[Gen 5] Doubles Custom Game',
2161
2169
  mod: 'gen5',
@@ -2299,14 +2307,6 @@ export const Formats = [
2299
2307
  'Default Level = 100'
2300
2308
  ]
2301
2309
  },
2302
- // {
2303
- // name: '[Gen 4] VGC 2010',
2304
- // mod: 'gen4',
2305
- // gameType: 'doubles',
2306
- // ruleset: [ 'Flat Rules', 'Limit Two Restricted' ],
2307
- // restricted: [ 'Restricted Legendary' ],
2308
- // banlist: [ 'Soul Dew' ]
2309
- // },
2310
2310
  {
2311
2311
  name: '[Gen 4] Doubles Custom Game',
2312
2312
  mod: 'gen4',
@@ -2337,6 +2337,7 @@ export const Formats = [
2337
2337
  'UUBL',
2338
2338
  'UU',
2339
2339
  'RUBL',
2340
+ 'Glalie',
2340
2341
  'Smeargle + Ingrain',
2341
2342
  'Arena Trap',
2342
2343
  'Baton Pass',
@@ -2353,18 +2354,23 @@ export const Formats = [
2353
2354
  name: '[Gen 3] NU',
2354
2355
  mod: 'gen3',
2355
2356
  ruleset: ['Standard'],
2356
- banlist: ['Uber', 'OU', 'UUBL', 'UU', 'RUBL', 'RU', 'Smeargle + Ingrain']
2357
+ banlist: ['Uber', 'OU', 'UUBL', 'UU', 'RUBL', 'RU', 'NUBL', 'Smeargle + Ingrain']
2357
2358
  },
2358
2359
  {
2359
2360
  name: '[Gen 3] PU',
2360
2361
  mod: 'gen3',
2361
2362
  ruleset: ['Standard', 'Baton Pass Stat Clause'],
2362
2363
  banlist: [
2363
- 'Uber', 'OU',
2364
- 'UUBL', 'UU',
2365
- 'RUBL', 'RU',
2366
- 'NUBL', 'NU',
2367
- 'PUBL'
2364
+ 'Uber',
2365
+ 'OU',
2366
+ 'UUBL',
2367
+ 'UU',
2368
+ 'RUBL',
2369
+ 'RU',
2370
+ 'NUBL',
2371
+ 'NU',
2372
+ 'PUBL',
2373
+ 'Baton Pass + Substitute'
2368
2374
  ]
2369
2375
  },
2370
2376
  {
@@ -2411,7 +2417,7 @@ export const Formats = [
2411
2417
  {
2412
2418
  name: '[Gen 3] UUBL',
2413
2419
  mod: 'gen3',
2414
- ruleset: ['[Gen 3] OU'],
2420
+ ruleset: ['[Gen 3] OU', '!Accuracy Trap Clause'],
2415
2421
  banlist: [
2416
2422
  'OU',
2417
2423
  'Smeargle + Ingrain',
@@ -2538,6 +2544,12 @@ export const Formats = [
2538
2544
  ]
2539
2545
  },
2540
2546
  { name: '[Gen 1] Ubers', mod: 'gen1', ruleset: ['Standard'] },
2547
+ {
2548
+ name: '[Gen 1] UU',
2549
+ mod: 'gen1',
2550
+ ruleset: ['[Gen 1] OU'],
2551
+ banlist: ['OU', 'UUBL', 'Bind', 'Clamp', 'Confuse Ray', 'Fire Spin', 'Supersonic', 'Wrap']
2552
+ },
2541
2553
  { name: '[Gen 1] NU', mod: 'gen1', ruleset: ['[Gen 1] UU'], banlist: ['UU', 'NUBL'] },
2542
2554
  { name: '[Gen 1] PU', mod: 'gen1', ruleset: ['[Gen 1] NU'], banlist: ['NU', 'PUBL'] },
2543
2555
  { name: '[Gen 1] ZU', mod: 'gen1', ruleset: ['[Gen 1] PU'], banlist: ['PU', 'ZUBL'] },