@pkmn/sim 0.10.3 → 0.10.5

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 (108) hide show
  1. package/LICENSE +1 -1
  2. package/build/cjs/config/formats.js +72 -115
  3. package/build/cjs/config/formats.js.map +1 -1
  4. package/build/cjs/data/aliases.js +7 -5
  5. package/build/cjs/data/aliases.js.map +1 -1
  6. package/build/cjs/data/formats-data.js +142 -48
  7. package/build/cjs/data/formats-data.js.map +1 -1
  8. package/build/cjs/data/items.js +390 -370
  9. package/build/cjs/data/items.js.map +1 -1
  10. package/build/cjs/data/legality.js +38 -10
  11. package/build/cjs/data/legality.js.map +1 -1
  12. package/build/cjs/data/mods/gen1/formats-data.js +20 -20
  13. package/build/cjs/data/mods/gen1/formats-data.js.map +1 -1
  14. package/build/cjs/data/mods/gen1/scripts.js +1 -1
  15. package/build/cjs/data/mods/gen1/scripts.js.map +1 -1
  16. package/build/cjs/data/mods/gen3/items.js +2 -2
  17. package/build/cjs/data/mods/gen3/items.js.map +1 -1
  18. package/build/cjs/data/mods/gen6/formats-data.js +1 -1
  19. package/build/cjs/data/mods/gen6/formats-data.js.map +1 -1
  20. package/build/cjs/data/mods/gen7/formats-data.js +1 -1
  21. package/build/cjs/data/mods/gen7/formats-data.js.map +1 -1
  22. package/build/cjs/data/mods/gen8/formats-data.js +1 -1
  23. package/build/cjs/data/mods/gen8/formats-data.js.map +1 -1
  24. package/build/cjs/data/mods/gen8/moves.js +1 -1
  25. package/build/cjs/data/mods/gen8/moves.js.map +1 -1
  26. package/build/cjs/data/moves.js +1 -1
  27. package/build/cjs/data/moves.js.map +1 -1
  28. package/build/cjs/data/pokedex.js +406 -16
  29. package/build/cjs/data/pokedex.js.map +1 -1
  30. package/build/cjs/data/rulesets.js +2 -30
  31. package/build/cjs/data/rulesets.js.map +1 -1
  32. package/build/cjs/sim/battle-actions.d.ts +1 -1
  33. package/build/cjs/sim/battle-actions.js +7 -6
  34. package/build/cjs/sim/battle-actions.js.map +1 -1
  35. package/build/cjs/sim/battle.d.ts +1 -1
  36. package/build/cjs/sim/battle.js +3 -3
  37. package/build/cjs/sim/battle.js.map +1 -1
  38. package/build/cjs/sim/dex-abilities.js +1 -1
  39. package/build/cjs/sim/dex-abilities.js.map +1 -1
  40. package/build/cjs/sim/dex-conditions.js +1 -1
  41. package/build/cjs/sim/dex-conditions.js.map +1 -1
  42. package/build/cjs/sim/dex-data.js +2 -2
  43. package/build/cjs/sim/dex-data.js.map +1 -1
  44. package/build/cjs/sim/dex-items.d.ts +5 -9
  45. package/build/cjs/sim/dex-items.js +1 -2
  46. package/build/cjs/sim/dex-items.js.map +1 -1
  47. package/build/cjs/sim/dex-moves.js +1 -1
  48. package/build/cjs/sim/dex-moves.js.map +1 -1
  49. package/build/cjs/sim/dex-species.js +1 -1
  50. package/build/cjs/sim/dex-species.js.map +1 -1
  51. package/build/cjs/sim/team-validator.js +2 -4
  52. package/build/cjs/sim/team-validator.js.map +1 -1
  53. package/build/cjs/sim/tools/exhaustive-runner.js +2 -2
  54. package/build/cjs/sim/tools/exhaustive-runner.js.map +1 -1
  55. package/build/esm/config/formats.mjs +72 -115
  56. package/build/esm/config/formats.mjs.map +1 -1
  57. package/build/esm/data/aliases.mjs +7 -5
  58. package/build/esm/data/aliases.mjs.map +1 -1
  59. package/build/esm/data/formats-data.mjs +142 -48
  60. package/build/esm/data/formats-data.mjs.map +1 -1
  61. package/build/esm/data/items.mjs +390 -370
  62. package/build/esm/data/items.mjs.map +1 -1
  63. package/build/esm/data/legality.mjs +38 -10
  64. package/build/esm/data/legality.mjs.map +1 -1
  65. package/build/esm/data/mods/gen1/formats-data.mjs +20 -20
  66. package/build/esm/data/mods/gen1/formats-data.mjs.map +1 -1
  67. package/build/esm/data/mods/gen1/scripts.mjs +1 -1
  68. package/build/esm/data/mods/gen1/scripts.mjs.map +1 -1
  69. package/build/esm/data/mods/gen3/items.mjs +2 -2
  70. package/build/esm/data/mods/gen3/items.mjs.map +1 -1
  71. package/build/esm/data/mods/gen6/formats-data.mjs +1 -1
  72. package/build/esm/data/mods/gen6/formats-data.mjs.map +1 -1
  73. package/build/esm/data/mods/gen7/formats-data.mjs +1 -1
  74. package/build/esm/data/mods/gen7/formats-data.mjs.map +1 -1
  75. package/build/esm/data/mods/gen8/formats-data.mjs +1 -1
  76. package/build/esm/data/mods/gen8/formats-data.mjs.map +1 -1
  77. package/build/esm/data/mods/gen8/moves.mjs +1 -1
  78. package/build/esm/data/mods/gen8/moves.mjs.map +1 -1
  79. package/build/esm/data/moves.mjs +1 -1
  80. package/build/esm/data/moves.mjs.map +1 -1
  81. package/build/esm/data/pokedex.mjs +406 -16
  82. package/build/esm/data/pokedex.mjs.map +1 -1
  83. package/build/esm/data/rulesets.mjs +2 -30
  84. package/build/esm/data/rulesets.mjs.map +1 -1
  85. package/build/esm/sim/battle-actions.d.mts +1 -1
  86. package/build/esm/sim/battle-actions.mjs +7 -6
  87. package/build/esm/sim/battle-actions.mjs.map +1 -1
  88. package/build/esm/sim/battle.d.mts +1 -1
  89. package/build/esm/sim/battle.mjs +3 -3
  90. package/build/esm/sim/battle.mjs.map +1 -1
  91. package/build/esm/sim/dex-abilities.mjs +1 -1
  92. package/build/esm/sim/dex-abilities.mjs.map +1 -1
  93. package/build/esm/sim/dex-conditions.mjs +1 -1
  94. package/build/esm/sim/dex-conditions.mjs.map +1 -1
  95. package/build/esm/sim/dex-data.mjs +2 -2
  96. package/build/esm/sim/dex-data.mjs.map +1 -1
  97. package/build/esm/sim/dex-items.d.mts +5 -9
  98. package/build/esm/sim/dex-items.mjs +1 -2
  99. package/build/esm/sim/dex-items.mjs.map +1 -1
  100. package/build/esm/sim/dex-moves.mjs +1 -1
  101. package/build/esm/sim/dex-moves.mjs.map +1 -1
  102. package/build/esm/sim/dex-species.mjs +1 -1
  103. package/build/esm/sim/dex-species.mjs.map +1 -1
  104. package/build/esm/sim/team-validator.mjs +2 -4
  105. package/build/esm/sim/team-validator.mjs.map +1 -1
  106. package/build/esm/sim/tools/exhaustive-runner.mjs +2 -2
  107. package/build/esm/sim/tools/exhaustive-runner.mjs.map +1 -1
  108. package/package.json +1 -1
@@ -22,13 +22,10 @@ export const Items = {
22
22
  abomasite: {
23
23
  name: "Abomasite",
24
24
  spritenum: 575,
25
- megaStone: "Abomasnow-Mega",
26
- megaEvolves: "Abomasnow",
25
+ megaStone: { "Abomasnow": "Abomasnow-Mega" },
27
26
  itemUser: ["Abomasnow"],
28
27
  onTakeItem(item, source) {
29
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
30
- return false;
31
- return true;
28
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
32
29
  },
33
30
  num: 674,
34
31
  gen: 6,
@@ -37,18 +34,27 @@ export const Items = {
37
34
  absolite: {
38
35
  name: "Absolite",
39
36
  spritenum: 576,
40
- megaStone: "Absol-Mega",
41
- megaEvolves: "Absol",
37
+ megaStone: { "Absol": "Absol-Mega" },
42
38
  itemUser: ["Absol"],
43
39
  onTakeItem(item, source) {
44
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
45
- return false;
46
- return true;
40
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
47
41
  },
48
42
  num: 677,
49
43
  gen: 6,
50
44
  isNonstandard: "Past",
51
45
  },
46
+ absolitez: {
47
+ name: "Absolite Z",
48
+ spritenum: 576,
49
+ megaStone: { "Absol": "Absol-Mega-Z" },
50
+ itemUser: ["Absol"],
51
+ onTakeItem(item, source) {
52
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
53
+ },
54
+ num: 2588,
55
+ gen: 9,
56
+ isNonstandard: "Future",
57
+ },
52
58
  absorbbulb: {
53
59
  name: "Absorb Bulb",
54
60
  spritenum: 2,
@@ -129,13 +135,10 @@ export const Items = {
129
135
  aerodactylite: {
130
136
  name: "Aerodactylite",
131
137
  spritenum: 577,
132
- megaStone: "Aerodactyl-Mega",
133
- megaEvolves: "Aerodactyl",
138
+ megaStone: { "Aerodactyl": "Aerodactyl-Mega" },
134
139
  itemUser: ["Aerodactyl"],
135
140
  onTakeItem(item, source) {
136
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
137
- return false;
138
- return true;
141
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
139
142
  },
140
143
  num: 672,
141
144
  gen: 6,
@@ -144,13 +147,10 @@ export const Items = {
144
147
  aggronite: {
145
148
  name: "Aggronite",
146
149
  spritenum: 578,
147
- megaStone: "Aggron-Mega",
148
- megaEvolves: "Aggron",
150
+ megaStone: { "Aggron": "Aggron-Mega" },
149
151
  itemUser: ["Aggron"],
150
152
  onTakeItem(item, source) {
151
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
152
- return false;
153
- return true;
153
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
154
154
  },
155
155
  num: 667,
156
156
  gen: 6,
@@ -216,13 +216,10 @@ export const Items = {
216
216
  alakazite: {
217
217
  name: "Alakazite",
218
218
  spritenum: 579,
219
- megaStone: "Alakazam-Mega",
220
- megaEvolves: "Alakazam",
219
+ megaStone: { "Alakazam": "Alakazam-Mega" },
221
220
  itemUser: ["Alakazam"],
222
221
  onTakeItem(item, source) {
223
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
224
- return false;
225
- return true;
222
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
226
223
  },
227
224
  num: 679,
228
225
  gen: 6,
@@ -242,13 +239,10 @@ export const Items = {
242
239
  altarianite: {
243
240
  name: "Altarianite",
244
241
  spritenum: 615,
245
- megaStone: "Altaria-Mega",
246
- megaEvolves: "Altaria",
242
+ megaStone: { "Altaria": "Altaria-Mega" },
247
243
  itemUser: ["Altaria"],
248
244
  onTakeItem(item, source) {
249
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
250
- return false;
251
- return true;
245
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
252
246
  },
253
247
  num: 755,
254
248
  gen: 6,
@@ -257,13 +251,10 @@ export const Items = {
257
251
  ampharosite: {
258
252
  name: "Ampharosite",
259
253
  spritenum: 580,
260
- megaStone: "Ampharos-Mega",
261
- megaEvolves: "Ampharos",
254
+ megaStone: { "Ampharos": "Ampharos-Mega" },
262
255
  itemUser: ["Ampharos"],
263
256
  onTakeItem(item, source) {
264
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
265
- return false;
266
- return true;
257
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
267
258
  },
268
259
  num: 658,
269
260
  gen: 6,
@@ -344,13 +335,10 @@ export const Items = {
344
335
  audinite: {
345
336
  name: "Audinite",
346
337
  spritenum: 617,
347
- megaStone: "Audino-Mega",
348
- megaEvolves: "Audino",
338
+ megaStone: { "Audino": "Audino-Mega" },
349
339
  itemUser: ["Audino"],
350
340
  onTakeItem(item, source) {
351
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
352
- return false;
353
- return true;
341
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
354
342
  },
355
343
  num: 757,
356
344
  gen: 6,
@@ -392,13 +380,10 @@ export const Items = {
392
380
  banettite: {
393
381
  name: "Banettite",
394
382
  spritenum: 582,
395
- megaStone: "Banette-Mega",
396
- megaEvolves: "Banette",
383
+ megaStone: { "Banette": "Banette-Mega" },
397
384
  itemUser: ["Banette"],
398
385
  onTakeItem(item, source) {
399
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
400
- return false;
401
- return true;
386
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
402
387
  },
403
388
  num: 668,
404
389
  gen: 6,
@@ -407,18 +392,27 @@ export const Items = {
407
392
  barbaracite: {
408
393
  name: "Barbaracite",
409
394
  spritenum: 564,
410
- megaStone: "Barbaracle-Mega",
411
- megaEvolves: "Barbaracle",
395
+ megaStone: { "Barbaracle": "Barbaracle-Mega" },
412
396
  itemUser: ["Barbaracle"],
413
397
  onTakeItem(item, source) {
414
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
415
- return false;
416
- return true;
398
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
417
399
  },
418
400
  num: 2581,
419
401
  gen: 9,
420
402
  isNonstandard: "Future",
421
403
  },
404
+ baxcalibrite: {
405
+ name: "Baxcalibrite",
406
+ spritenum: 0,
407
+ megaStone: { "Baxcalibur": "Baxcalibur-Mega" },
408
+ itemUser: ["Baxcalibur"],
409
+ onTakeItem(item, source) {
410
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
411
+ },
412
+ num: 2601,
413
+ gen: 9,
414
+ isNonstandard: "Future",
415
+ },
422
416
  beastball: {
423
417
  name: "Beast Ball",
424
418
  spritenum: 661,
@@ -429,13 +423,10 @@ export const Items = {
429
423
  beedrillite: {
430
424
  name: "Beedrillite",
431
425
  spritenum: 628,
432
- megaStone: "Beedrill-Mega",
433
- megaEvolves: "Beedrill",
426
+ megaStone: { "Beedrill": "Beedrill-Mega" },
434
427
  itemUser: ["Beedrill"],
435
428
  onTakeItem(item, source) {
436
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
437
- return false;
438
- return true;
429
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
439
430
  },
440
431
  num: 770,
441
432
  gen: 6,
@@ -567,13 +558,10 @@ export const Items = {
567
558
  blastoisinite: {
568
559
  name: "Blastoisinite",
569
560
  spritenum: 583,
570
- megaStone: "Blastoise-Mega",
571
- megaEvolves: "Blastoise",
561
+ megaStone: { "Blastoise": "Blastoise-Mega" },
572
562
  itemUser: ["Blastoise"],
573
563
  onTakeItem(item, source) {
574
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
575
- return false;
576
- return true;
564
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
577
565
  },
578
566
  num: 661,
579
567
  gen: 6,
@@ -582,13 +570,10 @@ export const Items = {
582
570
  blazikenite: {
583
571
  name: "Blazikenite",
584
572
  spritenum: 584,
585
- megaStone: "Blaziken-Mega",
586
- megaEvolves: "Blaziken",
573
+ megaStone: { "Blaziken": "Blaziken-Mega" },
587
574
  itemUser: ["Blaziken"],
588
575
  onTakeItem(item, source) {
589
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
590
- return false;
591
- return true;
576
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
592
577
  },
593
578
  num: 664,
594
579
  gen: 6,
@@ -753,13 +738,10 @@ export const Items = {
753
738
  cameruptite: {
754
739
  name: "Cameruptite",
755
740
  spritenum: 625,
756
- megaStone: "Camerupt-Mega",
757
- megaEvolves: "Camerupt",
741
+ megaStone: { "Camerupt": "Camerupt-Mega" },
758
742
  itemUser: ["Camerupt"],
759
743
  onTakeItem(item, source) {
760
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
761
- return false;
762
- return true;
744
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
763
745
  },
764
746
  num: 767,
765
747
  gen: 6,
@@ -785,13 +767,10 @@ export const Items = {
785
767
  chandelurite: {
786
768
  name: "Chandelurite",
787
769
  spritenum: 557,
788
- megaStone: "Chandelure-Mega",
789
- megaEvolves: "Chandelure",
770
+ megaStone: { "Chandelure": "Chandelure-Mega" },
790
771
  itemUser: ["Chandelure"],
791
772
  onTakeItem(item, source) {
792
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
793
- return false;
794
- return true;
773
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
795
774
  },
796
775
  num: 2574,
797
776
  gen: 9,
@@ -815,13 +794,10 @@ export const Items = {
815
794
  charizarditex: {
816
795
  name: "Charizardite X",
817
796
  spritenum: 585,
818
- megaStone: "Charizard-Mega-X",
819
- megaEvolves: "Charizard",
797
+ megaStone: { "Charizard": "Charizard-Mega-X" },
820
798
  itemUser: ["Charizard"],
821
799
  onTakeItem(item, source) {
822
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
823
- return false;
824
- return true;
800
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
825
801
  },
826
802
  num: 660,
827
803
  gen: 6,
@@ -830,13 +806,10 @@ export const Items = {
830
806
  charizarditey: {
831
807
  name: "Charizardite Y",
832
808
  spritenum: 586,
833
- megaStone: "Charizard-Mega-Y",
834
- megaEvolves: "Charizard",
809
+ megaStone: { "Charizard": "Charizard-Mega-Y" },
835
810
  itemUser: ["Charizard"],
836
811
  onTakeItem(item, source) {
837
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
838
- return false;
839
- return true;
812
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
840
813
  },
841
814
  num: 678,
842
815
  gen: 6,
@@ -898,13 +871,10 @@ export const Items = {
898
871
  chesnaughtite: {
899
872
  name: "Chesnaughtite",
900
873
  spritenum: 558,
901
- megaStone: "Chesnaught-Mega",
902
- megaEvolves: "Chesnaught",
874
+ megaStone: { "Chesnaught": "Chesnaught-Mega" },
903
875
  itemUser: ["Chesnaught"],
904
876
  onTakeItem(item, source) {
905
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
906
- return false;
907
- return true;
877
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
908
878
  },
909
879
  num: 2575,
910
880
  gen: 9,
@@ -969,6 +939,18 @@ export const Items = {
969
939
  gen: 5,
970
940
  isNonstandard: "Past",
971
941
  },
942
+ chimechite: {
943
+ name: "Chimechite",
944
+ spritenum: 0,
945
+ megaStone: { "Chimecho": "Chimecho-Mega" },
946
+ itemUser: ["Chimecho"],
947
+ onTakeItem(item, source) {
948
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
949
+ },
950
+ num: 2587,
951
+ gen: 9,
952
+ isNonstandard: "Future",
953
+ },
972
954
  chippedpot: {
973
955
  name: "Chipped Pot",
974
956
  spritenum: 720,
@@ -1114,13 +1096,10 @@ export const Items = {
1114
1096
  clefablite: {
1115
1097
  name: "Clefablite",
1116
1098
  spritenum: 544,
1117
- megaStone: "Clefable-Mega",
1118
- megaEvolves: "Clefable",
1099
+ megaStone: { "Clefable": "Clefable-Mega" },
1119
1100
  itemUser: ["Clefable"],
1120
1101
  onTakeItem(item, source) {
1121
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1122
- return false;
1123
- return true;
1102
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1124
1103
  },
1125
1104
  num: 2559,
1126
1105
  gen: 9,
@@ -1241,6 +1220,18 @@ export const Items = {
1241
1220
  num: 1885,
1242
1221
  gen: 9,
1243
1222
  },
1223
+ crabominite: {
1224
+ name: "Crabominite",
1225
+ spritenum: 0,
1226
+ megaStone: { "Crabominable": "Crabominable-Mega" },
1227
+ itemUser: ["Crabominable"],
1228
+ onTakeItem(item, source) {
1229
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1230
+ },
1231
+ num: 2595,
1232
+ gen: 9,
1233
+ isNonstandard: "Future",
1234
+ },
1244
1235
  crackedpot: {
1245
1236
  name: "Cracked Pot",
1246
1237
  spritenum: 719,
@@ -1325,6 +1316,18 @@ export const Items = {
1325
1316
  gen: 7,
1326
1317
  isNonstandard: "Past",
1327
1318
  },
1319
+ darkranite: {
1320
+ name: "Darkranite",
1321
+ spritenum: 0,
1322
+ megaStone: { "Darkrai": "Darkrai-Mega" },
1323
+ itemUser: ["Darkrai"],
1324
+ onTakeItem(item, source) {
1325
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1326
+ },
1327
+ num: 2593,
1328
+ gen: 9,
1329
+ isNonstandard: "Future",
1330
+ },
1328
1331
  dawnstone: {
1329
1332
  name: "Dawn Stone",
1330
1333
  spritenum: 92,
@@ -1382,13 +1385,10 @@ export const Items = {
1382
1385
  delphoxite: {
1383
1386
  name: "Delphoxite",
1384
1387
  spritenum: 559,
1385
- megaStone: "Delphox-Mega",
1386
- megaEvolves: "Delphox",
1388
+ megaStone: { "Delphox": "Delphox-Mega" },
1387
1389
  itemUser: ["Delphox"],
1388
1390
  onTakeItem(item, source) {
1389
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1390
- return false;
1391
- return true;
1391
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1392
1392
  },
1393
1393
  num: 2576,
1394
1394
  gen: 9,
@@ -1414,13 +1414,10 @@ export const Items = {
1414
1414
  diancite: {
1415
1415
  name: "Diancite",
1416
1416
  spritenum: 624,
1417
- megaStone: "Diancie-Mega",
1418
- megaEvolves: "Diancie",
1417
+ megaStone: { "Diancie": "Diancie-Mega" },
1419
1418
  itemUser: ["Diancie"],
1420
1419
  onTakeItem(item, source) {
1421
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1422
- return false;
1423
- return true;
1420
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1424
1421
  },
1425
1422
  num: 764,
1426
1423
  gen: 6,
@@ -1482,13 +1479,10 @@ export const Items = {
1482
1479
  dragalgite: {
1483
1480
  name: "Dragalgite",
1484
1481
  spritenum: 565,
1485
- megaStone: "Dragalge-Mega",
1486
- megaEvolves: "Dragalge",
1482
+ megaStone: { "Dragalge": "Dragalge-Mega" },
1487
1483
  itemUser: ["Dragalge"],
1488
1484
  onTakeItem(item, source) {
1489
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1490
- return false;
1491
- return true;
1485
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1492
1486
  },
1493
1487
  num: 2582,
1494
1488
  gen: 9,
@@ -1527,13 +1521,10 @@ export const Items = {
1527
1521
  dragoninite: {
1528
1522
  name: "Dragoninite",
1529
1523
  spritenum: 547,
1530
- megaStone: "Dragonite-Mega",
1531
- megaEvolves: "Dragonite",
1524
+ megaStone: { "Dragonite": "Dragonite-Mega" },
1532
1525
  itemUser: ["Dragonite"],
1533
1526
  onTakeItem(item, source) {
1534
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1535
- return false;
1536
- return true;
1527
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1537
1528
  },
1538
1529
  num: 2562,
1539
1530
  gen: 9,
@@ -1579,13 +1570,10 @@ export const Items = {
1579
1570
  drampanite: {
1580
1571
  name: "Drampanite",
1581
1572
  spritenum: 569,
1582
- megaStone: "Drampa-Mega",
1583
- megaEvolves: "Drampa",
1573
+ megaStone: { "Drampa": "Drampa-Mega" },
1584
1574
  itemUser: ["Drampa"],
1585
1575
  onTakeItem(item, source) {
1586
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1587
- return false;
1588
- return true;
1576
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1589
1577
  },
1590
1578
  num: 2585,
1591
1579
  gen: 9,
@@ -1679,13 +1667,10 @@ export const Items = {
1679
1667
  eelektrossite: {
1680
1668
  name: "Eelektrossite",
1681
1669
  spritenum: 556,
1682
- megaStone: "Eelektross-Mega",
1683
- megaEvolves: "Eelektross",
1670
+ megaStone: { "Eelektross": "Eelektross-Mega" },
1684
1671
  itemUser: ["Eelektross"],
1685
1672
  onTakeItem(item, source) {
1686
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1687
- return false;
1688
- return true;
1673
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1689
1674
  },
1690
1675
  num: 2573,
1691
1676
  gen: 9,
@@ -1868,13 +1853,10 @@ export const Items = {
1868
1853
  emboarite: {
1869
1854
  name: "Emboarite",
1870
1855
  spritenum: 552,
1871
- megaStone: "Emboar-Mega",
1872
- megaEvolves: "Emboar",
1856
+ megaStone: { "Emboar": "Emboar-Mega" },
1873
1857
  itemUser: ["Emboar"],
1874
1858
  onTakeItem(item, source) {
1875
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1876
- return false;
1877
- return true;
1859
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1878
1860
  },
1879
1861
  num: 2569,
1880
1862
  gen: 9,
@@ -1927,13 +1909,10 @@ export const Items = {
1927
1909
  excadrite: {
1928
1910
  name: "Excadrite",
1929
1911
  spritenum: 553,
1930
- megaStone: "Excadrill-Mega",
1931
- megaEvolves: "Excadrill",
1912
+ megaStone: { "Excadrill": "Excadrill-Mega" },
1932
1913
  itemUser: ["Excadrill"],
1933
1914
  onTakeItem(item, source) {
1934
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1935
- return false;
1936
- return true;
1915
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1937
1916
  },
1938
1917
  num: 2570,
1939
1918
  gen: 9,
@@ -2014,13 +1993,10 @@ export const Items = {
2014
1993
  falinksite: {
2015
1994
  name: "Falinksite",
2016
1995
  spritenum: 570,
2017
- megaStone: "Falinks-Mega",
2018
- megaEvolves: "Falinks",
1996
+ megaStone: { "Falinks": "Falinks-Mega" },
2019
1997
  itemUser: ["Falinks"],
2020
1998
  onTakeItem(item, source) {
2021
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2022
- return false;
2023
- return true;
1999
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2024
2000
  },
2025
2001
  num: 2586,
2026
2002
  gen: 9,
@@ -2036,13 +2012,10 @@ export const Items = {
2036
2012
  feraligite: {
2037
2013
  name: "Feraligite",
2038
2014
  spritenum: 549,
2039
- megaStone: "Feraligatr-Mega",
2040
- megaEvolves: "Feraligatr",
2015
+ megaStone: { "Feraligatr": "Feraligatr-Mega" },
2041
2016
  itemUser: ["Feraligatr"],
2042
2017
  onTakeItem(item, source) {
2043
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2044
- return false;
2045
- return true;
2018
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2046
2019
  },
2047
2020
  num: 2564,
2048
2021
  gen: 9,
@@ -2240,13 +2213,11 @@ export const Items = {
2240
2213
  floettite: {
2241
2214
  name: "Floettite",
2242
2215
  spritenum: 562,
2243
- megaStone: "Floette-Mega",
2244
- megaEvolves: "Floette-Eternal",
2216
+ megaStone: { "Floette-Eternal": "Floette-Mega" },
2245
2217
  itemUser: ["Floette-Eternal"],
2246
2218
  onTakeItem(item, source) {
2247
- if ([item.megaEvolves, item.megaStone].includes(source.baseSpecies.name))
2248
- return false;
2249
- return true;
2219
+ return !item.megaStone || (!item.megaStone[source.baseSpecies.name] &&
2220
+ !Object.values(item.megaStone).includes(source.baseSpecies.name));
2250
2221
  },
2251
2222
  num: 2579,
2252
2223
  gen: 9,
@@ -2387,13 +2358,10 @@ export const Items = {
2387
2358
  froslassite: {
2388
2359
  name: "Froslassite",
2389
2360
  spritenum: 551,
2390
- megaStone: "Froslass-Mega",
2391
- megaEvolves: "Froslass",
2361
+ megaStone: { "Froslass": "Froslass-Mega" },
2392
2362
  itemUser: ["Froslass"],
2393
2363
  onTakeItem(item, source) {
2394
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2395
- return false;
2396
- return true;
2364
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2397
2365
  },
2398
2366
  num: 2566,
2399
2367
  gen: 9,
@@ -2431,13 +2399,10 @@ export const Items = {
2431
2399
  galladite: {
2432
2400
  name: "Galladite",
2433
2401
  spritenum: 616,
2434
- megaStone: "Gallade-Mega",
2435
- megaEvolves: "Gallade",
2402
+ megaStone: { "Gallade": "Gallade-Mega" },
2436
2403
  itemUser: ["Gallade"],
2437
2404
  onTakeItem(item, source) {
2438
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2439
- return false;
2440
- return true;
2405
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2441
2406
  },
2442
2407
  num: 756,
2443
2408
  gen: 6,
@@ -2466,28 +2431,34 @@ export const Items = {
2466
2431
  garchompite: {
2467
2432
  name: "Garchompite",
2468
2433
  spritenum: 573,
2469
- megaStone: "Garchomp-Mega",
2470
- megaEvolves: "Garchomp",
2434
+ megaStone: { "Garchomp": "Garchomp-Mega" },
2471
2435
  itemUser: ["Garchomp"],
2472
2436
  onTakeItem(item, source) {
2473
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2474
- return false;
2475
- return true;
2437
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2476
2438
  },
2477
2439
  num: 683,
2478
2440
  gen: 6,
2479
2441
  isNonstandard: "Past",
2480
2442
  },
2443
+ garchompitez: {
2444
+ name: "Garchompite Z",
2445
+ spritenum: 573,
2446
+ megaStone: { "Garchomp": "Garchomp-Mega-Z" },
2447
+ itemUser: ["Garchomp"],
2448
+ onTakeItem(item, source) {
2449
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2450
+ },
2451
+ num: 2590,
2452
+ gen: 9,
2453
+ isNonstandard: "Future",
2454
+ },
2481
2455
  gardevoirite: {
2482
2456
  name: "Gardevoirite",
2483
2457
  spritenum: 587,
2484
- megaStone: "Gardevoir-Mega",
2485
- megaEvolves: "Gardevoir",
2458
+ megaStone: { "Gardevoir": "Gardevoir-Mega" },
2486
2459
  itemUser: ["Gardevoir"],
2487
2460
  onTakeItem(item, source) {
2488
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2489
- return false;
2490
- return true;
2461
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2491
2462
  },
2492
2463
  num: 657,
2493
2464
  gen: 6,
@@ -2496,13 +2467,10 @@ export const Items = {
2496
2467
  gengarite: {
2497
2468
  name: "Gengarite",
2498
2469
  spritenum: 588,
2499
- megaStone: "Gengar-Mega",
2500
- megaEvolves: "Gengar",
2470
+ megaStone: { "Gengar": "Gengar-Mega" },
2501
2471
  itemUser: ["Gengar"],
2502
2472
  onTakeItem(item, source) {
2503
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2504
- return false;
2505
- return true;
2473
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2506
2474
  },
2507
2475
  num: 656,
2508
2476
  gen: 6,
@@ -2554,18 +2522,27 @@ export const Items = {
2554
2522
  glalitite: {
2555
2523
  name: "Glalitite",
2556
2524
  spritenum: 623,
2557
- megaStone: "Glalie-Mega",
2558
- megaEvolves: "Glalie",
2525
+ megaStone: { "Glalie": "Glalie-Mega" },
2559
2526
  itemUser: ["Glalie"],
2560
2527
  onTakeItem(item, source) {
2561
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2562
- return false;
2563
- return true;
2528
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2564
2529
  },
2565
2530
  num: 763,
2566
2531
  gen: 6,
2567
2532
  isNonstandard: "Past",
2568
2533
  },
2534
+ glimmoranite: {
2535
+ name: "Glimmoranite",
2536
+ spritenum: 0,
2537
+ megaStone: { "Glimmora": "Glimmora-Mega" },
2538
+ itemUser: ["Glimmora"],
2539
+ onTakeItem(item, source) {
2540
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2541
+ },
2542
+ num: 2600,
2543
+ gen: 9,
2544
+ isNonstandard: "Future",
2545
+ },
2569
2546
  goldbottlecap: {
2570
2547
  name: "Gold Bottle Cap",
2571
2548
  spritenum: 697,
@@ -2575,6 +2552,30 @@ export const Items = {
2575
2552
  num: 796,
2576
2553
  gen: 7,
2577
2554
  },
2555
+ golisopite: {
2556
+ name: "Golisopite",
2557
+ spritenum: 0,
2558
+ megaStone: { "Golisopod": "Golisopod-Mega" },
2559
+ itemUser: ["Golisopod"],
2560
+ onTakeItem(item, source) {
2561
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2562
+ },
2563
+ num: 2596,
2564
+ gen: 9,
2565
+ isNonstandard: "Future",
2566
+ },
2567
+ golurkite: {
2568
+ name: "Golurkite",
2569
+ spritenum: 0,
2570
+ megaStone: { "Golurk": "Golurk-Mega" },
2571
+ itemUser: ["Golurk"],
2572
+ onTakeItem(item, source) {
2573
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2574
+ },
2575
+ num: 2594,
2576
+ gen: 9,
2577
+ isNonstandard: "Future",
2578
+ },
2578
2579
  grassgem: {
2579
2580
  name: "Grass Gem",
2580
2581
  spritenum: 172,
@@ -2651,14 +2652,11 @@ export const Items = {
2651
2652
  greninjite: {
2652
2653
  name: "Greninjite",
2653
2654
  spritenum: 560,
2654
- megaStone: "Greninja-Mega",
2655
- megaEvolves: "Greninja",
2655
+ megaStone: { "Greninja": "Greninja-Mega" },
2656
2656
  itemUser: ["Greninja"],
2657
2657
  onTakeItem(item, source) {
2658
2658
  // TODO: Figure out if this works on Greninja-Bond
2659
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2660
- return false;
2661
- return true;
2659
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2662
2660
  },
2663
2661
  num: 2577,
2664
2662
  gen: 9,
@@ -2768,13 +2766,10 @@ export const Items = {
2768
2766
  gyaradosite: {
2769
2767
  name: "Gyaradosite",
2770
2768
  spritenum: 589,
2771
- megaStone: "Gyarados-Mega",
2772
- megaEvolves: "Gyarados",
2769
+ megaStone: { "Gyarados": "Gyarados-Mega" },
2773
2770
  itemUser: ["Gyarados"],
2774
2771
  onTakeItem(item, source) {
2775
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2776
- return false;
2777
- return true;
2772
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2778
2773
  },
2779
2774
  num: 676,
2780
2775
  gen: 6,
@@ -2822,13 +2817,10 @@ export const Items = {
2822
2817
  hawluchanite: {
2823
2818
  name: "Hawluchanite",
2824
2819
  spritenum: 566,
2825
- megaStone: "Hawlucha-Mega",
2826
- megaEvolves: "Hawlucha",
2820
+ megaStone: { "Hawlucha": "Hawlucha-Mega" },
2827
2821
  itemUser: ["Hawlucha"],
2828
2822
  onTakeItem(item, source) {
2829
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2830
- return false;
2831
- return true;
2823
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2832
2824
  },
2833
2825
  num: 2583,
2834
2826
  gen: 9,
@@ -2863,6 +2855,18 @@ export const Items = {
2863
2855
  num: 2408,
2864
2856
  gen: 9,
2865
2857
  },
2858
+ heatranite: {
2859
+ name: "Heatranite",
2860
+ spritenum: 0,
2861
+ megaStone: { "Heatran": "Heatran-Mega" },
2862
+ itemUser: ["Heatran"],
2863
+ onTakeItem(item, source) {
2864
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2865
+ },
2866
+ num: 2592,
2867
+ gen: 9,
2868
+ isNonstandard: "Future",
2869
+ },
2866
2870
  heatrock: {
2867
2871
  name: "Heat Rock",
2868
2872
  spritenum: 193,
@@ -2902,13 +2906,10 @@ export const Items = {
2902
2906
  heracronite: {
2903
2907
  name: "Heracronite",
2904
2908
  spritenum: 590,
2905
- megaStone: "Heracross-Mega",
2906
- megaEvolves: "Heracross",
2909
+ megaStone: { "Heracross": "Heracross-Mega" },
2907
2910
  itemUser: ["Heracross"],
2908
2911
  onTakeItem(item, source) {
2909
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2910
- return false;
2911
- return true;
2912
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2912
2913
  },
2913
2914
  num: 680,
2914
2915
  gen: 6,
@@ -2929,13 +2930,10 @@ export const Items = {
2929
2930
  houndoominite: {
2930
2931
  name: "Houndoominite",
2931
2932
  spritenum: 591,
2932
- megaStone: "Houndoom-Mega",
2933
- megaEvolves: "Houndoom",
2933
+ megaStone: { "Houndoom": "Houndoom-Mega" },
2934
2934
  itemUser: ["Houndoom"],
2935
2935
  onTakeItem(item, source) {
2936
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2937
- return false;
2938
- return true;
2936
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2939
2937
  },
2940
2938
  num: 666,
2941
2939
  gen: 6,
@@ -3153,13 +3151,10 @@ export const Items = {
3153
3151
  kangaskhanite: {
3154
3152
  name: "Kangaskhanite",
3155
3153
  spritenum: 592,
3156
- megaStone: "Kangaskhan-Mega",
3157
- megaEvolves: "Kangaskhan",
3154
+ megaStone: { "Kangaskhan": "Kangaskhan-Mega" },
3158
3155
  itemUser: ["Kangaskhan"],
3159
3156
  onTakeItem(item, source) {
3160
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3161
- return false;
3162
- return true;
3157
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3163
3158
  },
3164
3159
  num: 675,
3165
3160
  gen: 6,
@@ -3315,13 +3310,10 @@ export const Items = {
3315
3310
  latiasite: {
3316
3311
  name: "Latiasite",
3317
3312
  spritenum: 629,
3318
- megaStone: "Latias-Mega",
3319
- megaEvolves: "Latias",
3313
+ megaStone: { "Latias": "Latias-Mega" },
3320
3314
  itemUser: ["Latias"],
3321
3315
  onTakeItem(item, source) {
3322
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3323
- return false;
3324
- return true;
3316
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3325
3317
  },
3326
3318
  num: 684,
3327
3319
  gen: 6,
@@ -3330,13 +3322,10 @@ export const Items = {
3330
3322
  latiosite: {
3331
3323
  name: "Latiosite",
3332
3324
  spritenum: 630,
3333
- megaStone: "Latios-Mega",
3334
- megaEvolves: "Latios",
3325
+ megaStone: { "Latios": "Latios-Mega" },
3335
3326
  itemUser: ["Latios"],
3336
3327
  onTakeItem(item, source) {
3337
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3338
- return false;
3339
- return true;
3328
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3340
3329
  },
3341
3330
  num: 685,
3342
3331
  gen: 6,
@@ -3521,13 +3510,10 @@ export const Items = {
3521
3510
  lopunnite: {
3522
3511
  name: "Lopunnite",
3523
3512
  spritenum: 626,
3524
- megaStone: "Lopunny-Mega",
3525
- megaEvolves: "Lopunny",
3513
+ megaStone: { "Lopunny": "Lopunny-Mega" },
3526
3514
  itemUser: ["Lopunny"],
3527
3515
  onTakeItem(item, source) {
3528
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3529
- return false;
3530
- return true;
3516
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3531
3517
  },
3532
3518
  num: 768,
3533
3519
  gen: 6,
@@ -3552,18 +3538,27 @@ export const Items = {
3552
3538
  lucarionite: {
3553
3539
  name: "Lucarionite",
3554
3540
  spritenum: 594,
3555
- megaStone: "Lucario-Mega",
3556
- megaEvolves: "Lucario",
3541
+ megaStone: { "Lucario": "Lucario-Mega" },
3557
3542
  itemUser: ["Lucario"],
3558
3543
  onTakeItem(item, source) {
3559
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3560
- return false;
3561
- return true;
3544
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3562
3545
  },
3563
3546
  num: 673,
3564
3547
  gen: 6,
3565
3548
  isNonstandard: "Past",
3566
3549
  },
3550
+ lucarionitez: {
3551
+ name: "Lucarionite Z",
3552
+ spritenum: 594,
3553
+ megaStone: { "Lucario": "Lucario-Mega-Z" },
3554
+ itemUser: ["Lucario"],
3555
+ onTakeItem(item, source) {
3556
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3557
+ },
3558
+ num: 2591,
3559
+ gen: 9,
3560
+ isNonstandard: "Future",
3561
+ },
3567
3562
  luckypunch: {
3568
3563
  name: "Lucky Punch",
3569
3564
  spritenum: 261,
@@ -3707,6 +3702,22 @@ export const Items = {
3707
3702
  gen: 3,
3708
3703
  isNonstandard: "Past",
3709
3704
  },
3705
+ magearnite: {
3706
+ name: "Magearnite",
3707
+ spritenum: 0,
3708
+ megaStone: {
3709
+ "Magearna": "Magearna-Mega",
3710
+ "Magearna-Original": "Magearna-Original-Mega",
3711
+ },
3712
+ itemUser: ["Magearna", "Magearna-Original"],
3713
+ onTakeItem(item, source) {
3714
+ return !item.megaStone || (!item.megaStone[source.baseSpecies.name] &&
3715
+ !Object.values(item.megaStone).includes(source.baseSpecies.name));
3716
+ },
3717
+ num: 2597,
3718
+ gen: 9,
3719
+ isNonstandard: "Future",
3720
+ },
3710
3721
  magmarizer: {
3711
3722
  name: "Magmarizer",
3712
3723
  spritenum: 272,
@@ -3787,13 +3798,10 @@ export const Items = {
3787
3798
  malamarite: {
3788
3799
  name: "Malamarite",
3789
3800
  spritenum: 563,
3790
- megaStone: "Malamar-Mega",
3791
- megaEvolves: "Malamar",
3801
+ megaStone: { "Malamar": "Malamar-Mega" },
3792
3802
  itemUser: ["Malamar"],
3793
3803
  onTakeItem(item, source) {
3794
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3795
- return false;
3796
- return true;
3804
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3797
3805
  },
3798
3806
  num: 2580,
3799
3807
  gen: 9,
@@ -3811,13 +3819,10 @@ export const Items = {
3811
3819
  manectite: {
3812
3820
  name: "Manectite",
3813
3821
  spritenum: 596,
3814
- megaStone: "Manectric-Mega",
3815
- megaEvolves: "Manectric",
3822
+ megaStone: { "Manectric": "Manectric-Mega" },
3816
3823
  itemUser: ["Manectric"],
3817
3824
  onTakeItem(item, source) {
3818
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3819
- return false;
3820
- return true;
3825
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3821
3826
  },
3822
3827
  num: 682,
3823
3828
  gen: 6,
@@ -3872,13 +3877,10 @@ export const Items = {
3872
3877
  mawilite: {
3873
3878
  name: "Mawilite",
3874
3879
  spritenum: 598,
3875
- megaStone: "Mawile-Mega",
3876
- megaEvolves: "Mawile",
3880
+ megaStone: { "Mawile": "Mawile-Mega" },
3877
3881
  itemUser: ["Mawile"],
3878
3882
  onTakeItem(item, source) {
3879
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3880
- return false;
3881
- return true;
3883
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3882
3884
  },
3883
3885
  num: 681,
3884
3886
  gen: 6,
@@ -3907,13 +3909,10 @@ export const Items = {
3907
3909
  medichamite: {
3908
3910
  name: "Medichamite",
3909
3911
  spritenum: 599,
3910
- megaStone: "Medicham-Mega",
3911
- megaEvolves: "Medicham",
3912
+ megaStone: { "Medicham": "Medicham-Mega" },
3912
3913
  itemUser: ["Medicham"],
3913
3914
  onTakeItem(item, source) {
3914
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3915
- return false;
3916
- return true;
3915
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3917
3916
  },
3918
3917
  num: 665,
3919
3918
  gen: 6,
@@ -3922,13 +3921,10 @@ export const Items = {
3922
3921
  meganiumite: {
3923
3922
  name: "Meganiumite",
3924
3923
  spritenum: 548,
3925
- megaStone: "Meganium-Mega",
3926
- megaEvolves: "Meganium",
3924
+ megaStone: { "Meganium": "Meganium-Mega" },
3927
3925
  itemUser: ["Meganium"],
3928
3926
  onTakeItem(item, source) {
3929
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3930
- return false;
3931
- return true;
3927
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3932
3928
  },
3933
3929
  num: 2563,
3934
3930
  gen: 9,
@@ -3973,16 +3969,29 @@ export const Items = {
3973
3969
  num: 219,
3974
3970
  gen: 3,
3975
3971
  },
3972
+ meowsticite: {
3973
+ name: "Meowsticite",
3974
+ spritenum: 0,
3975
+ megaStone: {
3976
+ "Meowstic": "Meowstic-M-Mega",
3977
+ "Meowstic-F": "Meowstic-F-Mega",
3978
+ },
3979
+ itemUser: ["Meowstic", "Meowstic-F"],
3980
+ onTakeItem(item, source) {
3981
+ return !item.megaStone || (!item.megaStone[source.baseSpecies.name] &&
3982
+ !Object.values(item.megaStone).includes(source.baseSpecies.name));
3983
+ },
3984
+ num: 2594,
3985
+ gen: 9,
3986
+ isNonstandard: "Future",
3987
+ },
3976
3988
  metagrossite: {
3977
3989
  name: "Metagrossite",
3978
3990
  spritenum: 618,
3979
- megaStone: "Metagross-Mega",
3980
- megaEvolves: "Metagross",
3991
+ megaStone: { "Metagross": "Metagross-Mega" },
3981
3992
  itemUser: ["Metagross"],
3982
3993
  onTakeItem(item, source) {
3983
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3984
- return false;
3985
- return true;
3994
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3986
3995
  },
3987
3996
  num: 758,
3988
3997
  gen: 6,
@@ -4088,13 +4097,10 @@ export const Items = {
4088
4097
  mewtwonitex: {
4089
4098
  name: "Mewtwonite X",
4090
4099
  spritenum: 600,
4091
- megaStone: "Mewtwo-Mega-X",
4092
- megaEvolves: "Mewtwo",
4100
+ megaStone: { "Mewtwo": "Mewtwo-Mega-X" },
4093
4101
  itemUser: ["Mewtwo"],
4094
4102
  onTakeItem(item, source) {
4095
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4096
- return false;
4097
- return true;
4103
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4098
4104
  },
4099
4105
  num: 662,
4100
4106
  gen: 6,
@@ -4103,13 +4109,10 @@ export const Items = {
4103
4109
  mewtwonitey: {
4104
4110
  name: "Mewtwonite Y",
4105
4111
  spritenum: 601,
4106
- megaStone: "Mewtwo-Mega-Y",
4107
- megaEvolves: "Mewtwo",
4112
+ megaStone: { "Mewtwo": "Mewtwo-Mega-Y" },
4108
4113
  itemUser: ["Mewtwo"],
4109
4114
  onTakeItem(item, source) {
4110
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4111
- return false;
4112
- return true;
4115
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4113
4116
  },
4114
4117
  num: 663,
4115
4118
  gen: 6,
@@ -4612,13 +4615,10 @@ export const Items = {
4612
4615
  pidgeotite: {
4613
4616
  name: "Pidgeotite",
4614
4617
  spritenum: 622,
4615
- megaStone: "Pidgeot-Mega",
4616
- megaEvolves: "Pidgeot",
4618
+ megaStone: { "Pidgeot": "Pidgeot-Mega" },
4617
4619
  itemUser: ["Pidgeot"],
4618
4620
  onTakeItem(item, source) {
4619
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4620
- return false;
4621
- return true;
4621
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4622
4622
  },
4623
4623
  num: 762,
4624
4624
  gen: 6,
@@ -4662,13 +4662,10 @@ export const Items = {
4662
4662
  pinsirite: {
4663
4663
  name: "Pinsirite",
4664
4664
  spritenum: 602,
4665
- megaStone: "Pinsir-Mega",
4666
- megaEvolves: "Pinsir",
4665
+ megaStone: { "Pinsir": "Pinsir-Mega" },
4667
4666
  itemUser: ["Pinsir"],
4668
4667
  onTakeItem(item, source) {
4669
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4670
- return false;
4671
- return true;
4668
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4672
4669
  },
4673
4670
  num: 671,
4674
4671
  gen: 6,
@@ -5022,13 +5019,10 @@ export const Items = {
5022
5019
  pyroarite: {
5023
5020
  name: "Pyroarite",
5024
5021
  spritenum: 561,
5025
- megaStone: "Pyroar-Mega",
5026
- megaEvolves: "Pyroar",
5022
+ megaStone: { "Pyroar": "Pyroar-Mega" },
5027
5023
  itemUser: ["Pyroar"],
5028
5024
  onTakeItem(item, source) {
5029
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5030
- return false;
5031
- return true;
5025
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5032
5026
  },
5033
5027
  num: 2578,
5034
5028
  gen: 9,
@@ -5100,6 +5094,30 @@ export const Items = {
5100
5094
  gen: 3,
5101
5095
  isNonstandard: "Past",
5102
5096
  },
5097
+ raichunitex: {
5098
+ name: "Raichunite X",
5099
+ spritenum: 0,
5100
+ megaStone: { "Raichu": "Raichu-Mega-X" },
5101
+ itemUser: ["Raichu"],
5102
+ onTakeItem(item, source) {
5103
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5104
+ },
5105
+ num: 2585,
5106
+ gen: 9,
5107
+ isNonstandard: "Future",
5108
+ },
5109
+ raichunitey: {
5110
+ name: "Raichunite Y",
5111
+ spritenum: 0,
5112
+ megaStone: { "Raichu": "Raichu-Mega-Y" },
5113
+ itemUser: ["Raichu"],
5114
+ onTakeItem(item, source) {
5115
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5116
+ },
5117
+ num: 2586,
5118
+ gen: 9,
5119
+ isNonstandard: "Future",
5120
+ },
5103
5121
  rarebone: {
5104
5122
  name: "Rare Bone",
5105
5123
  spritenum: 379,
@@ -5477,13 +5495,10 @@ export const Items = {
5477
5495
  sablenite: {
5478
5496
  name: "Sablenite",
5479
5497
  spritenum: 614,
5480
- megaStone: "Sableye-Mega",
5481
- megaEvolves: "Sableye",
5498
+ megaStone: { "Sableye": "Sableye-Mega" },
5482
5499
  itemUser: ["Sableye"],
5483
5500
  onTakeItem(item, source) {
5484
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5485
- return false;
5486
- return true;
5501
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5487
5502
  },
5488
5503
  num: 754,
5489
5504
  gen: 6,
@@ -5558,13 +5573,10 @@ export const Items = {
5558
5573
  salamencite: {
5559
5574
  name: "Salamencite",
5560
5575
  spritenum: 627,
5561
- megaStone: "Salamence-Mega",
5562
- megaEvolves: "Salamence",
5576
+ megaStone: { "Salamence": "Salamence-Mega" },
5563
5577
  itemUser: ["Salamence"],
5564
5578
  onTakeItem(item, source) {
5565
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5566
- return false;
5567
- return true;
5579
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5568
5580
  },
5569
5581
  num: 769,
5570
5582
  gen: 6,
@@ -5573,13 +5585,10 @@ export const Items = {
5573
5585
  sceptilite: {
5574
5586
  name: "Sceptilite",
5575
5587
  spritenum: 613,
5576
- megaStone: "Sceptile-Mega",
5577
- megaEvolves: "Sceptile",
5588
+ megaStone: { "Sceptile": "Sceptile-Mega" },
5578
5589
  itemUser: ["Sceptile"],
5579
5590
  onTakeItem(item, source) {
5580
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5581
- return false;
5582
- return true;
5591
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5583
5592
  },
5584
5593
  num: 753,
5585
5594
  gen: 6,
@@ -5588,13 +5597,10 @@ export const Items = {
5588
5597
  scizorite: {
5589
5598
  name: "Scizorite",
5590
5599
  spritenum: 605,
5591
- megaStone: "Scizor-Mega",
5592
- megaEvolves: "Scizor",
5600
+ megaStone: { "Scizor": "Scizor-Mega" },
5593
5601
  itemUser: ["Scizor"],
5594
5602
  onTakeItem(item, source) {
5595
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5596
- return false;
5597
- return true;
5603
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5598
5604
  },
5599
5605
  num: 670,
5600
5606
  gen: 6,
@@ -5603,13 +5609,10 @@ export const Items = {
5603
5609
  scolipite: {
5604
5610
  name: "Scolipite",
5605
5611
  spritenum: 554,
5606
- megaStone: "Scolipede-Mega",
5607
- megaEvolves: "Scolipede",
5612
+ megaStone: { "Scolipede": "Scolipede-Mega" },
5608
5613
  itemUser: ["Scolipede"],
5609
5614
  onTakeItem(item, source) {
5610
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5611
- return false;
5612
- return true;
5615
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5613
5616
  },
5614
5617
  num: 2571,
5615
5618
  gen: 9,
@@ -5627,16 +5630,25 @@ export const Items = {
5627
5630
  num: 232,
5628
5631
  gen: 2,
5629
5632
  },
5633
+ scovillainite: {
5634
+ name: "Scovillainite",
5635
+ spritenum: 0,
5636
+ megaStone: { "Scovillain": "Scovillain-Mega" },
5637
+ itemUser: ["Scovillain"],
5638
+ onTakeItem(item, source) {
5639
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5640
+ },
5641
+ num: 2599,
5642
+ gen: 9,
5643
+ isNonstandard: "Future",
5644
+ },
5630
5645
  scraftinite: {
5631
5646
  name: "Scraftinite",
5632
5647
  spritenum: 555,
5633
- megaStone: "Scrafty-Mega",
5634
- megaEvolves: "Scrafty",
5648
+ megaStone: { "Scrafty": "Scrafty-Mega" },
5635
5649
  itemUser: ["Scrafty"],
5636
5650
  onTakeItem(item, source) {
5637
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5638
- return false;
5639
- return true;
5651
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5640
5652
  },
5641
5653
  num: 2572,
5642
5654
  gen: 9,
@@ -5676,13 +5688,10 @@ export const Items = {
5676
5688
  sharpedonite: {
5677
5689
  name: "Sharpedonite",
5678
5690
  spritenum: 619,
5679
- megaStone: "Sharpedo-Mega",
5680
- megaEvolves: "Sharpedo",
5691
+ megaStone: { "Sharpedo": "Sharpedo-Mega" },
5681
5692
  itemUser: ["Sharpedo"],
5682
5693
  onTakeItem(item, source) {
5683
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5684
- return false;
5685
- return true;
5694
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5686
5695
  },
5687
5696
  num: 759,
5688
5697
  gen: 6,
@@ -5825,13 +5834,10 @@ export const Items = {
5825
5834
  skarmorite: {
5826
5835
  name: "Skarmorite",
5827
5836
  spritenum: 550,
5828
- megaStone: "Skarmory-Mega",
5829
- megaEvolves: "Skarmory",
5837
+ megaStone: { "Skarmory": "Skarmory-Mega" },
5830
5838
  itemUser: ["Skarmory"],
5831
5839
  onTakeItem(item, source) {
5832
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5833
- return false;
5834
- return true;
5840
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5835
5841
  },
5836
5842
  num: 2565,
5837
5843
  gen: 9,
@@ -5870,13 +5876,10 @@ export const Items = {
5870
5876
  slowbronite: {
5871
5877
  name: "Slowbronite",
5872
5878
  spritenum: 620,
5873
- megaStone: "Slowbro-Mega",
5874
- megaEvolves: "Slowbro",
5879
+ megaStone: { "Slowbro": "Slowbro-Mega" },
5875
5880
  itemUser: ["Slowbro"],
5876
5881
  onTakeItem(item, source) {
5877
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5878
- return false;
5879
- return true;
5882
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5880
5883
  },
5881
5884
  num: 760,
5882
5885
  gen: 6,
@@ -6037,6 +6040,18 @@ export const Items = {
6037
6040
  gen: 2,
6038
6041
  isPokeball: true,
6039
6042
  },
6043
+ staraptite: {
6044
+ name: "Staraptite",
6045
+ spritenum: 0,
6046
+ megaStone: { "Staraptor": "Staraptor-Mega" },
6047
+ itemUser: ["Staraptor"],
6048
+ onTakeItem(item, source) {
6049
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6050
+ },
6051
+ num: 2589,
6052
+ gen: 9,
6053
+ isNonstandard: "Future",
6054
+ },
6040
6055
  starfberry: {
6041
6056
  name: "Starf Berry",
6042
6057
  spritenum: 472,
@@ -6072,13 +6087,10 @@ export const Items = {
6072
6087
  starminite: {
6073
6088
  name: "Starminite",
6074
6089
  spritenum: 546,
6075
- megaStone: "Starmie-Mega",
6076
- megaEvolves: "Starmie",
6090
+ megaStone: { "Starmie": "Starmie-Mega" },
6077
6091
  itemUser: ["Starmie"],
6078
6092
  onTakeItem(item, source) {
6079
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6080
- return false;
6081
- return true;
6093
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6082
6094
  },
6083
6095
  num: 2561,
6084
6096
  gen: 9,
@@ -6123,13 +6135,10 @@ export const Items = {
6123
6135
  steelixite: {
6124
6136
  name: "Steelixite",
6125
6137
  spritenum: 621,
6126
- megaStone: "Steelix-Mega",
6127
- megaEvolves: "Steelix",
6138
+ megaStone: { "Steelix": "Steelix-Mega" },
6128
6139
  itemUser: ["Steelix"],
6129
6140
  onTakeItem(item, source) {
6130
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6131
- return false;
6132
- return true;
6141
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6133
6142
  },
6134
6143
  num: 761,
6135
6144
  gen: 6,
@@ -6239,13 +6248,10 @@ export const Items = {
6239
6248
  swampertite: {
6240
6249
  name: "Swampertite",
6241
6250
  spritenum: 612,
6242
- megaStone: "Swampert-Mega",
6243
- megaEvolves: "Swampert",
6251
+ megaStone: { "Swampert": "Swampert-Mega" },
6244
6252
  itemUser: ["Swampert"],
6245
6253
  onTakeItem(item, source) {
6246
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6247
- return false;
6248
- return true;
6254
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6249
6255
  },
6250
6256
  num: 752,
6251
6257
  gen: 6,
@@ -6325,6 +6331,23 @@ export const Items = {
6325
6331
  num: 1117,
6326
6332
  gen: 8,
6327
6333
  },
6334
+ tatsugirinite: {
6335
+ name: "Tatsugirinite",
6336
+ spritenum: 0,
6337
+ megaStone: {
6338
+ "Tatsugiri": "Tatsugiri-Curly-Mega",
6339
+ "Tatsugiri-Droopy": "Tatsugiri-Droopy-Mega",
6340
+ "Tatsugiri-Stretchy": "Tatsugiri-Stretchy-Mega",
6341
+ },
6342
+ itemUser: ["Tatsugiri", "Tatsugiri-Droopy", "Tatsugiri-Stretchy"],
6343
+ onTakeItem(item, source) {
6344
+ return !item.megaStone || (!item.megaStone[source.baseSpecies.name] &&
6345
+ !Object.values(item.megaStone).includes(source.baseSpecies.name));
6346
+ },
6347
+ num: 2601,
6348
+ gen: 9,
6349
+ isNonstandard: "Future",
6350
+ },
6328
6351
  terrainextender: {
6329
6352
  name: "Terrain Extender",
6330
6353
  spritenum: 662,
@@ -7437,13 +7460,10 @@ export const Items = {
7437
7460
  tyranitarite: {
7438
7461
  name: "Tyranitarite",
7439
7462
  spritenum: 607,
7440
- megaStone: "Tyranitar-Mega",
7441
- megaEvolves: "Tyranitar",
7463
+ megaStone: { "Tyranitar": "Tyranitar-Mega" },
7442
7464
  itemUser: ["Tyranitar"],
7443
7465
  onTakeItem(item, source) {
7444
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
7445
- return false;
7446
- return true;
7466
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
7447
7467
  },
7448
7468
  num: 669,
7449
7469
  gen: 6,
@@ -7519,13 +7539,10 @@ export const Items = {
7519
7539
  venusaurite: {
7520
7540
  name: "Venusaurite",
7521
7541
  spritenum: 608,
7522
- megaStone: "Venusaur-Mega",
7523
- megaEvolves: "Venusaur",
7542
+ megaStone: { "Venusaur": "Venusaur-Mega" },
7524
7543
  itemUser: ["Venusaur"],
7525
7544
  onTakeItem(item, source) {
7526
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
7527
- return false;
7528
- return true;
7545
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
7529
7546
  },
7530
7547
  num: 659,
7531
7548
  gen: 6,
@@ -7534,13 +7551,10 @@ export const Items = {
7534
7551
  victreebelite: {
7535
7552
  name: "Victreebelite",
7536
7553
  spritenum: 545,
7537
- megaStone: "Victreebel-Mega",
7538
- megaEvolves: "Victreebel",
7554
+ megaStone: { "Victreebel": "Victreebel-Mega" },
7539
7555
  itemUser: ["Victreebel"],
7540
7556
  onTakeItem(item, source) {
7541
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
7542
- return false;
7543
- return true;
7557
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
7544
7558
  },
7545
7559
  num: 2560,
7546
7560
  gen: 9,
@@ -7871,6 +7885,18 @@ export const Items = {
7871
7885
  num: 300,
7872
7886
  gen: 4,
7873
7887
  },
7888
+ zeraorite: {
7889
+ name: "Zeraorite",
7890
+ spritenum: 0,
7891
+ megaStone: { "Zeraora": "Zeraora-Mega" },
7892
+ itemUser: ["Zeraora"],
7893
+ onTakeItem(item, source) {
7894
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
7895
+ },
7896
+ num: 2598,
7897
+ gen: 9,
7898
+ isNonstandard: "Future",
7899
+ },
7874
7900
  zoomlens: {
7875
7901
  name: "Zoom Lens",
7876
7902
  spritenum: 574,
@@ -7890,13 +7916,10 @@ export const Items = {
7890
7916
  zygardite: {
7891
7917
  name: "Zygardite",
7892
7918
  spritenum: 568,
7893
- megaStone: "Zygarde-Mega",
7894
- megaEvolves: "Zygarde-Complete",
7919
+ megaStone: { "Zygarde-Complete": "Zygarde-Mega" },
7895
7920
  itemUser: ["Zygarde-Complete"],
7896
7921
  onTakeItem(item, source) {
7897
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
7898
- return false;
7899
- return true;
7922
+ return source.baseSpecies.baseSpecies !== 'Zygarde';
7900
7923
  },
7901
7924
  num: 2584,
7902
7925
  gen: 9,
@@ -8189,13 +8212,10 @@ export const Items = {
8189
8212
  crucibellite: {
8190
8213
  name: "Crucibellite",
8191
8214
  spritenum: 577,
8192
- megaStone: "Crucibelle-Mega",
8193
- megaEvolves: "Crucibelle",
8215
+ megaStone: { "Crucibelle": "Crucibelle-Mega" },
8194
8216
  itemUser: ["Crucibelle"],
8195
8217
  onTakeItem(item, source) {
8196
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
8197
- return false;
8198
- return true;
8218
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
8199
8219
  },
8200
8220
  num: -1,
8201
8221
  gen: 6,