@pkmn/sim 0.10.4 → 0.10.6

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 (111) hide show
  1. package/LICENSE +1 -1
  2. package/build/cjs/config/formats.js +124 -189
  3. package/build/cjs/config/formats.js.map +1 -1
  4. package/build/cjs/data/aliases.js +4 -2
  5. package/build/cjs/data/aliases.js.map +1 -1
  6. package/build/cjs/data/items.js +200 -467
  7. package/build/cjs/data/items.js.map +1 -1
  8. package/build/cjs/data/legality.js +25 -9
  9. package/build/cjs/data/legality.js.map +1 -1
  10. package/build/cjs/data/mods/gen2/formats-data.js +11 -11
  11. package/build/cjs/data/mods/gen2/formats-data.js.map +1 -1
  12. package/build/cjs/data/mods/gen2/moves.js +10 -0
  13. package/build/cjs/data/mods/gen2/moves.js.map +1 -1
  14. package/build/cjs/data/mods/gen3/moves.js +16 -0
  15. package/build/cjs/data/mods/gen3/moves.js.map +1 -1
  16. package/build/cjs/data/mods/gen4/moves.js +18 -1
  17. package/build/cjs/data/mods/gen4/moves.js.map +1 -1
  18. package/build/cjs/data/mods/gen4/scripts.js +0 -3
  19. package/build/cjs/data/mods/gen4/scripts.js.map +1 -1
  20. package/build/cjs/data/mods/gen6/formats-data.js +1 -1
  21. package/build/cjs/data/mods/gen6/formats-data.js.map +1 -1
  22. package/build/cjs/data/mods/gen7/formats-data.js +1 -1
  23. package/build/cjs/data/mods/gen7/formats-data.js.map +1 -1
  24. package/build/cjs/data/mods/gen8/formats-data.js +1 -1
  25. package/build/cjs/data/mods/gen8/formats-data.js.map +1 -1
  26. package/build/cjs/data/moves.js +4 -9
  27. package/build/cjs/data/moves.js.map +1 -1
  28. package/build/cjs/data/rulesets.js +3 -67
  29. package/build/cjs/data/rulesets.js.map +1 -1
  30. package/build/cjs/eslint.config.d.mts +2 -0
  31. package/build/cjs/eslint.config.mjs +41 -0
  32. package/build/cjs/eslint.config.mjs.map +1 -0
  33. package/build/cjs/lib/utils.js +1 -1
  34. package/build/cjs/lib/utils.js.map +1 -1
  35. package/build/cjs/sim/battle-actions.d.ts +1 -1
  36. package/build/cjs/sim/battle-actions.js +7 -14
  37. package/build/cjs/sim/battle-actions.js.map +1 -1
  38. package/build/cjs/sim/battle.d.ts +1 -1
  39. package/build/cjs/sim/battle.js +3 -3
  40. package/build/cjs/sim/battle.js.map +1 -1
  41. package/build/cjs/sim/dex-abilities.js +1 -1
  42. package/build/cjs/sim/dex-abilities.js.map +1 -1
  43. package/build/cjs/sim/dex-conditions.js +1 -1
  44. package/build/cjs/sim/dex-conditions.js.map +1 -1
  45. package/build/cjs/sim/dex-data.js +2 -2
  46. package/build/cjs/sim/dex-data.js.map +1 -1
  47. package/build/cjs/sim/dex-items.d.ts +5 -9
  48. package/build/cjs/sim/dex-items.js +1 -2
  49. package/build/cjs/sim/dex-items.js.map +1 -1
  50. package/build/cjs/sim/dex-moves.js +1 -1
  51. package/build/cjs/sim/dex-moves.js.map +1 -1
  52. package/build/cjs/sim/dex-species.js +1 -1
  53. package/build/cjs/sim/dex-species.js.map +1 -1
  54. package/build/cjs/sim/team-validator.js +15 -10
  55. package/build/cjs/sim/team-validator.js.map +1 -1
  56. package/build/cjs/sim/tools/exhaustive-runner.js +2 -2
  57. package/build/cjs/sim/tools/exhaustive-runner.js.map +1 -1
  58. package/build/esm/config/formats.mjs +124 -189
  59. package/build/esm/config/formats.mjs.map +1 -1
  60. package/build/esm/data/aliases.mjs +4 -2
  61. package/build/esm/data/aliases.mjs.map +1 -1
  62. package/build/esm/data/items.mjs +200 -467
  63. package/build/esm/data/items.mjs.map +1 -1
  64. package/build/esm/data/legality.mjs +25 -9
  65. package/build/esm/data/legality.mjs.map +1 -1
  66. package/build/esm/data/mods/gen2/formats-data.mjs +11 -11
  67. package/build/esm/data/mods/gen2/formats-data.mjs.map +1 -1
  68. package/build/esm/data/mods/gen2/moves.mjs +10 -0
  69. package/build/esm/data/mods/gen2/moves.mjs.map +1 -1
  70. package/build/esm/data/mods/gen3/moves.mjs +16 -0
  71. package/build/esm/data/mods/gen3/moves.mjs.map +1 -1
  72. package/build/esm/data/mods/gen4/moves.mjs +18 -1
  73. package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
  74. package/build/esm/data/mods/gen4/scripts.mjs +0 -3
  75. package/build/esm/data/mods/gen4/scripts.mjs.map +1 -1
  76. package/build/esm/data/mods/gen6/formats-data.mjs +1 -1
  77. package/build/esm/data/mods/gen6/formats-data.mjs.map +1 -1
  78. package/build/esm/data/mods/gen7/formats-data.mjs +1 -1
  79. package/build/esm/data/mods/gen7/formats-data.mjs.map +1 -1
  80. package/build/esm/data/mods/gen8/formats-data.mjs +1 -1
  81. package/build/esm/data/mods/gen8/formats-data.mjs.map +1 -1
  82. package/build/esm/data/moves.mjs +4 -9
  83. package/build/esm/data/moves.mjs.map +1 -1
  84. package/build/esm/data/rulesets.mjs +3 -67
  85. package/build/esm/data/rulesets.mjs.map +1 -1
  86. package/build/esm/lib/utils.mjs +1 -1
  87. package/build/esm/lib/utils.mjs.map +1 -1
  88. package/build/esm/sim/battle-actions.d.mts +1 -1
  89. package/build/esm/sim/battle-actions.mjs +7 -14
  90. package/build/esm/sim/battle-actions.mjs.map +1 -1
  91. package/build/esm/sim/battle.d.mts +1 -1
  92. package/build/esm/sim/battle.mjs +3 -3
  93. package/build/esm/sim/battle.mjs.map +1 -1
  94. package/build/esm/sim/dex-abilities.mjs +1 -1
  95. package/build/esm/sim/dex-abilities.mjs.map +1 -1
  96. package/build/esm/sim/dex-conditions.mjs +1 -1
  97. package/build/esm/sim/dex-conditions.mjs.map +1 -1
  98. package/build/esm/sim/dex-data.mjs +2 -2
  99. package/build/esm/sim/dex-data.mjs.map +1 -1
  100. package/build/esm/sim/dex-items.d.mts +5 -9
  101. package/build/esm/sim/dex-items.mjs +1 -2
  102. package/build/esm/sim/dex-items.mjs.map +1 -1
  103. package/build/esm/sim/dex-moves.mjs +1 -1
  104. package/build/esm/sim/dex-moves.mjs.map +1 -1
  105. package/build/esm/sim/dex-species.mjs +1 -1
  106. package/build/esm/sim/dex-species.mjs.map +1 -1
  107. package/build/esm/sim/team-validator.mjs +15 -10
  108. package/build/esm/sim/team-validator.mjs.map +1 -1
  109. package/build/esm/sim/tools/exhaustive-runner.mjs +2 -2
  110. package/build/esm/sim/tools/exhaustive-runner.mjs.map +1 -1
  111. 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,13 +37,10 @@ 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,
@@ -55,13 +49,10 @@ exports.Items = {
55
49
  absolitez: {
56
50
  name: "Absolite Z",
57
51
  spritenum: 576,
58
- megaStone: "Absol-Mega-Z",
59
- megaEvolves: "Absol",
52
+ megaStone: { "Absol": "Absol-Mega-Z" },
60
53
  itemUser: ["Absol"],
61
54
  onTakeItem(item, source) {
62
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
63
- return false;
64
- return true;
55
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
65
56
  },
66
57
  num: 2588,
67
58
  gen: 9,
@@ -147,13 +138,10 @@ exports.Items = {
147
138
  aerodactylite: {
148
139
  name: "Aerodactylite",
149
140
  spritenum: 577,
150
- megaStone: "Aerodactyl-Mega",
151
- megaEvolves: "Aerodactyl",
141
+ megaStone: { "Aerodactyl": "Aerodactyl-Mega" },
152
142
  itemUser: ["Aerodactyl"],
153
143
  onTakeItem(item, source) {
154
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
155
- return false;
156
- return true;
144
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
157
145
  },
158
146
  num: 672,
159
147
  gen: 6,
@@ -162,13 +150,10 @@ exports.Items = {
162
150
  aggronite: {
163
151
  name: "Aggronite",
164
152
  spritenum: 578,
165
- megaStone: "Aggron-Mega",
166
- megaEvolves: "Aggron",
153
+ megaStone: { "Aggron": "Aggron-Mega" },
167
154
  itemUser: ["Aggron"],
168
155
  onTakeItem(item, source) {
169
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
170
- return false;
171
- return true;
156
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
172
157
  },
173
158
  num: 667,
174
159
  gen: 6,
@@ -234,13 +219,10 @@ exports.Items = {
234
219
  alakazite: {
235
220
  name: "Alakazite",
236
221
  spritenum: 579,
237
- megaStone: "Alakazam-Mega",
238
- megaEvolves: "Alakazam",
222
+ megaStone: { "Alakazam": "Alakazam-Mega" },
239
223
  itemUser: ["Alakazam"],
240
224
  onTakeItem(item, source) {
241
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
242
- return false;
243
- return true;
225
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
244
226
  },
245
227
  num: 679,
246
228
  gen: 6,
@@ -260,13 +242,10 @@ exports.Items = {
260
242
  altarianite: {
261
243
  name: "Altarianite",
262
244
  spritenum: 615,
263
- megaStone: "Altaria-Mega",
264
- megaEvolves: "Altaria",
245
+ megaStone: { "Altaria": "Altaria-Mega" },
265
246
  itemUser: ["Altaria"],
266
247
  onTakeItem(item, source) {
267
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
268
- return false;
269
- return true;
248
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
270
249
  },
271
250
  num: 755,
272
251
  gen: 6,
@@ -275,13 +254,10 @@ exports.Items = {
275
254
  ampharosite: {
276
255
  name: "Ampharosite",
277
256
  spritenum: 580,
278
- megaStone: "Ampharos-Mega",
279
- megaEvolves: "Ampharos",
257
+ megaStone: { "Ampharos": "Ampharos-Mega" },
280
258
  itemUser: ["Ampharos"],
281
259
  onTakeItem(item, source) {
282
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
283
- return false;
284
- return true;
260
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
285
261
  },
286
262
  num: 658,
287
263
  gen: 6,
@@ -362,13 +338,10 @@ exports.Items = {
362
338
  audinite: {
363
339
  name: "Audinite",
364
340
  spritenum: 617,
365
- megaStone: "Audino-Mega",
366
- megaEvolves: "Audino",
341
+ megaStone: { "Audino": "Audino-Mega" },
367
342
  itemUser: ["Audino"],
368
343
  onTakeItem(item, source) {
369
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
370
- return false;
371
- return true;
344
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
372
345
  },
373
346
  num: 757,
374
347
  gen: 6,
@@ -410,13 +383,10 @@ exports.Items = {
410
383
  banettite: {
411
384
  name: "Banettite",
412
385
  spritenum: 582,
413
- megaStone: "Banette-Mega",
414
- megaEvolves: "Banette",
386
+ megaStone: { "Banette": "Banette-Mega" },
415
387
  itemUser: ["Banette"],
416
388
  onTakeItem(item, source) {
417
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
418
- return false;
419
- return true;
389
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
420
390
  },
421
391
  num: 668,
422
392
  gen: 6,
@@ -425,13 +395,10 @@ exports.Items = {
425
395
  barbaracite: {
426
396
  name: "Barbaracite",
427
397
  spritenum: 564,
428
- megaStone: "Barbaracle-Mega",
429
- megaEvolves: "Barbaracle",
398
+ megaStone: { "Barbaracle": "Barbaracle-Mega" },
430
399
  itemUser: ["Barbaracle"],
431
400
  onTakeItem(item, source) {
432
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
433
- return false;
434
- return true;
401
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
435
402
  },
436
403
  num: 2581,
437
404
  gen: 9,
@@ -440,13 +407,10 @@ exports.Items = {
440
407
  baxcalibrite: {
441
408
  name: "Baxcalibrite",
442
409
  spritenum: 0,
443
- megaStone: "Baxcalibur-Mega",
444
- megaEvolves: "Baxcalibur",
410
+ megaStone: { "Baxcalibur": "Baxcalibur-Mega" },
445
411
  itemUser: ["Baxcalibur"],
446
412
  onTakeItem(item, source) {
447
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
448
- return false;
449
- return true;
413
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
450
414
  },
451
415
  num: 2601,
452
416
  gen: 9,
@@ -462,13 +426,10 @@ exports.Items = {
462
426
  beedrillite: {
463
427
  name: "Beedrillite",
464
428
  spritenum: 628,
465
- megaStone: "Beedrill-Mega",
466
- megaEvolves: "Beedrill",
429
+ megaStone: { "Beedrill": "Beedrill-Mega" },
467
430
  itemUser: ["Beedrill"],
468
431
  onTakeItem(item, source) {
469
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
470
- return false;
471
- return true;
432
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
472
433
  },
473
434
  num: 770,
474
435
  gen: 6,
@@ -600,13 +561,10 @@ exports.Items = {
600
561
  blastoisinite: {
601
562
  name: "Blastoisinite",
602
563
  spritenum: 583,
603
- megaStone: "Blastoise-Mega",
604
- megaEvolves: "Blastoise",
564
+ megaStone: { "Blastoise": "Blastoise-Mega" },
605
565
  itemUser: ["Blastoise"],
606
566
  onTakeItem(item, source) {
607
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
608
- return false;
609
- return true;
567
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
610
568
  },
611
569
  num: 661,
612
570
  gen: 6,
@@ -615,13 +573,10 @@ exports.Items = {
615
573
  blazikenite: {
616
574
  name: "Blazikenite",
617
575
  spritenum: 584,
618
- megaStone: "Blaziken-Mega",
619
- megaEvolves: "Blaziken",
576
+ megaStone: { "Blaziken": "Blaziken-Mega" },
620
577
  itemUser: ["Blaziken"],
621
578
  onTakeItem(item, source) {
622
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
623
- return false;
624
- return true;
579
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
625
580
  },
626
581
  num: 664,
627
582
  gen: 6,
@@ -786,13 +741,10 @@ exports.Items = {
786
741
  cameruptite: {
787
742
  name: "Cameruptite",
788
743
  spritenum: 625,
789
- megaStone: "Camerupt-Mega",
790
- megaEvolves: "Camerupt",
744
+ megaStone: { "Camerupt": "Camerupt-Mega" },
791
745
  itemUser: ["Camerupt"],
792
746
  onTakeItem(item, source) {
793
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
794
- return false;
795
- return true;
747
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
796
748
  },
797
749
  num: 767,
798
750
  gen: 6,
@@ -818,13 +770,10 @@ exports.Items = {
818
770
  chandelurite: {
819
771
  name: "Chandelurite",
820
772
  spritenum: 557,
821
- megaStone: "Chandelure-Mega",
822
- megaEvolves: "Chandelure",
773
+ megaStone: { "Chandelure": "Chandelure-Mega" },
823
774
  itemUser: ["Chandelure"],
824
775
  onTakeItem(item, source) {
825
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
826
- return false;
827
- return true;
776
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
828
777
  },
829
778
  num: 2574,
830
779
  gen: 9,
@@ -848,13 +797,10 @@ exports.Items = {
848
797
  charizarditex: {
849
798
  name: "Charizardite X",
850
799
  spritenum: 585,
851
- megaStone: "Charizard-Mega-X",
852
- megaEvolves: "Charizard",
800
+ megaStone: { "Charizard": "Charizard-Mega-X" },
853
801
  itemUser: ["Charizard"],
854
802
  onTakeItem(item, source) {
855
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
856
- return false;
857
- return true;
803
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
858
804
  },
859
805
  num: 660,
860
806
  gen: 6,
@@ -863,13 +809,10 @@ exports.Items = {
863
809
  charizarditey: {
864
810
  name: "Charizardite Y",
865
811
  spritenum: 586,
866
- megaStone: "Charizard-Mega-Y",
867
- megaEvolves: "Charizard",
812
+ megaStone: { "Charizard": "Charizard-Mega-Y" },
868
813
  itemUser: ["Charizard"],
869
814
  onTakeItem(item, source) {
870
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
871
- return false;
872
- return true;
815
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
873
816
  },
874
817
  num: 678,
875
818
  gen: 6,
@@ -931,13 +874,10 @@ exports.Items = {
931
874
  chesnaughtite: {
932
875
  name: "Chesnaughtite",
933
876
  spritenum: 558,
934
- megaStone: "Chesnaught-Mega",
935
- megaEvolves: "Chesnaught",
877
+ megaStone: { "Chesnaught": "Chesnaught-Mega" },
936
878
  itemUser: ["Chesnaught"],
937
879
  onTakeItem(item, source) {
938
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
939
- return false;
940
- return true;
880
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
941
881
  },
942
882
  num: 2575,
943
883
  gen: 9,
@@ -1005,13 +945,10 @@ exports.Items = {
1005
945
  chimechite: {
1006
946
  name: "Chimechite",
1007
947
  spritenum: 0,
1008
- megaStone: "Chimecho-Mega",
1009
- megaEvolves: "Chimecho",
948
+ megaStone: { "Chimecho": "Chimecho-Mega" },
1010
949
  itemUser: ["Chimecho"],
1011
950
  onTakeItem(item, source) {
1012
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1013
- return false;
1014
- return true;
951
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1015
952
  },
1016
953
  num: 2587,
1017
954
  gen: 9,
@@ -1162,13 +1099,10 @@ exports.Items = {
1162
1099
  clefablite: {
1163
1100
  name: "Clefablite",
1164
1101
  spritenum: 544,
1165
- megaStone: "Clefable-Mega",
1166
- megaEvolves: "Clefable",
1102
+ megaStone: { "Clefable": "Clefable-Mega" },
1167
1103
  itemUser: ["Clefable"],
1168
1104
  onTakeItem(item, source) {
1169
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1170
- return false;
1171
- return true;
1105
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1172
1106
  },
1173
1107
  num: 2559,
1174
1108
  gen: 9,
@@ -1292,13 +1226,10 @@ exports.Items = {
1292
1226
  crabominite: {
1293
1227
  name: "Crabominite",
1294
1228
  spritenum: 0,
1295
- megaStone: "Crabominable-Mega",
1296
- megaEvolves: "Crabominable",
1229
+ megaStone: { "Crabominable": "Crabominable-Mega" },
1297
1230
  itemUser: ["Crabominable"],
1298
1231
  onTakeItem(item, source) {
1299
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1300
- return false;
1301
- return true;
1232
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1302
1233
  },
1303
1234
  num: 2595,
1304
1235
  gen: 9,
@@ -1391,13 +1322,10 @@ exports.Items = {
1391
1322
  darkranite: {
1392
1323
  name: "Darkranite",
1393
1324
  spritenum: 0,
1394
- megaStone: "Darkrai-Mega",
1395
- megaEvolves: "Darkrai",
1325
+ megaStone: { "Darkrai": "Darkrai-Mega" },
1396
1326
  itemUser: ["Darkrai"],
1397
1327
  onTakeItem(item, source) {
1398
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1399
- return false;
1400
- return true;
1328
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1401
1329
  },
1402
1330
  num: 2593,
1403
1331
  gen: 9,
@@ -1460,13 +1388,10 @@ exports.Items = {
1460
1388
  delphoxite: {
1461
1389
  name: "Delphoxite",
1462
1390
  spritenum: 559,
1463
- megaStone: "Delphox-Mega",
1464
- megaEvolves: "Delphox",
1391
+ megaStone: { "Delphox": "Delphox-Mega" },
1465
1392
  itemUser: ["Delphox"],
1466
1393
  onTakeItem(item, source) {
1467
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1468
- return false;
1469
- return true;
1394
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1470
1395
  },
1471
1396
  num: 2576,
1472
1397
  gen: 9,
@@ -1492,13 +1417,10 @@ exports.Items = {
1492
1417
  diancite: {
1493
1418
  name: "Diancite",
1494
1419
  spritenum: 624,
1495
- megaStone: "Diancie-Mega",
1496
- megaEvolves: "Diancie",
1420
+ megaStone: { "Diancie": "Diancie-Mega" },
1497
1421
  itemUser: ["Diancie"],
1498
1422
  onTakeItem(item, source) {
1499
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1500
- return false;
1501
- return true;
1423
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1502
1424
  },
1503
1425
  num: 764,
1504
1426
  gen: 6,
@@ -1560,13 +1482,10 @@ exports.Items = {
1560
1482
  dragalgite: {
1561
1483
  name: "Dragalgite",
1562
1484
  spritenum: 565,
1563
- megaStone: "Dragalge-Mega",
1564
- megaEvolves: "Dragalge",
1485
+ megaStone: { "Dragalge": "Dragalge-Mega" },
1565
1486
  itemUser: ["Dragalge"],
1566
1487
  onTakeItem(item, source) {
1567
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1568
- return false;
1569
- return true;
1488
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1570
1489
  },
1571
1490
  num: 2582,
1572
1491
  gen: 9,
@@ -1605,13 +1524,10 @@ exports.Items = {
1605
1524
  dragoninite: {
1606
1525
  name: "Dragoninite",
1607
1526
  spritenum: 547,
1608
- megaStone: "Dragonite-Mega",
1609
- megaEvolves: "Dragonite",
1527
+ megaStone: { "Dragonite": "Dragonite-Mega" },
1610
1528
  itemUser: ["Dragonite"],
1611
1529
  onTakeItem(item, source) {
1612
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1613
- return false;
1614
- return true;
1530
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1615
1531
  },
1616
1532
  num: 2562,
1617
1533
  gen: 9,
@@ -1657,13 +1573,10 @@ exports.Items = {
1657
1573
  drampanite: {
1658
1574
  name: "Drampanite",
1659
1575
  spritenum: 569,
1660
- megaStone: "Drampa-Mega",
1661
- megaEvolves: "Drampa",
1576
+ megaStone: { "Drampa": "Drampa-Mega" },
1662
1577
  itemUser: ["Drampa"],
1663
1578
  onTakeItem(item, source) {
1664
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1665
- return false;
1666
- return true;
1579
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1667
1580
  },
1668
1581
  num: 2585,
1669
1582
  gen: 9,
@@ -1757,13 +1670,10 @@ exports.Items = {
1757
1670
  eelektrossite: {
1758
1671
  name: "Eelektrossite",
1759
1672
  spritenum: 556,
1760
- megaStone: "Eelektross-Mega",
1761
- megaEvolves: "Eelektross",
1673
+ megaStone: { "Eelektross": "Eelektross-Mega" },
1762
1674
  itemUser: ["Eelektross"],
1763
1675
  onTakeItem(item, source) {
1764
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1765
- return false;
1766
- return true;
1676
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1767
1677
  },
1768
1678
  num: 2573,
1769
1679
  gen: 9,
@@ -1946,13 +1856,10 @@ exports.Items = {
1946
1856
  emboarite: {
1947
1857
  name: "Emboarite",
1948
1858
  spritenum: 552,
1949
- megaStone: "Emboar-Mega",
1950
- megaEvolves: "Emboar",
1859
+ megaStone: { "Emboar": "Emboar-Mega" },
1951
1860
  itemUser: ["Emboar"],
1952
1861
  onTakeItem(item, source) {
1953
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1954
- return false;
1955
- return true;
1862
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1956
1863
  },
1957
1864
  num: 2569,
1958
1865
  gen: 9,
@@ -2005,13 +1912,10 @@ exports.Items = {
2005
1912
  excadrite: {
2006
1913
  name: "Excadrite",
2007
1914
  spritenum: 553,
2008
- megaStone: "Excadrill-Mega",
2009
- megaEvolves: "Excadrill",
1915
+ megaStone: { "Excadrill": "Excadrill-Mega" },
2010
1916
  itemUser: ["Excadrill"],
2011
1917
  onTakeItem(item, source) {
2012
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2013
- return false;
2014
- return true;
1918
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2015
1919
  },
2016
1920
  num: 2570,
2017
1921
  gen: 9,
@@ -2092,13 +1996,10 @@ exports.Items = {
2092
1996
  falinksite: {
2093
1997
  name: "Falinksite",
2094
1998
  spritenum: 570,
2095
- megaStone: "Falinks-Mega",
2096
- megaEvolves: "Falinks",
1999
+ megaStone: { "Falinks": "Falinks-Mega" },
2097
2000
  itemUser: ["Falinks"],
2098
2001
  onTakeItem(item, source) {
2099
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2100
- return false;
2101
- return true;
2002
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2102
2003
  },
2103
2004
  num: 2586,
2104
2005
  gen: 9,
@@ -2114,13 +2015,10 @@ exports.Items = {
2114
2015
  feraligite: {
2115
2016
  name: "Feraligite",
2116
2017
  spritenum: 549,
2117
- megaStone: "Feraligatr-Mega",
2118
- megaEvolves: "Feraligatr",
2018
+ megaStone: { "Feraligatr": "Feraligatr-Mega" },
2119
2019
  itemUser: ["Feraligatr"],
2120
2020
  onTakeItem(item, source) {
2121
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2122
- return false;
2123
- return true;
2021
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2124
2022
  },
2125
2023
  num: 2564,
2126
2024
  gen: 9,
@@ -2318,13 +2216,11 @@ exports.Items = {
2318
2216
  floettite: {
2319
2217
  name: "Floettite",
2320
2218
  spritenum: 562,
2321
- megaStone: "Floette-Mega",
2322
- megaEvolves: "Floette-Eternal",
2219
+ megaStone: { "Floette-Eternal": "Floette-Mega" },
2323
2220
  itemUser: ["Floette-Eternal"],
2324
2221
  onTakeItem(item, source) {
2325
- if ([item.megaEvolves, item.megaStone].includes(source.baseSpecies.name))
2326
- return false;
2327
- return true;
2222
+ return !item.megaStone || (!item.megaStone[source.baseSpecies.name] &&
2223
+ !Object.values(item.megaStone).includes(source.baseSpecies.name));
2328
2224
  },
2329
2225
  num: 2579,
2330
2226
  gen: 9,
@@ -2465,13 +2361,10 @@ exports.Items = {
2465
2361
  froslassite: {
2466
2362
  name: "Froslassite",
2467
2363
  spritenum: 551,
2468
- megaStone: "Froslass-Mega",
2469
- megaEvolves: "Froslass",
2364
+ megaStone: { "Froslass": "Froslass-Mega" },
2470
2365
  itemUser: ["Froslass"],
2471
2366
  onTakeItem(item, source) {
2472
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2473
- return false;
2474
- return true;
2367
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2475
2368
  },
2476
2369
  num: 2566,
2477
2370
  gen: 9,
@@ -2509,13 +2402,10 @@ exports.Items = {
2509
2402
  galladite: {
2510
2403
  name: "Galladite",
2511
2404
  spritenum: 616,
2512
- megaStone: "Gallade-Mega",
2513
- megaEvolves: "Gallade",
2405
+ megaStone: { "Gallade": "Gallade-Mega" },
2514
2406
  itemUser: ["Gallade"],
2515
2407
  onTakeItem(item, source) {
2516
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2517
- return false;
2518
- return true;
2408
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2519
2409
  },
2520
2410
  num: 756,
2521
2411
  gen: 6,
@@ -2544,13 +2434,10 @@ exports.Items = {
2544
2434
  garchompite: {
2545
2435
  name: "Garchompite",
2546
2436
  spritenum: 573,
2547
- megaStone: "Garchomp-Mega",
2548
- megaEvolves: "Garchomp",
2437
+ megaStone: { "Garchomp": "Garchomp-Mega" },
2549
2438
  itemUser: ["Garchomp"],
2550
2439
  onTakeItem(item, source) {
2551
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2552
- return false;
2553
- return true;
2440
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2554
2441
  },
2555
2442
  num: 683,
2556
2443
  gen: 6,
@@ -2559,13 +2446,10 @@ exports.Items = {
2559
2446
  garchompitez: {
2560
2447
  name: "Garchompite Z",
2561
2448
  spritenum: 573,
2562
- megaStone: "Garchomp-Mega-Z",
2563
- megaEvolves: "Garchomp",
2449
+ megaStone: { "Garchomp": "Garchomp-Mega-Z" },
2564
2450
  itemUser: ["Garchomp"],
2565
2451
  onTakeItem(item, source) {
2566
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2567
- return false;
2568
- return true;
2452
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2569
2453
  },
2570
2454
  num: 2590,
2571
2455
  gen: 9,
@@ -2574,13 +2458,10 @@ exports.Items = {
2574
2458
  gardevoirite: {
2575
2459
  name: "Gardevoirite",
2576
2460
  spritenum: 587,
2577
- megaStone: "Gardevoir-Mega",
2578
- megaEvolves: "Gardevoir",
2461
+ megaStone: { "Gardevoir": "Gardevoir-Mega" },
2579
2462
  itemUser: ["Gardevoir"],
2580
2463
  onTakeItem(item, source) {
2581
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2582
- return false;
2583
- return true;
2464
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2584
2465
  },
2585
2466
  num: 657,
2586
2467
  gen: 6,
@@ -2589,13 +2470,10 @@ exports.Items = {
2589
2470
  gengarite: {
2590
2471
  name: "Gengarite",
2591
2472
  spritenum: 588,
2592
- megaStone: "Gengar-Mega",
2593
- megaEvolves: "Gengar",
2473
+ megaStone: { "Gengar": "Gengar-Mega" },
2594
2474
  itemUser: ["Gengar"],
2595
2475
  onTakeItem(item, source) {
2596
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2597
- return false;
2598
- return true;
2476
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2599
2477
  },
2600
2478
  num: 656,
2601
2479
  gen: 6,
@@ -2647,13 +2525,10 @@ exports.Items = {
2647
2525
  glalitite: {
2648
2526
  name: "Glalitite",
2649
2527
  spritenum: 623,
2650
- megaStone: "Glalie-Mega",
2651
- megaEvolves: "Glalie",
2528
+ megaStone: { "Glalie": "Glalie-Mega" },
2652
2529
  itemUser: ["Glalie"],
2653
2530
  onTakeItem(item, source) {
2654
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2655
- return false;
2656
- return true;
2531
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2657
2532
  },
2658
2533
  num: 763,
2659
2534
  gen: 6,
@@ -2662,13 +2537,10 @@ exports.Items = {
2662
2537
  glimmoranite: {
2663
2538
  name: "Glimmoranite",
2664
2539
  spritenum: 0,
2665
- megaStone: "Glimmora-Mega",
2666
- megaEvolves: "Glimmora",
2540
+ megaStone: { "Glimmora": "Glimmora-Mega" },
2667
2541
  itemUser: ["Glimmora"],
2668
2542
  onTakeItem(item, source) {
2669
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2670
- return false;
2671
- return true;
2543
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2672
2544
  },
2673
2545
  num: 2600,
2674
2546
  gen: 9,
@@ -2686,13 +2558,10 @@ exports.Items = {
2686
2558
  golisopite: {
2687
2559
  name: "Golisopite",
2688
2560
  spritenum: 0,
2689
- megaStone: "Golisopod-Mega",
2690
- megaEvolves: "Golisopod",
2561
+ megaStone: { "Golisopod": "Golisopod-Mega" },
2691
2562
  itemUser: ["Golisopod"],
2692
2563
  onTakeItem(item, source) {
2693
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2694
- return false;
2695
- return true;
2564
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2696
2565
  },
2697
2566
  num: 2596,
2698
2567
  gen: 9,
@@ -2701,13 +2570,10 @@ exports.Items = {
2701
2570
  golurkite: {
2702
2571
  name: "Golurkite",
2703
2572
  spritenum: 0,
2704
- megaStone: "Golurk-Mega",
2705
- megaEvolves: "Golurk",
2573
+ megaStone: { "Golurk": "Golurk-Mega" },
2706
2574
  itemUser: ["Golurk"],
2707
2575
  onTakeItem(item, source) {
2708
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2709
- return false;
2710
- return true;
2576
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2711
2577
  },
2712
2578
  num: 2594,
2713
2579
  gen: 9,
@@ -2789,14 +2655,11 @@ exports.Items = {
2789
2655
  greninjite: {
2790
2656
  name: "Greninjite",
2791
2657
  spritenum: 560,
2792
- megaStone: "Greninja-Mega",
2793
- megaEvolves: "Greninja",
2658
+ megaStone: { "Greninja": "Greninja-Mega" },
2794
2659
  itemUser: ["Greninja"],
2795
2660
  onTakeItem(item, source) {
2796
2661
  // TODO: Figure out if this works on Greninja-Bond
2797
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2798
- return false;
2799
- return true;
2662
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2800
2663
  },
2801
2664
  num: 2577,
2802
2665
  gen: 9,
@@ -2906,13 +2769,10 @@ exports.Items = {
2906
2769
  gyaradosite: {
2907
2770
  name: "Gyaradosite",
2908
2771
  spritenum: 589,
2909
- megaStone: "Gyarados-Mega",
2910
- megaEvolves: "Gyarados",
2772
+ megaStone: { "Gyarados": "Gyarados-Mega" },
2911
2773
  itemUser: ["Gyarados"],
2912
2774
  onTakeItem(item, source) {
2913
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2914
- return false;
2915
- return true;
2775
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2916
2776
  },
2917
2777
  num: 676,
2918
2778
  gen: 6,
@@ -2960,13 +2820,10 @@ exports.Items = {
2960
2820
  hawluchanite: {
2961
2821
  name: "Hawluchanite",
2962
2822
  spritenum: 566,
2963
- megaStone: "Hawlucha-Mega",
2964
- megaEvolves: "Hawlucha",
2823
+ megaStone: { "Hawlucha": "Hawlucha-Mega" },
2965
2824
  itemUser: ["Hawlucha"],
2966
2825
  onTakeItem(item, source) {
2967
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2968
- return false;
2969
- return true;
2826
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2970
2827
  },
2971
2828
  num: 2583,
2972
2829
  gen: 9,
@@ -3004,13 +2861,10 @@ exports.Items = {
3004
2861
  heatranite: {
3005
2862
  name: "Heatranite",
3006
2863
  spritenum: 0,
3007
- megaStone: "Heatran-Mega",
3008
- megaEvolves: "Heatran",
2864
+ megaStone: { "Heatran": "Heatran-Mega" },
3009
2865
  itemUser: ["Heatran"],
3010
2866
  onTakeItem(item, source) {
3011
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3012
- return false;
3013
- return true;
2867
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3014
2868
  },
3015
2869
  num: 2592,
3016
2870
  gen: 9,
@@ -3055,13 +2909,10 @@ exports.Items = {
3055
2909
  heracronite: {
3056
2910
  name: "Heracronite",
3057
2911
  spritenum: 590,
3058
- megaStone: "Heracross-Mega",
3059
- megaEvolves: "Heracross",
2912
+ megaStone: { "Heracross": "Heracross-Mega" },
3060
2913
  itemUser: ["Heracross"],
3061
2914
  onTakeItem(item, source) {
3062
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3063
- return false;
3064
- return true;
2915
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3065
2916
  },
3066
2917
  num: 680,
3067
2918
  gen: 6,
@@ -3082,13 +2933,10 @@ exports.Items = {
3082
2933
  houndoominite: {
3083
2934
  name: "Houndoominite",
3084
2935
  spritenum: 591,
3085
- megaStone: "Houndoom-Mega",
3086
- megaEvolves: "Houndoom",
2936
+ megaStone: { "Houndoom": "Houndoom-Mega" },
3087
2937
  itemUser: ["Houndoom"],
3088
2938
  onTakeItem(item, source) {
3089
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3090
- return false;
3091
- return true;
2939
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3092
2940
  },
3093
2941
  num: 666,
3094
2942
  gen: 6,
@@ -3306,13 +3154,10 @@ exports.Items = {
3306
3154
  kangaskhanite: {
3307
3155
  name: "Kangaskhanite",
3308
3156
  spritenum: 592,
3309
- megaStone: "Kangaskhan-Mega",
3310
- megaEvolves: "Kangaskhan",
3157
+ megaStone: { "Kangaskhan": "Kangaskhan-Mega" },
3311
3158
  itemUser: ["Kangaskhan"],
3312
3159
  onTakeItem(item, source) {
3313
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3314
- return false;
3315
- return true;
3160
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3316
3161
  },
3317
3162
  num: 675,
3318
3163
  gen: 6,
@@ -3468,13 +3313,10 @@ exports.Items = {
3468
3313
  latiasite: {
3469
3314
  name: "Latiasite",
3470
3315
  spritenum: 629,
3471
- megaStone: "Latias-Mega",
3472
- megaEvolves: "Latias",
3316
+ megaStone: { "Latias": "Latias-Mega" },
3473
3317
  itemUser: ["Latias"],
3474
3318
  onTakeItem(item, source) {
3475
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3476
- return false;
3477
- return true;
3319
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3478
3320
  },
3479
3321
  num: 684,
3480
3322
  gen: 6,
@@ -3483,13 +3325,10 @@ exports.Items = {
3483
3325
  latiosite: {
3484
3326
  name: "Latiosite",
3485
3327
  spritenum: 630,
3486
- megaStone: "Latios-Mega",
3487
- megaEvolves: "Latios",
3328
+ megaStone: { "Latios": "Latios-Mega" },
3488
3329
  itemUser: ["Latios"],
3489
3330
  onTakeItem(item, source) {
3490
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3491
- return false;
3492
- return true;
3331
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3493
3332
  },
3494
3333
  num: 685,
3495
3334
  gen: 6,
@@ -3674,13 +3513,10 @@ exports.Items = {
3674
3513
  lopunnite: {
3675
3514
  name: "Lopunnite",
3676
3515
  spritenum: 626,
3677
- megaStone: "Lopunny-Mega",
3678
- megaEvolves: "Lopunny",
3516
+ megaStone: { "Lopunny": "Lopunny-Mega" },
3679
3517
  itemUser: ["Lopunny"],
3680
3518
  onTakeItem(item, source) {
3681
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3682
- return false;
3683
- return true;
3519
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3684
3520
  },
3685
3521
  num: 768,
3686
3522
  gen: 6,
@@ -3705,13 +3541,10 @@ exports.Items = {
3705
3541
  lucarionite: {
3706
3542
  name: "Lucarionite",
3707
3543
  spritenum: 594,
3708
- megaStone: "Lucario-Mega",
3709
- megaEvolves: "Lucario",
3544
+ megaStone: { "Lucario": "Lucario-Mega" },
3710
3545
  itemUser: ["Lucario"],
3711
3546
  onTakeItem(item, source) {
3712
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3713
- return false;
3714
- return true;
3547
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3715
3548
  },
3716
3549
  num: 673,
3717
3550
  gen: 6,
@@ -3720,13 +3553,10 @@ exports.Items = {
3720
3553
  lucarionitez: {
3721
3554
  name: "Lucarionite Z",
3722
3555
  spritenum: 594,
3723
- megaStone: "Lucario-Mega-Z",
3724
- megaEvolves: "Lucario",
3556
+ megaStone: { "Lucario": "Lucario-Mega-Z" },
3725
3557
  itemUser: ["Lucario"],
3726
3558
  onTakeItem(item, source) {
3727
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3728
- return false;
3729
- return true;
3559
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3730
3560
  },
3731
3561
  num: 2591,
3732
3562
  gen: 9,
@@ -3878,13 +3708,14 @@ exports.Items = {
3878
3708
  magearnite: {
3879
3709
  name: "Magearnite",
3880
3710
  spritenum: 0,
3881
- megaStone: ["Magearna-Mega", "Magearna-Original-Mega"],
3882
- megaEvolves: ["Magearna", "Magearna-Original"],
3711
+ megaStone: {
3712
+ "Magearna": "Magearna-Mega",
3713
+ "Magearna-Original": "Magearna-Original-Mega",
3714
+ },
3883
3715
  itemUser: ["Magearna", "Magearna-Original"],
3884
3716
  onTakeItem(item, source) {
3885
- if (item.megaEvolves.includes(source.baseSpecies.baseSpecies))
3886
- return false;
3887
- return true;
3717
+ return !item.megaStone || (!item.megaStone[source.baseSpecies.name] &&
3718
+ !Object.values(item.megaStone).includes(source.baseSpecies.name));
3888
3719
  },
3889
3720
  num: 2597,
3890
3721
  gen: 9,
@@ -3970,13 +3801,10 @@ exports.Items = {
3970
3801
  malamarite: {
3971
3802
  name: "Malamarite",
3972
3803
  spritenum: 563,
3973
- megaStone: "Malamar-Mega",
3974
- megaEvolves: "Malamar",
3804
+ megaStone: { "Malamar": "Malamar-Mega" },
3975
3805
  itemUser: ["Malamar"],
3976
3806
  onTakeItem(item, source) {
3977
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3978
- return false;
3979
- return true;
3807
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3980
3808
  },
3981
3809
  num: 2580,
3982
3810
  gen: 9,
@@ -3994,13 +3822,10 @@ exports.Items = {
3994
3822
  manectite: {
3995
3823
  name: "Manectite",
3996
3824
  spritenum: 596,
3997
- megaStone: "Manectric-Mega",
3998
- megaEvolves: "Manectric",
3825
+ megaStone: { "Manectric": "Manectric-Mega" },
3999
3826
  itemUser: ["Manectric"],
4000
3827
  onTakeItem(item, source) {
4001
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4002
- return false;
4003
- return true;
3828
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4004
3829
  },
4005
3830
  num: 682,
4006
3831
  gen: 6,
@@ -4055,13 +3880,10 @@ exports.Items = {
4055
3880
  mawilite: {
4056
3881
  name: "Mawilite",
4057
3882
  spritenum: 598,
4058
- megaStone: "Mawile-Mega",
4059
- megaEvolves: "Mawile",
3883
+ megaStone: { "Mawile": "Mawile-Mega" },
4060
3884
  itemUser: ["Mawile"],
4061
3885
  onTakeItem(item, source) {
4062
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4063
- return false;
4064
- return true;
3886
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4065
3887
  },
4066
3888
  num: 681,
4067
3889
  gen: 6,
@@ -4090,13 +3912,10 @@ exports.Items = {
4090
3912
  medichamite: {
4091
3913
  name: "Medichamite",
4092
3914
  spritenum: 599,
4093
- megaStone: "Medicham-Mega",
4094
- megaEvolves: "Medicham",
3915
+ megaStone: { "Medicham": "Medicham-Mega" },
4095
3916
  itemUser: ["Medicham"],
4096
3917
  onTakeItem(item, source) {
4097
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4098
- return false;
4099
- return true;
3918
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4100
3919
  },
4101
3920
  num: 665,
4102
3921
  gen: 6,
@@ -4105,13 +3924,10 @@ exports.Items = {
4105
3924
  meganiumite: {
4106
3925
  name: "Meganiumite",
4107
3926
  spritenum: 548,
4108
- megaStone: "Meganium-Mega",
4109
- megaEvolves: "Meganium",
3927
+ megaStone: { "Meganium": "Meganium-Mega" },
4110
3928
  itemUser: ["Meganium"],
4111
3929
  onTakeItem(item, source) {
4112
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4113
- return false;
4114
- return true;
3930
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4115
3931
  },
4116
3932
  num: 2563,
4117
3933
  gen: 9,
@@ -4159,13 +3975,14 @@ exports.Items = {
4159
3975
  meowsticite: {
4160
3976
  name: "Meowsticite",
4161
3977
  spritenum: 0,
4162
- megaStone: ["Meowstic-M-Mega", "Meowstic-F-Mega"],
4163
- megaEvolves: ["Meowstic", "Meowstic-F"],
3978
+ megaStone: {
3979
+ "Meowstic": "Meowstic-M-Mega",
3980
+ "Meowstic-F": "Meowstic-F-Mega",
3981
+ },
4164
3982
  itemUser: ["Meowstic", "Meowstic-F"],
4165
3983
  onTakeItem(item, source) {
4166
- if (item.megaEvolves.includes(source.baseSpecies.baseSpecies))
4167
- return false;
4168
- return true;
3984
+ return !item.megaStone || (!item.megaStone[source.baseSpecies.name] &&
3985
+ !Object.values(item.megaStone).includes(source.baseSpecies.name));
4169
3986
  },
4170
3987
  num: 2594,
4171
3988
  gen: 9,
@@ -4174,13 +3991,10 @@ exports.Items = {
4174
3991
  metagrossite: {
4175
3992
  name: "Metagrossite",
4176
3993
  spritenum: 618,
4177
- megaStone: "Metagross-Mega",
4178
- megaEvolves: "Metagross",
3994
+ megaStone: { "Metagross": "Metagross-Mega" },
4179
3995
  itemUser: ["Metagross"],
4180
3996
  onTakeItem(item, source) {
4181
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4182
- return false;
4183
- return true;
3997
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4184
3998
  },
4185
3999
  num: 758,
4186
4000
  gen: 6,
@@ -4286,13 +4100,10 @@ exports.Items = {
4286
4100
  mewtwonitex: {
4287
4101
  name: "Mewtwonite X",
4288
4102
  spritenum: 600,
4289
- megaStone: "Mewtwo-Mega-X",
4290
- megaEvolves: "Mewtwo",
4103
+ megaStone: { "Mewtwo": "Mewtwo-Mega-X" },
4291
4104
  itemUser: ["Mewtwo"],
4292
4105
  onTakeItem(item, source) {
4293
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4294
- return false;
4295
- return true;
4106
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4296
4107
  },
4297
4108
  num: 662,
4298
4109
  gen: 6,
@@ -4301,13 +4112,10 @@ exports.Items = {
4301
4112
  mewtwonitey: {
4302
4113
  name: "Mewtwonite Y",
4303
4114
  spritenum: 601,
4304
- megaStone: "Mewtwo-Mega-Y",
4305
- megaEvolves: "Mewtwo",
4115
+ megaStone: { "Mewtwo": "Mewtwo-Mega-Y" },
4306
4116
  itemUser: ["Mewtwo"],
4307
4117
  onTakeItem(item, source) {
4308
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4309
- return false;
4310
- return true;
4118
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4311
4119
  },
4312
4120
  num: 663,
4313
4121
  gen: 6,
@@ -4810,13 +4618,10 @@ exports.Items = {
4810
4618
  pidgeotite: {
4811
4619
  name: "Pidgeotite",
4812
4620
  spritenum: 622,
4813
- megaStone: "Pidgeot-Mega",
4814
- megaEvolves: "Pidgeot",
4621
+ megaStone: { "Pidgeot": "Pidgeot-Mega" },
4815
4622
  itemUser: ["Pidgeot"],
4816
4623
  onTakeItem(item, source) {
4817
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4818
- return false;
4819
- return true;
4624
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4820
4625
  },
4821
4626
  num: 762,
4822
4627
  gen: 6,
@@ -4860,13 +4665,10 @@ exports.Items = {
4860
4665
  pinsirite: {
4861
4666
  name: "Pinsirite",
4862
4667
  spritenum: 602,
4863
- megaStone: "Pinsir-Mega",
4864
- megaEvolves: "Pinsir",
4668
+ megaStone: { "Pinsir": "Pinsir-Mega" },
4865
4669
  itemUser: ["Pinsir"],
4866
4670
  onTakeItem(item, source) {
4867
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4868
- return false;
4869
- return true;
4671
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4870
4672
  },
4871
4673
  num: 671,
4872
4674
  gen: 6,
@@ -5220,13 +5022,10 @@ exports.Items = {
5220
5022
  pyroarite: {
5221
5023
  name: "Pyroarite",
5222
5024
  spritenum: 561,
5223
- megaStone: "Pyroar-Mega",
5224
- megaEvolves: "Pyroar",
5025
+ megaStone: { "Pyroar": "Pyroar-Mega" },
5225
5026
  itemUser: ["Pyroar"],
5226
5027
  onTakeItem(item, source) {
5227
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5228
- return false;
5229
- return true;
5028
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5230
5029
  },
5231
5030
  num: 2578,
5232
5031
  gen: 9,
@@ -5301,14 +5100,10 @@ exports.Items = {
5301
5100
  raichunitex: {
5302
5101
  name: "Raichunite X",
5303
5102
  spritenum: 0,
5304
- megaStone: "Raichu-Mega-X",
5305
- megaEvolves: "Raichu",
5103
+ megaStone: { "Raichu": "Raichu-Mega-X" },
5306
5104
  itemUser: ["Raichu"],
5307
5105
  onTakeItem(item, source) {
5308
- if (item.megaEvolves === source.baseSpecies.name ||
5309
- item.megaStone === source.baseSpecies.name)
5310
- return false;
5311
- return true;
5106
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5312
5107
  },
5313
5108
  num: 2585,
5314
5109
  gen: 9,
@@ -5317,14 +5112,10 @@ exports.Items = {
5317
5112
  raichunitey: {
5318
5113
  name: "Raichunite Y",
5319
5114
  spritenum: 0,
5320
- megaStone: "Raichu-Mega-Y",
5321
- megaEvolves: "Raichu",
5115
+ megaStone: { "Raichu": "Raichu-Mega-Y" },
5322
5116
  itemUser: ["Raichu"],
5323
5117
  onTakeItem(item, source) {
5324
- if (item.megaEvolves === source.baseSpecies.name ||
5325
- item.megaStone === source.baseSpecies.name)
5326
- return false;
5327
- return true;
5118
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5328
5119
  },
5329
5120
  num: 2586,
5330
5121
  gen: 9,
@@ -5707,13 +5498,10 @@ exports.Items = {
5707
5498
  sablenite: {
5708
5499
  name: "Sablenite",
5709
5500
  spritenum: 614,
5710
- megaStone: "Sableye-Mega",
5711
- megaEvolves: "Sableye",
5501
+ megaStone: { "Sableye": "Sableye-Mega" },
5712
5502
  itemUser: ["Sableye"],
5713
5503
  onTakeItem(item, source) {
5714
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5715
- return false;
5716
- return true;
5504
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5717
5505
  },
5718
5506
  num: 754,
5719
5507
  gen: 6,
@@ -5788,13 +5576,10 @@ exports.Items = {
5788
5576
  salamencite: {
5789
5577
  name: "Salamencite",
5790
5578
  spritenum: 627,
5791
- megaStone: "Salamence-Mega",
5792
- megaEvolves: "Salamence",
5579
+ megaStone: { "Salamence": "Salamence-Mega" },
5793
5580
  itemUser: ["Salamence"],
5794
5581
  onTakeItem(item, source) {
5795
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5796
- return false;
5797
- return true;
5582
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5798
5583
  },
5799
5584
  num: 769,
5800
5585
  gen: 6,
@@ -5803,13 +5588,10 @@ exports.Items = {
5803
5588
  sceptilite: {
5804
5589
  name: "Sceptilite",
5805
5590
  spritenum: 613,
5806
- megaStone: "Sceptile-Mega",
5807
- megaEvolves: "Sceptile",
5591
+ megaStone: { "Sceptile": "Sceptile-Mega" },
5808
5592
  itemUser: ["Sceptile"],
5809
5593
  onTakeItem(item, source) {
5810
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5811
- return false;
5812
- return true;
5594
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5813
5595
  },
5814
5596
  num: 753,
5815
5597
  gen: 6,
@@ -5818,13 +5600,10 @@ exports.Items = {
5818
5600
  scizorite: {
5819
5601
  name: "Scizorite",
5820
5602
  spritenum: 605,
5821
- megaStone: "Scizor-Mega",
5822
- megaEvolves: "Scizor",
5603
+ megaStone: { "Scizor": "Scizor-Mega" },
5823
5604
  itemUser: ["Scizor"],
5824
5605
  onTakeItem(item, source) {
5825
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5826
- return false;
5827
- return true;
5606
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5828
5607
  },
5829
5608
  num: 670,
5830
5609
  gen: 6,
@@ -5833,13 +5612,10 @@ exports.Items = {
5833
5612
  scolipite: {
5834
5613
  name: "Scolipite",
5835
5614
  spritenum: 554,
5836
- megaStone: "Scolipede-Mega",
5837
- megaEvolves: "Scolipede",
5615
+ megaStone: { "Scolipede": "Scolipede-Mega" },
5838
5616
  itemUser: ["Scolipede"],
5839
5617
  onTakeItem(item, source) {
5840
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5841
- return false;
5842
- return true;
5618
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5843
5619
  },
5844
5620
  num: 2571,
5845
5621
  gen: 9,
@@ -5860,13 +5636,10 @@ exports.Items = {
5860
5636
  scovillainite: {
5861
5637
  name: "Scovillainite",
5862
5638
  spritenum: 0,
5863
- megaStone: "Scovillain-Mega",
5864
- megaEvolves: "Scovillain",
5639
+ megaStone: { "Scovillain": "Scovillain-Mega" },
5865
5640
  itemUser: ["Scovillain"],
5866
5641
  onTakeItem(item, source) {
5867
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5868
- return false;
5869
- return true;
5642
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5870
5643
  },
5871
5644
  num: 2599,
5872
5645
  gen: 9,
@@ -5875,13 +5648,10 @@ exports.Items = {
5875
5648
  scraftinite: {
5876
5649
  name: "Scraftinite",
5877
5650
  spritenum: 555,
5878
- megaStone: "Scrafty-Mega",
5879
- megaEvolves: "Scrafty",
5651
+ megaStone: { "Scrafty": "Scrafty-Mega" },
5880
5652
  itemUser: ["Scrafty"],
5881
5653
  onTakeItem(item, source) {
5882
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5883
- return false;
5884
- return true;
5654
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5885
5655
  },
5886
5656
  num: 2572,
5887
5657
  gen: 9,
@@ -5921,13 +5691,10 @@ exports.Items = {
5921
5691
  sharpedonite: {
5922
5692
  name: "Sharpedonite",
5923
5693
  spritenum: 619,
5924
- megaStone: "Sharpedo-Mega",
5925
- megaEvolves: "Sharpedo",
5694
+ megaStone: { "Sharpedo": "Sharpedo-Mega" },
5926
5695
  itemUser: ["Sharpedo"],
5927
5696
  onTakeItem(item, source) {
5928
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5929
- return false;
5930
- return true;
5697
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5931
5698
  },
5932
5699
  num: 759,
5933
5700
  gen: 6,
@@ -6070,13 +5837,10 @@ exports.Items = {
6070
5837
  skarmorite: {
6071
5838
  name: "Skarmorite",
6072
5839
  spritenum: 550,
6073
- megaStone: "Skarmory-Mega",
6074
- megaEvolves: "Skarmory",
5840
+ megaStone: { "Skarmory": "Skarmory-Mega" },
6075
5841
  itemUser: ["Skarmory"],
6076
5842
  onTakeItem(item, source) {
6077
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6078
- return false;
6079
- return true;
5843
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6080
5844
  },
6081
5845
  num: 2565,
6082
5846
  gen: 9,
@@ -6115,13 +5879,10 @@ exports.Items = {
6115
5879
  slowbronite: {
6116
5880
  name: "Slowbronite",
6117
5881
  spritenum: 620,
6118
- megaStone: "Slowbro-Mega",
6119
- megaEvolves: "Slowbro",
5882
+ megaStone: { "Slowbro": "Slowbro-Mega" },
6120
5883
  itemUser: ["Slowbro"],
6121
5884
  onTakeItem(item, source) {
6122
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6123
- return false;
6124
- return true;
5885
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6125
5886
  },
6126
5887
  num: 760,
6127
5888
  gen: 6,
@@ -6285,13 +6046,10 @@ exports.Items = {
6285
6046
  staraptite: {
6286
6047
  name: "Staraptite",
6287
6048
  spritenum: 0,
6288
- megaStone: "Staraptor-Mega",
6289
- megaEvolves: "Staraptor",
6049
+ megaStone: { "Staraptor": "Staraptor-Mega" },
6290
6050
  itemUser: ["Staraptor"],
6291
6051
  onTakeItem(item, source) {
6292
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6293
- return false;
6294
- return true;
6052
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6295
6053
  },
6296
6054
  num: 2589,
6297
6055
  gen: 9,
@@ -6332,13 +6090,10 @@ exports.Items = {
6332
6090
  starminite: {
6333
6091
  name: "Starminite",
6334
6092
  spritenum: 546,
6335
- megaStone: "Starmie-Mega",
6336
- megaEvolves: "Starmie",
6093
+ megaStone: { "Starmie": "Starmie-Mega" },
6337
6094
  itemUser: ["Starmie"],
6338
6095
  onTakeItem(item, source) {
6339
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6340
- return false;
6341
- return true;
6096
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6342
6097
  },
6343
6098
  num: 2561,
6344
6099
  gen: 9,
@@ -6383,13 +6138,10 @@ exports.Items = {
6383
6138
  steelixite: {
6384
6139
  name: "Steelixite",
6385
6140
  spritenum: 621,
6386
- megaStone: "Steelix-Mega",
6387
- megaEvolves: "Steelix",
6141
+ megaStone: { "Steelix": "Steelix-Mega" },
6388
6142
  itemUser: ["Steelix"],
6389
6143
  onTakeItem(item, source) {
6390
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6391
- return false;
6392
- return true;
6144
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6393
6145
  },
6394
6146
  num: 761,
6395
6147
  gen: 6,
@@ -6499,13 +6251,10 @@ exports.Items = {
6499
6251
  swampertite: {
6500
6252
  name: "Swampertite",
6501
6253
  spritenum: 612,
6502
- megaStone: "Swampert-Mega",
6503
- megaEvolves: "Swampert",
6254
+ megaStone: { "Swampert": "Swampert-Mega" },
6504
6255
  itemUser: ["Swampert"],
6505
6256
  onTakeItem(item, source) {
6506
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6507
- return false;
6508
- return true;
6257
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6509
6258
  },
6510
6259
  num: 752,
6511
6260
  gen: 6,
@@ -6588,13 +6337,15 @@ exports.Items = {
6588
6337
  tatsugirinite: {
6589
6338
  name: "Tatsugirinite",
6590
6339
  spritenum: 0,
6591
- megaStone: ["Tatsugiri-Curly-Mega", "Tatsugiri-Droopy-Mega", "Tatsugiri-Stretchy-Mega"],
6592
- megaEvolves: ["Tatsugiri", "Tatsugiri-Droopy", "Tatsugiri-Stretchy"],
6340
+ megaStone: {
6341
+ "Tatsugiri": "Tatsugiri-Curly-Mega",
6342
+ "Tatsugiri-Droopy": "Tatsugiri-Droopy-Mega",
6343
+ "Tatsugiri-Stretchy": "Tatsugiri-Stretchy-Mega",
6344
+ },
6593
6345
  itemUser: ["Tatsugiri", "Tatsugiri-Droopy", "Tatsugiri-Stretchy"],
6594
6346
  onTakeItem(item, source) {
6595
- if (item.megaEvolves.includes(source.baseSpecies.baseSpecies))
6596
- return false;
6597
- return true;
6347
+ return !item.megaStone || (!item.megaStone[source.baseSpecies.name] &&
6348
+ !Object.values(item.megaStone).includes(source.baseSpecies.name));
6598
6349
  },
6599
6350
  num: 2601,
6600
6351
  gen: 9,
@@ -7712,13 +7463,10 @@ exports.Items = {
7712
7463
  tyranitarite: {
7713
7464
  name: "Tyranitarite",
7714
7465
  spritenum: 607,
7715
- megaStone: "Tyranitar-Mega",
7716
- megaEvolves: "Tyranitar",
7466
+ megaStone: { "Tyranitar": "Tyranitar-Mega" },
7717
7467
  itemUser: ["Tyranitar"],
7718
7468
  onTakeItem(item, source) {
7719
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
7720
- return false;
7721
- return true;
7469
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
7722
7470
  },
7723
7471
  num: 669,
7724
7472
  gen: 6,
@@ -7794,13 +7542,10 @@ exports.Items = {
7794
7542
  venusaurite: {
7795
7543
  name: "Venusaurite",
7796
7544
  spritenum: 608,
7797
- megaStone: "Venusaur-Mega",
7798
- megaEvolves: "Venusaur",
7545
+ megaStone: { "Venusaur": "Venusaur-Mega" },
7799
7546
  itemUser: ["Venusaur"],
7800
7547
  onTakeItem(item, source) {
7801
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
7802
- return false;
7803
- return true;
7548
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
7804
7549
  },
7805
7550
  num: 659,
7806
7551
  gen: 6,
@@ -7809,13 +7554,10 @@ exports.Items = {
7809
7554
  victreebelite: {
7810
7555
  name: "Victreebelite",
7811
7556
  spritenum: 545,
7812
- megaStone: "Victreebel-Mega",
7813
- megaEvolves: "Victreebel",
7557
+ megaStone: { "Victreebel": "Victreebel-Mega" },
7814
7558
  itemUser: ["Victreebel"],
7815
7559
  onTakeItem(item, source) {
7816
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
7817
- return false;
7818
- return true;
7560
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
7819
7561
  },
7820
7562
  num: 2560,
7821
7563
  gen: 9,
@@ -8149,13 +7891,10 @@ exports.Items = {
8149
7891
  zeraorite: {
8150
7892
  name: "Zeraorite",
8151
7893
  spritenum: 0,
8152
- megaStone: "Zeraora-Mega",
8153
- megaEvolves: "Zeraora",
7894
+ megaStone: { "Zeraora": "Zeraora-Mega" },
8154
7895
  itemUser: ["Zeraora"],
8155
7896
  onTakeItem(item, source) {
8156
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
8157
- return false;
8158
- return true;
7897
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
8159
7898
  },
8160
7899
  num: 2598,
8161
7900
  gen: 9,
@@ -8180,13 +7919,10 @@ exports.Items = {
8180
7919
  zygardite: {
8181
7920
  name: "Zygardite",
8182
7921
  spritenum: 568,
8183
- megaStone: "Zygarde-Mega",
8184
- megaEvolves: "Zygarde-Complete",
7922
+ megaStone: { "Zygarde-Complete": "Zygarde-Mega" },
8185
7923
  itemUser: ["Zygarde-Complete"],
8186
7924
  onTakeItem(item, source) {
8187
- if (source.baseSpecies.baseSpecies === 'Zygarde')
8188
- return false;
8189
- return true;
7925
+ return source.baseSpecies.baseSpecies !== 'Zygarde';
8190
7926
  },
8191
7927
  num: 2584,
8192
7928
  gen: 9,
@@ -8479,13 +8215,10 @@ exports.Items = {
8479
8215
  crucibellite: {
8480
8216
  name: "Crucibellite",
8481
8217
  spritenum: 577,
8482
- megaStone: "Crucibelle-Mega",
8483
- megaEvolves: "Crucibelle",
8218
+ megaStone: { "Crucibelle": "Crucibelle-Mega" },
8484
8219
  itemUser: ["Crucibelle"],
8485
8220
  onTakeItem(item, source) {
8486
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
8487
- return false;
8488
- return true;
8221
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
8489
8222
  },
8490
8223
  num: -1,
8491
8224
  gen: 6,