@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
@@ -25,13 +25,10 @@ exports.Items = {
25
25
  abomasite: {
26
26
  name: "Abomasite",
27
27
  spritenum: 575,
28
- megaStone: "Abomasnow-Mega",
29
- megaEvolves: "Abomasnow",
28
+ megaStone: { "Abomasnow": "Abomasnow-Mega" },
30
29
  itemUser: ["Abomasnow"],
31
30
  onTakeItem(item, source) {
32
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
33
- return false;
34
- return true;
31
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
35
32
  },
36
33
  num: 674,
37
34
  gen: 6,
@@ -40,18 +37,27 @@ exports.Items = {
40
37
  absolite: {
41
38
  name: "Absolite",
42
39
  spritenum: 576,
43
- megaStone: "Absol-Mega",
44
- megaEvolves: "Absol",
40
+ megaStone: { "Absol": "Absol-Mega" },
45
41
  itemUser: ["Absol"],
46
42
  onTakeItem(item, source) {
47
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
48
- return false;
49
- return true;
43
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
50
44
  },
51
45
  num: 677,
52
46
  gen: 6,
53
47
  isNonstandard: "Past",
54
48
  },
49
+ absolitez: {
50
+ name: "Absolite Z",
51
+ spritenum: 576,
52
+ megaStone: { "Absol": "Absol-Mega-Z" },
53
+ itemUser: ["Absol"],
54
+ onTakeItem(item, source) {
55
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
56
+ },
57
+ num: 2588,
58
+ gen: 9,
59
+ isNonstandard: "Future",
60
+ },
55
61
  absorbbulb: {
56
62
  name: "Absorb Bulb",
57
63
  spritenum: 2,
@@ -132,13 +138,10 @@ exports.Items = {
132
138
  aerodactylite: {
133
139
  name: "Aerodactylite",
134
140
  spritenum: 577,
135
- megaStone: "Aerodactyl-Mega",
136
- megaEvolves: "Aerodactyl",
141
+ megaStone: { "Aerodactyl": "Aerodactyl-Mega" },
137
142
  itemUser: ["Aerodactyl"],
138
143
  onTakeItem(item, source) {
139
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
140
- return false;
141
- return true;
144
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
142
145
  },
143
146
  num: 672,
144
147
  gen: 6,
@@ -147,13 +150,10 @@ exports.Items = {
147
150
  aggronite: {
148
151
  name: "Aggronite",
149
152
  spritenum: 578,
150
- megaStone: "Aggron-Mega",
151
- megaEvolves: "Aggron",
153
+ megaStone: { "Aggron": "Aggron-Mega" },
152
154
  itemUser: ["Aggron"],
153
155
  onTakeItem(item, source) {
154
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
155
- return false;
156
- return true;
156
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
157
157
  },
158
158
  num: 667,
159
159
  gen: 6,
@@ -219,13 +219,10 @@ exports.Items = {
219
219
  alakazite: {
220
220
  name: "Alakazite",
221
221
  spritenum: 579,
222
- megaStone: "Alakazam-Mega",
223
- megaEvolves: "Alakazam",
222
+ megaStone: { "Alakazam": "Alakazam-Mega" },
224
223
  itemUser: ["Alakazam"],
225
224
  onTakeItem(item, source) {
226
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
227
- return false;
228
- return true;
225
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
229
226
  },
230
227
  num: 679,
231
228
  gen: 6,
@@ -245,13 +242,10 @@ exports.Items = {
245
242
  altarianite: {
246
243
  name: "Altarianite",
247
244
  spritenum: 615,
248
- megaStone: "Altaria-Mega",
249
- megaEvolves: "Altaria",
245
+ megaStone: { "Altaria": "Altaria-Mega" },
250
246
  itemUser: ["Altaria"],
251
247
  onTakeItem(item, source) {
252
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
253
- return false;
254
- return true;
248
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
255
249
  },
256
250
  num: 755,
257
251
  gen: 6,
@@ -260,13 +254,10 @@ exports.Items = {
260
254
  ampharosite: {
261
255
  name: "Ampharosite",
262
256
  spritenum: 580,
263
- megaStone: "Ampharos-Mega",
264
- megaEvolves: "Ampharos",
257
+ megaStone: { "Ampharos": "Ampharos-Mega" },
265
258
  itemUser: ["Ampharos"],
266
259
  onTakeItem(item, source) {
267
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
268
- return false;
269
- return true;
260
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
270
261
  },
271
262
  num: 658,
272
263
  gen: 6,
@@ -347,13 +338,10 @@ exports.Items = {
347
338
  audinite: {
348
339
  name: "Audinite",
349
340
  spritenum: 617,
350
- megaStone: "Audino-Mega",
351
- megaEvolves: "Audino",
341
+ megaStone: { "Audino": "Audino-Mega" },
352
342
  itemUser: ["Audino"],
353
343
  onTakeItem(item, source) {
354
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
355
- return false;
356
- return true;
344
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
357
345
  },
358
346
  num: 757,
359
347
  gen: 6,
@@ -395,13 +383,10 @@ exports.Items = {
395
383
  banettite: {
396
384
  name: "Banettite",
397
385
  spritenum: 582,
398
- megaStone: "Banette-Mega",
399
- megaEvolves: "Banette",
386
+ megaStone: { "Banette": "Banette-Mega" },
400
387
  itemUser: ["Banette"],
401
388
  onTakeItem(item, source) {
402
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
403
- return false;
404
- return true;
389
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
405
390
  },
406
391
  num: 668,
407
392
  gen: 6,
@@ -410,18 +395,27 @@ exports.Items = {
410
395
  barbaracite: {
411
396
  name: "Barbaracite",
412
397
  spritenum: 564,
413
- megaStone: "Barbaracle-Mega",
414
- megaEvolves: "Barbaracle",
398
+ megaStone: { "Barbaracle": "Barbaracle-Mega" },
415
399
  itemUser: ["Barbaracle"],
416
400
  onTakeItem(item, source) {
417
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
418
- return false;
419
- return true;
401
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
420
402
  },
421
403
  num: 2581,
422
404
  gen: 9,
423
405
  isNonstandard: "Future",
424
406
  },
407
+ baxcalibrite: {
408
+ name: "Baxcalibrite",
409
+ spritenum: 0,
410
+ megaStone: { "Baxcalibur": "Baxcalibur-Mega" },
411
+ itemUser: ["Baxcalibur"],
412
+ onTakeItem(item, source) {
413
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
414
+ },
415
+ num: 2601,
416
+ gen: 9,
417
+ isNonstandard: "Future",
418
+ },
425
419
  beastball: {
426
420
  name: "Beast Ball",
427
421
  spritenum: 661,
@@ -432,13 +426,10 @@ exports.Items = {
432
426
  beedrillite: {
433
427
  name: "Beedrillite",
434
428
  spritenum: 628,
435
- megaStone: "Beedrill-Mega",
436
- megaEvolves: "Beedrill",
429
+ megaStone: { "Beedrill": "Beedrill-Mega" },
437
430
  itemUser: ["Beedrill"],
438
431
  onTakeItem(item, source) {
439
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
440
- return false;
441
- return true;
432
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
442
433
  },
443
434
  num: 770,
444
435
  gen: 6,
@@ -570,13 +561,10 @@ exports.Items = {
570
561
  blastoisinite: {
571
562
  name: "Blastoisinite",
572
563
  spritenum: 583,
573
- megaStone: "Blastoise-Mega",
574
- megaEvolves: "Blastoise",
564
+ megaStone: { "Blastoise": "Blastoise-Mega" },
575
565
  itemUser: ["Blastoise"],
576
566
  onTakeItem(item, source) {
577
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
578
- return false;
579
- return true;
567
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
580
568
  },
581
569
  num: 661,
582
570
  gen: 6,
@@ -585,13 +573,10 @@ exports.Items = {
585
573
  blazikenite: {
586
574
  name: "Blazikenite",
587
575
  spritenum: 584,
588
- megaStone: "Blaziken-Mega",
589
- megaEvolves: "Blaziken",
576
+ megaStone: { "Blaziken": "Blaziken-Mega" },
590
577
  itemUser: ["Blaziken"],
591
578
  onTakeItem(item, source) {
592
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
593
- return false;
594
- return true;
579
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
595
580
  },
596
581
  num: 664,
597
582
  gen: 6,
@@ -756,13 +741,10 @@ exports.Items = {
756
741
  cameruptite: {
757
742
  name: "Cameruptite",
758
743
  spritenum: 625,
759
- megaStone: "Camerupt-Mega",
760
- megaEvolves: "Camerupt",
744
+ megaStone: { "Camerupt": "Camerupt-Mega" },
761
745
  itemUser: ["Camerupt"],
762
746
  onTakeItem(item, source) {
763
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
764
- return false;
765
- return true;
747
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
766
748
  },
767
749
  num: 767,
768
750
  gen: 6,
@@ -788,13 +770,10 @@ exports.Items = {
788
770
  chandelurite: {
789
771
  name: "Chandelurite",
790
772
  spritenum: 557,
791
- megaStone: "Chandelure-Mega",
792
- megaEvolves: "Chandelure",
773
+ megaStone: { "Chandelure": "Chandelure-Mega" },
793
774
  itemUser: ["Chandelure"],
794
775
  onTakeItem(item, source) {
795
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
796
- return false;
797
- return true;
776
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
798
777
  },
799
778
  num: 2574,
800
779
  gen: 9,
@@ -818,13 +797,10 @@ exports.Items = {
818
797
  charizarditex: {
819
798
  name: "Charizardite X",
820
799
  spritenum: 585,
821
- megaStone: "Charizard-Mega-X",
822
- megaEvolves: "Charizard",
800
+ megaStone: { "Charizard": "Charizard-Mega-X" },
823
801
  itemUser: ["Charizard"],
824
802
  onTakeItem(item, source) {
825
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
826
- return false;
827
- return true;
803
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
828
804
  },
829
805
  num: 660,
830
806
  gen: 6,
@@ -833,13 +809,10 @@ exports.Items = {
833
809
  charizarditey: {
834
810
  name: "Charizardite Y",
835
811
  spritenum: 586,
836
- megaStone: "Charizard-Mega-Y",
837
- megaEvolves: "Charizard",
812
+ megaStone: { "Charizard": "Charizard-Mega-Y" },
838
813
  itemUser: ["Charizard"],
839
814
  onTakeItem(item, source) {
840
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
841
- return false;
842
- return true;
815
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
843
816
  },
844
817
  num: 678,
845
818
  gen: 6,
@@ -901,13 +874,10 @@ exports.Items = {
901
874
  chesnaughtite: {
902
875
  name: "Chesnaughtite",
903
876
  spritenum: 558,
904
- megaStone: "Chesnaught-Mega",
905
- megaEvolves: "Chesnaught",
877
+ megaStone: { "Chesnaught": "Chesnaught-Mega" },
906
878
  itemUser: ["Chesnaught"],
907
879
  onTakeItem(item, source) {
908
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
909
- return false;
910
- return true;
880
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
911
881
  },
912
882
  num: 2575,
913
883
  gen: 9,
@@ -972,6 +942,18 @@ exports.Items = {
972
942
  gen: 5,
973
943
  isNonstandard: "Past",
974
944
  },
945
+ chimechite: {
946
+ name: "Chimechite",
947
+ spritenum: 0,
948
+ megaStone: { "Chimecho": "Chimecho-Mega" },
949
+ itemUser: ["Chimecho"],
950
+ onTakeItem(item, source) {
951
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
952
+ },
953
+ num: 2587,
954
+ gen: 9,
955
+ isNonstandard: "Future",
956
+ },
975
957
  chippedpot: {
976
958
  name: "Chipped Pot",
977
959
  spritenum: 720,
@@ -1117,13 +1099,10 @@ exports.Items = {
1117
1099
  clefablite: {
1118
1100
  name: "Clefablite",
1119
1101
  spritenum: 544,
1120
- megaStone: "Clefable-Mega",
1121
- megaEvolves: "Clefable",
1102
+ megaStone: { "Clefable": "Clefable-Mega" },
1122
1103
  itemUser: ["Clefable"],
1123
1104
  onTakeItem(item, source) {
1124
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1125
- return false;
1126
- return true;
1105
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1127
1106
  },
1128
1107
  num: 2559,
1129
1108
  gen: 9,
@@ -1244,6 +1223,18 @@ exports.Items = {
1244
1223
  num: 1885,
1245
1224
  gen: 9,
1246
1225
  },
1226
+ crabominite: {
1227
+ name: "Crabominite",
1228
+ spritenum: 0,
1229
+ megaStone: { "Crabominable": "Crabominable-Mega" },
1230
+ itemUser: ["Crabominable"],
1231
+ onTakeItem(item, source) {
1232
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1233
+ },
1234
+ num: 2595,
1235
+ gen: 9,
1236
+ isNonstandard: "Future",
1237
+ },
1247
1238
  crackedpot: {
1248
1239
  name: "Cracked Pot",
1249
1240
  spritenum: 719,
@@ -1328,6 +1319,18 @@ exports.Items = {
1328
1319
  gen: 7,
1329
1320
  isNonstandard: "Past",
1330
1321
  },
1322
+ darkranite: {
1323
+ name: "Darkranite",
1324
+ spritenum: 0,
1325
+ megaStone: { "Darkrai": "Darkrai-Mega" },
1326
+ itemUser: ["Darkrai"],
1327
+ onTakeItem(item, source) {
1328
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1329
+ },
1330
+ num: 2593,
1331
+ gen: 9,
1332
+ isNonstandard: "Future",
1333
+ },
1331
1334
  dawnstone: {
1332
1335
  name: "Dawn Stone",
1333
1336
  spritenum: 92,
@@ -1385,13 +1388,10 @@ exports.Items = {
1385
1388
  delphoxite: {
1386
1389
  name: "Delphoxite",
1387
1390
  spritenum: 559,
1388
- megaStone: "Delphox-Mega",
1389
- megaEvolves: "Delphox",
1391
+ megaStone: { "Delphox": "Delphox-Mega" },
1390
1392
  itemUser: ["Delphox"],
1391
1393
  onTakeItem(item, source) {
1392
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1393
- return false;
1394
- return true;
1394
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1395
1395
  },
1396
1396
  num: 2576,
1397
1397
  gen: 9,
@@ -1417,13 +1417,10 @@ exports.Items = {
1417
1417
  diancite: {
1418
1418
  name: "Diancite",
1419
1419
  spritenum: 624,
1420
- megaStone: "Diancie-Mega",
1421
- megaEvolves: "Diancie",
1420
+ megaStone: { "Diancie": "Diancie-Mega" },
1422
1421
  itemUser: ["Diancie"],
1423
1422
  onTakeItem(item, source) {
1424
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1425
- return false;
1426
- return true;
1423
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1427
1424
  },
1428
1425
  num: 764,
1429
1426
  gen: 6,
@@ -1485,13 +1482,10 @@ exports.Items = {
1485
1482
  dragalgite: {
1486
1483
  name: "Dragalgite",
1487
1484
  spritenum: 565,
1488
- megaStone: "Dragalge-Mega",
1489
- megaEvolves: "Dragalge",
1485
+ megaStone: { "Dragalge": "Dragalge-Mega" },
1490
1486
  itemUser: ["Dragalge"],
1491
1487
  onTakeItem(item, source) {
1492
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1493
- return false;
1494
- return true;
1488
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1495
1489
  },
1496
1490
  num: 2582,
1497
1491
  gen: 9,
@@ -1530,13 +1524,10 @@ exports.Items = {
1530
1524
  dragoninite: {
1531
1525
  name: "Dragoninite",
1532
1526
  spritenum: 547,
1533
- megaStone: "Dragonite-Mega",
1534
- megaEvolves: "Dragonite",
1527
+ megaStone: { "Dragonite": "Dragonite-Mega" },
1535
1528
  itemUser: ["Dragonite"],
1536
1529
  onTakeItem(item, source) {
1537
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1538
- return false;
1539
- return true;
1530
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1540
1531
  },
1541
1532
  num: 2562,
1542
1533
  gen: 9,
@@ -1582,13 +1573,10 @@ exports.Items = {
1582
1573
  drampanite: {
1583
1574
  name: "Drampanite",
1584
1575
  spritenum: 569,
1585
- megaStone: "Drampa-Mega",
1586
- megaEvolves: "Drampa",
1576
+ megaStone: { "Drampa": "Drampa-Mega" },
1587
1577
  itemUser: ["Drampa"],
1588
1578
  onTakeItem(item, source) {
1589
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1590
- return false;
1591
- return true;
1579
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1592
1580
  },
1593
1581
  num: 2585,
1594
1582
  gen: 9,
@@ -1682,13 +1670,10 @@ exports.Items = {
1682
1670
  eelektrossite: {
1683
1671
  name: "Eelektrossite",
1684
1672
  spritenum: 556,
1685
- megaStone: "Eelektross-Mega",
1686
- megaEvolves: "Eelektross",
1673
+ megaStone: { "Eelektross": "Eelektross-Mega" },
1687
1674
  itemUser: ["Eelektross"],
1688
1675
  onTakeItem(item, source) {
1689
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1690
- return false;
1691
- return true;
1676
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1692
1677
  },
1693
1678
  num: 2573,
1694
1679
  gen: 9,
@@ -1871,13 +1856,10 @@ exports.Items = {
1871
1856
  emboarite: {
1872
1857
  name: "Emboarite",
1873
1858
  spritenum: 552,
1874
- megaStone: "Emboar-Mega",
1875
- megaEvolves: "Emboar",
1859
+ megaStone: { "Emboar": "Emboar-Mega" },
1876
1860
  itemUser: ["Emboar"],
1877
1861
  onTakeItem(item, source) {
1878
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1879
- return false;
1880
- return true;
1862
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1881
1863
  },
1882
1864
  num: 2569,
1883
1865
  gen: 9,
@@ -1930,13 +1912,10 @@ exports.Items = {
1930
1912
  excadrite: {
1931
1913
  name: "Excadrite",
1932
1914
  spritenum: 553,
1933
- megaStone: "Excadrill-Mega",
1934
- megaEvolves: "Excadrill",
1915
+ megaStone: { "Excadrill": "Excadrill-Mega" },
1935
1916
  itemUser: ["Excadrill"],
1936
1917
  onTakeItem(item, source) {
1937
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1938
- return false;
1939
- return true;
1918
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1940
1919
  },
1941
1920
  num: 2570,
1942
1921
  gen: 9,
@@ -2017,13 +1996,10 @@ exports.Items = {
2017
1996
  falinksite: {
2018
1997
  name: "Falinksite",
2019
1998
  spritenum: 570,
2020
- megaStone: "Falinks-Mega",
2021
- megaEvolves: "Falinks",
1999
+ megaStone: { "Falinks": "Falinks-Mega" },
2022
2000
  itemUser: ["Falinks"],
2023
2001
  onTakeItem(item, source) {
2024
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2025
- return false;
2026
- return true;
2002
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2027
2003
  },
2028
2004
  num: 2586,
2029
2005
  gen: 9,
@@ -2039,13 +2015,10 @@ exports.Items = {
2039
2015
  feraligite: {
2040
2016
  name: "Feraligite",
2041
2017
  spritenum: 549,
2042
- megaStone: "Feraligatr-Mega",
2043
- megaEvolves: "Feraligatr",
2018
+ megaStone: { "Feraligatr": "Feraligatr-Mega" },
2044
2019
  itemUser: ["Feraligatr"],
2045
2020
  onTakeItem(item, source) {
2046
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2047
- return false;
2048
- return true;
2021
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2049
2022
  },
2050
2023
  num: 2564,
2051
2024
  gen: 9,
@@ -2243,13 +2216,11 @@ exports.Items = {
2243
2216
  floettite: {
2244
2217
  name: "Floettite",
2245
2218
  spritenum: 562,
2246
- megaStone: "Floette-Mega",
2247
- megaEvolves: "Floette-Eternal",
2219
+ megaStone: { "Floette-Eternal": "Floette-Mega" },
2248
2220
  itemUser: ["Floette-Eternal"],
2249
2221
  onTakeItem(item, source) {
2250
- if ([item.megaEvolves, item.megaStone].includes(source.baseSpecies.name))
2251
- return false;
2252
- return true;
2222
+ return !item.megaStone || (!item.megaStone[source.baseSpecies.name] &&
2223
+ !Object.values(item.megaStone).includes(source.baseSpecies.name));
2253
2224
  },
2254
2225
  num: 2579,
2255
2226
  gen: 9,
@@ -2390,13 +2361,10 @@ exports.Items = {
2390
2361
  froslassite: {
2391
2362
  name: "Froslassite",
2392
2363
  spritenum: 551,
2393
- megaStone: "Froslass-Mega",
2394
- megaEvolves: "Froslass",
2364
+ megaStone: { "Froslass": "Froslass-Mega" },
2395
2365
  itemUser: ["Froslass"],
2396
2366
  onTakeItem(item, source) {
2397
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2398
- return false;
2399
- return true;
2367
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2400
2368
  },
2401
2369
  num: 2566,
2402
2370
  gen: 9,
@@ -2434,13 +2402,10 @@ exports.Items = {
2434
2402
  galladite: {
2435
2403
  name: "Galladite",
2436
2404
  spritenum: 616,
2437
- megaStone: "Gallade-Mega",
2438
- megaEvolves: "Gallade",
2405
+ megaStone: { "Gallade": "Gallade-Mega" },
2439
2406
  itemUser: ["Gallade"],
2440
2407
  onTakeItem(item, source) {
2441
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2442
- return false;
2443
- return true;
2408
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2444
2409
  },
2445
2410
  num: 756,
2446
2411
  gen: 6,
@@ -2469,28 +2434,34 @@ exports.Items = {
2469
2434
  garchompite: {
2470
2435
  name: "Garchompite",
2471
2436
  spritenum: 573,
2472
- megaStone: "Garchomp-Mega",
2473
- megaEvolves: "Garchomp",
2437
+ megaStone: { "Garchomp": "Garchomp-Mega" },
2474
2438
  itemUser: ["Garchomp"],
2475
2439
  onTakeItem(item, source) {
2476
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2477
- return false;
2478
- return true;
2440
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2479
2441
  },
2480
2442
  num: 683,
2481
2443
  gen: 6,
2482
2444
  isNonstandard: "Past",
2483
2445
  },
2446
+ garchompitez: {
2447
+ name: "Garchompite Z",
2448
+ spritenum: 573,
2449
+ megaStone: { "Garchomp": "Garchomp-Mega-Z" },
2450
+ itemUser: ["Garchomp"],
2451
+ onTakeItem(item, source) {
2452
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2453
+ },
2454
+ num: 2590,
2455
+ gen: 9,
2456
+ isNonstandard: "Future",
2457
+ },
2484
2458
  gardevoirite: {
2485
2459
  name: "Gardevoirite",
2486
2460
  spritenum: 587,
2487
- megaStone: "Gardevoir-Mega",
2488
- megaEvolves: "Gardevoir",
2461
+ megaStone: { "Gardevoir": "Gardevoir-Mega" },
2489
2462
  itemUser: ["Gardevoir"],
2490
2463
  onTakeItem(item, source) {
2491
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2492
- return false;
2493
- return true;
2464
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2494
2465
  },
2495
2466
  num: 657,
2496
2467
  gen: 6,
@@ -2499,13 +2470,10 @@ exports.Items = {
2499
2470
  gengarite: {
2500
2471
  name: "Gengarite",
2501
2472
  spritenum: 588,
2502
- megaStone: "Gengar-Mega",
2503
- megaEvolves: "Gengar",
2473
+ megaStone: { "Gengar": "Gengar-Mega" },
2504
2474
  itemUser: ["Gengar"],
2505
2475
  onTakeItem(item, source) {
2506
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2507
- return false;
2508
- return true;
2476
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2509
2477
  },
2510
2478
  num: 656,
2511
2479
  gen: 6,
@@ -2557,18 +2525,27 @@ exports.Items = {
2557
2525
  glalitite: {
2558
2526
  name: "Glalitite",
2559
2527
  spritenum: 623,
2560
- megaStone: "Glalie-Mega",
2561
- megaEvolves: "Glalie",
2528
+ megaStone: { "Glalie": "Glalie-Mega" },
2562
2529
  itemUser: ["Glalie"],
2563
2530
  onTakeItem(item, source) {
2564
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2565
- return false;
2566
- return true;
2531
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2567
2532
  },
2568
2533
  num: 763,
2569
2534
  gen: 6,
2570
2535
  isNonstandard: "Past",
2571
2536
  },
2537
+ glimmoranite: {
2538
+ name: "Glimmoranite",
2539
+ spritenum: 0,
2540
+ megaStone: { "Glimmora": "Glimmora-Mega" },
2541
+ itemUser: ["Glimmora"],
2542
+ onTakeItem(item, source) {
2543
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2544
+ },
2545
+ num: 2600,
2546
+ gen: 9,
2547
+ isNonstandard: "Future",
2548
+ },
2572
2549
  goldbottlecap: {
2573
2550
  name: "Gold Bottle Cap",
2574
2551
  spritenum: 697,
@@ -2578,6 +2555,30 @@ exports.Items = {
2578
2555
  num: 796,
2579
2556
  gen: 7,
2580
2557
  },
2558
+ golisopite: {
2559
+ name: "Golisopite",
2560
+ spritenum: 0,
2561
+ megaStone: { "Golisopod": "Golisopod-Mega" },
2562
+ itemUser: ["Golisopod"],
2563
+ onTakeItem(item, source) {
2564
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2565
+ },
2566
+ num: 2596,
2567
+ gen: 9,
2568
+ isNonstandard: "Future",
2569
+ },
2570
+ golurkite: {
2571
+ name: "Golurkite",
2572
+ spritenum: 0,
2573
+ megaStone: { "Golurk": "Golurk-Mega" },
2574
+ itemUser: ["Golurk"],
2575
+ onTakeItem(item, source) {
2576
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2577
+ },
2578
+ num: 2594,
2579
+ gen: 9,
2580
+ isNonstandard: "Future",
2581
+ },
2581
2582
  grassgem: {
2582
2583
  name: "Grass Gem",
2583
2584
  spritenum: 172,
@@ -2654,14 +2655,11 @@ exports.Items = {
2654
2655
  greninjite: {
2655
2656
  name: "Greninjite",
2656
2657
  spritenum: 560,
2657
- megaStone: "Greninja-Mega",
2658
- megaEvolves: "Greninja",
2658
+ megaStone: { "Greninja": "Greninja-Mega" },
2659
2659
  itemUser: ["Greninja"],
2660
2660
  onTakeItem(item, source) {
2661
2661
  // TODO: Figure out if this works on Greninja-Bond
2662
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2663
- return false;
2664
- return true;
2662
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2665
2663
  },
2666
2664
  num: 2577,
2667
2665
  gen: 9,
@@ -2771,13 +2769,10 @@ exports.Items = {
2771
2769
  gyaradosite: {
2772
2770
  name: "Gyaradosite",
2773
2771
  spritenum: 589,
2774
- megaStone: "Gyarados-Mega",
2775
- megaEvolves: "Gyarados",
2772
+ megaStone: { "Gyarados": "Gyarados-Mega" },
2776
2773
  itemUser: ["Gyarados"],
2777
2774
  onTakeItem(item, source) {
2778
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2779
- return false;
2780
- return true;
2775
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2781
2776
  },
2782
2777
  num: 676,
2783
2778
  gen: 6,
@@ -2825,13 +2820,10 @@ exports.Items = {
2825
2820
  hawluchanite: {
2826
2821
  name: "Hawluchanite",
2827
2822
  spritenum: 566,
2828
- megaStone: "Hawlucha-Mega",
2829
- megaEvolves: "Hawlucha",
2823
+ megaStone: { "Hawlucha": "Hawlucha-Mega" },
2830
2824
  itemUser: ["Hawlucha"],
2831
2825
  onTakeItem(item, source) {
2832
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2833
- return false;
2834
- return true;
2826
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2835
2827
  },
2836
2828
  num: 2583,
2837
2829
  gen: 9,
@@ -2866,6 +2858,18 @@ exports.Items = {
2866
2858
  num: 2408,
2867
2859
  gen: 9,
2868
2860
  },
2861
+ heatranite: {
2862
+ name: "Heatranite",
2863
+ spritenum: 0,
2864
+ megaStone: { "Heatran": "Heatran-Mega" },
2865
+ itemUser: ["Heatran"],
2866
+ onTakeItem(item, source) {
2867
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2868
+ },
2869
+ num: 2592,
2870
+ gen: 9,
2871
+ isNonstandard: "Future",
2872
+ },
2869
2873
  heatrock: {
2870
2874
  name: "Heat Rock",
2871
2875
  spritenum: 193,
@@ -2905,13 +2909,10 @@ exports.Items = {
2905
2909
  heracronite: {
2906
2910
  name: "Heracronite",
2907
2911
  spritenum: 590,
2908
- megaStone: "Heracross-Mega",
2909
- megaEvolves: "Heracross",
2912
+ megaStone: { "Heracross": "Heracross-Mega" },
2910
2913
  itemUser: ["Heracross"],
2911
2914
  onTakeItem(item, source) {
2912
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2913
- return false;
2914
- return true;
2915
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2915
2916
  },
2916
2917
  num: 680,
2917
2918
  gen: 6,
@@ -2932,13 +2933,10 @@ exports.Items = {
2932
2933
  houndoominite: {
2933
2934
  name: "Houndoominite",
2934
2935
  spritenum: 591,
2935
- megaStone: "Houndoom-Mega",
2936
- megaEvolves: "Houndoom",
2936
+ megaStone: { "Houndoom": "Houndoom-Mega" },
2937
2937
  itemUser: ["Houndoom"],
2938
2938
  onTakeItem(item, source) {
2939
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2940
- return false;
2941
- return true;
2939
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2942
2940
  },
2943
2941
  num: 666,
2944
2942
  gen: 6,
@@ -3156,13 +3154,10 @@ exports.Items = {
3156
3154
  kangaskhanite: {
3157
3155
  name: "Kangaskhanite",
3158
3156
  spritenum: 592,
3159
- megaStone: "Kangaskhan-Mega",
3160
- megaEvolves: "Kangaskhan",
3157
+ megaStone: { "Kangaskhan": "Kangaskhan-Mega" },
3161
3158
  itemUser: ["Kangaskhan"],
3162
3159
  onTakeItem(item, source) {
3163
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3164
- return false;
3165
- return true;
3160
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3166
3161
  },
3167
3162
  num: 675,
3168
3163
  gen: 6,
@@ -3318,13 +3313,10 @@ exports.Items = {
3318
3313
  latiasite: {
3319
3314
  name: "Latiasite",
3320
3315
  spritenum: 629,
3321
- megaStone: "Latias-Mega",
3322
- megaEvolves: "Latias",
3316
+ megaStone: { "Latias": "Latias-Mega" },
3323
3317
  itemUser: ["Latias"],
3324
3318
  onTakeItem(item, source) {
3325
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3326
- return false;
3327
- return true;
3319
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3328
3320
  },
3329
3321
  num: 684,
3330
3322
  gen: 6,
@@ -3333,13 +3325,10 @@ exports.Items = {
3333
3325
  latiosite: {
3334
3326
  name: "Latiosite",
3335
3327
  spritenum: 630,
3336
- megaStone: "Latios-Mega",
3337
- megaEvolves: "Latios",
3328
+ megaStone: { "Latios": "Latios-Mega" },
3338
3329
  itemUser: ["Latios"],
3339
3330
  onTakeItem(item, source) {
3340
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3341
- return false;
3342
- return true;
3331
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3343
3332
  },
3344
3333
  num: 685,
3345
3334
  gen: 6,
@@ -3524,13 +3513,10 @@ exports.Items = {
3524
3513
  lopunnite: {
3525
3514
  name: "Lopunnite",
3526
3515
  spritenum: 626,
3527
- megaStone: "Lopunny-Mega",
3528
- megaEvolves: "Lopunny",
3516
+ megaStone: { "Lopunny": "Lopunny-Mega" },
3529
3517
  itemUser: ["Lopunny"],
3530
3518
  onTakeItem(item, source) {
3531
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3532
- return false;
3533
- return true;
3519
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3534
3520
  },
3535
3521
  num: 768,
3536
3522
  gen: 6,
@@ -3555,18 +3541,27 @@ exports.Items = {
3555
3541
  lucarionite: {
3556
3542
  name: "Lucarionite",
3557
3543
  spritenum: 594,
3558
- megaStone: "Lucario-Mega",
3559
- megaEvolves: "Lucario",
3544
+ megaStone: { "Lucario": "Lucario-Mega" },
3560
3545
  itemUser: ["Lucario"],
3561
3546
  onTakeItem(item, source) {
3562
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3563
- return false;
3564
- return true;
3547
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3565
3548
  },
3566
3549
  num: 673,
3567
3550
  gen: 6,
3568
3551
  isNonstandard: "Past",
3569
3552
  },
3553
+ lucarionitez: {
3554
+ name: "Lucarionite Z",
3555
+ spritenum: 594,
3556
+ megaStone: { "Lucario": "Lucario-Mega-Z" },
3557
+ itemUser: ["Lucario"],
3558
+ onTakeItem(item, source) {
3559
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3560
+ },
3561
+ num: 2591,
3562
+ gen: 9,
3563
+ isNonstandard: "Future",
3564
+ },
3570
3565
  luckypunch: {
3571
3566
  name: "Lucky Punch",
3572
3567
  spritenum: 261,
@@ -3710,6 +3705,22 @@ exports.Items = {
3710
3705
  gen: 3,
3711
3706
  isNonstandard: "Past",
3712
3707
  },
3708
+ magearnite: {
3709
+ name: "Magearnite",
3710
+ spritenum: 0,
3711
+ megaStone: {
3712
+ "Magearna": "Magearna-Mega",
3713
+ "Magearna-Original": "Magearna-Original-Mega",
3714
+ },
3715
+ itemUser: ["Magearna", "Magearna-Original"],
3716
+ onTakeItem(item, source) {
3717
+ return !item.megaStone || (!item.megaStone[source.baseSpecies.name] &&
3718
+ !Object.values(item.megaStone).includes(source.baseSpecies.name));
3719
+ },
3720
+ num: 2597,
3721
+ gen: 9,
3722
+ isNonstandard: "Future",
3723
+ },
3713
3724
  magmarizer: {
3714
3725
  name: "Magmarizer",
3715
3726
  spritenum: 272,
@@ -3790,13 +3801,10 @@ exports.Items = {
3790
3801
  malamarite: {
3791
3802
  name: "Malamarite",
3792
3803
  spritenum: 563,
3793
- megaStone: "Malamar-Mega",
3794
- megaEvolves: "Malamar",
3804
+ megaStone: { "Malamar": "Malamar-Mega" },
3795
3805
  itemUser: ["Malamar"],
3796
3806
  onTakeItem(item, source) {
3797
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3798
- return false;
3799
- return true;
3807
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3800
3808
  },
3801
3809
  num: 2580,
3802
3810
  gen: 9,
@@ -3814,13 +3822,10 @@ exports.Items = {
3814
3822
  manectite: {
3815
3823
  name: "Manectite",
3816
3824
  spritenum: 596,
3817
- megaStone: "Manectric-Mega",
3818
- megaEvolves: "Manectric",
3825
+ megaStone: { "Manectric": "Manectric-Mega" },
3819
3826
  itemUser: ["Manectric"],
3820
3827
  onTakeItem(item, source) {
3821
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3822
- return false;
3823
- return true;
3828
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3824
3829
  },
3825
3830
  num: 682,
3826
3831
  gen: 6,
@@ -3875,13 +3880,10 @@ exports.Items = {
3875
3880
  mawilite: {
3876
3881
  name: "Mawilite",
3877
3882
  spritenum: 598,
3878
- megaStone: "Mawile-Mega",
3879
- megaEvolves: "Mawile",
3883
+ megaStone: { "Mawile": "Mawile-Mega" },
3880
3884
  itemUser: ["Mawile"],
3881
3885
  onTakeItem(item, source) {
3882
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3883
- return false;
3884
- return true;
3886
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3885
3887
  },
3886
3888
  num: 681,
3887
3889
  gen: 6,
@@ -3910,13 +3912,10 @@ exports.Items = {
3910
3912
  medichamite: {
3911
3913
  name: "Medichamite",
3912
3914
  spritenum: 599,
3913
- megaStone: "Medicham-Mega",
3914
- megaEvolves: "Medicham",
3915
+ megaStone: { "Medicham": "Medicham-Mega" },
3915
3916
  itemUser: ["Medicham"],
3916
3917
  onTakeItem(item, source) {
3917
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3918
- return false;
3919
- return true;
3918
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3920
3919
  },
3921
3920
  num: 665,
3922
3921
  gen: 6,
@@ -3925,13 +3924,10 @@ exports.Items = {
3925
3924
  meganiumite: {
3926
3925
  name: "Meganiumite",
3927
3926
  spritenum: 548,
3928
- megaStone: "Meganium-Mega",
3929
- megaEvolves: "Meganium",
3927
+ megaStone: { "Meganium": "Meganium-Mega" },
3930
3928
  itemUser: ["Meganium"],
3931
3929
  onTakeItem(item, source) {
3932
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3933
- return false;
3934
- return true;
3930
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3935
3931
  },
3936
3932
  num: 2563,
3937
3933
  gen: 9,
@@ -3976,16 +3972,29 @@ exports.Items = {
3976
3972
  num: 219,
3977
3973
  gen: 3,
3978
3974
  },
3975
+ meowsticite: {
3976
+ name: "Meowsticite",
3977
+ spritenum: 0,
3978
+ megaStone: {
3979
+ "Meowstic": "Meowstic-M-Mega",
3980
+ "Meowstic-F": "Meowstic-F-Mega",
3981
+ },
3982
+ itemUser: ["Meowstic", "Meowstic-F"],
3983
+ onTakeItem(item, source) {
3984
+ return !item.megaStone || (!item.megaStone[source.baseSpecies.name] &&
3985
+ !Object.values(item.megaStone).includes(source.baseSpecies.name));
3986
+ },
3987
+ num: 2594,
3988
+ gen: 9,
3989
+ isNonstandard: "Future",
3990
+ },
3979
3991
  metagrossite: {
3980
3992
  name: "Metagrossite",
3981
3993
  spritenum: 618,
3982
- megaStone: "Metagross-Mega",
3983
- megaEvolves: "Metagross",
3994
+ megaStone: { "Metagross": "Metagross-Mega" },
3984
3995
  itemUser: ["Metagross"],
3985
3996
  onTakeItem(item, source) {
3986
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3987
- return false;
3988
- return true;
3997
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3989
3998
  },
3990
3999
  num: 758,
3991
4000
  gen: 6,
@@ -4091,13 +4100,10 @@ exports.Items = {
4091
4100
  mewtwonitex: {
4092
4101
  name: "Mewtwonite X",
4093
4102
  spritenum: 600,
4094
- megaStone: "Mewtwo-Mega-X",
4095
- megaEvolves: "Mewtwo",
4103
+ megaStone: { "Mewtwo": "Mewtwo-Mega-X" },
4096
4104
  itemUser: ["Mewtwo"],
4097
4105
  onTakeItem(item, source) {
4098
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4099
- return false;
4100
- return true;
4106
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4101
4107
  },
4102
4108
  num: 662,
4103
4109
  gen: 6,
@@ -4106,13 +4112,10 @@ exports.Items = {
4106
4112
  mewtwonitey: {
4107
4113
  name: "Mewtwonite Y",
4108
4114
  spritenum: 601,
4109
- megaStone: "Mewtwo-Mega-Y",
4110
- megaEvolves: "Mewtwo",
4115
+ megaStone: { "Mewtwo": "Mewtwo-Mega-Y" },
4111
4116
  itemUser: ["Mewtwo"],
4112
4117
  onTakeItem(item, source) {
4113
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4114
- return false;
4115
- return true;
4118
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4116
4119
  },
4117
4120
  num: 663,
4118
4121
  gen: 6,
@@ -4615,13 +4618,10 @@ exports.Items = {
4615
4618
  pidgeotite: {
4616
4619
  name: "Pidgeotite",
4617
4620
  spritenum: 622,
4618
- megaStone: "Pidgeot-Mega",
4619
- megaEvolves: "Pidgeot",
4621
+ megaStone: { "Pidgeot": "Pidgeot-Mega" },
4620
4622
  itemUser: ["Pidgeot"],
4621
4623
  onTakeItem(item, source) {
4622
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4623
- return false;
4624
- return true;
4624
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4625
4625
  },
4626
4626
  num: 762,
4627
4627
  gen: 6,
@@ -4665,13 +4665,10 @@ exports.Items = {
4665
4665
  pinsirite: {
4666
4666
  name: "Pinsirite",
4667
4667
  spritenum: 602,
4668
- megaStone: "Pinsir-Mega",
4669
- megaEvolves: "Pinsir",
4668
+ megaStone: { "Pinsir": "Pinsir-Mega" },
4670
4669
  itemUser: ["Pinsir"],
4671
4670
  onTakeItem(item, source) {
4672
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4673
- return false;
4674
- return true;
4671
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4675
4672
  },
4676
4673
  num: 671,
4677
4674
  gen: 6,
@@ -5025,13 +5022,10 @@ exports.Items = {
5025
5022
  pyroarite: {
5026
5023
  name: "Pyroarite",
5027
5024
  spritenum: 561,
5028
- megaStone: "Pyroar-Mega",
5029
- megaEvolves: "Pyroar",
5025
+ megaStone: { "Pyroar": "Pyroar-Mega" },
5030
5026
  itemUser: ["Pyroar"],
5031
5027
  onTakeItem(item, source) {
5032
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5033
- return false;
5034
- return true;
5028
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5035
5029
  },
5036
5030
  num: 2578,
5037
5031
  gen: 9,
@@ -5103,6 +5097,30 @@ exports.Items = {
5103
5097
  gen: 3,
5104
5098
  isNonstandard: "Past",
5105
5099
  },
5100
+ raichunitex: {
5101
+ name: "Raichunite X",
5102
+ spritenum: 0,
5103
+ megaStone: { "Raichu": "Raichu-Mega-X" },
5104
+ itemUser: ["Raichu"],
5105
+ onTakeItem(item, source) {
5106
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5107
+ },
5108
+ num: 2585,
5109
+ gen: 9,
5110
+ isNonstandard: "Future",
5111
+ },
5112
+ raichunitey: {
5113
+ name: "Raichunite Y",
5114
+ spritenum: 0,
5115
+ megaStone: { "Raichu": "Raichu-Mega-Y" },
5116
+ itemUser: ["Raichu"],
5117
+ onTakeItem(item, source) {
5118
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5119
+ },
5120
+ num: 2586,
5121
+ gen: 9,
5122
+ isNonstandard: "Future",
5123
+ },
5106
5124
  rarebone: {
5107
5125
  name: "Rare Bone",
5108
5126
  spritenum: 379,
@@ -5480,13 +5498,10 @@ exports.Items = {
5480
5498
  sablenite: {
5481
5499
  name: "Sablenite",
5482
5500
  spritenum: 614,
5483
- megaStone: "Sableye-Mega",
5484
- megaEvolves: "Sableye",
5501
+ megaStone: { "Sableye": "Sableye-Mega" },
5485
5502
  itemUser: ["Sableye"],
5486
5503
  onTakeItem(item, source) {
5487
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5488
- return false;
5489
- return true;
5504
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5490
5505
  },
5491
5506
  num: 754,
5492
5507
  gen: 6,
@@ -5561,13 +5576,10 @@ exports.Items = {
5561
5576
  salamencite: {
5562
5577
  name: "Salamencite",
5563
5578
  spritenum: 627,
5564
- megaStone: "Salamence-Mega",
5565
- megaEvolves: "Salamence",
5579
+ megaStone: { "Salamence": "Salamence-Mega" },
5566
5580
  itemUser: ["Salamence"],
5567
5581
  onTakeItem(item, source) {
5568
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5569
- return false;
5570
- return true;
5582
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5571
5583
  },
5572
5584
  num: 769,
5573
5585
  gen: 6,
@@ -5576,13 +5588,10 @@ exports.Items = {
5576
5588
  sceptilite: {
5577
5589
  name: "Sceptilite",
5578
5590
  spritenum: 613,
5579
- megaStone: "Sceptile-Mega",
5580
- megaEvolves: "Sceptile",
5591
+ megaStone: { "Sceptile": "Sceptile-Mega" },
5581
5592
  itemUser: ["Sceptile"],
5582
5593
  onTakeItem(item, source) {
5583
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5584
- return false;
5585
- return true;
5594
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5586
5595
  },
5587
5596
  num: 753,
5588
5597
  gen: 6,
@@ -5591,13 +5600,10 @@ exports.Items = {
5591
5600
  scizorite: {
5592
5601
  name: "Scizorite",
5593
5602
  spritenum: 605,
5594
- megaStone: "Scizor-Mega",
5595
- megaEvolves: "Scizor",
5603
+ megaStone: { "Scizor": "Scizor-Mega" },
5596
5604
  itemUser: ["Scizor"],
5597
5605
  onTakeItem(item, source) {
5598
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5599
- return false;
5600
- return true;
5606
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5601
5607
  },
5602
5608
  num: 670,
5603
5609
  gen: 6,
@@ -5606,13 +5612,10 @@ exports.Items = {
5606
5612
  scolipite: {
5607
5613
  name: "Scolipite",
5608
5614
  spritenum: 554,
5609
- megaStone: "Scolipede-Mega",
5610
- megaEvolves: "Scolipede",
5615
+ megaStone: { "Scolipede": "Scolipede-Mega" },
5611
5616
  itemUser: ["Scolipede"],
5612
5617
  onTakeItem(item, source) {
5613
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5614
- return false;
5615
- return true;
5618
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5616
5619
  },
5617
5620
  num: 2571,
5618
5621
  gen: 9,
@@ -5630,16 +5633,25 @@ exports.Items = {
5630
5633
  num: 232,
5631
5634
  gen: 2,
5632
5635
  },
5636
+ scovillainite: {
5637
+ name: "Scovillainite",
5638
+ spritenum: 0,
5639
+ megaStone: { "Scovillain": "Scovillain-Mega" },
5640
+ itemUser: ["Scovillain"],
5641
+ onTakeItem(item, source) {
5642
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5643
+ },
5644
+ num: 2599,
5645
+ gen: 9,
5646
+ isNonstandard: "Future",
5647
+ },
5633
5648
  scraftinite: {
5634
5649
  name: "Scraftinite",
5635
5650
  spritenum: 555,
5636
- megaStone: "Scrafty-Mega",
5637
- megaEvolves: "Scrafty",
5651
+ megaStone: { "Scrafty": "Scrafty-Mega" },
5638
5652
  itemUser: ["Scrafty"],
5639
5653
  onTakeItem(item, source) {
5640
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5641
- return false;
5642
- return true;
5654
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5643
5655
  },
5644
5656
  num: 2572,
5645
5657
  gen: 9,
@@ -5679,13 +5691,10 @@ exports.Items = {
5679
5691
  sharpedonite: {
5680
5692
  name: "Sharpedonite",
5681
5693
  spritenum: 619,
5682
- megaStone: "Sharpedo-Mega",
5683
- megaEvolves: "Sharpedo",
5694
+ megaStone: { "Sharpedo": "Sharpedo-Mega" },
5684
5695
  itemUser: ["Sharpedo"],
5685
5696
  onTakeItem(item, source) {
5686
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5687
- return false;
5688
- return true;
5697
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5689
5698
  },
5690
5699
  num: 759,
5691
5700
  gen: 6,
@@ -5828,13 +5837,10 @@ exports.Items = {
5828
5837
  skarmorite: {
5829
5838
  name: "Skarmorite",
5830
5839
  spritenum: 550,
5831
- megaStone: "Skarmory-Mega",
5832
- megaEvolves: "Skarmory",
5840
+ megaStone: { "Skarmory": "Skarmory-Mega" },
5833
5841
  itemUser: ["Skarmory"],
5834
5842
  onTakeItem(item, source) {
5835
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5836
- return false;
5837
- return true;
5843
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5838
5844
  },
5839
5845
  num: 2565,
5840
5846
  gen: 9,
@@ -5873,13 +5879,10 @@ exports.Items = {
5873
5879
  slowbronite: {
5874
5880
  name: "Slowbronite",
5875
5881
  spritenum: 620,
5876
- megaStone: "Slowbro-Mega",
5877
- megaEvolves: "Slowbro",
5882
+ megaStone: { "Slowbro": "Slowbro-Mega" },
5878
5883
  itemUser: ["Slowbro"],
5879
5884
  onTakeItem(item, source) {
5880
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5881
- return false;
5882
- return true;
5885
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5883
5886
  },
5884
5887
  num: 760,
5885
5888
  gen: 6,
@@ -6040,6 +6043,18 @@ exports.Items = {
6040
6043
  gen: 2,
6041
6044
  isPokeball: true,
6042
6045
  },
6046
+ staraptite: {
6047
+ name: "Staraptite",
6048
+ spritenum: 0,
6049
+ megaStone: { "Staraptor": "Staraptor-Mega" },
6050
+ itemUser: ["Staraptor"],
6051
+ onTakeItem(item, source) {
6052
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6053
+ },
6054
+ num: 2589,
6055
+ gen: 9,
6056
+ isNonstandard: "Future",
6057
+ },
6043
6058
  starfberry: {
6044
6059
  name: "Starf Berry",
6045
6060
  spritenum: 472,
@@ -6075,13 +6090,10 @@ exports.Items = {
6075
6090
  starminite: {
6076
6091
  name: "Starminite",
6077
6092
  spritenum: 546,
6078
- megaStone: "Starmie-Mega",
6079
- megaEvolves: "Starmie",
6093
+ megaStone: { "Starmie": "Starmie-Mega" },
6080
6094
  itemUser: ["Starmie"],
6081
6095
  onTakeItem(item, source) {
6082
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6083
- return false;
6084
- return true;
6096
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6085
6097
  },
6086
6098
  num: 2561,
6087
6099
  gen: 9,
@@ -6126,13 +6138,10 @@ exports.Items = {
6126
6138
  steelixite: {
6127
6139
  name: "Steelixite",
6128
6140
  spritenum: 621,
6129
- megaStone: "Steelix-Mega",
6130
- megaEvolves: "Steelix",
6141
+ megaStone: { "Steelix": "Steelix-Mega" },
6131
6142
  itemUser: ["Steelix"],
6132
6143
  onTakeItem(item, source) {
6133
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6134
- return false;
6135
- return true;
6144
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6136
6145
  },
6137
6146
  num: 761,
6138
6147
  gen: 6,
@@ -6242,13 +6251,10 @@ exports.Items = {
6242
6251
  swampertite: {
6243
6252
  name: "Swampertite",
6244
6253
  spritenum: 612,
6245
- megaStone: "Swampert-Mega",
6246
- megaEvolves: "Swampert",
6254
+ megaStone: { "Swampert": "Swampert-Mega" },
6247
6255
  itemUser: ["Swampert"],
6248
6256
  onTakeItem(item, source) {
6249
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6250
- return false;
6251
- return true;
6257
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6252
6258
  },
6253
6259
  num: 752,
6254
6260
  gen: 6,
@@ -6328,6 +6334,23 @@ exports.Items = {
6328
6334
  num: 1117,
6329
6335
  gen: 8,
6330
6336
  },
6337
+ tatsugirinite: {
6338
+ name: "Tatsugirinite",
6339
+ spritenum: 0,
6340
+ megaStone: {
6341
+ "Tatsugiri": "Tatsugiri-Curly-Mega",
6342
+ "Tatsugiri-Droopy": "Tatsugiri-Droopy-Mega",
6343
+ "Tatsugiri-Stretchy": "Tatsugiri-Stretchy-Mega",
6344
+ },
6345
+ itemUser: ["Tatsugiri", "Tatsugiri-Droopy", "Tatsugiri-Stretchy"],
6346
+ onTakeItem(item, source) {
6347
+ return !item.megaStone || (!item.megaStone[source.baseSpecies.name] &&
6348
+ !Object.values(item.megaStone).includes(source.baseSpecies.name));
6349
+ },
6350
+ num: 2601,
6351
+ gen: 9,
6352
+ isNonstandard: "Future",
6353
+ },
6331
6354
  terrainextender: {
6332
6355
  name: "Terrain Extender",
6333
6356
  spritenum: 662,
@@ -7440,13 +7463,10 @@ exports.Items = {
7440
7463
  tyranitarite: {
7441
7464
  name: "Tyranitarite",
7442
7465
  spritenum: 607,
7443
- megaStone: "Tyranitar-Mega",
7444
- megaEvolves: "Tyranitar",
7466
+ megaStone: { "Tyranitar": "Tyranitar-Mega" },
7445
7467
  itemUser: ["Tyranitar"],
7446
7468
  onTakeItem(item, source) {
7447
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
7448
- return false;
7449
- return true;
7469
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
7450
7470
  },
7451
7471
  num: 669,
7452
7472
  gen: 6,
@@ -7522,13 +7542,10 @@ exports.Items = {
7522
7542
  venusaurite: {
7523
7543
  name: "Venusaurite",
7524
7544
  spritenum: 608,
7525
- megaStone: "Venusaur-Mega",
7526
- megaEvolves: "Venusaur",
7545
+ megaStone: { "Venusaur": "Venusaur-Mega" },
7527
7546
  itemUser: ["Venusaur"],
7528
7547
  onTakeItem(item, source) {
7529
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
7530
- return false;
7531
- return true;
7548
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
7532
7549
  },
7533
7550
  num: 659,
7534
7551
  gen: 6,
@@ -7537,13 +7554,10 @@ exports.Items = {
7537
7554
  victreebelite: {
7538
7555
  name: "Victreebelite",
7539
7556
  spritenum: 545,
7540
- megaStone: "Victreebel-Mega",
7541
- megaEvolves: "Victreebel",
7557
+ megaStone: { "Victreebel": "Victreebel-Mega" },
7542
7558
  itemUser: ["Victreebel"],
7543
7559
  onTakeItem(item, source) {
7544
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
7545
- return false;
7546
- return true;
7560
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
7547
7561
  },
7548
7562
  num: 2560,
7549
7563
  gen: 9,
@@ -7874,6 +7888,18 @@ exports.Items = {
7874
7888
  num: 300,
7875
7889
  gen: 4,
7876
7890
  },
7891
+ zeraorite: {
7892
+ name: "Zeraorite",
7893
+ spritenum: 0,
7894
+ megaStone: { "Zeraora": "Zeraora-Mega" },
7895
+ itemUser: ["Zeraora"],
7896
+ onTakeItem(item, source) {
7897
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
7898
+ },
7899
+ num: 2598,
7900
+ gen: 9,
7901
+ isNonstandard: "Future",
7902
+ },
7877
7903
  zoomlens: {
7878
7904
  name: "Zoom Lens",
7879
7905
  spritenum: 574,
@@ -7893,13 +7919,10 @@ exports.Items = {
7893
7919
  zygardite: {
7894
7920
  name: "Zygardite",
7895
7921
  spritenum: 568,
7896
- megaStone: "Zygarde-Mega",
7897
- megaEvolves: "Zygarde-Complete",
7922
+ megaStone: { "Zygarde-Complete": "Zygarde-Mega" },
7898
7923
  itemUser: ["Zygarde-Complete"],
7899
7924
  onTakeItem(item, source) {
7900
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
7901
- return false;
7902
- return true;
7925
+ return source.baseSpecies.baseSpecies !== 'Zygarde';
7903
7926
  },
7904
7927
  num: 2584,
7905
7928
  gen: 9,
@@ -8192,13 +8215,10 @@ exports.Items = {
8192
8215
  crucibellite: {
8193
8216
  name: "Crucibellite",
8194
8217
  spritenum: 577,
8195
- megaStone: "Crucibelle-Mega",
8196
- megaEvolves: "Crucibelle",
8218
+ megaStone: { "Crucibelle": "Crucibelle-Mega" },
8197
8219
  itemUser: ["Crucibelle"],
8198
8220
  onTakeItem(item, source) {
8199
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
8200
- return false;
8201
- return true;
8221
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
8202
8222
  },
8203
8223
  num: -1,
8204
8224
  gen: 6,