@pkmn/sim 0.9.26 → 0.9.28

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 (189) hide show
  1. package/build/cjs/config/formats.js +79 -86
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +100 -116
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/aliases.js +3 -2
  6. package/build/cjs/data/aliases.js.map +1 -1
  7. package/build/cjs/data/conditions.js +3 -3
  8. package/build/cjs/data/conditions.js.map +1 -1
  9. package/build/cjs/data/formats-data.js +12 -12
  10. package/build/cjs/data/formats-data.js.map +1 -1
  11. package/build/cjs/data/items.js +55 -25
  12. package/build/cjs/data/items.js.map +1 -1
  13. package/build/cjs/data/legality.js +275 -23
  14. package/build/cjs/data/legality.js.map +1 -1
  15. package/build/cjs/data/mods/gen1/moves.js.map +1 -1
  16. package/build/cjs/data/mods/gen1/scripts.js +2 -0
  17. package/build/cjs/data/mods/gen1/scripts.js.map +1 -1
  18. package/build/cjs/data/mods/gen2/moves.js +1 -1
  19. package/build/cjs/data/mods/gen2/moves.js.map +1 -1
  20. package/build/cjs/data/mods/gen3/abilities.js +0 -2
  21. package/build/cjs/data/mods/gen3/abilities.js.map +1 -1
  22. package/build/cjs/data/mods/gen3/moves.js.map +1 -1
  23. package/build/cjs/data/mods/gen4/abilities.js +1 -1
  24. package/build/cjs/data/mods/gen4/abilities.js.map +1 -1
  25. package/build/cjs/data/mods/gen4/formats-data.js +1 -1
  26. package/build/cjs/data/mods/gen4/formats-data.js.map +1 -1
  27. package/build/cjs/data/mods/gen4/moves.js +88 -0
  28. package/build/cjs/data/mods/gen4/moves.js.map +1 -1
  29. package/build/cjs/data/mods/gen4/scripts.js +26 -0
  30. package/build/cjs/data/mods/gen4/scripts.js.map +1 -1
  31. package/build/cjs/data/mods/gen5/conditions.js +1 -2
  32. package/build/cjs/data/mods/gen5/conditions.js.map +1 -1
  33. package/build/cjs/data/mods/gen5/formats-data.js +2 -2
  34. package/build/cjs/data/mods/gen5/formats-data.js.map +1 -1
  35. package/build/cjs/data/mods/gen6/moves.js.map +1 -1
  36. package/build/cjs/data/mods/gen8/abilities.js +0 -2
  37. package/build/cjs/data/mods/gen8/abilities.js.map +1 -1
  38. package/build/cjs/data/mods/gen8/moves.js +1 -1
  39. package/build/cjs/data/mods/gen8/moves.js.map +1 -1
  40. package/build/cjs/data/moves.js +22 -18
  41. package/build/cjs/data/moves.js.map +1 -1
  42. package/build/cjs/data/pokemongo.js +1 -1
  43. package/build/cjs/data/text/moves.js +1 -1
  44. package/build/cjs/data/text/moves.js.map +1 -1
  45. package/build/cjs/lib/utils.d.ts +8 -0
  46. package/build/cjs/lib/utils.js +21 -2
  47. package/build/cjs/lib/utils.js.map +1 -1
  48. package/build/cjs/sim/battle-actions.js +30 -39
  49. package/build/cjs/sim/battle-actions.js.map +1 -1
  50. package/build/cjs/sim/battle-queue.d.ts +1 -1
  51. package/build/cjs/sim/battle-queue.js +0 -2
  52. package/build/cjs/sim/battle-queue.js.map +1 -1
  53. package/build/cjs/sim/battle-stream.js +2 -3
  54. package/build/cjs/sim/battle-stream.js.map +1 -1
  55. package/build/cjs/sim/battle.d.ts +13 -7
  56. package/build/cjs/sim/battle.js +197 -70
  57. package/build/cjs/sim/battle.js.map +1 -1
  58. package/build/cjs/sim/dex-abilities.d.ts +0 -1
  59. package/build/cjs/sim/dex-abilities.js +2 -2
  60. package/build/cjs/sim/dex-abilities.js.map +1 -1
  61. package/build/cjs/sim/dex-conditions.d.ts +11 -3
  62. package/build/cjs/sim/dex-conditions.js +2 -2
  63. package/build/cjs/sim/dex-conditions.js.map +1 -1
  64. package/build/cjs/sim/dex-data.js +7 -7
  65. package/build/cjs/sim/dex-data.js.map +1 -1
  66. package/build/cjs/sim/dex-formats.d.ts +2 -1
  67. package/build/cjs/sim/dex-formats.js.map +1 -1
  68. package/build/cjs/sim/dex-items.d.ts +3 -1
  69. package/build/cjs/sim/dex-items.js +3 -2
  70. package/build/cjs/sim/dex-items.js.map +1 -1
  71. package/build/cjs/sim/dex-moves.js +4 -4
  72. package/build/cjs/sim/dex-moves.js.map +1 -1
  73. package/build/cjs/sim/exported-global-types.d.ts +6 -0
  74. package/build/cjs/sim/field.js +9 -9
  75. package/build/cjs/sim/field.js.map +1 -1
  76. package/build/cjs/sim/global-types.d.ts +6 -0
  77. package/build/cjs/sim/pokemon.d.ts +8 -4
  78. package/build/cjs/sim/pokemon.js +62 -47
  79. package/build/cjs/sim/pokemon.js.map +1 -1
  80. package/build/cjs/sim/prng.d.ts +57 -18
  81. package/build/cjs/sim/prng.js +171 -38
  82. package/build/cjs/sim/prng.js.map +1 -1
  83. package/build/cjs/sim/side.js +9 -6
  84. package/build/cjs/sim/side.js.map +1 -1
  85. package/build/cjs/sim/state.js +1 -1
  86. package/build/cjs/sim/state.js.map +1 -1
  87. package/build/cjs/sim/team-validator.js +16 -17
  88. package/build/cjs/sim/team-validator.js.map +1 -1
  89. package/build/cjs/sim/tools/exhaustive-runner.js +11 -12
  90. package/build/cjs/sim/tools/exhaustive-runner.js.map +1 -1
  91. package/build/cjs/sim/tools/random-player-ai.js +5 -5
  92. package/build/cjs/sim/tools/random-player-ai.js.map +1 -1
  93. package/build/cjs/sim/tools/runner.js +7 -8
  94. package/build/cjs/sim/tools/runner.js.map +1 -1
  95. package/build/esm/config/formats.mjs +79 -86
  96. package/build/esm/config/formats.mjs.map +1 -1
  97. package/build/esm/data/abilities.mjs +100 -116
  98. package/build/esm/data/abilities.mjs.map +1 -1
  99. package/build/esm/data/aliases.mjs +3 -2
  100. package/build/esm/data/aliases.mjs.map +1 -1
  101. package/build/esm/data/conditions.mjs +3 -3
  102. package/build/esm/data/conditions.mjs.map +1 -1
  103. package/build/esm/data/formats-data.mjs +12 -12
  104. package/build/esm/data/formats-data.mjs.map +1 -1
  105. package/build/esm/data/items.mjs +55 -25
  106. package/build/esm/data/items.mjs.map +1 -1
  107. package/build/esm/data/legality.mjs +275 -23
  108. package/build/esm/data/legality.mjs.map +1 -1
  109. package/build/esm/data/mods/gen1/moves.mjs.map +1 -1
  110. package/build/esm/data/mods/gen1/scripts.mjs +2 -0
  111. package/build/esm/data/mods/gen1/scripts.mjs.map +1 -1
  112. package/build/esm/data/mods/gen2/moves.mjs +1 -1
  113. package/build/esm/data/mods/gen2/moves.mjs.map +1 -1
  114. package/build/esm/data/mods/gen3/abilities.mjs +0 -2
  115. package/build/esm/data/mods/gen3/abilities.mjs.map +1 -1
  116. package/build/esm/data/mods/gen3/moves.mjs.map +1 -1
  117. package/build/esm/data/mods/gen4/abilities.mjs +1 -1
  118. package/build/esm/data/mods/gen4/abilities.mjs.map +1 -1
  119. package/build/esm/data/mods/gen4/formats-data.mjs +1 -1
  120. package/build/esm/data/mods/gen4/formats-data.mjs.map +1 -1
  121. package/build/esm/data/mods/gen4/moves.mjs +88 -0
  122. package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
  123. package/build/esm/data/mods/gen4/scripts.mjs +26 -0
  124. package/build/esm/data/mods/gen4/scripts.mjs.map +1 -1
  125. package/build/esm/data/mods/gen5/conditions.mjs +1 -2
  126. package/build/esm/data/mods/gen5/conditions.mjs.map +1 -1
  127. package/build/esm/data/mods/gen5/formats-data.mjs +2 -2
  128. package/build/esm/data/mods/gen5/formats-data.mjs.map +1 -1
  129. package/build/esm/data/mods/gen6/moves.mjs.map +1 -1
  130. package/build/esm/data/mods/gen8/abilities.mjs +0 -2
  131. package/build/esm/data/mods/gen8/abilities.mjs.map +1 -1
  132. package/build/esm/data/mods/gen8/moves.mjs +1 -1
  133. package/build/esm/data/mods/gen8/moves.mjs.map +1 -1
  134. package/build/esm/data/moves.mjs +22 -18
  135. package/build/esm/data/moves.mjs.map +1 -1
  136. package/build/esm/data/pokemongo.mjs +1 -1
  137. package/build/esm/data/text/moves.mjs +1 -1
  138. package/build/esm/data/text/moves.mjs.map +1 -1
  139. package/build/esm/lib/utils.d.mts +8 -0
  140. package/build/esm/lib/utils.mjs +18 -2
  141. package/build/esm/lib/utils.mjs.map +1 -1
  142. package/build/esm/sim/battle-actions.mjs +30 -39
  143. package/build/esm/sim/battle-actions.mjs.map +1 -1
  144. package/build/esm/sim/battle-queue.d.mts +1 -1
  145. package/build/esm/sim/battle-queue.mjs +0 -2
  146. package/build/esm/sim/battle-queue.mjs.map +1 -1
  147. package/build/esm/sim/battle-stream.mjs +2 -3
  148. package/build/esm/sim/battle-stream.mjs.map +1 -1
  149. package/build/esm/sim/battle.d.mts +13 -7
  150. package/build/esm/sim/battle.mjs +196 -69
  151. package/build/esm/sim/battle.mjs.map +1 -1
  152. package/build/esm/sim/dex-abilities.d.mts +0 -1
  153. package/build/esm/sim/dex-abilities.mjs +1 -1
  154. package/build/esm/sim/dex-abilities.mjs.map +1 -1
  155. package/build/esm/sim/dex-conditions.d.mts +11 -3
  156. package/build/esm/sim/dex-conditions.mjs +1 -1
  157. package/build/esm/sim/dex-conditions.mjs.map +1 -1
  158. package/build/esm/sim/dex-data.mjs +1 -1
  159. package/build/esm/sim/dex-data.mjs.map +1 -1
  160. package/build/esm/sim/dex-formats.d.mts +2 -1
  161. package/build/esm/sim/dex-formats.mjs.map +1 -1
  162. package/build/esm/sim/dex-items.d.mts +3 -1
  163. package/build/esm/sim/dex-items.mjs +2 -1
  164. package/build/esm/sim/dex-items.mjs.map +1 -1
  165. package/build/esm/sim/dex-moves.mjs +1 -1
  166. package/build/esm/sim/dex-moves.mjs.map +1 -1
  167. package/build/esm/sim/exported-global-types.d.mts +6 -0
  168. package/build/esm/sim/field.mjs +9 -9
  169. package/build/esm/sim/field.mjs.map +1 -1
  170. package/build/esm/sim/global-types.d.mts +6 -0
  171. package/build/esm/sim/pokemon.d.mts +8 -4
  172. package/build/esm/sim/pokemon.mjs +62 -47
  173. package/build/esm/sim/pokemon.mjs.map +1 -1
  174. package/build/esm/sim/prng.d.mts +57 -18
  175. package/build/esm/sim/prng.mjs +134 -36
  176. package/build/esm/sim/prng.mjs.map +1 -1
  177. package/build/esm/sim/side.mjs +8 -5
  178. package/build/esm/sim/side.mjs.map +1 -1
  179. package/build/esm/sim/state.mjs +1 -1
  180. package/build/esm/sim/state.mjs.map +1 -1
  181. package/build/esm/sim/team-validator.mjs +10 -11
  182. package/build/esm/sim/team-validator.mjs.map +1 -1
  183. package/build/esm/sim/tools/exhaustive-runner.mjs +11 -12
  184. package/build/esm/sim/tools/exhaustive-runner.mjs.map +1 -1
  185. package/build/esm/sim/tools/random-player-ai.mjs +5 -5
  186. package/build/esm/sim/tools/random-player-ai.mjs.map +1 -1
  187. package/build/esm/sim/tools/runner.mjs +7 -8
  188. package/build/esm/sim/tools/runner.mjs.map +1 -1
  189. package/package.json +3 -2
@@ -3720,7 +3720,10 @@ export const Legality = {
3720
3720
  earthquake: ['6S0'],
3721
3721
  icefang: ['6S0', '6S1'],
3722
3722
  ironhead: ['6S1'],
3723
- waterfall: ['6S0', '6S1']
3723
+ protect: ['9S2'],
3724
+ taunt: ['9S2'],
3725
+ thunderwave: ['9S2'],
3726
+ waterfall: ['9S2', '6S0', '6S1']
3724
3727
  },
3725
3728
  eventData: [
3726
3729
  {
@@ -3735,6 +3738,15 @@ export const Legality = {
3735
3738
  shiny: true,
3736
3739
  moves: ['waterfall', 'bite', 'icefang', 'ironhead'],
3737
3740
  pokeball: 'cherishball'
3741
+ },
3742
+ {
3743
+ generation: 9,
3744
+ level: 50,
3745
+ gender: 'M',
3746
+ nature: 'Careful',
3747
+ perfectIVs: 6,
3748
+ moves: ['waterfall', 'thunderwave', 'taunt', 'protect'],
3749
+ pokeball: 'cherishball'
3738
3750
  }
3739
3751
  ],
3740
3752
  encounters: [
@@ -4172,10 +4184,11 @@ export const Legality = {
4172
4184
  },
4173
4185
  porygon2: {
4174
4186
  learnset: {
4175
- icebeam: ['8S0'],
4176
- recover: ['8S0'],
4187
+ icebeam: ['9S1', '8S0'],
4188
+ recover: ['9S1', '8S0'],
4189
+ terablast: ['9S1'],
4177
4190
  thunderbolt: ['8S0'],
4178
- trickroom: ['8S0']
4191
+ trickroom: ['9S1', '8S0']
4179
4192
  },
4180
4193
  eventData: [
4181
4194
  {
@@ -4186,6 +4199,15 @@ export const Legality = {
4186
4199
  ivs: { hp: 31, atk: 0, spe: 0 },
4187
4200
  moves: ['recover', 'trickroom', 'icebeam', 'thunderbolt'],
4188
4201
  pokeball: 'cherishball'
4202
+ },
4203
+ {
4204
+ generation: 9,
4205
+ level: 50,
4206
+ nature: 'Quiet',
4207
+ abilities: ['download'],
4208
+ ivs: { hp: 31, atk: 31, def: 31, spa: 31, spd: 31, spe: 0 },
4209
+ moves: ['terablast', 'icebeam', 'recover', 'trickroom'],
4210
+ pokeball: 'cherishball'
4189
4211
  }
4190
4212
  ]
4191
4213
  },
@@ -4295,13 +4317,15 @@ export const Legality = {
4295
4317
  },
4296
4318
  snorlax: {
4297
4319
  learnset: {
4298
- block: ['7S1'],
4299
- bodyslam: ['7S1', '3S0'],
4320
+ block: ['9S2', '7S1'],
4321
+ bodyslam: ['9S2', '7S1', '3S0'],
4300
4322
  celebrate: ['7S1'],
4301
4323
  curse: ['3S0'],
4302
4324
  fissure: ['3S0'],
4303
4325
  refresh: ['3S0'],
4304
- sunnyday: ['7S1']
4326
+ rest: ['9S2'],
4327
+ sunnyday: ['7S1'],
4328
+ yawn: ['9S2']
4305
4329
  },
4306
4330
  eventData: [
4307
4331
  { generation: 3, level: 43, moves: ['refresh', 'fissure', 'curse', 'bodyslam'] },
@@ -4311,6 +4335,16 @@ export const Legality = {
4311
4335
  abilities: ['thickfat'],
4312
4336
  moves: ['sunnyday', 'block', 'bodyslam', 'celebrate'],
4313
4337
  pokeball: 'cherishball'
4338
+ },
4339
+ {
4340
+ generation: 9,
4341
+ level: 20,
4342
+ gender: 'M',
4343
+ nature: 'Lax',
4344
+ isHidden: true,
4345
+ ivs: { hp: 22, atk: 20, def: 20, spa: 20, spd: 20, spe: 20 },
4346
+ moves: ['rest', 'block', 'yawn', 'bodyslam'],
4347
+ pokeball: 'dreamball'
4314
4348
  }
4315
4349
  ],
4316
4350
  encounters: [{ generation: 1, level: 30 }]
@@ -6867,6 +6901,25 @@ export const Legality = {
6867
6901
  },
6868
6902
  wingull: { encounters: [{ generation: 3, level: 2 }] },
6869
6903
  pelipper: {
6904
+ learnset: {
6905
+ hurricane: ['9S0'],
6906
+ protect: ['9S0'],
6907
+ weatherball: ['9S0'],
6908
+ wideguard: ['9S0']
6909
+ },
6910
+ eventData: [
6911
+ {
6912
+ generation: 9,
6913
+ level: 50,
6914
+ shiny: true,
6915
+ gender: 'M',
6916
+ nature: 'Modest',
6917
+ abilities: ['drizzle'],
6918
+ ivs: { hp: 31, atk: 8, def: 31, spa: 31, spd: 31, spe: 31 },
6919
+ moves: ['protect', 'weatherball', 'hurricane', 'wideguard'],
6920
+ pokeball: 'cherishball'
6921
+ }
6922
+ ],
6870
6923
  encounters: [{ generation: 4, level: 15 }, { generation: 6, level: 18, maxEggMoves: 1 }]
6871
6924
  },
6872
6925
  ralts: {
@@ -9246,6 +9299,7 @@ export const Legality = {
9246
9299
  detect: ['4S6'],
9247
9300
  doubleteam: ['4S5'],
9248
9301
  extremespeed: ['4S4', '4S5'],
9302
+ gravity: ['9S11'],
9249
9303
  hyperbeam: ['6S10', '4S7', '3S3'],
9250
9304
  irondefense: ['4S4'],
9251
9305
  knockoff: ['3S1', '3S2'],
@@ -9254,7 +9308,7 @@ export const Legality = {
9254
9308
  mirrorcoat: ['4S6'],
9255
9309
  nastyplot: ['5S9'],
9256
9310
  nightshade: ['4S8'],
9257
- psychic: ['3S0', '3S1', '3S2'],
9311
+ psychic: ['9S11', '3S0', '3S1', '3S2'],
9258
9312
  psychoboost: [
9259
9313
  '6S10', '5S9',
9260
9314
  '4S4', '4S5',
@@ -9263,13 +9317,15 @@ export const Legality = {
9263
9317
  ],
9264
9318
  pursuit: ['3S0', '3S2'],
9265
9319
  recover: ['6S10', '5S9', '3S3'],
9320
+ skillswap: ['9S11'],
9266
9321
  snatch: ['3S1'],
9267
9322
  spikes: ['3S1'],
9268
9323
  superpower: ['4S7', '3S0'],
9269
9324
  swift: ['4S5', '3S2'],
9270
9325
  taunt: ['3S0'],
9271
9326
  wrap: ['4S8'],
9272
- zapcannon: ['4S4']
9327
+ zapcannon: ['4S4'],
9328
+ zenheadbutt: ['9S11']
9273
9329
  },
9274
9330
  eventData: [
9275
9331
  {
@@ -9336,6 +9392,13 @@ export const Legality = {
9336
9392
  generation: 6,
9337
9393
  level: 80,
9338
9394
  moves: ['cosmicpower', 'recover', 'psychoboost', 'hyperbeam']
9395
+ },
9396
+ {
9397
+ generation: 9,
9398
+ level: 50,
9399
+ nature: 'Serious',
9400
+ moves: ['psychic', 'gravity', 'skillswap', 'zenheadbutt'],
9401
+ pokeball: 'cherishball'
9339
9402
  }
9340
9403
  ],
9341
9404
  eventOnly: true
@@ -10689,14 +10752,15 @@ export const Legality = {
10689
10752
  },
10690
10753
  manaphy: {
10691
10754
  learnset: {
10692
- acidarmor: ['4S2'],
10755
+ acidarmor: ['9S7', '4S2'],
10693
10756
  aquaring: ['7S6', '4S3'],
10694
10757
  bubble: ['6S4', '6S5', '4S0', '4S1'],
10758
+ bubblebeam: ['9S7'],
10695
10759
  heartswap: ['7S6', '6S4', '4S2', '4S3'],
10696
10760
  tailglow: ['7S6', '6S4', '6S5', '4S0', '4S1'],
10697
- waterpulse: ['7S6', '4S2', '4S3'],
10761
+ waterpulse: ['9S7', '7S6', '4S2', '4S3'],
10698
10762
  watersport: ['6S4', '6S5', '4S0', '4S1', '4S3'],
10699
- whirlpool: ['4S2']
10763
+ whirlpool: ['9S7', '4S2']
10700
10764
  },
10701
10765
  eventData: [
10702
10766
  { generation: 4, level: 5, moves: ['tailglow', 'bubble', 'watersport'] },
@@ -10737,6 +10801,15 @@ export const Legality = {
10737
10801
  level: 15,
10738
10802
  moves: ['tailglow', 'waterpulse', 'aquaring', 'heartswap'],
10739
10803
  pokeball: 'cherishball'
10804
+ },
10805
+ {
10806
+ generation: 9,
10807
+ level: 50,
10808
+ shiny: true,
10809
+ nature: 'Calm',
10810
+ ivs: { hp: 31, atk: 20, def: 31, spa: 20, spd: 31, spe: 20 },
10811
+ moves: ['bubblebeam', 'acidarmor', 'whirlpool', 'waterpulse'],
10812
+ pokeball: 'cherishball'
10740
10813
  }
10741
10814
  ],
10742
10815
  eventOnly: true
@@ -12634,13 +12707,16 @@ export const Legality = {
12634
12707
  keldeo: {
12635
12708
  learnset: {
12636
12709
  aquajet: ['6S2', '6S3', '5S0', '5S1'],
12710
+ aquatail: ['9S5'],
12637
12711
  bubblebeam: ['6S3', '5S0'],
12638
12712
  doublekick: ['6S2', '6S3', '5S0'],
12639
12713
  hydropump: ['8S4', '6S2', '5S1'],
12640
12714
  leer: ['6S2', '6S3', '5S0'],
12641
- sacredsword: ['8S4', '5S1'],
12715
+ retaliate: ['9S5'],
12716
+ sacredsword: ['9S5', '8S4', '5S1'],
12642
12717
  secretsword: ['8S4'],
12643
- swordsdance: ['8S4', '5S1']
12718
+ swordsdance: ['8S4', '5S1'],
12719
+ takedown: ['9S5']
12644
12720
  },
12645
12721
  eventData: [
12646
12722
  {
@@ -12671,6 +12747,13 @@ export const Legality = {
12671
12747
  generation: 8,
12672
12748
  level: 65,
12673
12749
  moves: ['secretsword', 'sacredsword', 'swordsdance', 'hydropump']
12750
+ },
12751
+ {
12752
+ generation: 9,
12753
+ level: 50,
12754
+ nature: 'Docile',
12755
+ moves: ['retaliate', 'aquatail', 'takedown', 'sacredsword'],
12756
+ pokeball: 'cherishball'
12674
12757
  }
12675
12758
  ],
12676
12759
  eventOnly: true
@@ -12855,6 +12938,26 @@ export const Legality = {
12855
12938
  eventOnly: true
12856
12939
  },
12857
12940
  fletchinder: { encounters: [{ generation: 7, level: 16 }] },
12941
+ talonflame: {
12942
+ learnset: {
12943
+ acrobatics: ['9S0'],
12944
+ protect: ['9S0'],
12945
+ quickguard: ['9S0'],
12946
+ tailwind: ['9S0']
12947
+ },
12948
+ eventData: [
12949
+ {
12950
+ generation: 9,
12951
+ level: 50,
12952
+ gender: 'M',
12953
+ nature: 'Adamant',
12954
+ isHidden: true,
12955
+ perfectIVs: 6,
12956
+ moves: ['acrobatics', 'tailwind', 'protect', 'quickguard'],
12957
+ pokeball: 'cherishball'
12958
+ }
12959
+ ]
12960
+ },
12858
12961
  vivillonfancy: {
12859
12962
  learnset: {
12860
12963
  gust: ['6S0'],
@@ -13026,10 +13129,13 @@ export const Legality = {
13026
13129
  drainingkiss: ['7S2', '6S1'],
13027
13130
  fairywind: ['6S0'],
13028
13131
  helpinghand: ['6S0'],
13029
- hyperbeam: ['7S2'],
13132
+ hyperbeam: ['9S3', '7S2'],
13133
+ hypervoice: ['9S3'],
13030
13134
  psyshock: ['7S2'],
13031
13135
  quickattack: ['6S1'],
13032
- sandattack: ['6S0']
13136
+ sandattack: ['6S0'],
13137
+ sleeptalk: ['9S3'],
13138
+ terablast: ['9S3']
13033
13139
  },
13034
13140
  eventData: [
13035
13141
  {
@@ -13052,6 +13158,16 @@ export const Legality = {
13052
13158
  isHidden: true,
13053
13159
  moves: ['hyperbeam', 'drainingkiss', 'psyshock', 'calmmind'],
13054
13160
  pokeball: 'cherishball'
13161
+ },
13162
+ {
13163
+ generation: 9,
13164
+ level: 50,
13165
+ gender: 'M',
13166
+ nature: 'Modest',
13167
+ isHidden: true,
13168
+ perfectIVs: 6,
13169
+ moves: ['hypervoice', 'terablast', 'hyperbeam', 'sleeptalk'],
13170
+ pokeball: 'cherishball'
13055
13171
  }
13056
13172
  ]
13057
13173
  },
@@ -14942,7 +15058,16 @@ export const Legality = {
14942
15058
  eventOnly: true
14943
15059
  },
14944
15060
  zarude: {
14945
- learnset: { closecombat: ['8S0'], powerwhip: ['8S0'], snarl: ['8S0'], swagger: ['8S0'] },
15061
+ learnset: {
15062
+ bite: ['9S1'],
15063
+ closecombat: ['8S0'],
15064
+ grassknot: ['9S1'],
15065
+ powerwhip: ['8S0'],
15066
+ scaryface: ['9S1'],
15067
+ snarl: ['8S0'],
15068
+ swagger: ['8S0'],
15069
+ uturn: ['9S1']
15070
+ },
14946
15071
  eventData: [
14947
15072
  {
14948
15073
  generation: 8,
@@ -14950,6 +15075,13 @@ export const Legality = {
14950
15075
  nature: 'Sassy',
14951
15076
  moves: ['closecombat', 'powerwhip', 'swagger', 'snarl'],
14952
15077
  pokeball: 'cherishball'
15078
+ },
15079
+ {
15080
+ generation: 9,
15081
+ level: 50,
15082
+ nature: 'Quirky',
15083
+ moves: ['scaryface', 'grassknot', 'bite', 'uturn'],
15084
+ pokeball: 'cherishball'
14953
15085
  }
14954
15086
  ],
14955
15087
  eventOnly: true
@@ -15079,6 +15211,62 @@ export const Legality = {
15079
15211
  ],
15080
15212
  eventOnly: true
15081
15213
  },
15214
+ enamorus: {
15215
+ learnset: { drainingkiss: ['9S0'], extrasensory: ['9S0'], moonblast: ['9S0'] },
15216
+ eventData: [
15217
+ {
15218
+ generation: 9,
15219
+ level: 50,
15220
+ shiny: true,
15221
+ nature: 'Naive',
15222
+ ivs: { hp: 20, atk: 31, def: 20, spa: 31, spd: 20, spe: 31 },
15223
+ moves: ['drainingkiss', 'extrasensory', 'moonblast'],
15224
+ pokeball: 'cherishball'
15225
+ }
15226
+ ]
15227
+ },
15228
+ sprigatito: {
15229
+ learnset: { leafage: ['9S0'], scratch: ['9S0'] },
15230
+ eventData: [
15231
+ {
15232
+ generation: 9,
15233
+ level: 5,
15234
+ gender: 'F',
15235
+ nature: 'Quirky',
15236
+ ivs: { hp: 20, atk: 20, def: 20, spa: 20, spd: 29, spe: 20 },
15237
+ moves: ['scratch', 'leafage'],
15238
+ pokeball: 'pokeball'
15239
+ }
15240
+ ]
15241
+ },
15242
+ fuecoco: {
15243
+ learnset: { ember: ['9S0'], tackle: ['9S0'] },
15244
+ eventData: [
15245
+ {
15246
+ generation: 9,
15247
+ level: 5,
15248
+ gender: 'M',
15249
+ nature: 'Hardy',
15250
+ ivs: { hp: 30, atk: 20, def: 20, spa: 20, spd: 20, spe: 20 },
15251
+ moves: ['tackle', 'ember'],
15252
+ pokeball: 'pokeball'
15253
+ }
15254
+ ]
15255
+ },
15256
+ quaxly: {
15257
+ learnset: { pound: ['9S0'], watergun: ['9S0'] },
15258
+ eventData: [
15259
+ {
15260
+ generation: 9,
15261
+ level: 5,
15262
+ gender: 'M',
15263
+ nature: 'Serious',
15264
+ ivs: { hp: 20, atk: 20, def: 20, spa: 29, spd: 20, spe: 20 },
15265
+ moves: ['pound', 'watergun'],
15266
+ pokeball: 'pokeball'
15267
+ }
15268
+ ]
15269
+ },
15082
15270
  lechonk: {
15083
15271
  learnset: { covet: ['9S0'], dig: ['9S0'], mudshot: ['9S0'], terablast: ['9S0'] },
15084
15272
  eventData: [
@@ -15134,6 +15322,23 @@ export const Legality = {
15134
15322
  }
15135
15323
  ]
15136
15324
  },
15325
+ tandemaus: {
15326
+ learnset: {
15327
+ babydolleyes: ['9S0'],
15328
+ celebrate: ['9S0'],
15329
+ echoedvoice: ['9S0'],
15330
+ terablast: ['9S0']
15331
+ },
15332
+ eventData: [
15333
+ {
15334
+ generation: 9,
15335
+ level: 5,
15336
+ isHidden: true,
15337
+ moves: ['celebrate', 'terablast', 'babydolleyes', 'echoedvoice'],
15338
+ pokeball: 'cherishball'
15339
+ }
15340
+ ]
15341
+ },
15137
15342
  cetitan: {
15138
15343
  learnset: {
15139
15344
  amnesia: ['9S0'],
@@ -15204,6 +15409,26 @@ export const Legality = {
15204
15409
  }
15205
15410
  ]
15206
15411
  },
15412
+ pawmot: {
15413
+ learnset: {
15414
+ discharge: ['9S0'],
15415
+ doubleshock: ['9S0'],
15416
+ nuzzle: ['9S0'],
15417
+ quickattack: ['9S0']
15418
+ },
15419
+ eventData: [
15420
+ {
15421
+ generation: 9,
15422
+ level: 20,
15423
+ gender: 'F',
15424
+ nature: 'Jolly',
15425
+ abilities: ['voltabsorb'],
15426
+ ivs: { hp: 20, atk: 20, def: 20, spa: 20, spd: 20, spe: 31 },
15427
+ moves: ['doubleshock', 'discharge', 'quickattack', 'nuzzle'],
15428
+ pokeball: 'cherishball'
15429
+ }
15430
+ ]
15431
+ },
15207
15432
  bombirdier: {
15208
15433
  learnset: { pluck: ['9S0'], rockthrow: ['9S0'], torment: ['9S0'], wingattack: ['9S0'] },
15209
15434
  eventData: [
@@ -15277,10 +15502,11 @@ export const Legality = {
15277
15502
  },
15278
15503
  {
15279
15504
  generation: 9,
15280
- level: 5,
15505
+ level: 20,
15281
15506
  nature: 'Timid',
15282
15507
  ivs: { hp: 0, atk: 0, def: 0, spa: 0, spd: 0, spe: 31 },
15283
- moves: ['astonish', 'tackle']
15508
+ moves: ['astonish', 'tackle'],
15509
+ pokeball: 'cherishball'
15284
15510
  }
15285
15511
  ],
15286
15512
  eventOnly: true
@@ -15354,12 +15580,13 @@ export const Legality = {
15354
15580
  },
15355
15581
  fluttermane: {
15356
15582
  learnset: {
15357
- dazzlinggleam: ['9S0'],
15583
+ dazzlinggleam: ['9S0', '9S2'],
15358
15584
  icywind: ['9S1'],
15359
- moonblast: ['9S1'],
15585
+ moonblast: ['9S1', '9S2'],
15360
15586
  mysticalfire: ['9S0'],
15361
15587
  powergem: ['9S1'],
15362
- shadowball: ['9S0', '9S1'],
15588
+ shadowball: ['9S0', '9S1', '9S2'],
15589
+ thunderbolt: ['9S2'],
15363
15590
  wish: ['9S0']
15364
15591
  },
15365
15592
  eventData: [
@@ -15375,6 +15602,14 @@ export const Legality = {
15375
15602
  shiny: 1,
15376
15603
  perfectIVs: 4,
15377
15604
  moves: ['shadowball', 'moonblast', 'powergem', 'icywind']
15605
+ },
15606
+ {
15607
+ generation: 9,
15608
+ level: 50,
15609
+ nature: 'Timid',
15610
+ ivs: { hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 31 },
15611
+ moves: ['shadowball', 'dazzlinggleam', 'moonblast', 'thunderbolt'],
15612
+ pokeball: 'cherishball'
15378
15613
  }
15379
15614
  ],
15380
15615
  eventOnly: true
@@ -15456,13 +15691,30 @@ export const Legality = {
15456
15691
  eventOnly: true
15457
15692
  },
15458
15693
  ironhands: {
15459
- learnset: { charge: ['9S0'], forcepalm: ['9S0'], seismictoss: ['9S0'], slam: ['9S0'] },
15694
+ learnset: {
15695
+ charge: ['9S0'],
15696
+ drainpunch: ['9S1'],
15697
+ fakeout: ['9S1'],
15698
+ forcepalm: ['9S0'],
15699
+ seismictoss: ['9S0'],
15700
+ slam: ['9S0'],
15701
+ voltswitch: ['9S1'],
15702
+ wildcharge: ['9S1']
15703
+ },
15460
15704
  eventData: [
15461
15705
  {
15462
15706
  generation: 9,
15463
15707
  level: 52,
15464
15708
  shiny: 1,
15465
15709
  moves: ['forcepalm', 'seismictoss', 'charge', 'slam']
15710
+ },
15711
+ {
15712
+ generation: 9,
15713
+ level: 50,
15714
+ nature: 'Adamant',
15715
+ perfectIVs: 6,
15716
+ moves: ['drainpunch', 'voltswitch', 'wildcharge', 'fakeout'],
15717
+ pokeball: 'cherishball'
15466
15718
  }
15467
15719
  ],
15468
15720
  eventOnly: true