@pkmn/sim 0.7.47 → 0.7.48

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 (38) hide show
  1. package/build/cjs/config/formats.js +98 -56
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +4 -1
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/aliases.js +1 -1
  6. package/build/cjs/data/formats-data.js +36 -23
  7. package/build/cjs/data/formats-data.js.map +1 -1
  8. package/build/cjs/data/learnsets.js +157 -4
  9. package/build/cjs/data/learnsets.js.map +1 -1
  10. package/build/cjs/data/legality.js +260 -50
  11. package/build/cjs/data/legality.js.map +1 -1
  12. package/build/cjs/data/mods/gen4/moves.js +3 -3
  13. package/build/cjs/data/mods/gen4/moves.js.map +1 -1
  14. package/build/cjs/data/pokedex.js +39 -3
  15. package/build/cjs/data/pokedex.js.map +1 -1
  16. package/build/cjs/sim/team-validator.js +100 -23
  17. package/build/cjs/sim/team-validator.js.map +1 -1
  18. package/build/esm/config/formats.mjs +98 -56
  19. package/build/esm/config/formats.mjs.map +1 -1
  20. package/build/esm/data/abilities.mjs +4 -1
  21. package/build/esm/data/abilities.mjs.map +1 -1
  22. package/build/esm/data/aliases.mjs +1 -1
  23. package/build/esm/data/formats-data.mjs +36 -23
  24. package/build/esm/data/formats-data.mjs.map +1 -1
  25. package/build/esm/data/learnsets.mjs +157 -4
  26. package/build/esm/data/learnsets.mjs.map +1 -1
  27. package/build/esm/data/legality.mjs +260 -50
  28. package/build/esm/data/legality.mjs.map +1 -1
  29. package/build/esm/data/mods/gen4/moves.mjs +3 -3
  30. package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
  31. package/build/esm/data/pokedex.mjs +39 -3
  32. package/build/esm/data/pokedex.mjs.map +1 -1
  33. package/build/esm/sim/team-validator.mjs +100 -23
  34. package/build/esm/sim/team-validator.mjs.map +1 -1
  35. package/build/types/sim/exported-global-types.d.ts +14 -1
  36. package/build/types/sim/global-types.d.ts +14 -1
  37. package/build/types/sim/team-validator.d.ts +16 -0
  38. package/package.json +1 -1
@@ -171,8 +171,11 @@ exports.Legality = {
171
171
  },
172
172
  charizard: {
173
173
  learnset: {
174
+ acrobatics: ['9S11'],
174
175
  airslash: ['6S1', '6S2'],
176
+ bellydrum: ['9S11'],
175
177
  blastburn: ['6S4'],
178
+ crunch: ['9S11'],
176
179
  dragonclaw: ['7S6', '7S7', '6S2'],
177
180
  dragondance: ['7S9'],
178
181
  dragonrage: ['7S6', '7S7', '7S8', '6S2', '3S0'],
@@ -184,7 +187,7 @@ exports.Legality = {
184
187
  firespin: ['6S5', '3S0'],
185
188
  flameburst: ['6S1', '6S5'],
186
189
  flamethrower: ['8S10', '7S8', '6S5'],
187
- flareblitz: ['7S6', '7S7', '7S9', '6S4'],
190
+ flareblitz: ['9S11', '7S6', '7S7', '7S9', '6S4'],
188
191
  fly: ['7S6', '7S7', '7S9'],
189
192
  focusblast: ['6S3'],
190
193
  holdhands: ['6S3'],
@@ -276,6 +279,14 @@ exports.Legality = {
276
279
  nature: 'Adamant',
277
280
  moves: ['flamethrower', 'dragontail', 'slash', 'seismictoss'],
278
281
  pokeball: 'pokeball'
282
+ },
283
+ {
284
+ generation: 9,
285
+ level: 50,
286
+ nature: 'Adamant',
287
+ ivs: { hp: 20, atk: 31, def: 20, spa: 20, spd: 20, spe: 31 },
288
+ moves: ['crunch', 'flareblitz', 'acrobatics', 'bellydrum'],
289
+ pokeball: 'pokeball'
279
290
  }
280
291
  ]
281
292
  },
@@ -575,18 +586,19 @@ exports.Legality = {
575
586
  },
576
587
  pichu: {
577
588
  learnset: {
578
- charge: ['4S5'],
589
+ charge: ['9S6', '4S5'],
579
590
  charm: ['3S0', '3S1', '3S2', '3S3'],
580
591
  endeavor: ['4S5'],
581
- endure: ['4S5'],
592
+ endure: ['9S6', '4S5'],
582
593
  followme: ['3S3'],
583
594
  grassknot: ['4S4'],
595
+ helpinghand: ['9S6'],
584
596
  return: ['4S4'],
585
597
  surf: ['3S0'],
586
598
  teeterdance: ['3S2'],
587
599
  thunderbolt: ['4S4'],
588
600
  thundershock: ['3S0', '3S1', '3S2', '3S3'],
589
- volttackle: ['4S4', '4S5'],
601
+ volttackle: ['9S6', '4S4', '4S5'],
590
602
  wish: ['3S1']
591
603
  },
592
604
  eventData: [
@@ -595,7 +607,8 @@ exports.Legality = {
595
607
  level: 5,
596
608
  shiny: 1,
597
609
  moves: ['thundershock', 'charm', 'surf'],
598
- pokeball: 'pokeball'
610
+ pokeball: 'pokeball',
611
+ emeraldEventEgg: true
599
612
  },
600
613
  {
601
614
  generation: 3,
@@ -616,7 +629,8 @@ exports.Legality = {
616
629
  level: 5,
617
630
  shiny: 1,
618
631
  moves: ['thundershock', 'charm', 'followme'],
619
- pokeball: 'pokeball'
632
+ pokeball: 'pokeball',
633
+ emeraldEventEgg: true
620
634
  },
621
635
  {
622
636
  generation: 4,
@@ -632,6 +646,15 @@ exports.Legality = {
632
646
  nature: 'Jolly',
633
647
  moves: ['charge', 'volttackle', 'endeavor', 'endure'],
634
648
  pokeball: 'cherishball'
649
+ },
650
+ {
651
+ generation: 9,
652
+ level: 30,
653
+ shiny: true,
654
+ gender: 'M',
655
+ nature: 'Jolly',
656
+ moves: ['charge', 'volttackle', 'endure', 'helpinghand'],
657
+ pokeball: 'cherishball'
635
658
  }
636
659
  ]
637
660
  },
@@ -660,10 +683,10 @@ exports.Legality = {
660
683
  bestow: ['7S44', '6S42'],
661
684
  brickbreak: ['5S26'],
662
685
  celebrate: [
663
- '8S50', '8S51',
664
- '8S52', '7S43',
665
- '7S48', '6S31',
666
- '6S41'
686
+ '9S55', '8S50',
687
+ '8S51', '8S52',
688
+ '7S43', '7S48',
689
+ '6S31', '6S41'
667
690
  ],
668
691
  charm: ['6S36'],
669
692
  counter: ['7S48'],
@@ -705,14 +728,20 @@ exports.Legality = {
705
728
  megakick: ['6S32'],
706
729
  nuzzle: ['7S47', '6S36', '6S38'],
707
730
  playnice: [
708
- '8S50', '7S43',
709
- '7S44', '7S45',
710
- '6S31', '6S35',
711
- '6S36', '6S38',
712
- '6S40', '6S42'
731
+ '9S55', '8S50',
732
+ '7S43', '7S44',
733
+ '7S45', '6S31',
734
+ '6S35', '6S36',
735
+ '6S38', '6S40',
736
+ '6S42'
713
737
  ],
714
738
  playrough: ['9S54'],
715
- present: ['4S12', '4S15', '4S17', '4S18', '4S20', '4S22'],
739
+ present: [
740
+ '9S55', '4S12',
741
+ '4S15', '4S17',
742
+ '4S18', '4S20',
743
+ '4S22'
744
+ ],
716
745
  protect: ['5S27', '4S14', '4S16'],
717
746
  quickattack: [
718
747
  '9S53', '8S50', '7S43',
@@ -757,12 +786,12 @@ exports.Legality = {
757
786
  '3S8'
758
787
  ],
759
788
  thunderbolt: [
760
- '8S51', '7S49', '6S33',
761
- '6S34', '6S37', '5S26',
762
- '5S27', '5S30', '4S11',
763
- '4S13', '4S18', '4S21',
764
- '3S0', '3S6', '3S7',
765
- '3S8'
789
+ '9S55', '8S51', '7S49',
790
+ '6S33', '6S34', '6S37',
791
+ '5S26', '5S27', '5S30',
792
+ '4S11', '4S13', '4S18',
793
+ '4S21', '3S0', '3S6',
794
+ '3S7', '3S8'
766
795
  ],
767
796
  thundershock: [
768
797
  '9S53', '8S50',
@@ -1176,6 +1205,14 @@ exports.Legality = {
1176
1205
  isHidden: true,
1177
1206
  moves: ['thunder', 'surf', 'playrough', 'irontail'],
1178
1207
  pokeball: 'pokeball'
1208
+ },
1209
+ {
1210
+ generation: 9,
1211
+ level: 25,
1212
+ gender: 'M',
1213
+ ivs: { hp: 25, atk: 25, def: 25, spa: 25, spd: 25, spe: 25 },
1214
+ moves: ['celebrate', 'playnice', 'present', 'thunderbolt'],
1215
+ pokeball: 'cherishball'
1179
1216
  }
1180
1217
  ],
1181
1218
  encounters: [
@@ -1628,7 +1665,8 @@ exports.Legality = {
1628
1665
  shiny: 1,
1629
1666
  abilities: ['cutecharm'],
1630
1667
  moves: ['sing', 'charm', 'defensecurl', 'tickle'],
1631
- pokeball: 'pokeball'
1668
+ pokeball: 'pokeball',
1669
+ emeraldEventEgg: true
1632
1670
  }
1633
1671
  ]
1634
1672
  },
@@ -1911,7 +1949,8 @@ exports.Legality = {
1911
1949
  level: 5,
1912
1950
  shiny: 1,
1913
1951
  moves: ['watersport', 'scratch', 'tailwhip', 'mudsport'],
1914
- pokeball: 'pokeball'
1952
+ pokeball: 'pokeball',
1953
+ emeraldEventEgg: true
1915
1954
  }
1916
1955
  ],
1917
1956
  encounters: [{ generation: 1, level: 15 }]
@@ -2006,11 +2045,11 @@ exports.Legality = {
2006
2045
  arcanine: {
2007
2046
  learnset: {
2008
2047
  crunch: ['4S0'],
2009
- extremespeed: ['7S1', '4S0'],
2010
- flareblitz: ['7S1', '4S0'],
2011
- protect: ['7S1'],
2048
+ extremespeed: ['9S2', '7S1', '4S0'],
2049
+ flareblitz: ['9S2', '7S1', '4S0'],
2050
+ protect: ['9S2', '7S1'],
2012
2051
  thunderfang: ['4S0'],
2013
- willowisp: ['7S1']
2052
+ willowisp: ['9S2', '7S1']
2014
2053
  },
2015
2054
  eventData: [
2016
2055
  {
@@ -2026,6 +2065,17 @@ exports.Legality = {
2026
2065
  abilities: ['intimidate'],
2027
2066
  moves: ['flareblitz', 'extremespeed', 'willowisp', 'protect'],
2028
2067
  pokeball: 'cherishball'
2068
+ },
2069
+ {
2070
+ generation: 9,
2071
+ level: 50,
2072
+ shiny: true,
2073
+ gender: 'F',
2074
+ nature: 'Adamant',
2075
+ abilities: ['intimidate'],
2076
+ ivs: { hp: 31, atk: 31, def: 31, spa: 8, spd: 31, spe: 31 },
2077
+ moves: ['flareblitz', 'extremespeed', 'willowisp', 'protect'],
2078
+ pokeball: 'cherishball'
2029
2079
  }
2030
2080
  ]
2031
2081
  },
@@ -4741,13 +4791,30 @@ exports.Legality = {
4741
4791
  },
4742
4792
  mew: {
4743
4793
  learnset: {
4794
+ airslash: ['9S26'],
4744
4795
  amnesia: ['4S17'],
4745
4796
  ancientpower: ['4S14'],
4746
- aurasphere: ['4S14', '4S15', '4S16', '4S17', '4S18', '4S19'],
4797
+ aurasphere: [
4798
+ '9S26', '4S14',
4799
+ '4S15', '4S16',
4800
+ '4S17', '4S18',
4801
+ '4S19'
4802
+ ],
4747
4803
  barrier: ['7S24', '4S15'],
4804
+ darkpulse: ['9S26'],
4805
+ dazzlinggleam: ['9S26'],
4806
+ dragonpulse: ['9S26'],
4807
+ earthpower: ['9S26'],
4808
+ energyball: ['9S26'],
4748
4809
  fakeout: ['3S2', '3S3'],
4749
4810
  feintattack: ['3S4', '3S5'],
4811
+ flamethrower: ['9S26'],
4812
+ flashcannon: ['9S26'],
4813
+ hypervoice: ['9S26'],
4750
4814
  hypnosis: ['4S20', '3S6', '3S7'],
4815
+ icebeam: ['9S26'],
4816
+ lifedew: ['9S26'],
4817
+ lightscreen: ['9S26'],
4751
4818
  megapunch: ['4S16', '3S0'],
4752
4819
  metronome: [
4753
4820
  '7S24', '4S14',
@@ -4756,10 +4823,17 @@ exports.Legality = {
4756
4823
  '4S19', '3S0'
4757
4824
  ],
4758
4825
  nightshade: ['3S8', '3S9'],
4826
+ pollenpuff: ['9S26'],
4759
4827
  pound: ['8S25', '7S23', '6S22', '4S21', '3S0', '3S1'],
4828
+ powergem: ['9S26'],
4760
4829
  psychic: ['7S24', '4S19'],
4830
+ psyshock: ['9S26'],
4761
4831
  return: ['4S20'],
4762
4832
  roleplay: ['3S10', '3S11'],
4833
+ shadowball: ['9S26'],
4834
+ sludgebomb: ['9S26'],
4835
+ surf: ['9S26'],
4836
+ swift: ['9S26'],
4763
4837
  synthesis: ['4S20'],
4764
4838
  teleport: [
4765
4839
  '4S14', '4S15',
@@ -4767,6 +4841,7 @@ exports.Legality = {
4767
4841
  '4S18', '4S19',
4768
4842
  '4S20'
4769
4843
  ],
4844
+ thunderbolt: ['9S26'],
4770
4845
  transform: ['7S24', '4S18', '3S0', '3S1'],
4771
4846
  zapcannon: ['3S12', '3S13']
4772
4847
  },
@@ -4841,7 +4916,25 @@ exports.Legality = {
4841
4916
  moves: ['psychic', 'barrier', 'metronome', 'transform'],
4842
4917
  pokeball: 'cherishball'
4843
4918
  },
4844
- { generation: 8, level: 1, moves: ['pound'], pokeball: 'pokeball' }
4919
+ { generation: 8, level: 1, moves: ['pound'], pokeball: 'pokeball' },
4920
+ {
4921
+ generation: 9,
4922
+ level: 5,
4923
+ moves: [
4924
+ 'pollenpuff', 'darkpulse',
4925
+ 'dragonpulse', 'thunderbolt',
4926
+ 'dazzlinggleam', 'aurasphere',
4927
+ 'flamethrower', 'airslash',
4928
+ 'shadowball', 'energyball',
4929
+ 'earthpower', 'icebeam',
4930
+ 'hypervoice', 'sludgebomb',
4931
+ 'psyshock', 'powergem',
4932
+ 'flashcannon', 'surf',
4933
+ 'swift', 'lightscreen',
4934
+ 'lifedew'
4935
+ ],
4936
+ pokeball: 'pokeball'
4937
+ }
4845
4938
  ],
4846
4939
  eventOnly: true
4847
4940
  },
@@ -5253,7 +5346,8 @@ exports.Legality = {
5253
5346
  level: 5,
5254
5347
  shiny: 1,
5255
5348
  moves: ['splash', 'charm', 'encore', 'tickle'],
5256
- pokeball: 'pokeball'
5349
+ pokeball: 'pokeball',
5350
+ emeraldEventEgg: true
5257
5351
  }
5258
5352
  ]
5259
5353
  },
@@ -5545,7 +5639,8 @@ exports.Legality = {
5545
5639
  level: 5,
5546
5640
  shiny: 1,
5547
5641
  moves: ['tackle', 'mudsport'],
5548
- pokeball: 'pokeball'
5642
+ pokeball: 'pokeball',
5643
+ emeraldEventEgg: true
5549
5644
  },
5550
5645
  {
5551
5646
  generation: 7,
@@ -6528,7 +6623,8 @@ exports.Legality = {
6528
6623
  shiny: 1,
6529
6624
  abilities: ['pickup'],
6530
6625
  moves: ['tackle', 'growl', 'tailwhip', 'extremespeed'],
6531
- pokeball: 'pokeball'
6626
+ pokeball: 'pokeball',
6627
+ emeraldEventEgg: true
6532
6628
  }
6533
6629
  ],
6534
6630
  encounters: [{ generation: 3, level: 2 }]
@@ -6643,7 +6739,8 @@ exports.Legality = {
6643
6739
  level: 5,
6644
6740
  shiny: 1,
6645
6741
  moves: ['peck', 'growl', 'focusenergy', 'featherdance'],
6646
- pokeball: 'pokeball'
6742
+ pokeball: 'pokeball',
6743
+ emeraldEventEgg: true
6647
6744
  }
6648
6745
  ],
6649
6746
  encounters: [{ generation: 3, level: 4 }]
@@ -6740,7 +6837,8 @@ exports.Legality = {
6740
6837
  level: 5,
6741
6838
  shiny: 1,
6742
6839
  moves: ['bubble', 'mudsport'],
6743
- pokeball: 'pokeball'
6840
+ pokeball: 'pokeball',
6841
+ emeraldEventEgg: true
6744
6842
  },
6745
6843
  {
6746
6844
  generation: 3,
@@ -6806,7 +6904,8 @@ exports.Legality = {
6806
6904
  level: 5,
6807
6905
  shiny: 1,
6808
6906
  moves: ['pound', 'uproar', 'teeterdance'],
6809
- pokeball: 'pokeball'
6907
+ pokeball: 'pokeball',
6908
+ emeraldEventEgg: true
6810
6909
  }
6811
6910
  ]
6812
6911
  },
@@ -6883,7 +6982,8 @@ exports.Legality = {
6883
6982
  shiny: 1,
6884
6983
  abilities: ['cutecharm'],
6885
6984
  moves: ['tackle', 'growl', 'tailwhip', 'payday'],
6886
- pokeball: 'pokeball'
6985
+ pokeball: 'pokeball',
6986
+ emeraldEventEgg: true
6887
6987
  },
6888
6988
  {
6889
6989
  generation: 3,
@@ -6891,7 +6991,8 @@ exports.Legality = {
6891
6991
  shiny: 1,
6892
6992
  abilities: ['cutecharm'],
6893
6993
  moves: ['growl', 'tackle', 'tailwhip', 'rollout'],
6894
- pokeball: 'pokeball'
6994
+ pokeball: 'pokeball',
6995
+ emeraldEventEgg: true
6895
6996
  },
6896
6997
  {
6897
6998
  generation: 3,
@@ -7132,7 +7233,8 @@ exports.Legality = {
7132
7233
  level: 5,
7133
7234
  shiny: 1,
7134
7235
  moves: ['growl', 'thunderwave', 'watersport'],
7135
- pokeball: 'pokeball'
7236
+ pokeball: 'pokeball',
7237
+ emeraldEventEgg: true
7136
7238
  },
7137
7239
  {
7138
7240
  generation: 3,
@@ -7156,7 +7258,8 @@ exports.Legality = {
7156
7258
  level: 5,
7157
7259
  shiny: 1,
7158
7260
  moves: ['growl', 'thunderwave', 'mudsport'],
7159
- pokeball: 'pokeball'
7261
+ pokeball: 'pokeball',
7262
+ emeraldEventEgg: true
7160
7263
  },
7161
7264
  {
7162
7265
  generation: 3,
@@ -7345,7 +7448,8 @@ exports.Legality = {
7345
7448
  shiny: 1,
7346
7449
  abilities: ['owntempo'],
7347
7450
  moves: ['splash', 'uproar'],
7348
- pokeball: 'pokeball'
7451
+ pokeball: 'pokeball',
7452
+ emeraldEventEgg: true
7349
7453
  }
7350
7454
  ]
7351
7455
  },
@@ -7358,7 +7462,8 @@ exports.Legality = {
7358
7462
  level: 5,
7359
7463
  shiny: 1,
7360
7464
  moves: ['tackle', 'uproar', 'sing'],
7361
- pokeball: 'pokeball'
7465
+ pokeball: 'pokeball',
7466
+ emeraldEventEgg: true
7362
7467
  }
7363
7468
  ]
7364
7469
  },
@@ -7402,7 +7507,8 @@ exports.Legality = {
7402
7507
  level: 5,
7403
7508
  shiny: 1,
7404
7509
  moves: ['poisonsting', 'leer', 'absorb', 'encore'],
7405
- pokeball: 'pokeball'
7510
+ pokeball: 'pokeball',
7511
+ emeraldEventEgg: true
7406
7512
  }
7407
7513
  ]
7408
7514
  },
@@ -7431,7 +7537,8 @@ exports.Legality = {
7431
7537
  level: 5,
7432
7538
  shiny: 1,
7433
7539
  moves: ['peck', 'growl', 'falseswipe'],
7434
- pokeball: 'pokeball'
7540
+ pokeball: 'pokeball',
7541
+ emeraldEventEgg: true
7435
7542
  },
7436
7543
  {
7437
7544
  generation: 5,
@@ -7654,7 +7761,8 @@ exports.Legality = {
7654
7761
  level: 5,
7655
7762
  shiny: 1,
7656
7763
  moves: ['bubble', 'watersport'],
7657
- pokeball: 'pokeball'
7764
+ pokeball: 'pokeball',
7765
+ emeraldEventEgg: true
7658
7766
  }
7659
7767
  ]
7660
7768
  },
@@ -9456,11 +9564,11 @@ exports.Legality = {
9456
9564
  },
9457
9565
  gastrodoneast: {
9458
9566
  learnset: {
9459
- earthpower: ['8S1', '8S0'],
9460
- icebeam: ['8S1', '8S0'],
9461
- protect: ['8S1', '8S0'],
9567
+ earthpower: ['9S2', '8S1', '8S0'],
9568
+ icebeam: ['9S2', '8S1', '8S0'],
9569
+ protect: ['9S2', '8S1', '8S0'],
9462
9570
  surf: ['8S0'],
9463
- yawn: ['8S1']
9571
+ yawn: ['9S2', '8S1']
9464
9572
  },
9465
9573
  eventData: [
9466
9574
  {
@@ -9482,6 +9590,16 @@ exports.Legality = {
9482
9590
  ivs: { hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 0 },
9483
9591
  moves: ['protect', 'yawn', 'icebeam', 'earthpower'],
9484
9592
  pokeball: 'cherishball'
9593
+ },
9594
+ {
9595
+ generation: 9,
9596
+ level: 50,
9597
+ gender: 'M',
9598
+ nature: 'Bold',
9599
+ abilities: ['stormdrain'],
9600
+ ivs: { hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 8 },
9601
+ moves: ['protect', 'yawn', 'icebeam', 'earthpower'],
9602
+ pokeball: 'cherishball'
9485
9603
  }
9486
9604
  ],
9487
9605
  encounters: [{ generation: 4, level: 20 }]
@@ -9489,7 +9607,36 @@ exports.Legality = {
9489
9607
  drifblim: { encounters: [{ generation: 7, level: 11, pokeball: 'pokeball' }] },
9490
9608
  purugly: { encounters: [{ generation: 6, level: 32, maxEggMoves: 1 }] },
9491
9609
  skuntank: { encounters: [{ generation: 4, level: 29 }] },
9492
- bronzong: { encounters: [{ generation: 6, level: 30 }] },
9610
+ bronzong: {
9611
+ learnset: {
9612
+ bodypress: ['9S0'],
9613
+ flashcannon: ['9S1'],
9614
+ gyroball: ['9S1'],
9615
+ hypnosis: ['9S1'],
9616
+ irondefense: ['9S0'],
9617
+ protect: ['9S0'],
9618
+ psychic: ['9S1'],
9619
+ trickroom: ['9S0']
9620
+ },
9621
+ eventData: [
9622
+ {
9623
+ generation: 9,
9624
+ level: 50,
9625
+ nature: 'Relaxed',
9626
+ ivs: { hp: 31, atk: 31, def: 31, spa: 22, spd: 31, spe: 0 },
9627
+ moves: ['bodypress', 'irondefense', 'protect', 'trickroom'],
9628
+ pokeball: 'cherishball'
9629
+ },
9630
+ {
9631
+ generation: 9,
9632
+ level: 50,
9633
+ nature: 'Modest',
9634
+ moves: ['flashcannon', 'gyroball', 'psychic', 'hypnosis'],
9635
+ pokeball: 'cherishball'
9636
+ }
9637
+ ],
9638
+ encounters: [{ generation: 6, level: 30 }]
9639
+ },
9493
9640
  chatot: {
9494
9641
  learnset: { chatter: ['4S0'], furyattack: ['4S0'], mirrormove: ['4S0'], taunt: ['4S0'] },
9495
9642
  eventData: [
@@ -14306,6 +14453,26 @@ exports.Legality = {
14306
14453
  }
14307
14454
  ]
14308
14455
  },
14456
+ grimmsnarl: {
14457
+ learnset: {
14458
+ lightscreen: ['9S0'],
14459
+ reflect: ['9S0'],
14460
+ spiritbreak: ['9S0'],
14461
+ thunderwave: ['9S0']
14462
+ },
14463
+ eventData: [
14464
+ {
14465
+ generation: 9,
14466
+ level: 50,
14467
+ nature: 'Calm',
14468
+ shiny: true,
14469
+ abilities: ['prankster'],
14470
+ ivs: { hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 31 },
14471
+ moves: ['thunderwave', 'spiritbreak', 'reflect', 'lightscreen'],
14472
+ pokeball: 'cherishball'
14473
+ }
14474
+ ]
14475
+ },
14309
14476
  milcery: {
14310
14477
  learnset: {
14311
14478
  attract: ['8S0'],
@@ -14634,6 +14801,33 @@ exports.Legality = {
14634
14801
  ],
14635
14802
  eventOnly: true
14636
14803
  },
14804
+ lechonk: {
14805
+ learnset: { covet: ['9S0'], dig: ['9S0'], mudshot: ['9S0'], terablast: ['9S0'] },
14806
+ eventData: [
14807
+ {
14808
+ generation: 9,
14809
+ level: 15,
14810
+ gender: 'M',
14811
+ isHidden: true,
14812
+ moves: ['terablast', 'mudshot', 'covet', 'dig'],
14813
+ pokeball: 'cherishball'
14814
+ }
14815
+ ]
14816
+ },
14817
+ palafin: {
14818
+ learnset: { haze: ['9S0'], jetpunch: ['9S0'], protect: ['9S0'], wavecrash: ['9S0'] },
14819
+ eventData: [
14820
+ {
14821
+ generation: 9,
14822
+ level: 50,
14823
+ gender: 'F',
14824
+ nature: 'Adamant',
14825
+ ivs: { hp: 31, atk: 31, def: 31, spa: 17, spd: 31, spe: 31 },
14826
+ moves: ['jetpunch', 'wavecrash', 'haze', 'protect'],
14827
+ pokeball: 'cherishball'
14828
+ }
14829
+ ]
14830
+ },
14637
14831
  orthworm: {
14638
14832
  learnset: { headbutt: ['9S0'], irontail: ['9S0'], sandstorm: ['9S0'], wrap: ['9S0'] },
14639
14833
  eventData: [
@@ -14660,6 +14854,22 @@ exports.Legality = {
14660
14854
  }
14661
14855
  ]
14662
14856
  },
14857
+ tatsugiristretchy: {
14858
+ learnset: {
14859
+ celebrate: ['9S0'],
14860
+ dracometeor: ['9S0'],
14861
+ helpinghand: ['9S0'],
14862
+ muddywater: ['9S0']
14863
+ },
14864
+ eventData: [
14865
+ {
14866
+ generation: 9,
14867
+ level: 50,
14868
+ moves: ['dracometeor', 'muddywater', 'helpinghand', 'celebrate'],
14869
+ pokeball: 'cherishball'
14870
+ }
14871
+ ]
14872
+ },
14663
14873
  bombirdier: {
14664
14874
  learnset: { pluck: ['9S0'], rockthrow: ['9S0'], torment: ['9S0'], wingattack: ['9S0'] },
14665
14875
  eventData: [