@pkmn/sim 0.7.1 → 0.7.3

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 (182) hide show
  1. package/build/cjs/config/formats.js +31 -25
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +16 -18
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/formats-data.js +26 -14
  6. package/build/cjs/data/formats-data.js.map +1 -1
  7. package/build/cjs/data/mods/gen1/moves.js +9 -1
  8. package/build/cjs/data/mods/gen1/moves.js.map +1 -1
  9. package/build/cjs/data/mods/gen1/scripts.js +15 -1
  10. package/build/cjs/data/mods/gen1/scripts.js.map +1 -1
  11. package/build/cjs/data/mods/gen8/formats-data.js +17 -1
  12. package/build/cjs/data/mods/gen8/formats-data.js.map +1 -1
  13. package/build/cjs/data/mods/gen8/pokedex.js +1 -1
  14. package/build/cjs/data/mods/gen8/pokedex.js.map +1 -1
  15. package/build/cjs/data/moves.js +32 -23
  16. package/build/cjs/data/moves.js.map +1 -1
  17. package/build/cjs/data/pokedex.js +6 -6
  18. package/build/cjs/data/pokedex.js.map +1 -1
  19. package/build/cjs/data/rulesets.js +12 -49
  20. package/build/cjs/data/rulesets.js.map +1 -1
  21. package/build/cjs/data/text/abilities.js +5 -4
  22. package/build/cjs/data/text/abilities.js.map +1 -1
  23. package/build/cjs/data/text/moves.js +10 -4
  24. package/build/cjs/data/text/moves.js.map +1 -1
  25. package/build/cjs/sim/battle-actions.js +11 -10
  26. package/build/cjs/sim/battle-actions.js.map +1 -1
  27. package/build/cjs/sim/battle-queue.js +0 -1
  28. package/build/cjs/sim/battle-queue.js.map +1 -1
  29. package/build/cjs/sim/battle.js +1 -16
  30. package/build/cjs/sim/battle.js.map +1 -1
  31. package/build/cjs/sim/dex-moves.js +2 -1
  32. package/build/cjs/sim/dex-moves.js.map +1 -1
  33. package/build/cjs/sim/pokemon.js +20 -4
  34. package/build/cjs/sim/pokemon.js.map +1 -1
  35. package/build/cjs/sim/prng.js +1 -103
  36. package/build/cjs/sim/prng.js.map +1 -1
  37. package/build/cjs/sim/side.js +0 -1
  38. package/build/cjs/sim/side.js.map +1 -1
  39. package/build/cjs/sim/team-validator.js +1 -1
  40. package/build/cjs/sim/team-validator.js.map +1 -1
  41. package/build/esm/config/formats.mjs +32 -26
  42. package/build/esm/config/formats.mjs.map +1 -1
  43. package/build/esm/data/abilities.mjs +17 -19
  44. package/build/esm/data/abilities.mjs.map +1 -1
  45. package/build/esm/data/aliases.mjs +1 -1
  46. package/build/esm/data/conditions.mjs +1 -1
  47. package/build/esm/data/formats-data.mjs +27 -15
  48. package/build/esm/data/formats-data.mjs.map +1 -1
  49. package/build/esm/data/index.mjs +1 -1
  50. package/build/esm/data/items.mjs +1 -1
  51. package/build/esm/data/learnsets.mjs +1 -1
  52. package/build/esm/data/mods/gen1/conditions.mjs +1 -1
  53. package/build/esm/data/mods/gen1/formats-data.mjs +1 -1
  54. package/build/esm/data/mods/gen1/index.mjs +1 -1
  55. package/build/esm/data/mods/gen1/moves.mjs +10 -2
  56. package/build/esm/data/mods/gen1/moves.mjs.map +1 -1
  57. package/build/esm/data/mods/gen1/pokedex.mjs +1 -1
  58. package/build/esm/data/mods/gen1/rulesets.mjs +1 -1
  59. package/build/esm/data/mods/gen1/scripts.mjs +16 -2
  60. package/build/esm/data/mods/gen1/scripts.mjs.map +1 -1
  61. package/build/esm/data/mods/gen1/typechart.mjs +1 -1
  62. package/build/esm/data/mods/gen2/conditions.mjs +1 -1
  63. package/build/esm/data/mods/gen2/formats-data.mjs +1 -1
  64. package/build/esm/data/mods/gen2/index.mjs +1 -1
  65. package/build/esm/data/mods/gen2/items.mjs +1 -1
  66. package/build/esm/data/mods/gen2/learnsets.mjs +1 -1
  67. package/build/esm/data/mods/gen2/moves.mjs +1 -1
  68. package/build/esm/data/mods/gen2/pokedex.mjs +1 -1
  69. package/build/esm/data/mods/gen2/rulesets.mjs +1 -1
  70. package/build/esm/data/mods/gen2/scripts.mjs +1 -1
  71. package/build/esm/data/mods/gen2/typechart.mjs +1 -1
  72. package/build/esm/data/mods/gen3/abilities.mjs +1 -1
  73. package/build/esm/data/mods/gen3/conditions.mjs +1 -1
  74. package/build/esm/data/mods/gen3/formats-data.mjs +1 -1
  75. package/build/esm/data/mods/gen3/index.mjs +1 -1
  76. package/build/esm/data/mods/gen3/items.mjs +1 -1
  77. package/build/esm/data/mods/gen3/moves.mjs +1 -1
  78. package/build/esm/data/mods/gen3/rulesets.mjs +1 -1
  79. package/build/esm/data/mods/gen3/scripts.mjs +1 -1
  80. package/build/esm/data/mods/gen4/abilities.mjs +1 -1
  81. package/build/esm/data/mods/gen4/conditions.mjs +1 -1
  82. package/build/esm/data/mods/gen4/formats-data.mjs +1 -1
  83. package/build/esm/data/mods/gen4/index.mjs +1 -1
  84. package/build/esm/data/mods/gen4/items.mjs +1 -1
  85. package/build/esm/data/mods/gen4/moves.mjs +1 -1
  86. package/build/esm/data/mods/gen4/pokedex.mjs +1 -1
  87. package/build/esm/data/mods/gen4/rulesets.mjs +1 -1
  88. package/build/esm/data/mods/gen4/scripts.mjs +1 -1
  89. package/build/esm/data/mods/gen5/abilities.mjs +1 -1
  90. package/build/esm/data/mods/gen5/conditions.mjs +1 -1
  91. package/build/esm/data/mods/gen5/formats-data.mjs +1 -1
  92. package/build/esm/data/mods/gen5/index.mjs +1 -1
  93. package/build/esm/data/mods/gen5/items.mjs +1 -1
  94. package/build/esm/data/mods/gen5/moves.mjs +1 -1
  95. package/build/esm/data/mods/gen5/pokedex.mjs +1 -1
  96. package/build/esm/data/mods/gen5/rulesets.mjs +1 -1
  97. package/build/esm/data/mods/gen5/scripts.mjs +1 -1
  98. package/build/esm/data/mods/gen5/typechart.mjs +1 -1
  99. package/build/esm/data/mods/gen6/abilities.mjs +1 -1
  100. package/build/esm/data/mods/gen6/conditions.mjs +1 -1
  101. package/build/esm/data/mods/gen6/formats-data.mjs +1 -1
  102. package/build/esm/data/mods/gen6/index.mjs +1 -1
  103. package/build/esm/data/mods/gen6/items.mjs +1 -1
  104. package/build/esm/data/mods/gen6/learnsets.mjs +1 -1
  105. package/build/esm/data/mods/gen6/moves.mjs +1 -1
  106. package/build/esm/data/mods/gen6/pokedex.mjs +1 -1
  107. package/build/esm/data/mods/gen6/scripts.mjs +1 -1
  108. package/build/esm/data/mods/gen6/typechart.mjs +1 -1
  109. package/build/esm/data/mods/gen7/abilities.mjs +1 -1
  110. package/build/esm/data/mods/gen7/formats-data.mjs +1 -1
  111. package/build/esm/data/mods/gen7/index.mjs +1 -1
  112. package/build/esm/data/mods/gen7/items.mjs +1 -1
  113. package/build/esm/data/mods/gen7/moves.mjs +1 -1
  114. package/build/esm/data/mods/gen7/pokedex.mjs +1 -1
  115. package/build/esm/data/mods/gen7/rulesets.mjs +1 -1
  116. package/build/esm/data/mods/gen7/scripts.mjs +1 -1
  117. package/build/esm/data/mods/gen8/abilities.mjs +1 -1
  118. package/build/esm/data/mods/gen8/formats-data.mjs +18 -2
  119. package/build/esm/data/mods/gen8/formats-data.mjs.map +1 -1
  120. package/build/esm/data/mods/gen8/index.mjs +1 -1
  121. package/build/esm/data/mods/gen8/moves.mjs +1 -1
  122. package/build/esm/data/mods/gen8/pokedex.mjs +2 -2
  123. package/build/esm/data/mods/gen8/pokedex.mjs.map +1 -1
  124. package/build/esm/data/mods/gen8/rulesets.mjs +1 -1
  125. package/build/esm/data/mods/gen8/scripts.mjs +1 -1
  126. package/build/esm/data/moves.mjs +33 -24
  127. package/build/esm/data/moves.mjs.map +1 -1
  128. package/build/esm/data/natures.mjs +1 -1
  129. package/build/esm/data/pokedex.mjs +7 -7
  130. package/build/esm/data/pokedex.mjs.map +1 -1
  131. package/build/esm/data/rulesets.mjs +13 -50
  132. package/build/esm/data/rulesets.mjs.map +1 -1
  133. package/build/esm/data/scripts.mjs +1 -1
  134. package/build/esm/data/tags.mjs +1 -1
  135. package/build/esm/data/text/abilities.mjs +6 -5
  136. package/build/esm/data/text/abilities.mjs.map +1 -1
  137. package/build/esm/data/text/default.mjs +1 -1
  138. package/build/esm/data/text/items.mjs +1 -1
  139. package/build/esm/data/text/moves.mjs +11 -5
  140. package/build/esm/data/text/moves.mjs.map +1 -1
  141. package/build/esm/data/typechart.mjs +1 -1
  142. package/build/esm/lib/index.mjs +1 -1
  143. package/build/esm/lib/streams.mjs +1 -1
  144. package/build/esm/lib/utils.mjs +1 -1
  145. package/build/esm/sim/battle-actions.mjs +12 -11
  146. package/build/esm/sim/battle-actions.mjs.map +1 -1
  147. package/build/esm/sim/battle-queue.mjs +1 -2
  148. package/build/esm/sim/battle-queue.mjs.map +1 -1
  149. package/build/esm/sim/battle-stream.mjs +1 -1
  150. package/build/esm/sim/battle.mjs +2 -17
  151. package/build/esm/sim/battle.mjs.map +1 -1
  152. package/build/esm/sim/dex-abilities.mjs +1 -1
  153. package/build/esm/sim/dex-conditions.mjs +1 -1
  154. package/build/esm/sim/dex-data.mjs +1 -1
  155. package/build/esm/sim/dex-formats.mjs +1 -1
  156. package/build/esm/sim/dex-items.mjs +1 -1
  157. package/build/esm/sim/dex-moves.mjs +3 -2
  158. package/build/esm/sim/dex-moves.mjs.map +1 -1
  159. package/build/esm/sim/dex-species.mjs +1 -1
  160. package/build/esm/sim/dex.mjs +1 -1
  161. package/build/esm/sim/exported-global-types.mjs +1 -1
  162. package/build/esm/sim/field.mjs +1 -1
  163. package/build/esm/sim/global-types.mjs +1 -1
  164. package/build/esm/sim/index.mjs +1 -1
  165. package/build/esm/sim/pokemon.mjs +21 -5
  166. package/build/esm/sim/pokemon.mjs.map +1 -1
  167. package/build/esm/sim/prng.mjs +2 -104
  168. package/build/esm/sim/prng.mjs.map +1 -1
  169. package/build/esm/sim/side.mjs +1 -2
  170. package/build/esm/sim/side.mjs.map +1 -1
  171. package/build/esm/sim/state.mjs +1 -1
  172. package/build/esm/sim/team-validator.mjs +2 -2
  173. package/build/esm/sim/team-validator.mjs.map +1 -1
  174. package/build/esm/sim/teams.mjs +1 -1
  175. package/build/esm/sim/tools/exhaustive-runner.mjs +1 -1
  176. package/build/esm/sim/tools/index.mjs +1 -1
  177. package/build/esm/sim/tools/random-player-ai.mjs +1 -1
  178. package/build/esm/sim/tools/runner.mjs +1 -1
  179. package/build/types/sim/exported-global-types.d.ts +1 -0
  180. package/build/types/sim/global-types.d.ts +1 -0
  181. package/build/types/sim/pokemon.d.ts +1 -3
  182. package/package.json +1 -1
@@ -44,7 +44,7 @@ export const Formats = [
44
44
  ],
45
45
  mod: 'gen9',
46
46
  ruleset: ['Little Cup', 'Standard'],
47
- banlist: ['Scyther', 'Sneasel', 'Meditite', 'Murkrow', 'Tandemaus', 'Moody', 'Baton Pass'],
47
+ banlist: ['Dunsparce', 'Meditite', 'Murkrow', 'Scyther', 'Sneasel', 'Tandemaus', 'Moody', 'Baton Pass'],
48
48
  },
49
49
  {
50
50
  name: "[Gen 9] Monotype",
@@ -53,7 +53,7 @@ export const Formats = [
53
53
  ],
54
54
  mod: 'gen9',
55
55
  ruleset: ['Same Type Clause', 'Enforce Same Tera Type', 'Standard'],
56
- banlist: ['Koraidon', 'Miraidon'],
56
+ banlist: ['Koraidon', 'Miraidon', 'Moody', 'Shadow Tag', 'Damp Rock', 'Focus Band', 'King\'s Rock', 'Quick Claw', 'Baton Pass'],
57
57
  },
58
58
  {
59
59
  name: "[Gen 9] 1v1",
@@ -63,8 +63,8 @@ export const Formats = [
63
63
  ],
64
64
  mod: 'gen9',
65
65
  ruleset: [
66
- 'Picked Team Size = 1', 'Max Team Size = 3', 'Min Source Gen = 9',
67
- 'Obtainable', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Evasion Items Clause', 'Accuracy Moves Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Endless Battle Clause',
66
+ 'Picked Team Size = 1', 'Max Team Size = 3',
67
+ 'Standard', 'Terastal Clause', 'Accuracy Moves Clause', '!Sleep Clause Mod',
68
68
  ],
69
69
  banlist: ['Dragonite', 'Koraidon', 'Miraidon', 'Moody', 'Focus Band', 'Focus Sash', 'King\'s Rock', 'Quick Claw', 'Acupressure', 'Hypnosis', 'Perish Song', 'Sing'],
70
70
  },
@@ -198,7 +198,7 @@ export const Formats = [
198
198
  `&bullet; <a href="https://www.smogon.com/forums/threads/3658587/">National Dex Balanced Hackmons</a>`,
199
199
  ],
200
200
  mod: 'gen8',
201
- ruleset: ['-Nonexistent', 'Standard NatDex', 'Forme Clause', 'Sleep Moves Clause', '2 Ability Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Dynamax Clause', 'CFZ Clause', '!Obtainable'],
201
+ ruleset: ['-Nonexistent', 'Standard NatDex', 'Forme Clause', 'Sleep Moves Clause', 'Ability Clause = 2', 'OHKO Clause', 'Evasion Moves Clause', 'Dynamax Clause', 'CFZ Clause', '!Obtainable'],
202
202
  banlist: [
203
203
  // Pokemon
204
204
  'Eternatus-Eternamax', 'Groudon-Primal', 'Rayquaza-Mega', 'Shedinja', 'Cramorant-Gorging', 'Calyrex-Shadow', 'Darmanitan-Galar-Zen',
@@ -372,11 +372,11 @@ export const Formats = [
372
372
  `&bullet; <a href="https://www.smogon.com/forums/threads/3710568/">Almost Any Ability</a>`,
373
373
  ],
374
374
  mod: 'gen9',
375
- ruleset: ['Standard OMs', '!Obtainable Abilities', 'Ability Clause', 'Sleep Moves Clause', 'Min Source Gen = 9'],
375
+ ruleset: ['Standard OMs', '!Obtainable Abilities', 'Ability Clause = 1', 'Sleep Moves Clause', 'Min Source Gen = 9'],
376
376
  banlist: [
377
- 'Koraidon', 'Miraidon', 'Slaking', 'Arena Trap', 'Comatose', 'Contrary', 'Gorilla Tactics', 'Huge Power', 'Illusion',
378
- 'Imposter', 'Innards Out', 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Pure Power', 'Shadow Tag',
379
- 'Simple', 'Speed Boost', 'Water Bubble', 'Wonder Guard', 'King\'s Rock', 'Baton Pass',
377
+ 'Annihilape', 'Koraidon', 'Miraidon', 'Slaking', 'Arena Trap', 'Comatose', 'Contrary', 'Gorilla Tactics', 'Huge Power',
378
+ 'Illusion', 'Imposter', 'Innards Out', 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Pure Power',
379
+ 'Shadow Tag', 'Simple', 'Speed Boost', 'Water Bubble', 'Wonder Guard', 'King\'s Rock', 'Baton Pass',
380
380
  ],
381
381
  },
382
382
  {
@@ -402,7 +402,10 @@ export const Formats = [
402
402
  ],
403
403
  mod: 'gen9',
404
404
  ruleset: ['-Nonexistent', 'OHKO Clause', 'Evasion Clause', 'Species Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Moves Clause', 'Endless Battle Clause'],
405
- banlist: ['Arena Trap', 'Huge Power', 'Illusion', 'Innards Out', 'Magnet Pull', 'Neutralizing Gas', 'Parental Bond', 'Pure Power', 'Shadow Tag', 'Stakeout', 'Water Bubble', 'Wonder Guard', 'Comatose + Sleep Talk'],
405
+ banlist: [
406
+ 'Arena Trap', 'Huge Power', 'Illusion', 'Innards Out', 'Magnet Pull', 'Neutralizing Gas', 'Parental Bond', 'Pure Power',
407
+ 'Shadow Tag', 'Stakeout', 'Water Bubble', 'Wonder Guard', 'Comatose + Sleep Talk', 'Shell Smash', 'Rage Fist',
408
+ ],
406
409
  },
407
410
  {
408
411
  name: "[Gen 9] Mix and Mega",
@@ -498,7 +501,7 @@ export const Formats = [
498
501
  ],
499
502
  mod: 'gen9',
500
503
  ruleset: ['Standard OMs', 'Not Fully Evolved', 'Sleep Moves Clause', 'Min Source Gen = 9'],
501
- banlist: ['Haunter', 'Magneton', 'Scyther', 'Arena Trap', 'Shadow Tag', 'Baton Pass'],
504
+ banlist: ['Bisharp', 'Chansey', 'Haunter', 'Magneton', 'Primeape', 'Scyther', 'Arena Trap', 'Shadow Tag', 'Baton Pass'],
502
505
  },
503
506
  // Challengeable OMs
504
507
  ///////////////////////////////////////////////////////////////////
@@ -531,7 +534,7 @@ export const Formats = [
531
534
  ],
532
535
  mod: 'gen8',
533
536
  searchShow: false,
534
- ruleset: ['Standard OMs', '2 Ability Clause', 'Sleep Clause Mod'],
537
+ ruleset: ['Standard OMs', 'Ability Clause = 2', 'Sleep Clause Mod'],
535
538
  banlist: ['Corsola-Galar', 'Sneasel', 'Type: Null', 'Arena Trap', 'Ice Scales', 'Moody', 'King\'s Rock', 'Baton Pass'],
536
539
  restricted: ['Chansey', 'Lunala', 'Shedinja', 'Solgaleo', 'Gorilla Tactics', 'Huge Power', 'Pure Power', 'Shadow Tag'],
537
540
  onValidateTeam(team) {
@@ -681,7 +684,7 @@ export const Formats = [
681
684
  ],
682
685
  mod: 'gen8',
683
686
  searchShow: false,
684
- ruleset: ['Standard OMs', '2 Ability Clause', 'Sleep Moves Clause'],
687
+ ruleset: ['Standard OMs', 'Ability Clause = 2', 'Sleep Moves Clause'],
685
688
  banlist: [
686
689
  'Blacephalon', 'Blaziken', 'Butterfree', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chansey', 'Combusken', 'Cresselia', 'Darmanitan-Galar', 'Dialga',
687
690
  'Dracovish', 'Eternatus', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia',
@@ -778,7 +781,7 @@ export const Formats = [
778
781
  return null;
779
782
  },
780
783
  onValidateTeam(team, f, teamHas) {
781
- if (this.ruleTable.has('2abilityclause')) {
784
+ if (this.ruleTable.has('abilityclause')) {
782
785
  const abilityTable = new Map();
783
786
  const base = {
784
787
  airlock: 'cloudnine',
@@ -798,16 +801,17 @@ export const Formats = [
798
801
  teravolt: 'moldbreaker',
799
802
  turboblaze: 'moldbreaker',
800
803
  };
804
+ const num = parseInt(this.ruleTable.valueRules.get('abilityclause'));
801
805
  for (const set of team) {
802
806
  let ability = this.toID(set.ability.split('0')[0]);
803
807
  if (!ability)
804
808
  continue;
805
809
  if (ability in base)
806
810
  ability = base[ability];
807
- if ((abilityTable.get(ability) || 0) >= 2) {
811
+ if ((abilityTable.get(ability) || 0) >= num) {
808
812
  return [
809
- `You are limited to two of each ability by 2 Ability Clause.`,
810
- `(You have more than two ${this.dex.abilities.get(ability).name} variants)`,
813
+ `You are limited to ${num} of each ability by ${num} Ability Clause.`,
814
+ `(You have more than ${num} ${this.dex.abilities.get(ability).name} variants)`,
811
815
  ];
812
816
  }
813
817
  abilityTable.set(ability, (abilityTable.get(ability) || 0) + 1);
@@ -902,7 +906,7 @@ export const Formats = [
902
906
  ],
903
907
  mod: 'gen8',
904
908
  searchShow: false,
905
- ruleset: ['Standard OMs', '2 Ability Clause', 'Sleep Moves Clause'],
909
+ ruleset: ['Standard OMs', 'Ability Clause = 2', 'Sleep Moves Clause'],
906
910
  banlist: [
907
911
  'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragonite', 'Eternatus',
908
912
  'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Kyogre', 'Kyurem-Black', 'Kyurem-White',
@@ -946,7 +950,7 @@ export const Formats = [
946
950
  return problems;
947
951
  },
948
952
  onValidateTeam(team) {
949
- if (!this.ruleTable.has('2abilityclause'))
953
+ if (!this.ruleTable.has('abilityclause'))
950
954
  return;
951
955
  const abilityTable = new Map();
952
956
  const base = {
@@ -967,6 +971,7 @@ export const Formats = [
967
971
  teravolt: 'moldbreaker',
968
972
  turboblaze: 'moldbreaker',
969
973
  };
974
+ const num = parseInt(this.ruleTable.valueRules.get('abilityclause'));
970
975
  const abilities = [];
971
976
  for (const set of team) {
972
977
  abilities.push([set.ability, set.item].map((abil) => {
@@ -983,10 +988,10 @@ export const Formats = [
983
988
  abilityTable.set(item.id, (abilityTable.get(item.id) || 0) + 1);
984
989
  }
985
990
  for (const [abilityid, size] of abilityTable) {
986
- if (size > 2) {
991
+ if (size > num) {
987
992
  return [
988
- `You are limited to two of each ability by 2 Ability Clause.`,
989
- `(You have more than two ${this.dex.abilities.get(abilityid).name} variants)`,
993
+ `You are limited to ${num} of each ability by ${num} Ability Clause.`,
994
+ `(You have more than ${num} ${this.dex.abilities.get(abilityid).name} variants)`,
990
995
  ];
991
996
  }
992
997
  }
@@ -1692,7 +1697,7 @@ export const Formats = [
1692
1697
  ],
1693
1698
  mod: 'gen8',
1694
1699
  searchShow: false,
1695
- ruleset: ['Standard OMs', '!Obtainable Abilities', '2 Ability Clause', 'Sleep Moves Clause'],
1700
+ ruleset: ['Standard OMs', '!Obtainable Abilities', 'Ability Clause = 2', 'Sleep Moves Clause'],
1696
1701
  banlist: [
1697
1702
  'Archeops', 'Blacephalon', 'Buzzwole', 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Dracovish', 'Dragapult', 'Dragonite', 'Eternatus', 'Genesect',
1698
1703
  'Gengar', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Keldeo', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Lugia',
@@ -1856,7 +1861,7 @@ export const Formats = [
1856
1861
  `&bullet; <a href="https://www.smogon.com/forums/posts/8407209/">USM Balanced Hackmons</a>`,
1857
1862
  ],
1858
1863
  mod: 'gen7',
1859
- ruleset: ['-Nonexistent', '2 Ability Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Forme Clause', 'CFZ Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod', 'Endless Battle Clause'],
1864
+ ruleset: ['-Nonexistent', 'Ability Clause = 2', 'OHKO Clause', 'Evasion Moves Clause', 'Forme Clause', 'CFZ Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod', 'Endless Battle Clause'],
1860
1865
  banlist: [
1861
1866
  'Groudon-Primal', 'Rayquaza-Mega', 'Gengarite', 'Comatose + Sleep Talk', 'Chatter',
1862
1867
  'Arena Trap', 'Contrary', 'Huge Power', 'Illusion', 'Innards Out', 'Magnet Pull', 'Moody', 'Parental Bond', 'Protean', 'Psychic Surge', 'Pure Power', 'Shadow Tag', 'Stakeout', 'Water Bubble', 'Wonder Guard',
@@ -1951,7 +1956,7 @@ export const Formats = [
1951
1956
  ],
1952
1957
  mod: 'gen6',
1953
1958
  searchShow: false,
1954
- ruleset: ['[Gen 6] OU', '2 Ability Clause', 'AAA Restricted Abilities', '!Obtainable Abilities'],
1959
+ ruleset: ['[Gen 6] OU', 'Ability Clause = 2', 'AAA Restricted Abilities', '!Obtainable Abilities'],
1955
1960
  banlist: ['Archeops', 'Bisharp', 'Chatot', 'Dragonite', 'Keldeo', 'Kyurem-Black', 'Mamoswine', 'Regigigas', 'Shedinja', 'Slaking', 'Smeargle', 'Snorlax', 'Suicune', 'Terrakion', 'Weavile', 'Dynamic Punch', 'Zap Cannon'],
1956
1961
  unbanlist: ['Aegislash', 'Blaziken', 'Deoxys-Defense', 'Deoxys-Speed', 'Genesect', 'Greninja', 'Landorus'],
1957
1962
  restricted: ['Arena Trap', 'Contrary', 'Fur Coat', 'Huge Power', 'Illusion', 'Imposter', 'Parental Bond', 'Protean', 'Pure Power', 'Simple', 'Speed Boost', 'Wonder Guard'],
@@ -2277,6 +2282,7 @@ export const Formats = [
2277
2282
  threads: [
2278
2283
  `&bullet; <a href="https://www.smogon.com/forums/threads/3675374/">Information and Suggestions Thread</a>`,
2279
2284
  ],
2285
+ mod: 'gen8',
2280
2286
  team: 'randomBSSFactory',
2281
2287
  ruleset: ['Flat Rules'],
2282
2288
  },
@@ -4034,4 +4040,4 @@ export const Formats = [
4034
4040
  ruleset: ['HP Percentage Mod', 'Cancel Mod', 'Desync Clause Mod', 'Max Team Size = 24', 'Max Move Count = 24', 'Max Level = 9999', 'Default Level = 100'],
4035
4041
  },
4036
4042
  ];
4037
- //# sourceMappingURL=formats.js.map
4043
+ //# sourceMappingURL=formats.mjs.map