@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
@@ -22,13 +22,10 @@ export const Items = {
22
22
  abomasite: {
23
23
  name: "Abomasite",
24
24
  spritenum: 575,
25
- megaStone: "Abomasnow-Mega",
26
- megaEvolves: "Abomasnow",
25
+ megaStone: { "Abomasnow": "Abomasnow-Mega" },
27
26
  itemUser: ["Abomasnow"],
28
27
  onTakeItem(item, source) {
29
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
30
- return false;
31
- return true;
28
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
32
29
  },
33
30
  num: 674,
34
31
  gen: 6,
@@ -37,13 +34,10 @@ export const Items = {
37
34
  absolite: {
38
35
  name: "Absolite",
39
36
  spritenum: 576,
40
- megaStone: "Absol-Mega",
41
- megaEvolves: "Absol",
37
+ megaStone: { "Absol": "Absol-Mega" },
42
38
  itemUser: ["Absol"],
43
39
  onTakeItem(item, source) {
44
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
45
- return false;
46
- return true;
40
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
47
41
  },
48
42
  num: 677,
49
43
  gen: 6,
@@ -52,13 +46,10 @@ export const Items = {
52
46
  absolitez: {
53
47
  name: "Absolite Z",
54
48
  spritenum: 576,
55
- megaStone: "Absol-Mega-Z",
56
- megaEvolves: "Absol",
49
+ megaStone: { "Absol": "Absol-Mega-Z" },
57
50
  itemUser: ["Absol"],
58
51
  onTakeItem(item, source) {
59
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
60
- return false;
61
- return true;
52
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
62
53
  },
63
54
  num: 2588,
64
55
  gen: 9,
@@ -144,13 +135,10 @@ export const Items = {
144
135
  aerodactylite: {
145
136
  name: "Aerodactylite",
146
137
  spritenum: 577,
147
- megaStone: "Aerodactyl-Mega",
148
- megaEvolves: "Aerodactyl",
138
+ megaStone: { "Aerodactyl": "Aerodactyl-Mega" },
149
139
  itemUser: ["Aerodactyl"],
150
140
  onTakeItem(item, source) {
151
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
152
- return false;
153
- return true;
141
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
154
142
  },
155
143
  num: 672,
156
144
  gen: 6,
@@ -159,13 +147,10 @@ export const Items = {
159
147
  aggronite: {
160
148
  name: "Aggronite",
161
149
  spritenum: 578,
162
- megaStone: "Aggron-Mega",
163
- megaEvolves: "Aggron",
150
+ megaStone: { "Aggron": "Aggron-Mega" },
164
151
  itemUser: ["Aggron"],
165
152
  onTakeItem(item, source) {
166
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
167
- return false;
168
- return true;
153
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
169
154
  },
170
155
  num: 667,
171
156
  gen: 6,
@@ -231,13 +216,10 @@ export const Items = {
231
216
  alakazite: {
232
217
  name: "Alakazite",
233
218
  spritenum: 579,
234
- megaStone: "Alakazam-Mega",
235
- megaEvolves: "Alakazam",
219
+ megaStone: { "Alakazam": "Alakazam-Mega" },
236
220
  itemUser: ["Alakazam"],
237
221
  onTakeItem(item, source) {
238
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
239
- return false;
240
- return true;
222
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
241
223
  },
242
224
  num: 679,
243
225
  gen: 6,
@@ -257,13 +239,10 @@ export const Items = {
257
239
  altarianite: {
258
240
  name: "Altarianite",
259
241
  spritenum: 615,
260
- megaStone: "Altaria-Mega",
261
- megaEvolves: "Altaria",
242
+ megaStone: { "Altaria": "Altaria-Mega" },
262
243
  itemUser: ["Altaria"],
263
244
  onTakeItem(item, source) {
264
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
265
- return false;
266
- return true;
245
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
267
246
  },
268
247
  num: 755,
269
248
  gen: 6,
@@ -272,13 +251,10 @@ export const Items = {
272
251
  ampharosite: {
273
252
  name: "Ampharosite",
274
253
  spritenum: 580,
275
- megaStone: "Ampharos-Mega",
276
- megaEvolves: "Ampharos",
254
+ megaStone: { "Ampharos": "Ampharos-Mega" },
277
255
  itemUser: ["Ampharos"],
278
256
  onTakeItem(item, source) {
279
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
280
- return false;
281
- return true;
257
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
282
258
  },
283
259
  num: 658,
284
260
  gen: 6,
@@ -359,13 +335,10 @@ export const Items = {
359
335
  audinite: {
360
336
  name: "Audinite",
361
337
  spritenum: 617,
362
- megaStone: "Audino-Mega",
363
- megaEvolves: "Audino",
338
+ megaStone: { "Audino": "Audino-Mega" },
364
339
  itemUser: ["Audino"],
365
340
  onTakeItem(item, source) {
366
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
367
- return false;
368
- return true;
341
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
369
342
  },
370
343
  num: 757,
371
344
  gen: 6,
@@ -407,13 +380,10 @@ export const Items = {
407
380
  banettite: {
408
381
  name: "Banettite",
409
382
  spritenum: 582,
410
- megaStone: "Banette-Mega",
411
- megaEvolves: "Banette",
383
+ megaStone: { "Banette": "Banette-Mega" },
412
384
  itemUser: ["Banette"],
413
385
  onTakeItem(item, source) {
414
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
415
- return false;
416
- return true;
386
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
417
387
  },
418
388
  num: 668,
419
389
  gen: 6,
@@ -422,13 +392,10 @@ export const Items = {
422
392
  barbaracite: {
423
393
  name: "Barbaracite",
424
394
  spritenum: 564,
425
- megaStone: "Barbaracle-Mega",
426
- megaEvolves: "Barbaracle",
395
+ megaStone: { "Barbaracle": "Barbaracle-Mega" },
427
396
  itemUser: ["Barbaracle"],
428
397
  onTakeItem(item, source) {
429
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
430
- return false;
431
- return true;
398
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
432
399
  },
433
400
  num: 2581,
434
401
  gen: 9,
@@ -437,13 +404,10 @@ export const Items = {
437
404
  baxcalibrite: {
438
405
  name: "Baxcalibrite",
439
406
  spritenum: 0,
440
- megaStone: "Baxcalibur-Mega",
441
- megaEvolves: "Baxcalibur",
407
+ megaStone: { "Baxcalibur": "Baxcalibur-Mega" },
442
408
  itemUser: ["Baxcalibur"],
443
409
  onTakeItem(item, source) {
444
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
445
- return false;
446
- return true;
410
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
447
411
  },
448
412
  num: 2601,
449
413
  gen: 9,
@@ -459,13 +423,10 @@ export const Items = {
459
423
  beedrillite: {
460
424
  name: "Beedrillite",
461
425
  spritenum: 628,
462
- megaStone: "Beedrill-Mega",
463
- megaEvolves: "Beedrill",
426
+ megaStone: { "Beedrill": "Beedrill-Mega" },
464
427
  itemUser: ["Beedrill"],
465
428
  onTakeItem(item, source) {
466
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
467
- return false;
468
- return true;
429
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
469
430
  },
470
431
  num: 770,
471
432
  gen: 6,
@@ -597,13 +558,10 @@ export const Items = {
597
558
  blastoisinite: {
598
559
  name: "Blastoisinite",
599
560
  spritenum: 583,
600
- megaStone: "Blastoise-Mega",
601
- megaEvolves: "Blastoise",
561
+ megaStone: { "Blastoise": "Blastoise-Mega" },
602
562
  itemUser: ["Blastoise"],
603
563
  onTakeItem(item, source) {
604
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
605
- return false;
606
- return true;
564
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
607
565
  },
608
566
  num: 661,
609
567
  gen: 6,
@@ -612,13 +570,10 @@ export const Items = {
612
570
  blazikenite: {
613
571
  name: "Blazikenite",
614
572
  spritenum: 584,
615
- megaStone: "Blaziken-Mega",
616
- megaEvolves: "Blaziken",
573
+ megaStone: { "Blaziken": "Blaziken-Mega" },
617
574
  itemUser: ["Blaziken"],
618
575
  onTakeItem(item, source) {
619
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
620
- return false;
621
- return true;
576
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
622
577
  },
623
578
  num: 664,
624
579
  gen: 6,
@@ -783,13 +738,10 @@ export const Items = {
783
738
  cameruptite: {
784
739
  name: "Cameruptite",
785
740
  spritenum: 625,
786
- megaStone: "Camerupt-Mega",
787
- megaEvolves: "Camerupt",
741
+ megaStone: { "Camerupt": "Camerupt-Mega" },
788
742
  itemUser: ["Camerupt"],
789
743
  onTakeItem(item, source) {
790
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
791
- return false;
792
- return true;
744
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
793
745
  },
794
746
  num: 767,
795
747
  gen: 6,
@@ -815,13 +767,10 @@ export const Items = {
815
767
  chandelurite: {
816
768
  name: "Chandelurite",
817
769
  spritenum: 557,
818
- megaStone: "Chandelure-Mega",
819
- megaEvolves: "Chandelure",
770
+ megaStone: { "Chandelure": "Chandelure-Mega" },
820
771
  itemUser: ["Chandelure"],
821
772
  onTakeItem(item, source) {
822
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
823
- return false;
824
- return true;
773
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
825
774
  },
826
775
  num: 2574,
827
776
  gen: 9,
@@ -845,13 +794,10 @@ export const Items = {
845
794
  charizarditex: {
846
795
  name: "Charizardite X",
847
796
  spritenum: 585,
848
- megaStone: "Charizard-Mega-X",
849
- megaEvolves: "Charizard",
797
+ megaStone: { "Charizard": "Charizard-Mega-X" },
850
798
  itemUser: ["Charizard"],
851
799
  onTakeItem(item, source) {
852
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
853
- return false;
854
- return true;
800
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
855
801
  },
856
802
  num: 660,
857
803
  gen: 6,
@@ -860,13 +806,10 @@ export const Items = {
860
806
  charizarditey: {
861
807
  name: "Charizardite Y",
862
808
  spritenum: 586,
863
- megaStone: "Charizard-Mega-Y",
864
- megaEvolves: "Charizard",
809
+ megaStone: { "Charizard": "Charizard-Mega-Y" },
865
810
  itemUser: ["Charizard"],
866
811
  onTakeItem(item, source) {
867
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
868
- return false;
869
- return true;
812
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
870
813
  },
871
814
  num: 678,
872
815
  gen: 6,
@@ -928,13 +871,10 @@ export const Items = {
928
871
  chesnaughtite: {
929
872
  name: "Chesnaughtite",
930
873
  spritenum: 558,
931
- megaStone: "Chesnaught-Mega",
932
- megaEvolves: "Chesnaught",
874
+ megaStone: { "Chesnaught": "Chesnaught-Mega" },
933
875
  itemUser: ["Chesnaught"],
934
876
  onTakeItem(item, source) {
935
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
936
- return false;
937
- return true;
877
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
938
878
  },
939
879
  num: 2575,
940
880
  gen: 9,
@@ -1002,13 +942,10 @@ export const Items = {
1002
942
  chimechite: {
1003
943
  name: "Chimechite",
1004
944
  spritenum: 0,
1005
- megaStone: "Chimecho-Mega",
1006
- megaEvolves: "Chimecho",
945
+ megaStone: { "Chimecho": "Chimecho-Mega" },
1007
946
  itemUser: ["Chimecho"],
1008
947
  onTakeItem(item, source) {
1009
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1010
- return false;
1011
- return true;
948
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1012
949
  },
1013
950
  num: 2587,
1014
951
  gen: 9,
@@ -1159,13 +1096,10 @@ export const Items = {
1159
1096
  clefablite: {
1160
1097
  name: "Clefablite",
1161
1098
  spritenum: 544,
1162
- megaStone: "Clefable-Mega",
1163
- megaEvolves: "Clefable",
1099
+ megaStone: { "Clefable": "Clefable-Mega" },
1164
1100
  itemUser: ["Clefable"],
1165
1101
  onTakeItem(item, source) {
1166
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1167
- return false;
1168
- return true;
1102
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1169
1103
  },
1170
1104
  num: 2559,
1171
1105
  gen: 9,
@@ -1289,13 +1223,10 @@ export const Items = {
1289
1223
  crabominite: {
1290
1224
  name: "Crabominite",
1291
1225
  spritenum: 0,
1292
- megaStone: "Crabominable-Mega",
1293
- megaEvolves: "Crabominable",
1226
+ megaStone: { "Crabominable": "Crabominable-Mega" },
1294
1227
  itemUser: ["Crabominable"],
1295
1228
  onTakeItem(item, source) {
1296
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1297
- return false;
1298
- return true;
1229
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1299
1230
  },
1300
1231
  num: 2595,
1301
1232
  gen: 9,
@@ -1388,13 +1319,10 @@ export const Items = {
1388
1319
  darkranite: {
1389
1320
  name: "Darkranite",
1390
1321
  spritenum: 0,
1391
- megaStone: "Darkrai-Mega",
1392
- megaEvolves: "Darkrai",
1322
+ megaStone: { "Darkrai": "Darkrai-Mega" },
1393
1323
  itemUser: ["Darkrai"],
1394
1324
  onTakeItem(item, source) {
1395
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1396
- return false;
1397
- return true;
1325
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1398
1326
  },
1399
1327
  num: 2593,
1400
1328
  gen: 9,
@@ -1457,13 +1385,10 @@ export const Items = {
1457
1385
  delphoxite: {
1458
1386
  name: "Delphoxite",
1459
1387
  spritenum: 559,
1460
- megaStone: "Delphox-Mega",
1461
- megaEvolves: "Delphox",
1388
+ megaStone: { "Delphox": "Delphox-Mega" },
1462
1389
  itemUser: ["Delphox"],
1463
1390
  onTakeItem(item, source) {
1464
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1465
- return false;
1466
- return true;
1391
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1467
1392
  },
1468
1393
  num: 2576,
1469
1394
  gen: 9,
@@ -1489,13 +1414,10 @@ export const Items = {
1489
1414
  diancite: {
1490
1415
  name: "Diancite",
1491
1416
  spritenum: 624,
1492
- megaStone: "Diancie-Mega",
1493
- megaEvolves: "Diancie",
1417
+ megaStone: { "Diancie": "Diancie-Mega" },
1494
1418
  itemUser: ["Diancie"],
1495
1419
  onTakeItem(item, source) {
1496
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1497
- return false;
1498
- return true;
1420
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1499
1421
  },
1500
1422
  num: 764,
1501
1423
  gen: 6,
@@ -1557,13 +1479,10 @@ export const Items = {
1557
1479
  dragalgite: {
1558
1480
  name: "Dragalgite",
1559
1481
  spritenum: 565,
1560
- megaStone: "Dragalge-Mega",
1561
- megaEvolves: "Dragalge",
1482
+ megaStone: { "Dragalge": "Dragalge-Mega" },
1562
1483
  itemUser: ["Dragalge"],
1563
1484
  onTakeItem(item, source) {
1564
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1565
- return false;
1566
- return true;
1485
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1567
1486
  },
1568
1487
  num: 2582,
1569
1488
  gen: 9,
@@ -1602,13 +1521,10 @@ export const Items = {
1602
1521
  dragoninite: {
1603
1522
  name: "Dragoninite",
1604
1523
  spritenum: 547,
1605
- megaStone: "Dragonite-Mega",
1606
- megaEvolves: "Dragonite",
1524
+ megaStone: { "Dragonite": "Dragonite-Mega" },
1607
1525
  itemUser: ["Dragonite"],
1608
1526
  onTakeItem(item, source) {
1609
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1610
- return false;
1611
- return true;
1527
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1612
1528
  },
1613
1529
  num: 2562,
1614
1530
  gen: 9,
@@ -1654,13 +1570,10 @@ export const Items = {
1654
1570
  drampanite: {
1655
1571
  name: "Drampanite",
1656
1572
  spritenum: 569,
1657
- megaStone: "Drampa-Mega",
1658
- megaEvolves: "Drampa",
1573
+ megaStone: { "Drampa": "Drampa-Mega" },
1659
1574
  itemUser: ["Drampa"],
1660
1575
  onTakeItem(item, source) {
1661
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1662
- return false;
1663
- return true;
1576
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1664
1577
  },
1665
1578
  num: 2585,
1666
1579
  gen: 9,
@@ -1754,13 +1667,10 @@ export const Items = {
1754
1667
  eelektrossite: {
1755
1668
  name: "Eelektrossite",
1756
1669
  spritenum: 556,
1757
- megaStone: "Eelektross-Mega",
1758
- megaEvolves: "Eelektross",
1670
+ megaStone: { "Eelektross": "Eelektross-Mega" },
1759
1671
  itemUser: ["Eelektross"],
1760
1672
  onTakeItem(item, source) {
1761
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1762
- return false;
1763
- return true;
1673
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1764
1674
  },
1765
1675
  num: 2573,
1766
1676
  gen: 9,
@@ -1943,13 +1853,10 @@ export const Items = {
1943
1853
  emboarite: {
1944
1854
  name: "Emboarite",
1945
1855
  spritenum: 552,
1946
- megaStone: "Emboar-Mega",
1947
- megaEvolves: "Emboar",
1856
+ megaStone: { "Emboar": "Emboar-Mega" },
1948
1857
  itemUser: ["Emboar"],
1949
1858
  onTakeItem(item, source) {
1950
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
1951
- return false;
1952
- return true;
1859
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
1953
1860
  },
1954
1861
  num: 2569,
1955
1862
  gen: 9,
@@ -2002,13 +1909,10 @@ export const Items = {
2002
1909
  excadrite: {
2003
1910
  name: "Excadrite",
2004
1911
  spritenum: 553,
2005
- megaStone: "Excadrill-Mega",
2006
- megaEvolves: "Excadrill",
1912
+ megaStone: { "Excadrill": "Excadrill-Mega" },
2007
1913
  itemUser: ["Excadrill"],
2008
1914
  onTakeItem(item, source) {
2009
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2010
- return false;
2011
- return true;
1915
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2012
1916
  },
2013
1917
  num: 2570,
2014
1918
  gen: 9,
@@ -2089,13 +1993,10 @@ export const Items = {
2089
1993
  falinksite: {
2090
1994
  name: "Falinksite",
2091
1995
  spritenum: 570,
2092
- megaStone: "Falinks-Mega",
2093
- megaEvolves: "Falinks",
1996
+ megaStone: { "Falinks": "Falinks-Mega" },
2094
1997
  itemUser: ["Falinks"],
2095
1998
  onTakeItem(item, source) {
2096
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2097
- return false;
2098
- return true;
1999
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2099
2000
  },
2100
2001
  num: 2586,
2101
2002
  gen: 9,
@@ -2111,13 +2012,10 @@ export const Items = {
2111
2012
  feraligite: {
2112
2013
  name: "Feraligite",
2113
2014
  spritenum: 549,
2114
- megaStone: "Feraligatr-Mega",
2115
- megaEvolves: "Feraligatr",
2015
+ megaStone: { "Feraligatr": "Feraligatr-Mega" },
2116
2016
  itemUser: ["Feraligatr"],
2117
2017
  onTakeItem(item, source) {
2118
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2119
- return false;
2120
- return true;
2018
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2121
2019
  },
2122
2020
  num: 2564,
2123
2021
  gen: 9,
@@ -2315,13 +2213,11 @@ export const Items = {
2315
2213
  floettite: {
2316
2214
  name: "Floettite",
2317
2215
  spritenum: 562,
2318
- megaStone: "Floette-Mega",
2319
- megaEvolves: "Floette-Eternal",
2216
+ megaStone: { "Floette-Eternal": "Floette-Mega" },
2320
2217
  itemUser: ["Floette-Eternal"],
2321
2218
  onTakeItem(item, source) {
2322
- if ([item.megaEvolves, item.megaStone].includes(source.baseSpecies.name))
2323
- return false;
2324
- return true;
2219
+ return !item.megaStone || (!item.megaStone[source.baseSpecies.name] &&
2220
+ !Object.values(item.megaStone).includes(source.baseSpecies.name));
2325
2221
  },
2326
2222
  num: 2579,
2327
2223
  gen: 9,
@@ -2462,13 +2358,10 @@ export const Items = {
2462
2358
  froslassite: {
2463
2359
  name: "Froslassite",
2464
2360
  spritenum: 551,
2465
- megaStone: "Froslass-Mega",
2466
- megaEvolves: "Froslass",
2361
+ megaStone: { "Froslass": "Froslass-Mega" },
2467
2362
  itemUser: ["Froslass"],
2468
2363
  onTakeItem(item, source) {
2469
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2470
- return false;
2471
- return true;
2364
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2472
2365
  },
2473
2366
  num: 2566,
2474
2367
  gen: 9,
@@ -2506,13 +2399,10 @@ export const Items = {
2506
2399
  galladite: {
2507
2400
  name: "Galladite",
2508
2401
  spritenum: 616,
2509
- megaStone: "Gallade-Mega",
2510
- megaEvolves: "Gallade",
2402
+ megaStone: { "Gallade": "Gallade-Mega" },
2511
2403
  itemUser: ["Gallade"],
2512
2404
  onTakeItem(item, source) {
2513
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2514
- return false;
2515
- return true;
2405
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2516
2406
  },
2517
2407
  num: 756,
2518
2408
  gen: 6,
@@ -2541,13 +2431,10 @@ export const Items = {
2541
2431
  garchompite: {
2542
2432
  name: "Garchompite",
2543
2433
  spritenum: 573,
2544
- megaStone: "Garchomp-Mega",
2545
- megaEvolves: "Garchomp",
2434
+ megaStone: { "Garchomp": "Garchomp-Mega" },
2546
2435
  itemUser: ["Garchomp"],
2547
2436
  onTakeItem(item, source) {
2548
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2549
- return false;
2550
- return true;
2437
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2551
2438
  },
2552
2439
  num: 683,
2553
2440
  gen: 6,
@@ -2556,13 +2443,10 @@ export const Items = {
2556
2443
  garchompitez: {
2557
2444
  name: "Garchompite Z",
2558
2445
  spritenum: 573,
2559
- megaStone: "Garchomp-Mega-Z",
2560
- megaEvolves: "Garchomp",
2446
+ megaStone: { "Garchomp": "Garchomp-Mega-Z" },
2561
2447
  itemUser: ["Garchomp"],
2562
2448
  onTakeItem(item, source) {
2563
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2564
- return false;
2565
- return true;
2449
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2566
2450
  },
2567
2451
  num: 2590,
2568
2452
  gen: 9,
@@ -2571,13 +2455,10 @@ export const Items = {
2571
2455
  gardevoirite: {
2572
2456
  name: "Gardevoirite",
2573
2457
  spritenum: 587,
2574
- megaStone: "Gardevoir-Mega",
2575
- megaEvolves: "Gardevoir",
2458
+ megaStone: { "Gardevoir": "Gardevoir-Mega" },
2576
2459
  itemUser: ["Gardevoir"],
2577
2460
  onTakeItem(item, source) {
2578
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2579
- return false;
2580
- return true;
2461
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2581
2462
  },
2582
2463
  num: 657,
2583
2464
  gen: 6,
@@ -2586,13 +2467,10 @@ export const Items = {
2586
2467
  gengarite: {
2587
2468
  name: "Gengarite",
2588
2469
  spritenum: 588,
2589
- megaStone: "Gengar-Mega",
2590
- megaEvolves: "Gengar",
2470
+ megaStone: { "Gengar": "Gengar-Mega" },
2591
2471
  itemUser: ["Gengar"],
2592
2472
  onTakeItem(item, source) {
2593
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2594
- return false;
2595
- return true;
2473
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2596
2474
  },
2597
2475
  num: 656,
2598
2476
  gen: 6,
@@ -2644,13 +2522,10 @@ export const Items = {
2644
2522
  glalitite: {
2645
2523
  name: "Glalitite",
2646
2524
  spritenum: 623,
2647
- megaStone: "Glalie-Mega",
2648
- megaEvolves: "Glalie",
2525
+ megaStone: { "Glalie": "Glalie-Mega" },
2649
2526
  itemUser: ["Glalie"],
2650
2527
  onTakeItem(item, source) {
2651
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2652
- return false;
2653
- return true;
2528
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2654
2529
  },
2655
2530
  num: 763,
2656
2531
  gen: 6,
@@ -2659,13 +2534,10 @@ export const Items = {
2659
2534
  glimmoranite: {
2660
2535
  name: "Glimmoranite",
2661
2536
  spritenum: 0,
2662
- megaStone: "Glimmora-Mega",
2663
- megaEvolves: "Glimmora",
2537
+ megaStone: { "Glimmora": "Glimmora-Mega" },
2664
2538
  itemUser: ["Glimmora"],
2665
2539
  onTakeItem(item, source) {
2666
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2667
- return false;
2668
- return true;
2540
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2669
2541
  },
2670
2542
  num: 2600,
2671
2543
  gen: 9,
@@ -2683,13 +2555,10 @@ export const Items = {
2683
2555
  golisopite: {
2684
2556
  name: "Golisopite",
2685
2557
  spritenum: 0,
2686
- megaStone: "Golisopod-Mega",
2687
- megaEvolves: "Golisopod",
2558
+ megaStone: { "Golisopod": "Golisopod-Mega" },
2688
2559
  itemUser: ["Golisopod"],
2689
2560
  onTakeItem(item, source) {
2690
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2691
- return false;
2692
- return true;
2561
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2693
2562
  },
2694
2563
  num: 2596,
2695
2564
  gen: 9,
@@ -2698,13 +2567,10 @@ export const Items = {
2698
2567
  golurkite: {
2699
2568
  name: "Golurkite",
2700
2569
  spritenum: 0,
2701
- megaStone: "Golurk-Mega",
2702
- megaEvolves: "Golurk",
2570
+ megaStone: { "Golurk": "Golurk-Mega" },
2703
2571
  itemUser: ["Golurk"],
2704
2572
  onTakeItem(item, source) {
2705
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2706
- return false;
2707
- return true;
2573
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2708
2574
  },
2709
2575
  num: 2594,
2710
2576
  gen: 9,
@@ -2786,14 +2652,11 @@ export const Items = {
2786
2652
  greninjite: {
2787
2653
  name: "Greninjite",
2788
2654
  spritenum: 560,
2789
- megaStone: "Greninja-Mega",
2790
- megaEvolves: "Greninja",
2655
+ megaStone: { "Greninja": "Greninja-Mega" },
2791
2656
  itemUser: ["Greninja"],
2792
2657
  onTakeItem(item, source) {
2793
2658
  // TODO: Figure out if this works on Greninja-Bond
2794
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2795
- return false;
2796
- return true;
2659
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2797
2660
  },
2798
2661
  num: 2577,
2799
2662
  gen: 9,
@@ -2903,13 +2766,10 @@ export const Items = {
2903
2766
  gyaradosite: {
2904
2767
  name: "Gyaradosite",
2905
2768
  spritenum: 589,
2906
- megaStone: "Gyarados-Mega",
2907
- megaEvolves: "Gyarados",
2769
+ megaStone: { "Gyarados": "Gyarados-Mega" },
2908
2770
  itemUser: ["Gyarados"],
2909
2771
  onTakeItem(item, source) {
2910
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2911
- return false;
2912
- return true;
2772
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2913
2773
  },
2914
2774
  num: 676,
2915
2775
  gen: 6,
@@ -2957,13 +2817,10 @@ export const Items = {
2957
2817
  hawluchanite: {
2958
2818
  name: "Hawluchanite",
2959
2819
  spritenum: 566,
2960
- megaStone: "Hawlucha-Mega",
2961
- megaEvolves: "Hawlucha",
2820
+ megaStone: { "Hawlucha": "Hawlucha-Mega" },
2962
2821
  itemUser: ["Hawlucha"],
2963
2822
  onTakeItem(item, source) {
2964
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
2965
- return false;
2966
- return true;
2823
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
2967
2824
  },
2968
2825
  num: 2583,
2969
2826
  gen: 9,
@@ -3001,13 +2858,10 @@ export const Items = {
3001
2858
  heatranite: {
3002
2859
  name: "Heatranite",
3003
2860
  spritenum: 0,
3004
- megaStone: "Heatran-Mega",
3005
- megaEvolves: "Heatran",
2861
+ megaStone: { "Heatran": "Heatran-Mega" },
3006
2862
  itemUser: ["Heatran"],
3007
2863
  onTakeItem(item, source) {
3008
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3009
- return false;
3010
- return true;
2864
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3011
2865
  },
3012
2866
  num: 2592,
3013
2867
  gen: 9,
@@ -3052,13 +2906,10 @@ export const Items = {
3052
2906
  heracronite: {
3053
2907
  name: "Heracronite",
3054
2908
  spritenum: 590,
3055
- megaStone: "Heracross-Mega",
3056
- megaEvolves: "Heracross",
2909
+ megaStone: { "Heracross": "Heracross-Mega" },
3057
2910
  itemUser: ["Heracross"],
3058
2911
  onTakeItem(item, source) {
3059
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3060
- return false;
3061
- return true;
2912
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3062
2913
  },
3063
2914
  num: 680,
3064
2915
  gen: 6,
@@ -3079,13 +2930,10 @@ export const Items = {
3079
2930
  houndoominite: {
3080
2931
  name: "Houndoominite",
3081
2932
  spritenum: 591,
3082
- megaStone: "Houndoom-Mega",
3083
- megaEvolves: "Houndoom",
2933
+ megaStone: { "Houndoom": "Houndoom-Mega" },
3084
2934
  itemUser: ["Houndoom"],
3085
2935
  onTakeItem(item, source) {
3086
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3087
- return false;
3088
- return true;
2936
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3089
2937
  },
3090
2938
  num: 666,
3091
2939
  gen: 6,
@@ -3303,13 +3151,10 @@ export const Items = {
3303
3151
  kangaskhanite: {
3304
3152
  name: "Kangaskhanite",
3305
3153
  spritenum: 592,
3306
- megaStone: "Kangaskhan-Mega",
3307
- megaEvolves: "Kangaskhan",
3154
+ megaStone: { "Kangaskhan": "Kangaskhan-Mega" },
3308
3155
  itemUser: ["Kangaskhan"],
3309
3156
  onTakeItem(item, source) {
3310
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3311
- return false;
3312
- return true;
3157
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3313
3158
  },
3314
3159
  num: 675,
3315
3160
  gen: 6,
@@ -3465,13 +3310,10 @@ export const Items = {
3465
3310
  latiasite: {
3466
3311
  name: "Latiasite",
3467
3312
  spritenum: 629,
3468
- megaStone: "Latias-Mega",
3469
- megaEvolves: "Latias",
3313
+ megaStone: { "Latias": "Latias-Mega" },
3470
3314
  itemUser: ["Latias"],
3471
3315
  onTakeItem(item, source) {
3472
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3473
- return false;
3474
- return true;
3316
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3475
3317
  },
3476
3318
  num: 684,
3477
3319
  gen: 6,
@@ -3480,13 +3322,10 @@ export const Items = {
3480
3322
  latiosite: {
3481
3323
  name: "Latiosite",
3482
3324
  spritenum: 630,
3483
- megaStone: "Latios-Mega",
3484
- megaEvolves: "Latios",
3325
+ megaStone: { "Latios": "Latios-Mega" },
3485
3326
  itemUser: ["Latios"],
3486
3327
  onTakeItem(item, source) {
3487
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3488
- return false;
3489
- return true;
3328
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3490
3329
  },
3491
3330
  num: 685,
3492
3331
  gen: 6,
@@ -3671,13 +3510,10 @@ export const Items = {
3671
3510
  lopunnite: {
3672
3511
  name: "Lopunnite",
3673
3512
  spritenum: 626,
3674
- megaStone: "Lopunny-Mega",
3675
- megaEvolves: "Lopunny",
3513
+ megaStone: { "Lopunny": "Lopunny-Mega" },
3676
3514
  itemUser: ["Lopunny"],
3677
3515
  onTakeItem(item, source) {
3678
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3679
- return false;
3680
- return true;
3516
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3681
3517
  },
3682
3518
  num: 768,
3683
3519
  gen: 6,
@@ -3702,13 +3538,10 @@ export const Items = {
3702
3538
  lucarionite: {
3703
3539
  name: "Lucarionite",
3704
3540
  spritenum: 594,
3705
- megaStone: "Lucario-Mega",
3706
- megaEvolves: "Lucario",
3541
+ megaStone: { "Lucario": "Lucario-Mega" },
3707
3542
  itemUser: ["Lucario"],
3708
3543
  onTakeItem(item, source) {
3709
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3710
- return false;
3711
- return true;
3544
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3712
3545
  },
3713
3546
  num: 673,
3714
3547
  gen: 6,
@@ -3717,13 +3550,10 @@ export const Items = {
3717
3550
  lucarionitez: {
3718
3551
  name: "Lucarionite Z",
3719
3552
  spritenum: 594,
3720
- megaStone: "Lucario-Mega-Z",
3721
- megaEvolves: "Lucario",
3553
+ megaStone: { "Lucario": "Lucario-Mega-Z" },
3722
3554
  itemUser: ["Lucario"],
3723
3555
  onTakeItem(item, source) {
3724
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3725
- return false;
3726
- return true;
3556
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3727
3557
  },
3728
3558
  num: 2591,
3729
3559
  gen: 9,
@@ -3875,13 +3705,14 @@ export const Items = {
3875
3705
  magearnite: {
3876
3706
  name: "Magearnite",
3877
3707
  spritenum: 0,
3878
- megaStone: ["Magearna-Mega", "Magearna-Original-Mega"],
3879
- megaEvolves: ["Magearna", "Magearna-Original"],
3708
+ megaStone: {
3709
+ "Magearna": "Magearna-Mega",
3710
+ "Magearna-Original": "Magearna-Original-Mega",
3711
+ },
3880
3712
  itemUser: ["Magearna", "Magearna-Original"],
3881
3713
  onTakeItem(item, source) {
3882
- if (item.megaEvolves.includes(source.baseSpecies.baseSpecies))
3883
- return false;
3884
- return true;
3714
+ return !item.megaStone || (!item.megaStone[source.baseSpecies.name] &&
3715
+ !Object.values(item.megaStone).includes(source.baseSpecies.name));
3885
3716
  },
3886
3717
  num: 2597,
3887
3718
  gen: 9,
@@ -3967,13 +3798,10 @@ export const Items = {
3967
3798
  malamarite: {
3968
3799
  name: "Malamarite",
3969
3800
  spritenum: 563,
3970
- megaStone: "Malamar-Mega",
3971
- megaEvolves: "Malamar",
3801
+ megaStone: { "Malamar": "Malamar-Mega" },
3972
3802
  itemUser: ["Malamar"],
3973
3803
  onTakeItem(item, source) {
3974
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3975
- return false;
3976
- return true;
3804
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
3977
3805
  },
3978
3806
  num: 2580,
3979
3807
  gen: 9,
@@ -3991,13 +3819,10 @@ export const Items = {
3991
3819
  manectite: {
3992
3820
  name: "Manectite",
3993
3821
  spritenum: 596,
3994
- megaStone: "Manectric-Mega",
3995
- megaEvolves: "Manectric",
3822
+ megaStone: { "Manectric": "Manectric-Mega" },
3996
3823
  itemUser: ["Manectric"],
3997
3824
  onTakeItem(item, source) {
3998
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
3999
- return false;
4000
- return true;
3825
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4001
3826
  },
4002
3827
  num: 682,
4003
3828
  gen: 6,
@@ -4052,13 +3877,10 @@ export const Items = {
4052
3877
  mawilite: {
4053
3878
  name: "Mawilite",
4054
3879
  spritenum: 598,
4055
- megaStone: "Mawile-Mega",
4056
- megaEvolves: "Mawile",
3880
+ megaStone: { "Mawile": "Mawile-Mega" },
4057
3881
  itemUser: ["Mawile"],
4058
3882
  onTakeItem(item, source) {
4059
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4060
- return false;
4061
- return true;
3883
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4062
3884
  },
4063
3885
  num: 681,
4064
3886
  gen: 6,
@@ -4087,13 +3909,10 @@ export const Items = {
4087
3909
  medichamite: {
4088
3910
  name: "Medichamite",
4089
3911
  spritenum: 599,
4090
- megaStone: "Medicham-Mega",
4091
- megaEvolves: "Medicham",
3912
+ megaStone: { "Medicham": "Medicham-Mega" },
4092
3913
  itemUser: ["Medicham"],
4093
3914
  onTakeItem(item, source) {
4094
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4095
- return false;
4096
- return true;
3915
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4097
3916
  },
4098
3917
  num: 665,
4099
3918
  gen: 6,
@@ -4102,13 +3921,10 @@ export const Items = {
4102
3921
  meganiumite: {
4103
3922
  name: "Meganiumite",
4104
3923
  spritenum: 548,
4105
- megaStone: "Meganium-Mega",
4106
- megaEvolves: "Meganium",
3924
+ megaStone: { "Meganium": "Meganium-Mega" },
4107
3925
  itemUser: ["Meganium"],
4108
3926
  onTakeItem(item, source) {
4109
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4110
- return false;
4111
- return true;
3927
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4112
3928
  },
4113
3929
  num: 2563,
4114
3930
  gen: 9,
@@ -4156,13 +3972,14 @@ export const Items = {
4156
3972
  meowsticite: {
4157
3973
  name: "Meowsticite",
4158
3974
  spritenum: 0,
4159
- megaStone: ["Meowstic-M-Mega", "Meowstic-F-Mega"],
4160
- megaEvolves: ["Meowstic", "Meowstic-F"],
3975
+ megaStone: {
3976
+ "Meowstic": "Meowstic-M-Mega",
3977
+ "Meowstic-F": "Meowstic-F-Mega",
3978
+ },
4161
3979
  itemUser: ["Meowstic", "Meowstic-F"],
4162
3980
  onTakeItem(item, source) {
4163
- if (item.megaEvolves.includes(source.baseSpecies.baseSpecies))
4164
- return false;
4165
- return true;
3981
+ return !item.megaStone || (!item.megaStone[source.baseSpecies.name] &&
3982
+ !Object.values(item.megaStone).includes(source.baseSpecies.name));
4166
3983
  },
4167
3984
  num: 2594,
4168
3985
  gen: 9,
@@ -4171,13 +3988,10 @@ export const Items = {
4171
3988
  metagrossite: {
4172
3989
  name: "Metagrossite",
4173
3990
  spritenum: 618,
4174
- megaStone: "Metagross-Mega",
4175
- megaEvolves: "Metagross",
3991
+ megaStone: { "Metagross": "Metagross-Mega" },
4176
3992
  itemUser: ["Metagross"],
4177
3993
  onTakeItem(item, source) {
4178
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4179
- return false;
4180
- return true;
3994
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4181
3995
  },
4182
3996
  num: 758,
4183
3997
  gen: 6,
@@ -4283,13 +4097,10 @@ export const Items = {
4283
4097
  mewtwonitex: {
4284
4098
  name: "Mewtwonite X",
4285
4099
  spritenum: 600,
4286
- megaStone: "Mewtwo-Mega-X",
4287
- megaEvolves: "Mewtwo",
4100
+ megaStone: { "Mewtwo": "Mewtwo-Mega-X" },
4288
4101
  itemUser: ["Mewtwo"],
4289
4102
  onTakeItem(item, source) {
4290
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4291
- return false;
4292
- return true;
4103
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4293
4104
  },
4294
4105
  num: 662,
4295
4106
  gen: 6,
@@ -4298,13 +4109,10 @@ export const Items = {
4298
4109
  mewtwonitey: {
4299
4110
  name: "Mewtwonite Y",
4300
4111
  spritenum: 601,
4301
- megaStone: "Mewtwo-Mega-Y",
4302
- megaEvolves: "Mewtwo",
4112
+ megaStone: { "Mewtwo": "Mewtwo-Mega-Y" },
4303
4113
  itemUser: ["Mewtwo"],
4304
4114
  onTakeItem(item, source) {
4305
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4306
- return false;
4307
- return true;
4115
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4308
4116
  },
4309
4117
  num: 663,
4310
4118
  gen: 6,
@@ -4807,13 +4615,10 @@ export const Items = {
4807
4615
  pidgeotite: {
4808
4616
  name: "Pidgeotite",
4809
4617
  spritenum: 622,
4810
- megaStone: "Pidgeot-Mega",
4811
- megaEvolves: "Pidgeot",
4618
+ megaStone: { "Pidgeot": "Pidgeot-Mega" },
4812
4619
  itemUser: ["Pidgeot"],
4813
4620
  onTakeItem(item, source) {
4814
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4815
- return false;
4816
- return true;
4621
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4817
4622
  },
4818
4623
  num: 762,
4819
4624
  gen: 6,
@@ -4857,13 +4662,10 @@ export const Items = {
4857
4662
  pinsirite: {
4858
4663
  name: "Pinsirite",
4859
4664
  spritenum: 602,
4860
- megaStone: "Pinsir-Mega",
4861
- megaEvolves: "Pinsir",
4665
+ megaStone: { "Pinsir": "Pinsir-Mega" },
4862
4666
  itemUser: ["Pinsir"],
4863
4667
  onTakeItem(item, source) {
4864
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
4865
- return false;
4866
- return true;
4668
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
4867
4669
  },
4868
4670
  num: 671,
4869
4671
  gen: 6,
@@ -5217,13 +5019,10 @@ export const Items = {
5217
5019
  pyroarite: {
5218
5020
  name: "Pyroarite",
5219
5021
  spritenum: 561,
5220
- megaStone: "Pyroar-Mega",
5221
- megaEvolves: "Pyroar",
5022
+ megaStone: { "Pyroar": "Pyroar-Mega" },
5222
5023
  itemUser: ["Pyroar"],
5223
5024
  onTakeItem(item, source) {
5224
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5225
- return false;
5226
- return true;
5025
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5227
5026
  },
5228
5027
  num: 2578,
5229
5028
  gen: 9,
@@ -5298,14 +5097,10 @@ export const Items = {
5298
5097
  raichunitex: {
5299
5098
  name: "Raichunite X",
5300
5099
  spritenum: 0,
5301
- megaStone: "Raichu-Mega-X",
5302
- megaEvolves: "Raichu",
5100
+ megaStone: { "Raichu": "Raichu-Mega-X" },
5303
5101
  itemUser: ["Raichu"],
5304
5102
  onTakeItem(item, source) {
5305
- if (item.megaEvolves === source.baseSpecies.name ||
5306
- item.megaStone === source.baseSpecies.name)
5307
- return false;
5308
- return true;
5103
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5309
5104
  },
5310
5105
  num: 2585,
5311
5106
  gen: 9,
@@ -5314,14 +5109,10 @@ export const Items = {
5314
5109
  raichunitey: {
5315
5110
  name: "Raichunite Y",
5316
5111
  spritenum: 0,
5317
- megaStone: "Raichu-Mega-Y",
5318
- megaEvolves: "Raichu",
5112
+ megaStone: { "Raichu": "Raichu-Mega-Y" },
5319
5113
  itemUser: ["Raichu"],
5320
5114
  onTakeItem(item, source) {
5321
- if (item.megaEvolves === source.baseSpecies.name ||
5322
- item.megaStone === source.baseSpecies.name)
5323
- return false;
5324
- return true;
5115
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5325
5116
  },
5326
5117
  num: 2586,
5327
5118
  gen: 9,
@@ -5704,13 +5495,10 @@ export const Items = {
5704
5495
  sablenite: {
5705
5496
  name: "Sablenite",
5706
5497
  spritenum: 614,
5707
- megaStone: "Sableye-Mega",
5708
- megaEvolves: "Sableye",
5498
+ megaStone: { "Sableye": "Sableye-Mega" },
5709
5499
  itemUser: ["Sableye"],
5710
5500
  onTakeItem(item, source) {
5711
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5712
- return false;
5713
- return true;
5501
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5714
5502
  },
5715
5503
  num: 754,
5716
5504
  gen: 6,
@@ -5785,13 +5573,10 @@ export const Items = {
5785
5573
  salamencite: {
5786
5574
  name: "Salamencite",
5787
5575
  spritenum: 627,
5788
- megaStone: "Salamence-Mega",
5789
- megaEvolves: "Salamence",
5576
+ megaStone: { "Salamence": "Salamence-Mega" },
5790
5577
  itemUser: ["Salamence"],
5791
5578
  onTakeItem(item, source) {
5792
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5793
- return false;
5794
- return true;
5579
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5795
5580
  },
5796
5581
  num: 769,
5797
5582
  gen: 6,
@@ -5800,13 +5585,10 @@ export const Items = {
5800
5585
  sceptilite: {
5801
5586
  name: "Sceptilite",
5802
5587
  spritenum: 613,
5803
- megaStone: "Sceptile-Mega",
5804
- megaEvolves: "Sceptile",
5588
+ megaStone: { "Sceptile": "Sceptile-Mega" },
5805
5589
  itemUser: ["Sceptile"],
5806
5590
  onTakeItem(item, source) {
5807
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5808
- return false;
5809
- return true;
5591
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5810
5592
  },
5811
5593
  num: 753,
5812
5594
  gen: 6,
@@ -5815,13 +5597,10 @@ export const Items = {
5815
5597
  scizorite: {
5816
5598
  name: "Scizorite",
5817
5599
  spritenum: 605,
5818
- megaStone: "Scizor-Mega",
5819
- megaEvolves: "Scizor",
5600
+ megaStone: { "Scizor": "Scizor-Mega" },
5820
5601
  itemUser: ["Scizor"],
5821
5602
  onTakeItem(item, source) {
5822
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5823
- return false;
5824
- return true;
5603
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5825
5604
  },
5826
5605
  num: 670,
5827
5606
  gen: 6,
@@ -5830,13 +5609,10 @@ export const Items = {
5830
5609
  scolipite: {
5831
5610
  name: "Scolipite",
5832
5611
  spritenum: 554,
5833
- megaStone: "Scolipede-Mega",
5834
- megaEvolves: "Scolipede",
5612
+ megaStone: { "Scolipede": "Scolipede-Mega" },
5835
5613
  itemUser: ["Scolipede"],
5836
5614
  onTakeItem(item, source) {
5837
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5838
- return false;
5839
- return true;
5615
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5840
5616
  },
5841
5617
  num: 2571,
5842
5618
  gen: 9,
@@ -5857,13 +5633,10 @@ export const Items = {
5857
5633
  scovillainite: {
5858
5634
  name: "Scovillainite",
5859
5635
  spritenum: 0,
5860
- megaStone: "Scovillain-Mega",
5861
- megaEvolves: "Scovillain",
5636
+ megaStone: { "Scovillain": "Scovillain-Mega" },
5862
5637
  itemUser: ["Scovillain"],
5863
5638
  onTakeItem(item, source) {
5864
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5865
- return false;
5866
- return true;
5639
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5867
5640
  },
5868
5641
  num: 2599,
5869
5642
  gen: 9,
@@ -5872,13 +5645,10 @@ export const Items = {
5872
5645
  scraftinite: {
5873
5646
  name: "Scraftinite",
5874
5647
  spritenum: 555,
5875
- megaStone: "Scrafty-Mega",
5876
- megaEvolves: "Scrafty",
5648
+ megaStone: { "Scrafty": "Scrafty-Mega" },
5877
5649
  itemUser: ["Scrafty"],
5878
5650
  onTakeItem(item, source) {
5879
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5880
- return false;
5881
- return true;
5651
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5882
5652
  },
5883
5653
  num: 2572,
5884
5654
  gen: 9,
@@ -5918,13 +5688,10 @@ export const Items = {
5918
5688
  sharpedonite: {
5919
5689
  name: "Sharpedonite",
5920
5690
  spritenum: 619,
5921
- megaStone: "Sharpedo-Mega",
5922
- megaEvolves: "Sharpedo",
5691
+ megaStone: { "Sharpedo": "Sharpedo-Mega" },
5923
5692
  itemUser: ["Sharpedo"],
5924
5693
  onTakeItem(item, source) {
5925
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
5926
- return false;
5927
- return true;
5694
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
5928
5695
  },
5929
5696
  num: 759,
5930
5697
  gen: 6,
@@ -6067,13 +5834,10 @@ export const Items = {
6067
5834
  skarmorite: {
6068
5835
  name: "Skarmorite",
6069
5836
  spritenum: 550,
6070
- megaStone: "Skarmory-Mega",
6071
- megaEvolves: "Skarmory",
5837
+ megaStone: { "Skarmory": "Skarmory-Mega" },
6072
5838
  itemUser: ["Skarmory"],
6073
5839
  onTakeItem(item, source) {
6074
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6075
- return false;
6076
- return true;
5840
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6077
5841
  },
6078
5842
  num: 2565,
6079
5843
  gen: 9,
@@ -6112,13 +5876,10 @@ export const Items = {
6112
5876
  slowbronite: {
6113
5877
  name: "Slowbronite",
6114
5878
  spritenum: 620,
6115
- megaStone: "Slowbro-Mega",
6116
- megaEvolves: "Slowbro",
5879
+ megaStone: { "Slowbro": "Slowbro-Mega" },
6117
5880
  itemUser: ["Slowbro"],
6118
5881
  onTakeItem(item, source) {
6119
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6120
- return false;
6121
- return true;
5882
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6122
5883
  },
6123
5884
  num: 760,
6124
5885
  gen: 6,
@@ -6282,13 +6043,10 @@ export const Items = {
6282
6043
  staraptite: {
6283
6044
  name: "Staraptite",
6284
6045
  spritenum: 0,
6285
- megaStone: "Staraptor-Mega",
6286
- megaEvolves: "Staraptor",
6046
+ megaStone: { "Staraptor": "Staraptor-Mega" },
6287
6047
  itemUser: ["Staraptor"],
6288
6048
  onTakeItem(item, source) {
6289
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6290
- return false;
6291
- return true;
6049
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6292
6050
  },
6293
6051
  num: 2589,
6294
6052
  gen: 9,
@@ -6329,13 +6087,10 @@ export const Items = {
6329
6087
  starminite: {
6330
6088
  name: "Starminite",
6331
6089
  spritenum: 546,
6332
- megaStone: "Starmie-Mega",
6333
- megaEvolves: "Starmie",
6090
+ megaStone: { "Starmie": "Starmie-Mega" },
6334
6091
  itemUser: ["Starmie"],
6335
6092
  onTakeItem(item, source) {
6336
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6337
- return false;
6338
- return true;
6093
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6339
6094
  },
6340
6095
  num: 2561,
6341
6096
  gen: 9,
@@ -6380,13 +6135,10 @@ export const Items = {
6380
6135
  steelixite: {
6381
6136
  name: "Steelixite",
6382
6137
  spritenum: 621,
6383
- megaStone: "Steelix-Mega",
6384
- megaEvolves: "Steelix",
6138
+ megaStone: { "Steelix": "Steelix-Mega" },
6385
6139
  itemUser: ["Steelix"],
6386
6140
  onTakeItem(item, source) {
6387
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6388
- return false;
6389
- return true;
6141
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6390
6142
  },
6391
6143
  num: 761,
6392
6144
  gen: 6,
@@ -6496,13 +6248,10 @@ export const Items = {
6496
6248
  swampertite: {
6497
6249
  name: "Swampertite",
6498
6250
  spritenum: 612,
6499
- megaStone: "Swampert-Mega",
6500
- megaEvolves: "Swampert",
6251
+ megaStone: { "Swampert": "Swampert-Mega" },
6501
6252
  itemUser: ["Swampert"],
6502
6253
  onTakeItem(item, source) {
6503
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
6504
- return false;
6505
- return true;
6254
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
6506
6255
  },
6507
6256
  num: 752,
6508
6257
  gen: 6,
@@ -6585,13 +6334,15 @@ export const Items = {
6585
6334
  tatsugirinite: {
6586
6335
  name: "Tatsugirinite",
6587
6336
  spritenum: 0,
6588
- megaStone: ["Tatsugiri-Curly-Mega", "Tatsugiri-Droopy-Mega", "Tatsugiri-Stretchy-Mega"],
6589
- megaEvolves: ["Tatsugiri", "Tatsugiri-Droopy", "Tatsugiri-Stretchy"],
6337
+ megaStone: {
6338
+ "Tatsugiri": "Tatsugiri-Curly-Mega",
6339
+ "Tatsugiri-Droopy": "Tatsugiri-Droopy-Mega",
6340
+ "Tatsugiri-Stretchy": "Tatsugiri-Stretchy-Mega",
6341
+ },
6590
6342
  itemUser: ["Tatsugiri", "Tatsugiri-Droopy", "Tatsugiri-Stretchy"],
6591
6343
  onTakeItem(item, source) {
6592
- if (item.megaEvolves.includes(source.baseSpecies.baseSpecies))
6593
- return false;
6594
- return true;
6344
+ return !item.megaStone || (!item.megaStone[source.baseSpecies.name] &&
6345
+ !Object.values(item.megaStone).includes(source.baseSpecies.name));
6595
6346
  },
6596
6347
  num: 2601,
6597
6348
  gen: 9,
@@ -7709,13 +7460,10 @@ export const Items = {
7709
7460
  tyranitarite: {
7710
7461
  name: "Tyranitarite",
7711
7462
  spritenum: 607,
7712
- megaStone: "Tyranitar-Mega",
7713
- megaEvolves: "Tyranitar",
7463
+ megaStone: { "Tyranitar": "Tyranitar-Mega" },
7714
7464
  itemUser: ["Tyranitar"],
7715
7465
  onTakeItem(item, source) {
7716
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
7717
- return false;
7718
- return true;
7466
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
7719
7467
  },
7720
7468
  num: 669,
7721
7469
  gen: 6,
@@ -7791,13 +7539,10 @@ export const Items = {
7791
7539
  venusaurite: {
7792
7540
  name: "Venusaurite",
7793
7541
  spritenum: 608,
7794
- megaStone: "Venusaur-Mega",
7795
- megaEvolves: "Venusaur",
7542
+ megaStone: { "Venusaur": "Venusaur-Mega" },
7796
7543
  itemUser: ["Venusaur"],
7797
7544
  onTakeItem(item, source) {
7798
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
7799
- return false;
7800
- return true;
7545
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
7801
7546
  },
7802
7547
  num: 659,
7803
7548
  gen: 6,
@@ -7806,13 +7551,10 @@ export const Items = {
7806
7551
  victreebelite: {
7807
7552
  name: "Victreebelite",
7808
7553
  spritenum: 545,
7809
- megaStone: "Victreebel-Mega",
7810
- megaEvolves: "Victreebel",
7554
+ megaStone: { "Victreebel": "Victreebel-Mega" },
7811
7555
  itemUser: ["Victreebel"],
7812
7556
  onTakeItem(item, source) {
7813
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
7814
- return false;
7815
- return true;
7557
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
7816
7558
  },
7817
7559
  num: 2560,
7818
7560
  gen: 9,
@@ -8146,13 +7888,10 @@ export const Items = {
8146
7888
  zeraorite: {
8147
7889
  name: "Zeraorite",
8148
7890
  spritenum: 0,
8149
- megaStone: "Zeraora-Mega",
8150
- megaEvolves: "Zeraora",
7891
+ megaStone: { "Zeraora": "Zeraora-Mega" },
8151
7892
  itemUser: ["Zeraora"],
8152
7893
  onTakeItem(item, source) {
8153
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
8154
- return false;
8155
- return true;
7894
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
8156
7895
  },
8157
7896
  num: 2598,
8158
7897
  gen: 9,
@@ -8177,13 +7916,10 @@ export const Items = {
8177
7916
  zygardite: {
8178
7917
  name: "Zygardite",
8179
7918
  spritenum: 568,
8180
- megaStone: "Zygarde-Mega",
8181
- megaEvolves: "Zygarde-Complete",
7919
+ megaStone: { "Zygarde-Complete": "Zygarde-Mega" },
8182
7920
  itemUser: ["Zygarde-Complete"],
8183
7921
  onTakeItem(item, source) {
8184
- if (source.baseSpecies.baseSpecies === 'Zygarde')
8185
- return false;
8186
- return true;
7922
+ return source.baseSpecies.baseSpecies !== 'Zygarde';
8187
7923
  },
8188
7924
  num: 2584,
8189
7925
  gen: 9,
@@ -8476,13 +8212,10 @@ export const Items = {
8476
8212
  crucibellite: {
8477
8213
  name: "Crucibellite",
8478
8214
  spritenum: 577,
8479
- megaStone: "Crucibelle-Mega",
8480
- megaEvolves: "Crucibelle",
8215
+ megaStone: { "Crucibelle": "Crucibelle-Mega" },
8481
8216
  itemUser: ["Crucibelle"],
8482
8217
  onTakeItem(item, source) {
8483
- if (item.megaEvolves === source.baseSpecies.baseSpecies)
8484
- return false;
8485
- return true;
8218
+ return !item.megaStone?.[source.baseSpecies.baseSpecies];
8486
8219
  },
8487
8220
  num: -1,
8488
8221
  gen: 6,