@pkmn/sim 0.7.52 → 0.7.53

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 (58) hide show
  1. package/build/cjs/config/formats.js +111 -146
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +23 -8
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/aliases.js +2 -2
  6. package/build/cjs/data/aliases.js.map +1 -1
  7. package/build/cjs/data/formats-data.js +227 -231
  8. package/build/cjs/data/formats-data.js.map +1 -1
  9. package/build/cjs/data/items.js +0 -3
  10. package/build/cjs/data/items.js.map +1 -1
  11. package/build/cjs/data/learnsets.js +6 -3
  12. package/build/cjs/data/learnsets.js.map +1 -1
  13. package/build/cjs/data/legality.js +132 -7
  14. package/build/cjs/data/legality.js.map +1 -1
  15. package/build/cjs/data/mods/gen8/abilities.js +3 -0
  16. package/build/cjs/data/mods/gen8/abilities.js.map +1 -1
  17. package/build/cjs/data/mods/gen8/items.js +2 -6
  18. package/build/cjs/data/mods/gen8/items.js.map +1 -1
  19. package/build/cjs/data/moves.js +7 -2
  20. package/build/cjs/data/moves.js.map +1 -1
  21. package/build/cjs/data/rulesets.js +0 -16
  22. package/build/cjs/data/rulesets.js.map +1 -1
  23. package/build/cjs/data/text/abilities.js +5 -1
  24. package/build/cjs/data/text/abilities.js.map +1 -1
  25. package/build/cjs/sim/pokemon.js +1 -1
  26. package/build/cjs/sim/pokemon.js.map +1 -1
  27. package/build/cjs/sim/team-validator.js +71 -37
  28. package/build/cjs/sim/team-validator.js.map +1 -1
  29. package/build/esm/config/formats.mjs +111 -146
  30. package/build/esm/config/formats.mjs.map +1 -1
  31. package/build/esm/data/abilities.mjs +23 -8
  32. package/build/esm/data/abilities.mjs.map +1 -1
  33. package/build/esm/data/aliases.mjs +2 -2
  34. package/build/esm/data/aliases.mjs.map +1 -1
  35. package/build/esm/data/formats-data.mjs +227 -231
  36. package/build/esm/data/formats-data.mjs.map +1 -1
  37. package/build/esm/data/items.mjs +0 -3
  38. package/build/esm/data/items.mjs.map +1 -1
  39. package/build/esm/data/learnsets.mjs +6 -3
  40. package/build/esm/data/learnsets.mjs.map +1 -1
  41. package/build/esm/data/legality.mjs +132 -7
  42. package/build/esm/data/legality.mjs.map +1 -1
  43. package/build/esm/data/mods/gen8/abilities.mjs +3 -0
  44. package/build/esm/data/mods/gen8/abilities.mjs.map +1 -1
  45. package/build/esm/data/mods/gen8/items.mjs +2 -6
  46. package/build/esm/data/mods/gen8/items.mjs.map +1 -1
  47. package/build/esm/data/moves.mjs +7 -2
  48. package/build/esm/data/moves.mjs.map +1 -1
  49. package/build/esm/data/rulesets.mjs +0 -16
  50. package/build/esm/data/rulesets.mjs.map +1 -1
  51. package/build/esm/data/text/abilities.mjs +5 -1
  52. package/build/esm/data/text/abilities.mjs.map +1 -1
  53. package/build/esm/sim/pokemon.mjs +1 -1
  54. package/build/esm/sim/pokemon.mjs.map +1 -1
  55. package/build/esm/sim/team-validator.mjs +71 -37
  56. package/build/esm/sim/team-validator.mjs.map +1 -1
  57. package/build/types/sim/team-validator.d.ts +10 -1
  58. package/package.json +1 -1
@@ -66,15 +66,15 @@ export const Formats = [
66
66
  'Arena Trap', 'Moody',
67
67
  'Sand Veil', 'Shadow Tag',
68
68
  'Snow Cloak', "King's Rock",
69
- 'Baton Pass', 'Last Respects',
70
- 'Shed Tail'
69
+ 'Razor Fang', 'Baton Pass',
70
+ 'Last Respects', 'Shed Tail'
71
71
  ]
72
72
  },
73
73
  {
74
74
  name: '[Gen 9] Ubers',
75
75
  mod: 'gen9',
76
76
  ruleset: ['Standard'],
77
- banlist: ['AG', 'Moody', "King's Rock", 'Baton Pass']
77
+ banlist: ['AG', 'Moody', "King's Rock", 'Razor Fang', 'Baton Pass']
78
78
  },
79
79
  { name: '[Gen 9] UU', mod: 'gen9', ruleset: ['[Gen 9] OU'], banlist: ['OU', 'UUBL'] },
80
80
  {
@@ -110,21 +110,22 @@ export const Formats = [
110
110
  mod: 'gen9',
111
111
  ruleset: ['Standard', 'Evasion Abilities Clause', 'Same Type Clause', 'Terastal Clause'],
112
112
  banlist: [
113
- 'Arceus', 'Calyrex-Ice',
114
- 'Calyrex-Shadow', 'Chi-Yu',
115
- 'Dialga', 'Dialga-Origin',
116
- 'Eternatus', 'Giratina',
117
- 'Giratina-Origin', 'Groudon',
118
- 'Iron Bundle', 'Koraidon',
119
- 'Kyogre', 'Magearna',
120
- 'Mewtwo', 'Miraidon',
121
- 'Palafin', 'Palkia',
122
- 'Palkia-Origin', 'Rayquaza',
123
- 'Shaymin-Sky', 'Zacian',
124
- 'Zacian-Crowned', 'Zamazenta-Crowned',
125
- 'Moody', 'Shadow Tag',
126
- 'Booster Energy', 'Damp Rock',
127
- 'Focus Band', "King's Rock",
113
+ 'Annihilape', 'Arceus',
114
+ 'Calyrex-Ice', 'Calyrex-Shadow',
115
+ 'Chi-Yu', 'Dialga',
116
+ 'Dialga-Origin', 'Eternatus',
117
+ 'Giratina', 'Giratina-Origin',
118
+ 'Groudon', 'Iron Bundle',
119
+ 'Koraidon', 'Kyogre',
120
+ 'Magearna', 'Mewtwo',
121
+ 'Miraidon', 'Palafin',
122
+ 'Palkia', 'Palkia-Origin',
123
+ 'Rayquaza', 'Shaymin-Sky',
124
+ 'Zacian', 'Zacian-Crowned',
125
+ 'Zamazenta-Crowned', 'Moody',
126
+ 'Shadow Tag', 'Booster Energy',
127
+ 'Damp Rock', 'Focus Band',
128
+ "King's Rock", 'Razor Fang',
128
129
  'Quick Claw', 'Acupressure',
129
130
  'Baton Pass', 'Last Respects'
130
131
  ]
@@ -155,11 +156,12 @@ export const Formats = [
155
156
  'Jirachi', 'Koraidon', 'Kyogre',
156
157
  'Magearna', 'Meloetta', 'Mew',
157
158
  'Mewtwo', 'Mimikyu', 'Miraidon',
158
- 'Palkia', 'Palkia-Origin', 'Rayquaza',
159
- 'Scream Tail', 'Shaymin-Sky', 'Zacian',
160
- 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned',
161
- 'Moody', 'Focus Band', 'Focus Sash',
162
- "King's Rock", 'Quick Claw', 'Acupressure',
159
+ 'Ogerpon-Cornerstone', 'Palkia', 'Palkia-Origin',
160
+ 'Rayquaza', 'Scream Tail', 'Shaymin-Sky',
161
+ 'Snorlax', 'Zacian', 'Zacian-Crowned',
162
+ 'Zamazenta', 'Zamazenta-Crowned', 'Moody',
163
+ 'Focus Band', 'Focus Sash', "King's Rock",
164
+ 'Razor Fang', 'Quick Claw', 'Acupressure',
163
165
  'Perish Song'
164
166
  ]
165
167
  },
@@ -175,26 +177,42 @@ export const Formats = [
175
177
  'Endless Battle Clause'
176
178
  ]
177
179
  },
178
- { name: '[Gen 9] ZU', mod: 'gen9', ruleset: ['[Gen 9] PU'], banlist: ['PU'] },
180
+ {
181
+ name: '[Gen 9] ZU',
182
+ mod: 'gen9',
183
+ ruleset: ['[Gen 9] PU'],
184
+ banlist: [
185
+ 'PU',
186
+ 'Beartic',
187
+ 'Gurdurr',
188
+ 'Indeedee-F',
189
+ 'Lycanroc-Midnight',
190
+ 'Raichu-Base',
191
+ 'Rotom-Fan',
192
+ 'Sawsbuck',
193
+ 'Zangoose'
194
+ ]
195
+ },
179
196
  {
180
197
  name: '[Gen 9] LC UU',
181
198
  mod: 'gen9',
182
199
  ruleset: ['[Gen 9] LC'],
183
200
  banlist: [
184
- 'Axew', 'Crabrawler',
185
- 'Croagunk', 'Diglett-Alola',
201
+ 'Corphish', 'Diglett-Alola',
186
202
  'Drifloon', 'Foongus',
187
- 'Fuecoco', 'Glimmet',
188
- 'Gothita', 'Grimer-Alola',
189
- 'Grookey', 'Houndour',
190
- 'Mareanie', 'Meowth-Base',
191
- 'Mudbray', 'Numel',
192
- 'Nymble', 'Pawniard',
193
- 'Quaxly', 'Shellder',
194
- 'Shellos', 'Shroodle',
195
- 'Teddiursa', 'Tinkatink',
203
+ 'Glimmet', 'Gothita',
204
+ 'Grimer-Alola', 'Grookey',
205
+ 'Impidimp', 'Koffing',
206
+ 'Larvesta', 'Magnemite',
207
+ 'Mienfoo', 'Mudbray',
208
+ 'Numel', 'Pawniard',
209
+ 'Sandshrew', 'Sandshrew-Alola',
210
+ 'Shellder', 'Shroodle',
211
+ 'Snover', 'Stunky',
212
+ 'Timburr', 'Tinkatink',
196
213
  'Toedscool', 'Voltorb-Hisui',
197
- 'Wattrel', 'Zorua-Hisui'
214
+ 'Vullaby', 'Wattrel',
215
+ 'Zorua-Hisui'
198
216
  ]
199
217
  },
200
218
  {
@@ -228,17 +246,6 @@ export const Formats = [
228
246
  'Swagger', 'Toxic', 'Toxic Spikes'
229
247
  ]
230
248
  },
231
- {
232
- name: '[Gen 9] Battle Stadium Singles Regulation C',
233
- mod: 'gen9predlc',
234
- ruleset: [
235
- 'Flat Rules',
236
- '!! Adjust Level = 50',
237
- 'Paldea Pokedex',
238
- 'Min Source Gen = 9',
239
- 'VGC Timer'
240
- ]
241
- },
242
249
  {
243
250
  name: '[Gen 9] Battle Stadium Singles Regulation D',
244
251
  mod: 'gen9predlc',
@@ -304,7 +311,8 @@ export const Formats = [
304
311
  'Qwilfish-Hisui',
305
312
  'Scyther',
306
313
  'Sneasel',
307
- 'Sneasel-Hisui'
314
+ 'Sneasel-Hisui',
315
+ 'Yanma'
308
316
  ]
309
317
  },
310
318
  {
@@ -336,26 +344,27 @@ export const Formats = [
336
344
  'Zamazenta', 'Zamazenta-Crowned',
337
345
  'Commander', 'Moody',
338
346
  'Focus Sash', "King's Rock",
339
- 'Ally Switch', 'Final Gambit',
340
- 'Perish Song', 'Swagger'
347
+ 'Razor Fang', 'Ally Switch',
348
+ 'Final Gambit', 'Perish Song',
349
+ 'Swagger'
341
350
  ]
342
351
  },
343
352
  {
344
- name: '[Gen 9] VGC 2023 Regulation C',
353
+ name: '[Gen 9] VGC 2023 Regulation D',
345
354
  mod: 'gen9predlc',
346
355
  gameType: 'doubles',
347
356
  ruleset: [
348
357
  'Flat Rules',
349
358
  '!! Adjust Level = 50',
350
- 'Paldea Pokedex',
351
359
  'Min Source Gen = 9',
352
360
  'VGC Timer',
353
361
  'Open Team Sheets'
354
- ]
362
+ ],
363
+ banlist: ['Walking Wake', 'Iron Leaves']
355
364
  },
356
365
  {
357
- name: '[Gen 9] VGC 2023 Regulation D',
358
- mod: 'gen9predlc',
366
+ name: '[Gen 9] VGC 2023 Regulation E',
367
+ mod: 'gen9',
359
368
  gameType: 'doubles',
360
369
  ruleset: [
361
370
  'Flat Rules',
@@ -367,7 +376,7 @@ export const Formats = [
367
376
  banlist: ['Walking Wake', 'Iron Leaves']
368
377
  },
369
378
  {
370
- name: '[Gen 9] VGC 2023 Regulation E',
379
+ name: '[Gen 9] VGC 2023 Regulation E (Bo3)',
371
380
  mod: 'gen9',
372
381
  gameType: 'doubles',
373
382
  ruleset: [
@@ -375,7 +384,8 @@ export const Formats = [
375
384
  '!! Adjust Level = 50',
376
385
  'Min Source Gen = 9',
377
386
  'VGC Timer',
378
- 'Open Team Sheets'
387
+ 'Force Open Team Sheets',
388
+ 'Best of = 3'
379
389
  ],
380
390
  banlist: ['Walking Wake', 'Iron Leaves']
381
391
  },
@@ -609,17 +619,6 @@ export const Formats = [
609
619
  'Z-Move Clause'
610
620
  ]
611
621
  },
612
- {
613
- name: '[Gen 7] Pure Hackmons',
614
- mod: 'gen7',
615
- ruleset: [
616
- '-Nonexistent',
617
- 'Team Preview',
618
- 'HP Percentage Mod',
619
- 'Cancel Mod',
620
- 'Endless Battle Clause'
621
- ]
622
- },
623
622
  {
624
623
  name: '[Gen 9] Balanced Hackmons',
625
624
  mod: 'gen9',
@@ -746,41 +745,6 @@ export const Formats = [
746
745
  'Sticky Web'
747
746
  ]
748
747
  },
749
- {
750
- name: '[Gen 9 Pre-DLC] Doubles OU',
751
- mod: 'gen9',
752
- gameType: 'doubles',
753
- ruleset: ['Standard Doubles'],
754
- banlist: ['DUber', 'Shadow Tag']
755
- },
756
- {
757
- name: '[Gen 9 Pre-DLC] Doubles Ubers',
758
- mod: 'gen9predlc',
759
- gameType: 'doubles',
760
- ruleset: ['Standard Doubles', '!Gravity Sleep Clause']
761
- },
762
- {
763
- name: '[Gen 9 Pre-DLC] Doubles UU',
764
- mod: 'gen9predlc',
765
- gameType: 'doubles',
766
- ruleset: ['[Gen 9 Pre-DLC] Doubles OU'],
767
- banlist: ['DOU', 'DBL']
768
- },
769
- {
770
- name: '[Gen 9 Pre-DLC] Doubles LC',
771
- mod: 'gen9predlc',
772
- gameType: 'doubles',
773
- ruleset: ['Standard Doubles', 'Little Cup', 'Sleep Clause Mod'],
774
- banlist: [
775
- 'Basculin-White-Striped',
776
- 'Dunsparce',
777
- 'Murkrow',
778
- 'Qwilfish-Hisui',
779
- 'Scyther',
780
- 'Sneasel',
781
- 'Sneasel-Hisui'
782
- ]
783
- },
784
748
  {
785
749
  name: '[Gen 9 Pre-DLC] 1v1',
786
750
  mod: 'gen9predlc',
@@ -1170,31 +1134,15 @@ export const Formats = [
1170
1134
  'Freeze Clause Mod'
1171
1135
  ]
1172
1136
  },
1173
- { name: '[Gen 4] Ubers', mod: 'gen4', ruleset: ['Standard'], banlist: ['AG'] },
1137
+ { name: '[Gen 5] Ubers', mod: 'gen5', ruleset: ['Standard', 'Sleep Clause Mod'] },
1138
+ { name: '[Gen 2] UU (+ Muk)', mod: 'gen2', ruleset: ['[Gen 2] UU', '+Muk'] },
1174
1139
  {
1175
- name: '[Gen 5] 1v1',
1176
- mod: 'gen5',
1177
- ruleset: [
1178
- 'Picked Team Size = 1',
1179
- 'Max Team Size = 3',
1180
- 'Standard',
1181
- 'Baton Pass Clause',
1182
- 'Swagger Clause',
1183
- 'Accuracy Moves Clause',
1184
- 'Sleep Moves Clause'
1185
- ],
1186
- banlist: [
1187
- 'Uber', 'Cottonee',
1188
- 'Dragonite', 'Jirachi',
1189
- 'Kyurem-Black', 'Mew',
1190
- 'Togekiss', 'Whimsicott',
1191
- 'Victini', 'Focus Band',
1192
- 'Focus Sash', 'Quick Claw',
1193
- 'Soul Dew', 'Perish Song'
1194
- ],
1195
- unbanlist: ['Genesect', 'Landorus', 'Manaphy', 'Thundurus', 'Tornadus-Therian']
1140
+ name: '[Gen 2] NU',
1141
+ mod: 'gen2',
1142
+ ruleset: ['[Gen 2] UU'],
1143
+ banlist: ['UU', 'NUBL'],
1144
+ unbanlist: ['Agility + Baton Pass']
1196
1145
  },
1197
- { name: '[Gen 1] PU', mod: 'gen1', ruleset: ['[Gen 1] NU'], banlist: ['NU', 'PUBL'] },
1198
1146
  {
1199
1147
  name: '[Gen 8] OU',
1200
1148
  mod: 'gen8',
@@ -1892,16 +1840,16 @@ export const Formats = [
1892
1840
  'Genesect', 'Gengar-Mega', 'Giratina',
1893
1841
  'Giratina-Origin', 'Greninja', 'Groudon',
1894
1842
  'Ho-Oh', 'Hoopa-Unbound', 'Kangaskhan-Mega',
1895
- 'Kyogre', 'Kyurem-White', 'Lucario-Mega',
1896
- 'Lugia', 'Mawile-Mega', 'Medicham-Mega',
1897
- 'Metagross-Mega', 'Mewtwo', 'Palkia',
1898
- 'Rayquaza', 'Reshiram', 'Sableye-Mega',
1899
- 'Salamence-Mega', 'Shaymin-Sky', 'Slowbro-Mega',
1900
- 'Talonflame', 'Xerneas', 'Yveltal',
1901
- 'Zekrom', 'Shadow Tag', 'Damp Rock',
1902
- 'Focus Band', "King's Rock", 'Quick Claw',
1903
- 'Razor Fang', 'Smooth Rock', 'Soul Dew',
1904
- 'Baton Pass'
1843
+ 'Keldeo', 'Kyogre', 'Kyurem-White',
1844
+ 'Lucario-Mega', 'Lugia', 'Mawile-Mega',
1845
+ 'Medicham-Mega', 'Metagross-Mega', 'Mewtwo',
1846
+ 'Palkia', 'Rayquaza', 'Reshiram',
1847
+ 'Sableye-Mega', 'Salamence-Mega', 'Shaymin-Sky',
1848
+ 'Slowbro-Mega', 'Talonflame', 'Xerneas',
1849
+ 'Yveltal', 'Zekrom', 'Shadow Tag',
1850
+ 'Damp Rock', 'Focus Band', "King's Rock",
1851
+ 'Quick Claw', 'Razor Fang', 'Smooth Rock',
1852
+ 'Soul Dew', 'Baton Pass'
1905
1853
  ]
1906
1854
  },
1907
1855
  {
@@ -2055,7 +2003,6 @@ export const Formats = [
2055
2003
  'Default Level = 100'
2056
2004
  ]
2057
2005
  },
2058
- { name: '[Gen 5] Ubers', mod: 'gen5', ruleset: ['Standard', 'Sleep Clause Mod'] },
2059
2006
  {
2060
2007
  name: '[Gen 5] UU',
2061
2008
  mod: 'gen5',
@@ -2114,6 +2061,29 @@ export const Formats = [
2114
2061
  ruleset: ['[Gen 5] OU', 'Same Type Clause', '!Gems Clause'],
2115
2062
  banlist: ['Latios']
2116
2063
  },
2064
+ {
2065
+ name: '[Gen 5] 1v1',
2066
+ mod: 'gen5',
2067
+ ruleset: [
2068
+ 'Picked Team Size = 1',
2069
+ 'Max Team Size = 3',
2070
+ 'Standard',
2071
+ 'Baton Pass Clause',
2072
+ 'Swagger Clause',
2073
+ 'Accuracy Moves Clause',
2074
+ 'Sleep Moves Clause'
2075
+ ],
2076
+ banlist: [
2077
+ 'Uber', 'Cottonee',
2078
+ 'Dragonite', 'Jirachi',
2079
+ 'Kyurem-Black', 'Mew',
2080
+ 'Togekiss', 'Whimsicott',
2081
+ 'Victini', 'Focus Band',
2082
+ 'Focus Sash', 'Quick Claw',
2083
+ 'Soul Dew', 'Perish Song'
2084
+ ],
2085
+ unbanlist: ['Genesect', 'Landorus', 'Manaphy', 'Thundurus', 'Tornadus-Therian']
2086
+ },
2117
2087
  {
2118
2088
  name: '[Gen 5] ZU',
2119
2089
  mod: 'gen5',
@@ -2206,6 +2176,7 @@ export const Formats = [
2206
2176
  battle: { trunc: Math.trunc },
2207
2177
  ruleset: ['Team Preview', 'Cancel Mod']
2208
2178
  },
2179
+ { name: '[Gen 4] Ubers', mod: 'gen4', ruleset: ['Standard'], banlist: ['AG'] },
2209
2180
  {
2210
2181
  name: '[Gen 4] UU',
2211
2182
  mod: 'gen4',
@@ -2449,13 +2420,6 @@ export const Formats = [
2449
2420
  banlist: ['OU', 'UUBL', 'Agility + Baton Pass'],
2450
2421
  unbanlist: ['Mean Look + Baton Pass', 'Spider Web + Baton Pass']
2451
2422
  },
2452
- {
2453
- name: '[Gen 2] NU',
2454
- mod: 'gen2',
2455
- ruleset: ['[Gen 2] UU'],
2456
- banlist: ['UU', 'NUBL'],
2457
- unbanlist: ['Agility + Baton Pass']
2458
- },
2459
2423
  {
2460
2424
  name: '[Gen 2] 1v1',
2461
2425
  mod: 'gen2',
@@ -2524,15 +2488,16 @@ export const Formats = [
2524
2488
  {
2525
2489
  name: '[Gen 1] UU',
2526
2490
  mod: 'gen1',
2527
- ruleset: ['[Gen 1] OU', 'APT Clause', 'Sleep Moves Clause'],
2491
+ ruleset: ['[Gen 1] OU', 'APT Clause'],
2528
2492
  banlist: ['OU', 'UUBL']
2529
2493
  },
2530
2494
  {
2531
2495
  name: '[Gen 1] NU',
2532
2496
  mod: 'gen1',
2533
- ruleset: ['[Gen 1] UU', '!APT Clause', '!Sleep Moves Clause'],
2497
+ ruleset: ['[Gen 1] UU', '!APT Clause'],
2534
2498
  banlist: ['UU', 'NUBL']
2535
2499
  },
2500
+ { name: '[Gen 1] PU', mod: 'gen1', ruleset: ['[Gen 1] NU'], banlist: ['NU', 'PUBL'] },
2536
2501
  {
2537
2502
  name: '[Gen 1] 1v1',
2538
2503
  mod: 'gen1',