@pkmn/sim 0.10.2 → 0.10.4

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 (98) hide show
  1. package/build/cjs/config/formats.js +97 -115
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +22 -22
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/aliases.js +3 -3
  6. package/build/cjs/data/aliases.js.map +1 -1
  7. package/build/cjs/data/formats-data.js +145 -51
  8. package/build/cjs/data/formats-data.js.map +1 -1
  9. package/build/cjs/data/items.js +466 -179
  10. package/build/cjs/data/items.js.map +1 -1
  11. package/build/cjs/data/learnsets.js +0 -1
  12. package/build/cjs/data/learnsets.js.map +1 -1
  13. package/build/cjs/data/legality.js +27 -2
  14. package/build/cjs/data/legality.js.map +1 -1
  15. package/build/cjs/data/mods/gen1/formats-data.js +20 -20
  16. package/build/cjs/data/mods/gen1/formats-data.js.map +1 -1
  17. package/build/cjs/data/mods/gen1/scripts.js +1 -1
  18. package/build/cjs/data/mods/gen1/scripts.js.map +1 -1
  19. package/build/cjs/data/mods/gen2/items.js +2 -2
  20. package/build/cjs/data/mods/gen2/items.js.map +1 -1
  21. package/build/cjs/data/mods/gen3/items.js +2 -2
  22. package/build/cjs/data/mods/gen3/items.js.map +1 -1
  23. package/build/cjs/data/mods/gen4/moves.js +1 -1
  24. package/build/cjs/data/mods/gen4/moves.js.map +1 -1
  25. package/build/cjs/data/mods/gen5/moves.js +8 -8
  26. package/build/cjs/data/mods/gen5/moves.js.map +1 -1
  27. package/build/cjs/data/mods/gen8/moves.js +1 -1
  28. package/build/cjs/data/mods/gen8/moves.js.map +1 -1
  29. package/build/cjs/data/mods/gen8bdsp/formats-data.js +1 -1
  30. package/build/cjs/data/mods/gen8bdsp/formats-data.js.map +1 -1
  31. package/build/cjs/data/moves.js +145 -144
  32. package/build/cjs/data/moves.js.map +1 -1
  33. package/build/cjs/data/pokedex.js +406 -16
  34. package/build/cjs/data/pokedex.js.map +1 -1
  35. package/build/cjs/data/rulesets.js +12 -3
  36. package/build/cjs/data/rulesets.js.map +1 -1
  37. package/build/cjs/data/text/items.js +52 -52
  38. package/build/cjs/data/text/items.js.map +1 -1
  39. package/build/cjs/data/text/moves.js +41 -41
  40. package/build/cjs/data/text/moves.js.map +1 -1
  41. package/build/cjs/sim/battle-actions.js +9 -1
  42. package/build/cjs/sim/battle-actions.js.map +1 -1
  43. package/build/cjs/sim/dex-items.d.ts +2 -2
  44. package/build/cjs/sim/team-validator.js +8 -2
  45. package/build/cjs/sim/team-validator.js.map +1 -1
  46. package/build/cjs/sim/tools/random-player-ai.js +1 -1
  47. package/build/cjs/sim/tools/random-player-ai.js.map +1 -1
  48. package/build/esm/config/formats.mjs +97 -115
  49. package/build/esm/config/formats.mjs.map +1 -1
  50. package/build/esm/data/abilities.mjs +22 -22
  51. package/build/esm/data/abilities.mjs.map +1 -1
  52. package/build/esm/data/aliases.mjs +3 -3
  53. package/build/esm/data/aliases.mjs.map +1 -1
  54. package/build/esm/data/formats-data.mjs +145 -51
  55. package/build/esm/data/formats-data.mjs.map +1 -1
  56. package/build/esm/data/items.mjs +466 -179
  57. package/build/esm/data/items.mjs.map +1 -1
  58. package/build/esm/data/learnsets.mjs +0 -1
  59. package/build/esm/data/learnsets.mjs.map +1 -1
  60. package/build/esm/data/legality.mjs +27 -2
  61. package/build/esm/data/legality.mjs.map +1 -1
  62. package/build/esm/data/mods/gen1/formats-data.mjs +20 -20
  63. package/build/esm/data/mods/gen1/formats-data.mjs.map +1 -1
  64. package/build/esm/data/mods/gen1/scripts.mjs +1 -1
  65. package/build/esm/data/mods/gen1/scripts.mjs.map +1 -1
  66. package/build/esm/data/mods/gen2/items.mjs +2 -2
  67. package/build/esm/data/mods/gen2/items.mjs.map +1 -1
  68. package/build/esm/data/mods/gen3/items.mjs +2 -2
  69. package/build/esm/data/mods/gen3/items.mjs.map +1 -1
  70. package/build/esm/data/mods/gen4/moves.mjs +1 -1
  71. package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
  72. package/build/esm/data/mods/gen5/moves.mjs +8 -8
  73. package/build/esm/data/mods/gen5/moves.mjs.map +1 -1
  74. package/build/esm/data/mods/gen8/moves.mjs +1 -1
  75. package/build/esm/data/mods/gen8/moves.mjs.map +1 -1
  76. package/build/esm/data/mods/gen8bdsp/formats-data.mjs +1 -1
  77. package/build/esm/data/mods/gen8bdsp/formats-data.mjs.map +1 -1
  78. package/build/esm/data/moves.mjs +145 -144
  79. package/build/esm/data/moves.mjs.map +1 -1
  80. package/build/esm/data/pokedex.mjs +406 -16
  81. package/build/esm/data/pokedex.mjs.map +1 -1
  82. package/build/esm/data/rulesets.mjs +12 -3
  83. package/build/esm/data/rulesets.mjs.map +1 -1
  84. package/build/esm/data/text/items.mjs +52 -52
  85. package/build/esm/data/text/items.mjs.map +1 -1
  86. package/build/esm/data/text/moves.mjs +41 -41
  87. package/build/esm/data/text/moves.mjs.map +1 -1
  88. package/build/esm/sim/battle-actions.mjs +9 -1
  89. package/build/esm/sim/battle-actions.mjs.map +1 -1
  90. package/build/esm/sim/dex-items.d.mts +2 -2
  91. package/build/esm/sim/team-validator.mjs +8 -2
  92. package/build/esm/sim/team-validator.mjs.map +1 -1
  93. package/build/esm/sim/tools/random-player-ai.mjs +1 -1
  94. package/build/esm/sim/tools/random-player-ai.mjs.map +1 -1
  95. package/package.json +2 -2
  96. package/build/cjs/eslint.config.d.mts +0 -2
  97. package/build/cjs/eslint.config.mjs +0 -41
  98. package/build/cjs/eslint.config.mjs.map +0 -1
@@ -52,6 +52,21 @@ exports.Items = {
52
52
  gen: 6,
53
53
  isNonstandard: "Past",
54
54
  },
55
+ absolitez: {
56
+ name: "Absolite Z",
57
+ spritenum: 576,
58
+ megaStone: "Absol-Mega-Z",
59
+ megaEvolves: "Absol",
60
+ itemUser: ["Absol"],
61
+ onTakeItem(item, source) {
62
+ if (item.megaEvolves === source.baseSpecies.baseSpecies)
63
+ return false;
64
+ return true;
65
+ },
66
+ num: 2588,
67
+ gen: 9,
68
+ isNonstandard: "Future",
69
+ },
55
70
  absorbbulb: {
56
71
  name: "Absorb Bulb",
57
72
  spritenum: 2,
@@ -422,6 +437,21 @@ exports.Items = {
422
437
  gen: 9,
423
438
  isNonstandard: "Future",
424
439
  },
440
+ baxcalibrite: {
441
+ name: "Baxcalibrite",
442
+ spritenum: 0,
443
+ megaStone: "Baxcalibur-Mega",
444
+ megaEvolves: "Baxcalibur",
445
+ itemUser: ["Baxcalibur"],
446
+ onTakeItem(item, source) {
447
+ if (item.megaEvolves === source.baseSpecies.baseSpecies)
448
+ return false;
449
+ return true;
450
+ },
451
+ num: 2601,
452
+ gen: 9,
453
+ isNonstandard: "Future",
454
+ },
425
455
  beastball: {
426
456
  name: "Beast Ball",
427
457
  spritenum: 661,
@@ -709,6 +739,18 @@ exports.Items = {
709
739
  gen: 5,
710
740
  isNonstandard: "Past",
711
741
  },
742
+ buginiumz: {
743
+ name: "Buginium Z",
744
+ spritenum: 642,
745
+ onPlate: 'Bug',
746
+ onTakeItem: false,
747
+ zMove: true,
748
+ zMoveType: "Bug",
749
+ forcedForme: "Arceus-Bug",
750
+ num: 787,
751
+ gen: 7,
752
+ isNonstandard: "Past",
753
+ },
712
754
  bugmemory: {
713
755
  name: "Bug Memory",
714
756
  spritenum: 673,
@@ -725,18 +767,6 @@ exports.Items = {
725
767
  gen: 7,
726
768
  isNonstandard: "Past",
727
769
  },
728
- buginiumz: {
729
- name: "Buginium Z",
730
- spritenum: 642,
731
- onPlate: 'Bug',
732
- onTakeItem: false,
733
- zMove: true,
734
- zMoveType: "Bug",
735
- forcedForme: "Arceus-Bug",
736
- num: 787,
737
- gen: 7,
738
- isNonstandard: "Past",
739
- },
740
770
  burndrive: {
741
771
  name: "Burn Drive",
742
772
  spritenum: 54,
@@ -972,6 +1002,21 @@ exports.Items = {
972
1002
  gen: 5,
973
1003
  isNonstandard: "Past",
974
1004
  },
1005
+ chimechite: {
1006
+ name: "Chimechite",
1007
+ spritenum: 0,
1008
+ megaStone: "Chimecho-Mega",
1009
+ megaEvolves: "Chimecho",
1010
+ itemUser: ["Chimecho"],
1011
+ onTakeItem(item, source) {
1012
+ if (item.megaEvolves === source.baseSpecies.baseSpecies)
1013
+ return false;
1014
+ return true;
1015
+ },
1016
+ num: 2587,
1017
+ gen: 9,
1018
+ isNonstandard: "Future",
1019
+ },
975
1020
  chippedpot: {
976
1021
  name: "Chipped Pot",
977
1022
  spritenum: 720,
@@ -1244,6 +1289,21 @@ exports.Items = {
1244
1289
  num: 1885,
1245
1290
  gen: 9,
1246
1291
  },
1292
+ crabominite: {
1293
+ name: "Crabominite",
1294
+ spritenum: 0,
1295
+ megaStone: "Crabominable-Mega",
1296
+ megaEvolves: "Crabominable",
1297
+ itemUser: ["Crabominable"],
1298
+ onTakeItem(item, source) {
1299
+ if (item.megaEvolves === source.baseSpecies.baseSpecies)
1300
+ return false;
1301
+ return true;
1302
+ },
1303
+ num: 2595,
1304
+ gen: 9,
1305
+ isNonstandard: "Future",
1306
+ },
1247
1307
  crackedpot: {
1248
1308
  name: "Cracked Pot",
1249
1309
  spritenum: 719,
@@ -1300,6 +1360,18 @@ exports.Items = {
1300
1360
  gen: 5,
1301
1361
  isNonstandard: "Past",
1302
1362
  },
1363
+ darkiniumz: {
1364
+ name: "Darkinium Z",
1365
+ spritenum: 646,
1366
+ onPlate: 'Dark',
1367
+ onTakeItem: false,
1368
+ zMove: true,
1369
+ zMoveType: "Dark",
1370
+ forcedForme: "Arceus-Dark",
1371
+ num: 791,
1372
+ gen: 7,
1373
+ isNonstandard: "Past",
1374
+ },
1303
1375
  darkmemory: {
1304
1376
  name: "Dark Memory",
1305
1377
  spritenum: 683,
@@ -1316,17 +1388,20 @@ exports.Items = {
1316
1388
  gen: 7,
1317
1389
  isNonstandard: "Past",
1318
1390
  },
1319
- darkiniumz: {
1320
- name: "Darkinium Z",
1321
- spritenum: 646,
1322
- onPlate: 'Dark',
1323
- onTakeItem: false,
1324
- zMove: true,
1325
- zMoveType: "Dark",
1326
- forcedForme: "Arceus-Dark",
1327
- num: 791,
1328
- gen: 7,
1329
- isNonstandard: "Past",
1391
+ darkranite: {
1392
+ name: "Darkranite",
1393
+ spritenum: 0,
1394
+ megaStone: "Darkrai-Mega",
1395
+ megaEvolves: "Darkrai",
1396
+ itemUser: ["Darkrai"],
1397
+ onTakeItem(item, source) {
1398
+ if (item.megaEvolves === source.baseSpecies.baseSpecies)
1399
+ return false;
1400
+ return true;
1401
+ },
1402
+ num: 2593,
1403
+ gen: 9,
1404
+ isNonstandard: "Future",
1330
1405
  },
1331
1406
  dawnstone: {
1332
1407
  name: "Dawn Stone",
@@ -1527,31 +1602,6 @@ exports.Items = {
1527
1602
  gen: 5,
1528
1603
  isNonstandard: "Past",
1529
1604
  },
1530
- dragonmemory: {
1531
- name: "Dragon Memory",
1532
- spritenum: 682,
1533
- onMemory: 'Dragon',
1534
- onTakeItem(item, pokemon, source) {
1535
- if ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {
1536
- return false;
1537
- }
1538
- return true;
1539
- },
1540
- forcedForme: "Silvally-Dragon",
1541
- itemUser: ["Silvally-Dragon"],
1542
- num: 918,
1543
- gen: 7,
1544
- isNonstandard: "Past",
1545
- },
1546
- dragonscale: {
1547
- name: "Dragon Scale",
1548
- spritenum: 108,
1549
- fling: {
1550
- basePower: 30,
1551
- },
1552
- num: 235,
1553
- gen: 2,
1554
- },
1555
1605
  dragoninite: {
1556
1606
  name: "Dragoninite",
1557
1607
  spritenum: 547,
@@ -1579,6 +1629,31 @@ exports.Items = {
1579
1629
  gen: 7,
1580
1630
  isNonstandard: "Past",
1581
1631
  },
1632
+ dragonmemory: {
1633
+ name: "Dragon Memory",
1634
+ spritenum: 682,
1635
+ onMemory: 'Dragon',
1636
+ onTakeItem(item, pokemon, source) {
1637
+ if ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {
1638
+ return false;
1639
+ }
1640
+ return true;
1641
+ },
1642
+ forcedForme: "Silvally-Dragon",
1643
+ itemUser: ["Silvally-Dragon"],
1644
+ num: 918,
1645
+ gen: 7,
1646
+ isNonstandard: "Past",
1647
+ },
1648
+ dragonscale: {
1649
+ name: "Dragon Scale",
1650
+ spritenum: 108,
1651
+ fling: {
1652
+ basePower: 30,
1653
+ },
1654
+ num: 235,
1655
+ gen: 2,
1656
+ },
1582
1657
  drampanite: {
1583
1658
  name: "Drampanite",
1584
1659
  spritenum: 569,
@@ -2481,6 +2556,21 @@ exports.Items = {
2481
2556
  gen: 6,
2482
2557
  isNonstandard: "Past",
2483
2558
  },
2559
+ garchompitez: {
2560
+ name: "Garchompite Z",
2561
+ spritenum: 573,
2562
+ megaStone: "Garchomp-Mega-Z",
2563
+ megaEvolves: "Garchomp",
2564
+ itemUser: ["Garchomp"],
2565
+ onTakeItem(item, source) {
2566
+ if (item.megaEvolves === source.baseSpecies.baseSpecies)
2567
+ return false;
2568
+ return true;
2569
+ },
2570
+ num: 2590,
2571
+ gen: 9,
2572
+ isNonstandard: "Future",
2573
+ },
2484
2574
  gardevoirite: {
2485
2575
  name: "Gardevoirite",
2486
2576
  spritenum: 587,
@@ -2526,6 +2616,18 @@ exports.Items = {
2526
2616
  gen: 5,
2527
2617
  isNonstandard: "Past",
2528
2618
  },
2619
+ ghostiumz: {
2620
+ name: "Ghostium Z",
2621
+ spritenum: 644,
2622
+ onPlate: 'Ghost',
2623
+ onTakeItem: false,
2624
+ zMove: true,
2625
+ zMoveType: "Ghost",
2626
+ forcedForme: "Arceus-Ghost",
2627
+ num: 789,
2628
+ gen: 7,
2629
+ isNonstandard: "Past",
2630
+ },
2529
2631
  ghostmemory: {
2530
2632
  name: "Ghost Memory",
2531
2633
  spritenum: 674,
@@ -2542,18 +2644,6 @@ exports.Items = {
2542
2644
  gen: 7,
2543
2645
  isNonstandard: "Past",
2544
2646
  },
2545
- ghostiumz: {
2546
- name: "Ghostium Z",
2547
- spritenum: 644,
2548
- onPlate: 'Ghost',
2549
- onTakeItem: false,
2550
- zMove: true,
2551
- zMoveType: "Ghost",
2552
- forcedForme: "Arceus-Ghost",
2553
- num: 789,
2554
- gen: 7,
2555
- isNonstandard: "Past",
2556
- },
2557
2647
  glalitite: {
2558
2648
  name: "Glalitite",
2559
2649
  spritenum: 623,
@@ -2569,6 +2659,21 @@ exports.Items = {
2569
2659
  gen: 6,
2570
2660
  isNonstandard: "Past",
2571
2661
  },
2662
+ glimmoranite: {
2663
+ name: "Glimmoranite",
2664
+ spritenum: 0,
2665
+ megaStone: "Glimmora-Mega",
2666
+ megaEvolves: "Glimmora",
2667
+ itemUser: ["Glimmora"],
2668
+ onTakeItem(item, source) {
2669
+ if (item.megaEvolves === source.baseSpecies.baseSpecies)
2670
+ return false;
2671
+ return true;
2672
+ },
2673
+ num: 2600,
2674
+ gen: 9,
2675
+ isNonstandard: "Future",
2676
+ },
2572
2677
  goldbottlecap: {
2573
2678
  name: "Gold Bottle Cap",
2574
2679
  spritenum: 697,
@@ -2578,6 +2683,36 @@ exports.Items = {
2578
2683
  num: 796,
2579
2684
  gen: 7,
2580
2685
  },
2686
+ golisopite: {
2687
+ name: "Golisopite",
2688
+ spritenum: 0,
2689
+ megaStone: "Golisopod-Mega",
2690
+ megaEvolves: "Golisopod",
2691
+ itemUser: ["Golisopod"],
2692
+ onTakeItem(item, source) {
2693
+ if (item.megaEvolves === source.baseSpecies.baseSpecies)
2694
+ return false;
2695
+ return true;
2696
+ },
2697
+ num: 2596,
2698
+ gen: 9,
2699
+ isNonstandard: "Future",
2700
+ },
2701
+ golurkite: {
2702
+ name: "Golurkite",
2703
+ spritenum: 0,
2704
+ megaStone: "Golurk-Mega",
2705
+ megaEvolves: "Golurk",
2706
+ itemUser: ["Golurk"],
2707
+ onTakeItem(item, source) {
2708
+ if (item.megaEvolves === source.baseSpecies.baseSpecies)
2709
+ return false;
2710
+ return true;
2711
+ },
2712
+ num: 2594,
2713
+ gen: 9,
2714
+ isNonstandard: "Future",
2715
+ },
2581
2716
  grassgem: {
2582
2717
  name: "Grass Gem",
2583
2718
  spritenum: 172,
@@ -2593,6 +2728,18 @@ exports.Items = {
2593
2728
  gen: 5,
2594
2729
  isNonstandard: "Past",
2595
2730
  },
2731
+ grassiumz: {
2732
+ name: "Grassium Z",
2733
+ spritenum: 635,
2734
+ onPlate: 'Grass',
2735
+ onTakeItem: false,
2736
+ zMove: true,
2737
+ zMoveType: "Grass",
2738
+ forcedForme: "Arceus-Grass",
2739
+ num: 780,
2740
+ gen: 7,
2741
+ isNonstandard: "Past",
2742
+ },
2596
2743
  grassmemory: {
2597
2744
  name: "Grass Memory",
2598
2745
  spritenum: 678,
@@ -2609,18 +2756,6 @@ exports.Items = {
2609
2756
  gen: 7,
2610
2757
  isNonstandard: "Past",
2611
2758
  },
2612
- grassiumz: {
2613
- name: "Grassium Z",
2614
- spritenum: 635,
2615
- onPlate: 'Grass',
2616
- onTakeItem: false,
2617
- zMove: true,
2618
- zMoveType: "Grass",
2619
- forcedForme: "Arceus-Grass",
2620
- num: 780,
2621
- gen: 7,
2622
- isNonstandard: "Past",
2623
- },
2624
2759
  grassyseed: {
2625
2760
  name: "Grassy Seed",
2626
2761
  spritenum: 667,
@@ -2740,6 +2875,18 @@ exports.Items = {
2740
2875
  gen: 5,
2741
2876
  isNonstandard: "Past",
2742
2877
  },
2878
+ groundiumz: {
2879
+ name: "Groundium Z",
2880
+ spritenum: 639,
2881
+ onPlate: 'Ground',
2882
+ onTakeItem: false,
2883
+ zMove: true,
2884
+ zMoveType: "Ground",
2885
+ forcedForme: "Arceus-Ground",
2886
+ num: 784,
2887
+ gen: 7,
2888
+ isNonstandard: "Past",
2889
+ },
2743
2890
  groundmemory: {
2744
2891
  name: "Ground Memory",
2745
2892
  spritenum: 671,
@@ -2756,18 +2903,6 @@ exports.Items = {
2756
2903
  gen: 7,
2757
2904
  isNonstandard: "Past",
2758
2905
  },
2759
- groundiumz: {
2760
- name: "Groundium Z",
2761
- spritenum: 639,
2762
- onPlate: 'Ground',
2763
- onTakeItem: false,
2764
- zMove: true,
2765
- zMoveType: "Ground",
2766
- forcedForme: "Arceus-Ground",
2767
- num: 784,
2768
- gen: 7,
2769
- isNonstandard: "Past",
2770
- },
2771
2906
  gyaradosite: {
2772
2907
  name: "Gyaradosite",
2773
2908
  spritenum: 589,
@@ -2866,6 +3001,21 @@ exports.Items = {
2866
3001
  num: 2408,
2867
3002
  gen: 9,
2868
3003
  },
3004
+ heatranite: {
3005
+ name: "Heatranite",
3006
+ spritenum: 0,
3007
+ megaStone: "Heatran-Mega",
3008
+ megaEvolves: "Heatran",
3009
+ itemUser: ["Heatran"],
3010
+ onTakeItem(item, source) {
3011
+ if (item.megaEvolves === source.baseSpecies.baseSpecies)
3012
+ return false;
3013
+ return true;
3014
+ },
3015
+ num: 2592,
3016
+ gen: 9,
3017
+ isNonstandard: "Future",
3018
+ },
2869
3019
  heatrock: {
2870
3020
  name: "Heat Rock",
2871
3021
  spritenum: 193,
@@ -3149,7 +3299,22 @@ exports.Items = {
3149
3299
  fling: {
3150
3300
  basePower: 100,
3151
3301
  },
3152
- num: 710,
3302
+ num: 710,
3303
+ gen: 6,
3304
+ isNonstandard: "Past",
3305
+ },
3306
+ kangaskhanite: {
3307
+ name: "Kangaskhanite",
3308
+ spritenum: 592,
3309
+ megaStone: "Kangaskhan-Mega",
3310
+ megaEvolves: "Kangaskhan",
3311
+ itemUser: ["Kangaskhan"],
3312
+ onTakeItem(item, source) {
3313
+ if (item.megaEvolves === source.baseSpecies.baseSpecies)
3314
+ return false;
3315
+ return true;
3316
+ },
3317
+ num: 675,
3153
3318
  gen: 6,
3154
3319
  isNonstandard: "Past",
3155
3320
  },
@@ -3234,21 +3399,6 @@ exports.Items = {
3234
3399
  num: 170,
3235
3400
  gen: 3,
3236
3401
  },
3237
- kangaskhanite: {
3238
- name: "Kangaskhanite",
3239
- spritenum: 592,
3240
- megaStone: "Kangaskhan-Mega",
3241
- megaEvolves: "Kangaskhan",
3242
- itemUser: ["Kangaskhan"],
3243
- onTakeItem(item, source) {
3244
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3245
- return false;
3246
- return true;
3247
- },
3248
- num: 675,
3249
- gen: 6,
3250
- isNonstandard: "Past",
3251
- },
3252
3402
  kingsrock: {
3253
3403
  name: "King's Rock",
3254
3404
  spritenum: 236,
@@ -3567,6 +3717,21 @@ exports.Items = {
3567
3717
  gen: 6,
3568
3718
  isNonstandard: "Past",
3569
3719
  },
3720
+ lucarionitez: {
3721
+ name: "Lucarionite Z",
3722
+ spritenum: 594,
3723
+ megaStone: "Lucario-Mega-Z",
3724
+ megaEvolves: "Lucario",
3725
+ itemUser: ["Lucario"],
3726
+ onTakeItem(item, source) {
3727
+ if (item.megaEvolves === source.baseSpecies.baseSpecies)
3728
+ return false;
3729
+ return true;
3730
+ },
3731
+ num: 2591,
3732
+ gen: 9,
3733
+ isNonstandard: "Future",
3734
+ },
3570
3735
  luckypunch: {
3571
3736
  name: "Lucky Punch",
3572
3737
  spritenum: 261,
@@ -3710,6 +3875,21 @@ exports.Items = {
3710
3875
  gen: 3,
3711
3876
  isNonstandard: "Past",
3712
3877
  },
3878
+ magearnite: {
3879
+ name: "Magearnite",
3880
+ spritenum: 0,
3881
+ megaStone: ["Magearna-Mega", "Magearna-Original-Mega"],
3882
+ megaEvolves: ["Magearna", "Magearna-Original"],
3883
+ itemUser: ["Magearna", "Magearna-Original"],
3884
+ onTakeItem(item, source) {
3885
+ if (item.megaEvolves.includes(source.baseSpecies.baseSpecies))
3886
+ return false;
3887
+ return true;
3888
+ },
3889
+ num: 2597,
3890
+ gen: 9,
3891
+ isNonstandard: "Future",
3892
+ },
3713
3893
  magmarizer: {
3714
3894
  name: "Magmarizer",
3715
3895
  spritenum: 272,
@@ -3976,6 +4156,21 @@ exports.Items = {
3976
4156
  num: 219,
3977
4157
  gen: 3,
3978
4158
  },
4159
+ meowsticite: {
4160
+ name: "Meowsticite",
4161
+ spritenum: 0,
4162
+ megaStone: ["Meowstic-M-Mega", "Meowstic-F-Mega"],
4163
+ megaEvolves: ["Meowstic", "Meowstic-F"],
4164
+ itemUser: ["Meowstic", "Meowstic-F"],
4165
+ onTakeItem(item, source) {
4166
+ if (item.megaEvolves.includes(source.baseSpecies.baseSpecies))
4167
+ return false;
4168
+ return true;
4169
+ },
4170
+ num: 2594,
4171
+ gen: 9,
4172
+ isNonstandard: "Future",
4173
+ },
3979
4174
  metagrossite: {
3980
4175
  name: "Metagrossite",
3981
4176
  spritenum: 618,
@@ -4738,6 +4933,18 @@ exports.Items = {
4738
4933
  gen: 5,
4739
4934
  isNonstandard: "Past",
4740
4935
  },
4936
+ poisoniumz: {
4937
+ name: "Poisonium Z",
4938
+ spritenum: 638,
4939
+ onPlate: 'Poison',
4940
+ onTakeItem: false,
4941
+ zMove: true,
4942
+ zMoveType: "Poison",
4943
+ forcedForme: "Arceus-Poison",
4944
+ num: 783,
4945
+ gen: 7,
4946
+ isNonstandard: "Past",
4947
+ },
4741
4948
  poisonmemory: {
4742
4949
  name: "Poison Memory",
4743
4950
  spritenum: 670,
@@ -4754,18 +4961,6 @@ exports.Items = {
4754
4961
  gen: 7,
4755
4962
  isNonstandard: "Past",
4756
4963
  },
4757
- poisoniumz: {
4758
- name: "Poisonium Z",
4759
- spritenum: 638,
4760
- onPlate: 'Poison',
4761
- onTakeItem: false,
4762
- zMove: true,
4763
- zMoveType: "Poison",
4764
- forcedForme: "Arceus-Poison",
4765
- num: 783,
4766
- gen: 7,
4767
- isNonstandard: "Past",
4768
- },
4769
4964
  pokeball: {
4770
4965
  name: "Poke Ball",
4771
4966
  spritenum: 345,
@@ -5103,6 +5298,38 @@ exports.Items = {
5103
5298
  gen: 3,
5104
5299
  isNonstandard: "Past",
5105
5300
  },
5301
+ raichunitex: {
5302
+ name: "Raichunite X",
5303
+ spritenum: 0,
5304
+ megaStone: "Raichu-Mega-X",
5305
+ megaEvolves: "Raichu",
5306
+ itemUser: ["Raichu"],
5307
+ onTakeItem(item, source) {
5308
+ if (item.megaEvolves === source.baseSpecies.name ||
5309
+ item.megaStone === source.baseSpecies.name)
5310
+ return false;
5311
+ return true;
5312
+ },
5313
+ num: 2585,
5314
+ gen: 9,
5315
+ isNonstandard: "Future",
5316
+ },
5317
+ raichunitey: {
5318
+ name: "Raichunite Y",
5319
+ spritenum: 0,
5320
+ megaStone: "Raichu-Mega-Y",
5321
+ megaEvolves: "Raichu",
5322
+ itemUser: ["Raichu"],
5323
+ onTakeItem(item, source) {
5324
+ if (item.megaEvolves === source.baseSpecies.name ||
5325
+ item.megaStone === source.baseSpecies.name)
5326
+ return false;
5327
+ return true;
5328
+ },
5329
+ num: 2586,
5330
+ gen: 9,
5331
+ isNonstandard: "Future",
5332
+ },
5106
5333
  rarebone: {
5107
5334
  name: "Rare Bone",
5108
5335
  spritenum: 379,
@@ -5315,6 +5542,18 @@ exports.Items = {
5315
5542
  gen: 4,
5316
5543
  isNonstandard: "Past",
5317
5544
  },
5545
+ rockiumz: {
5546
+ name: "Rockium Z",
5547
+ spritenum: 643,
5548
+ onPlate: 'Rock',
5549
+ onTakeItem: false,
5550
+ zMove: true,
5551
+ zMoveType: "Rock",
5552
+ forcedForme: "Arceus-Rock",
5553
+ num: 788,
5554
+ gen: 7,
5555
+ isNonstandard: "Past",
5556
+ },
5318
5557
  rockmemory: {
5319
5558
  name: "Rock Memory",
5320
5559
  spritenum: 672,
@@ -5331,18 +5570,6 @@ exports.Items = {
5331
5570
  gen: 7,
5332
5571
  isNonstandard: "Past",
5333
5572
  },
5334
- rockiumz: {
5335
- name: "Rockium Z",
5336
- spritenum: 643,
5337
- onPlate: 'Rock',
5338
- onTakeItem: false,
5339
- zMove: true,
5340
- zMoveType: "Rock",
5341
- forcedForme: "Arceus-Rock",
5342
- num: 788,
5343
- gen: 7,
5344
- isNonstandard: "Past",
5345
- },
5346
5573
  rockyhelmet: {
5347
5574
  name: "Rocky Helmet",
5348
5575
  spritenum: 417,
@@ -5630,6 +5857,21 @@ exports.Items = {
5630
5857
  num: 232,
5631
5858
  gen: 2,
5632
5859
  },
5860
+ scovillainite: {
5861
+ name: "Scovillainite",
5862
+ spritenum: 0,
5863
+ megaStone: "Scovillain-Mega",
5864
+ megaEvolves: "Scovillain",
5865
+ itemUser: ["Scovillain"],
5866
+ onTakeItem(item, source) {
5867
+ if (item.megaEvolves === source.baseSpecies.baseSpecies)
5868
+ return false;
5869
+ return true;
5870
+ },
5871
+ num: 2599,
5872
+ gen: 9,
5873
+ isNonstandard: "Future",
5874
+ },
5633
5875
  scraftinite: {
5634
5876
  name: "Scraftinite",
5635
5877
  spritenum: 555,
@@ -6040,6 +6282,21 @@ exports.Items = {
6040
6282
  gen: 2,
6041
6283
  isPokeball: true,
6042
6284
  },
6285
+ staraptite: {
6286
+ name: "Staraptite",
6287
+ spritenum: 0,
6288
+ megaStone: "Staraptor-Mega",
6289
+ megaEvolves: "Staraptor",
6290
+ itemUser: ["Staraptor"],
6291
+ onTakeItem(item, source) {
6292
+ if (item.megaEvolves === source.baseSpecies.baseSpecies)
6293
+ return false;
6294
+ return true;
6295
+ },
6296
+ num: 2589,
6297
+ gen: 9,
6298
+ isNonstandard: "Future",
6299
+ },
6043
6300
  starfberry: {
6044
6301
  name: "Starf Berry",
6045
6302
  spritenum: 472,
@@ -6096,21 +6353,6 @@ exports.Items = {
6096
6353
  num: 1114,
6097
6354
  gen: 8,
6098
6355
  },
6099
- steelixite: {
6100
- name: "Steelixite",
6101
- spritenum: 621,
6102
- megaStone: "Steelix-Mega",
6103
- megaEvolves: "Steelix",
6104
- itemUser: ["Steelix"],
6105
- onTakeItem(item, source) {
6106
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6107
- return false;
6108
- return true;
6109
- },
6110
- num: 761,
6111
- gen: 6,
6112
- isNonstandard: "Past",
6113
- },
6114
6356
  steelgem: {
6115
6357
  name: "Steel Gem",
6116
6358
  spritenum: 473,
@@ -6126,6 +6368,33 @@ exports.Items = {
6126
6368
  gen: 5,
6127
6369
  isNonstandard: "Past",
6128
6370
  },
6371
+ steeliumz: {
6372
+ name: "Steelium Z",
6373
+ spritenum: 647,
6374
+ onPlate: 'Steel',
6375
+ onTakeItem: false,
6376
+ zMove: true,
6377
+ zMoveType: "Steel",
6378
+ forcedForme: "Arceus-Steel",
6379
+ num: 792,
6380
+ gen: 7,
6381
+ isNonstandard: "Past",
6382
+ },
6383
+ steelixite: {
6384
+ name: "Steelixite",
6385
+ spritenum: 621,
6386
+ megaStone: "Steelix-Mega",
6387
+ megaEvolves: "Steelix",
6388
+ itemUser: ["Steelix"],
6389
+ onTakeItem(item, source) {
6390
+ if (item.megaEvolves === source.baseSpecies.baseSpecies)
6391
+ return false;
6392
+ return true;
6393
+ },
6394
+ num: 761,
6395
+ gen: 6,
6396
+ isNonstandard: "Past",
6397
+ },
6129
6398
  steelmemory: {
6130
6399
  name: "Steel Memory",
6131
6400
  spritenum: 675,
@@ -6142,18 +6411,6 @@ exports.Items = {
6142
6411
  gen: 7,
6143
6412
  isNonstandard: "Past",
6144
6413
  },
6145
- steeliumz: {
6146
- name: "Steelium Z",
6147
- spritenum: 647,
6148
- onPlate: 'Steel',
6149
- onTakeItem: false,
6150
- zMove: true,
6151
- zMoveType: "Steel",
6152
- forcedForme: "Arceus-Steel",
6153
- num: 792,
6154
- gen: 7,
6155
- isNonstandard: "Past",
6156
- },
6157
6414
  stick: {
6158
6415
  name: "Stick",
6159
6416
  fling: {
@@ -6328,6 +6585,21 @@ exports.Items = {
6328
6585
  num: 1117,
6329
6586
  gen: 8,
6330
6587
  },
6588
+ tatsugirinite: {
6589
+ name: "Tatsugirinite",
6590
+ spritenum: 0,
6591
+ megaStone: ["Tatsugiri-Curly-Mega", "Tatsugiri-Droopy-Mega", "Tatsugiri-Stretchy-Mega"],
6592
+ megaEvolves: ["Tatsugiri", "Tatsugiri-Droopy", "Tatsugiri-Stretchy"],
6593
+ itemUser: ["Tatsugiri", "Tatsugiri-Droopy", "Tatsugiri-Stretchy"],
6594
+ onTakeItem(item, source) {
6595
+ if (item.megaEvolves.includes(source.baseSpecies.baseSpecies))
6596
+ return false;
6597
+ return true;
6598
+ },
6599
+ num: 2601,
6600
+ gen: 9,
6601
+ isNonstandard: "Future",
6602
+ },
6331
6603
  terrainextender: {
6332
6604
  name: "Terrain Extender",
6333
6605
  spritenum: 662,
@@ -7588,6 +7860,18 @@ exports.Items = {
7588
7860
  gen: 5,
7589
7861
  isNonstandard: "Past",
7590
7862
  },
7863
+ wateriumz: {
7864
+ name: "Waterium Z",
7865
+ spritenum: 633,
7866
+ onPlate: 'Water',
7867
+ onTakeItem: false,
7868
+ zMove: true,
7869
+ zMoveType: "Water",
7870
+ forcedForme: "Arceus-Water",
7871
+ num: 778,
7872
+ gen: 7,
7873
+ isNonstandard: "Past",
7874
+ },
7591
7875
  watermemory: {
7592
7876
  name: "Water Memory",
7593
7877
  spritenum: 677,
@@ -7613,18 +7897,6 @@ exports.Items = {
7613
7897
  num: 84,
7614
7898
  gen: 1,
7615
7899
  },
7616
- wateriumz: {
7617
- name: "Waterium Z",
7618
- spritenum: 633,
7619
- onPlate: 'Water',
7620
- onTakeItem: false,
7621
- zMove: true,
7622
- zMoveType: "Water",
7623
- forcedForme: "Arceus-Water",
7624
- num: 778,
7625
- gen: 7,
7626
- isNonstandard: "Past",
7627
- },
7628
7900
  watmelberry: {
7629
7901
  name: "Watmel Berry",
7630
7902
  spritenum: 530,
@@ -7874,6 +8146,21 @@ exports.Items = {
7874
8146
  num: 300,
7875
8147
  gen: 4,
7876
8148
  },
8149
+ zeraorite: {
8150
+ name: "Zeraorite",
8151
+ spritenum: 0,
8152
+ megaStone: "Zeraora-Mega",
8153
+ megaEvolves: "Zeraora",
8154
+ itemUser: ["Zeraora"],
8155
+ onTakeItem(item, source) {
8156
+ if (item.megaEvolves === source.baseSpecies.baseSpecies)
8157
+ return false;
8158
+ return true;
8159
+ },
8160
+ num: 2598,
8161
+ gen: 9,
8162
+ isNonstandard: "Future",
8163
+ },
7877
8164
  zoomlens: {
7878
8165
  name: "Zoom Lens",
7879
8166
  spritenum: 574,
@@ -7897,7 +8184,7 @@ exports.Items = {
7897
8184
  megaEvolves: "Zygarde-Complete",
7898
8185
  itemUser: ["Zygarde-Complete"],
7899
8186
  onTakeItem(item, source) {
7900
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
8187
+ if (source.baseSpecies.baseSpecies === 'Zygarde')
7901
8188
  return false;
7902
8189
  return true;
7903
8190
  },
@@ -7906,21 +8193,6 @@ exports.Items = {
7906
8193
  isNonstandard: "Future",
7907
8194
  },
7908
8195
  // Gen 2 items
7909
- berserkgene: {
7910
- name: "Berserk Gene",
7911
- spritenum: 388,
7912
- onUpdate(pokemon) {
7913
- if (pokemon.useItem()) {
7914
- pokemon.addVolatile('confusion');
7915
- }
7916
- },
7917
- boosts: {
7918
- atk: 2,
7919
- },
7920
- num: 0,
7921
- gen: 2,
7922
- isNonstandard: "Past",
7923
- },
7924
8196
  berry: {
7925
8197
  name: "Berry",
7926
8198
  spritenum: 319,
@@ -7946,6 +8218,21 @@ exports.Items = {
7946
8218
  gen: 2,
7947
8219
  isNonstandard: "Past",
7948
8220
  },
8221
+ berserkgene: {
8222
+ name: "Berserk Gene",
8223
+ spritenum: 388,
8224
+ onUpdate(pokemon) {
8225
+ if (pokemon.useItem()) {
8226
+ pokemon.addVolatile('confusion');
8227
+ }
8228
+ },
8229
+ boosts: {
8230
+ atk: 2,
8231
+ },
8232
+ num: 0,
8233
+ gen: 2,
8234
+ isNonstandard: "Past",
8235
+ },
7949
8236
  bitterberry: {
7950
8237
  name: "Bitter Berry",
7951
8238
  spritenum: 334,