@pkmn/sim 0.7.11 → 0.7.13

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 (145) hide show
  1. package/build/cjs/config/formats.js +114 -84
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +25 -16
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/aliases.js +3 -2
  6. package/build/cjs/data/aliases.js.map +1 -1
  7. package/build/cjs/data/conditions.js +1 -1
  8. package/build/cjs/data/conditions.js.map +1 -1
  9. package/build/cjs/data/formats-data.js +917 -917
  10. package/build/cjs/data/formats-data.js.map +1 -1
  11. package/build/cjs/data/items.js +104 -38
  12. package/build/cjs/data/items.js.map +1 -1
  13. package/build/cjs/data/learnsets.js +9 -9
  14. package/build/cjs/data/mods/gen1/conditions.js +30 -31
  15. package/build/cjs/data/mods/gen1/conditions.js.map +1 -1
  16. package/build/cjs/data/mods/gen1/moves.js +68 -100
  17. package/build/cjs/data/mods/gen1/moves.js.map +1 -1
  18. package/build/cjs/data/mods/gen1/scripts.js +16 -6
  19. package/build/cjs/data/mods/gen1/scripts.js.map +1 -1
  20. package/build/cjs/data/mods/gen3/formats-data.js +52 -52
  21. package/build/cjs/data/mods/gen3/formats-data.js.map +1 -1
  22. package/build/cjs/data/mods/gen4/moves.js +32 -24
  23. package/build/cjs/data/mods/gen4/moves.js.map +1 -1
  24. package/build/cjs/data/mods/gen4/rulesets.js +1 -1
  25. package/build/cjs/data/mods/gen4/rulesets.js.map +1 -1
  26. package/build/cjs/data/mods/gen5/formats-data.js +15 -15
  27. package/build/cjs/data/mods/gen5/formats-data.js.map +1 -1
  28. package/build/cjs/data/mods/gen5/rulesets.js +1 -1
  29. package/build/cjs/data/mods/gen5/rulesets.js.map +1 -1
  30. package/build/cjs/data/mods/gen6/formats-data.js +3 -3
  31. package/build/cjs/data/mods/gen6/formats-data.js.map +1 -1
  32. package/build/cjs/data/mods/gen7/formats-data.js +6 -6
  33. package/build/cjs/data/mods/gen7/formats-data.js.map +1 -1
  34. package/build/cjs/data/mods/gen7/items.js +8 -0
  35. package/build/cjs/data/mods/gen7/items.js.map +1 -1
  36. package/build/cjs/data/mods/gen7/rulesets.js +1 -1
  37. package/build/cjs/data/mods/gen7/rulesets.js.map +1 -1
  38. package/build/cjs/data/mods/gen8/formats-data.js +2 -2
  39. package/build/cjs/data/mods/gen8/formats-data.js.map +1 -1
  40. package/build/cjs/data/mods/gen8/items.js +76 -0
  41. package/build/cjs/data/mods/gen8/items.js.map +1 -1
  42. package/build/cjs/data/mods/gen8/moves.js +9 -0
  43. package/build/cjs/data/mods/gen8/moves.js.map +1 -1
  44. package/build/cjs/data/mods/gen8/pokedex.js +4 -0
  45. package/build/cjs/data/mods/gen8/pokedex.js.map +1 -1
  46. package/build/cjs/data/moves.js +111 -61
  47. package/build/cjs/data/moves.js.map +1 -1
  48. package/build/cjs/data/pokedex.js +5 -1
  49. package/build/cjs/data/pokedex.js.map +1 -1
  50. package/build/cjs/data/rulesets.js +1 -1
  51. package/build/cjs/data/rulesets.js.map +1 -1
  52. package/build/cjs/data/tags.js +4 -0
  53. package/build/cjs/data/tags.js.map +1 -1
  54. package/build/cjs/data/text/abilities.js +87 -55
  55. package/build/cjs/data/text/abilities.js.map +1 -1
  56. package/build/cjs/data/text/items.js +26 -13
  57. package/build/cjs/data/text/items.js.map +1 -1
  58. package/build/cjs/data/text/moves.js +179 -103
  59. package/build/cjs/data/text/moves.js.map +1 -1
  60. package/build/cjs/sim/battle-actions.js +9 -9
  61. package/build/cjs/sim/battle-actions.js.map +1 -1
  62. package/build/cjs/sim/battle-queue.js +1 -0
  63. package/build/cjs/sim/battle-queue.js.map +1 -1
  64. package/build/cjs/sim/battle.js +37 -2
  65. package/build/cjs/sim/battle.js.map +1 -1
  66. package/build/cjs/sim/pokemon.js +14 -6
  67. package/build/cjs/sim/pokemon.js.map +1 -1
  68. package/build/cjs/sim/side.js +7 -12
  69. package/build/cjs/sim/side.js.map +1 -1
  70. package/build/cjs/sim/team-validator.js +0 -4
  71. package/build/cjs/sim/team-validator.js.map +1 -1
  72. package/build/esm/config/formats.mjs +114 -84
  73. package/build/esm/config/formats.mjs.map +1 -1
  74. package/build/esm/data/abilities.mjs +25 -16
  75. package/build/esm/data/abilities.mjs.map +1 -1
  76. package/build/esm/data/aliases.mjs +3 -2
  77. package/build/esm/data/aliases.mjs.map +1 -1
  78. package/build/esm/data/conditions.mjs +1 -1
  79. package/build/esm/data/conditions.mjs.map +1 -1
  80. package/build/esm/data/formats-data.mjs +917 -917
  81. package/build/esm/data/formats-data.mjs.map +1 -1
  82. package/build/esm/data/items.mjs +104 -38
  83. package/build/esm/data/items.mjs.map +1 -1
  84. package/build/esm/data/learnsets.mjs +9 -9
  85. package/build/esm/data/mods/gen1/conditions.mjs +30 -31
  86. package/build/esm/data/mods/gen1/conditions.mjs.map +1 -1
  87. package/build/esm/data/mods/gen1/moves.mjs +68 -100
  88. package/build/esm/data/mods/gen1/moves.mjs.map +1 -1
  89. package/build/esm/data/mods/gen1/scripts.mjs +16 -6
  90. package/build/esm/data/mods/gen1/scripts.mjs.map +1 -1
  91. package/build/esm/data/mods/gen3/formats-data.mjs +52 -52
  92. package/build/esm/data/mods/gen3/formats-data.mjs.map +1 -1
  93. package/build/esm/data/mods/gen4/moves.mjs +32 -24
  94. package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
  95. package/build/esm/data/mods/gen4/rulesets.mjs +1 -1
  96. package/build/esm/data/mods/gen4/rulesets.mjs.map +1 -1
  97. package/build/esm/data/mods/gen5/formats-data.mjs +15 -15
  98. package/build/esm/data/mods/gen5/formats-data.mjs.map +1 -1
  99. package/build/esm/data/mods/gen5/rulesets.mjs +1 -1
  100. package/build/esm/data/mods/gen5/rulesets.mjs.map +1 -1
  101. package/build/esm/data/mods/gen6/formats-data.mjs +3 -3
  102. package/build/esm/data/mods/gen6/formats-data.mjs.map +1 -1
  103. package/build/esm/data/mods/gen7/formats-data.mjs +6 -6
  104. package/build/esm/data/mods/gen7/formats-data.mjs.map +1 -1
  105. package/build/esm/data/mods/gen7/items.mjs +8 -0
  106. package/build/esm/data/mods/gen7/items.mjs.map +1 -1
  107. package/build/esm/data/mods/gen7/rulesets.mjs +1 -1
  108. package/build/esm/data/mods/gen7/rulesets.mjs.map +1 -1
  109. package/build/esm/data/mods/gen8/formats-data.mjs +2 -2
  110. package/build/esm/data/mods/gen8/formats-data.mjs.map +1 -1
  111. package/build/esm/data/mods/gen8/items.mjs +76 -0
  112. package/build/esm/data/mods/gen8/items.mjs.map +1 -1
  113. package/build/esm/data/mods/gen8/moves.mjs +9 -0
  114. package/build/esm/data/mods/gen8/moves.mjs.map +1 -1
  115. package/build/esm/data/mods/gen8/pokedex.mjs +4 -0
  116. package/build/esm/data/mods/gen8/pokedex.mjs.map +1 -1
  117. package/build/esm/data/moves.mjs +111 -61
  118. package/build/esm/data/moves.mjs.map +1 -1
  119. package/build/esm/data/pokedex.mjs +5 -1
  120. package/build/esm/data/pokedex.mjs.map +1 -1
  121. package/build/esm/data/rulesets.mjs +1 -1
  122. package/build/esm/data/rulesets.mjs.map +1 -1
  123. package/build/esm/data/tags.mjs +4 -0
  124. package/build/esm/data/tags.mjs.map +1 -1
  125. package/build/esm/data/text/abilities.mjs +87 -55
  126. package/build/esm/data/text/abilities.mjs.map +1 -1
  127. package/build/esm/data/text/items.mjs +26 -13
  128. package/build/esm/data/text/items.mjs.map +1 -1
  129. package/build/esm/data/text/moves.mjs +179 -103
  130. package/build/esm/data/text/moves.mjs.map +1 -1
  131. package/build/esm/sim/battle-actions.mjs +9 -9
  132. package/build/esm/sim/battle-actions.mjs.map +1 -1
  133. package/build/esm/sim/battle-queue.mjs +1 -0
  134. package/build/esm/sim/battle-queue.mjs.map +1 -1
  135. package/build/esm/sim/battle.mjs +37 -2
  136. package/build/esm/sim/battle.mjs.map +1 -1
  137. package/build/esm/sim/pokemon.mjs +14 -6
  138. package/build/esm/sim/pokemon.mjs.map +1 -1
  139. package/build/esm/sim/side.mjs +7 -12
  140. package/build/esm/sim/side.mjs.map +1 -1
  141. package/build/esm/sim/team-validator.mjs +0 -4
  142. package/build/esm/sim/team-validator.mjs.map +1 -1
  143. package/build/types/sim/battle-queue.d.ts +2 -2
  144. package/build/types/sim/side.d.ts +1 -1
  145. package/package.json +3 -3
@@ -66,6 +66,27 @@ exports.Items = {
66
66
  num: 545,
67
67
  gen: 5,
68
68
  },
69
+ adamantcrystal: {
70
+ name: "Adamant Crystal",
71
+ spritenum: 4,
72
+ onBasePowerPriority: 15,
73
+ onBasePower(basePower, user, target, move) {
74
+ if (user.baseSpecies.num === 483 && (move.type === 'Steel' || move.type === 'Dragon')) {
75
+ return this.chainModify([4915, 4096]);
76
+ }
77
+ },
78
+ onTakeItem(item, pokemon, source) {
79
+ if (source?.baseSpecies.num === 483 || pokemon.baseSpecies.num === 483) {
80
+ return false;
81
+ }
82
+ return true;
83
+ },
84
+ forcedForme: "Dialga-Origin",
85
+ itemUser: ["Dialga-Origin"],
86
+ num: 1777,
87
+ gen: 8,
88
+ isNonstandard: "Unobtainable",
89
+ },
69
90
  adamantorb: {
70
91
  name: "Adamant Orb",
71
92
  spritenum: 4,
@@ -74,7 +95,7 @@ exports.Items = {
74
95
  },
75
96
  onBasePowerPriority: 15,
76
97
  onBasePower(basePower, user, target, move) {
77
- if (move && user.baseSpecies.name === 'Dialga' && (move.type === 'Steel' || move.type === 'Dragon')) {
98
+ if (user.baseSpecies.num === 483 && (move.type === 'Steel' || move.type === 'Dragon')) {
78
99
  return this.chainModify([4915, 4096]);
79
100
  }
80
101
  },
@@ -443,6 +464,7 @@ exports.Items = {
443
464
  },
444
465
  num: 1111,
445
466
  gen: 8,
467
+ isNonstandard: "Past",
446
468
  },
447
469
  bigroot: {
448
470
  name: "Big Root",
@@ -581,6 +603,7 @@ exports.Items = {
581
603
  onEat: false,
582
604
  num: 165,
583
605
  gen: 3,
606
+ isNonstandard: "Past",
584
607
  },
585
608
  blunderpolicy: {
586
609
  name: "Blunder Policy",
@@ -600,17 +623,12 @@ exports.Items = {
600
623
  return;
601
624
  if (this.queue.peek(true)?.choice === 'runSwitch')
602
625
  return;
603
- function tryEnergyBoost(ability) {
604
- if (pokemon.hasAbility(ability) && !pokemon.getVolatile(ability) && pokemon.useItem()) {
605
- this.add('-activate', pokemon, `ability: ${this.dex.abilities.get(ability).name}`, '[fromitem]');
606
- pokemon.addVolatile(ability);
607
- pokemon.volatiles[ability].fromBooster = true;
608
- return true;
609
- }
626
+ if (pokemon.hasAbility('protosynthesis') && !this.field.isWeather('sunnyday') && pokemon.useItem()) {
627
+ pokemon.addVolatile('protosynthesis');
628
+ }
629
+ if (pokemon.hasAbility('quarkdrive') && !this.field.isTerrain('electricterrain') && pokemon.useItem()) {
630
+ pokemon.addVolatile('quarkdrive');
610
631
  }
611
- if (tryEnergyBoost.call(this, 'protosynthesis'))
612
- return;
613
- tryEnergyBoost.call(this, 'quarkdrive');
614
632
  },
615
633
  onTakeItem(item, source) {
616
634
  if (source.baseSpecies.tags.includes("Paradox"))
@@ -1039,6 +1057,7 @@ exports.Items = {
1039
1057
  },
1040
1058
  num: 1112,
1041
1059
  gen: 8,
1060
+ isNonstandard: "Past",
1042
1061
  },
1043
1062
  cobaberry: {
1044
1063
  name: "Coba Berry",
@@ -1655,15 +1674,6 @@ exports.Items = {
1655
1674
  gen: 7,
1656
1675
  isNonstandard: "Past",
1657
1676
  },
1658
- energypowder: {
1659
- name: "Energy Powder",
1660
- spritenum: 123,
1661
- fling: {
1662
- basePower: 30,
1663
- },
1664
- num: 34,
1665
- gen: 2,
1666
- },
1667
1677
  enigmaberry: {
1668
1678
  name: "Enigma Berry",
1669
1679
  spritenum: 124,
@@ -1973,6 +1983,7 @@ exports.Items = {
1973
1983
  },
1974
1984
  num: 1113,
1975
1985
  gen: 8,
1986
+ isNonstandard: "Past",
1976
1987
  },
1977
1988
  flyinggem: {
1978
1989
  name: "Flying Gem",
@@ -2106,7 +2117,7 @@ exports.Items = {
2106
2117
  onFractionalPriority: -0.1,
2107
2118
  num: 316,
2108
2119
  gen: 4,
2109
- isNonstandard: "Unobtainable",
2120
+ isNonstandard: "Past",
2110
2121
  },
2111
2122
  galaricacuff: {
2112
2123
  name: "Galarica Cuff",
@@ -2116,7 +2127,7 @@ exports.Items = {
2116
2127
  },
2117
2128
  num: 1582,
2118
2129
  gen: 8,
2119
- isNonstandard: "Past",
2130
+ isNonstandard: "Unobtainable",
2120
2131
  },
2121
2132
  galaricawreath: {
2122
2133
  name: "Galarica Wreath",
@@ -2126,7 +2137,7 @@ exports.Items = {
2126
2137
  },
2127
2138
  num: 1592,
2128
2139
  gen: 8,
2129
- isNonstandard: "Past",
2140
+ isNonstandard: "Unobtainable",
2130
2141
  },
2131
2142
  galladite: {
2132
2143
  name: "Galladite",
@@ -2370,12 +2381,9 @@ exports.Items = {
2370
2381
  num: 286,
2371
2382
  gen: 4,
2372
2383
  },
2373
- griseousorb: {
2374
- name: "Griseous Orb",
2384
+ griseouscore: {
2385
+ name: "Griseous Core",
2375
2386
  spritenum: 180,
2376
- fling: {
2377
- basePower: 60,
2378
- },
2379
2387
  onBasePowerPriority: 15,
2380
2388
  onBasePower(basePower, user, target, move) {
2381
2389
  if (user.baseSpecies.num === 487 && (move.type === 'Ghost' || move.type === 'Dragon')) {
@@ -2383,13 +2391,30 @@ exports.Items = {
2383
2391
  }
2384
2392
  },
2385
2393
  onTakeItem(item, pokemon, source) {
2386
- if ((source && source.baseSpecies.num === 487) || pokemon.baseSpecies.num === 487) {
2394
+ if (source?.baseSpecies.num === 487 || pokemon.baseSpecies.num === 487) {
2387
2395
  return false;
2388
2396
  }
2389
2397
  return true;
2390
2398
  },
2391
2399
  forcedForme: "Giratina-Origin",
2392
2400
  itemUser: ["Giratina-Origin"],
2401
+ num: 1779,
2402
+ gen: 8,
2403
+ isNonstandard: "Unobtainable",
2404
+ },
2405
+ griseousorb: {
2406
+ name: "Griseous Orb",
2407
+ spritenum: 180,
2408
+ fling: {
2409
+ basePower: 60,
2410
+ },
2411
+ onBasePowerPriority: 15,
2412
+ onBasePower(basePower, user, target, move) {
2413
+ if (user.baseSpecies.num === 487 && (move.type === 'Ghost' || move.type === 'Dragon')) {
2414
+ return this.chainModify([4915, 4096]);
2415
+ }
2416
+ },
2417
+ itemUser: ["Giratina"],
2393
2418
  num: 112,
2394
2419
  gen: 4,
2395
2420
  isNonstandard: "Unobtainable",
@@ -2997,7 +3022,7 @@ exports.Items = {
2997
3022
  },
2998
3023
  num: 255,
2999
3024
  gen: 3,
3000
- isNonstandard: "Unobtainable",
3025
+ isNonstandard: "Past",
3001
3026
  },
3002
3027
  leafstone: {
3003
3028
  name: "Leaf Stone",
@@ -3185,6 +3210,7 @@ exports.Items = {
3185
3210
  },
3186
3211
  num: 1110,
3187
3212
  gen: 8,
3213
+ isNonstandard: "Past",
3188
3214
  },
3189
3215
  lucarionite: {
3190
3216
  name: "Lucarionite",
@@ -3276,6 +3302,27 @@ exports.Items = {
3276
3302
  gen: 2,
3277
3303
  isPokeball: true,
3278
3304
  },
3305
+ lustrousglobe: {
3306
+ name: "Lustrous Globe",
3307
+ spritenum: 265,
3308
+ onBasePowerPriority: 15,
3309
+ onBasePower(basePower, user, target, move) {
3310
+ if (user.baseSpecies.num === 484 && (move.type === 'Water' || move.type === 'Dragon')) {
3311
+ return this.chainModify([4915, 4096]);
3312
+ }
3313
+ },
3314
+ onTakeItem(item, pokemon, source) {
3315
+ if (source?.baseSpecies.num === 484 || pokemon.baseSpecies.num === 484) {
3316
+ return false;
3317
+ }
3318
+ return true;
3319
+ },
3320
+ forcedForme: "Palkia-Origin",
3321
+ itemUser: ["Palkia-Origin"],
3322
+ num: 1778,
3323
+ gen: 8,
3324
+ isNonstandard: "Unobtainable",
3325
+ },
3279
3326
  lustrousorb: {
3280
3327
  name: "Lustrous Orb",
3281
3328
  spritenum: 265,
@@ -3284,7 +3331,7 @@ exports.Items = {
3284
3331
  },
3285
3332
  onBasePowerPriority: 15,
3286
3333
  onBasePower(basePower, user, target, move) {
3287
- if (move && user.baseSpecies.name === 'Palkia' && (move.type === 'Water' || move.type === 'Dragon')) {
3334
+ if (user.baseSpecies.num === 484 && (move.type === 'Water' || move.type === 'Dragon')) {
3288
3335
  return this.chainModify([4915, 4096]);
3289
3336
  }
3290
3337
  },
@@ -3323,6 +3370,7 @@ exports.Items = {
3323
3370
  },
3324
3371
  num: 215,
3325
3372
  gen: 3,
3373
+ isNonstandard: "Past",
3326
3374
  },
3327
3375
  magmarizer: {
3328
3376
  name: "Magmarizer",
@@ -3332,6 +3380,7 @@ exports.Items = {
3332
3380
  },
3333
3381
  num: 323,
3334
3382
  gen: 4,
3383
+ isNonstandard: "Past",
3335
3384
  },
3336
3385
  magnet: {
3337
3386
  name: "Magnet",
@@ -3595,6 +3644,7 @@ exports.Items = {
3595
3644
  itemUser: ["Ditto"],
3596
3645
  num: 257,
3597
3646
  gen: 2,
3647
+ isNonstandard: "Past",
3598
3648
  },
3599
3649
  metronome: {
3600
3650
  name: "Metronome",
@@ -3976,7 +4026,7 @@ exports.Items = {
3976
4026
  },
3977
4027
  num: 314,
3978
4028
  gen: 4,
3979
- isNonstandard: "Unobtainable",
4029
+ isNonstandard: "Past",
3980
4030
  },
3981
4031
  oldamber: {
3982
4032
  name: "Old Amber",
@@ -4197,6 +4247,7 @@ exports.Items = {
4197
4247
  onEat: false,
4198
4248
  num: 168,
4199
4249
  gen: 3,
4250
+ isNonstandard: "Past",
4200
4251
  },
4201
4252
  pinsirite: {
4202
4253
  name: "Pinsirite",
@@ -4537,9 +4588,10 @@ exports.Items = {
4537
4588
  onBasePower(basePower, attacker, defender, move) {
4538
4589
  if (move.flags['punch']) {
4539
4590
  this.debug('Punching Glove boost');
4540
- return this.chainModify([4915, 4096]);
4591
+ return this.chainModify([4506, 4096]);
4541
4592
  }
4542
4593
  },
4594
+ onModifyMovePriority: 1,
4543
4595
  onModifyMove(move) {
4544
4596
  if (move.flags['punch'])
4545
4597
  delete move.flags['contact'];
@@ -4596,6 +4648,7 @@ exports.Items = {
4596
4648
  itemUser: ["Ditto"],
4597
4649
  num: 274,
4598
4650
  gen: 4,
4651
+ isNonstandard: "Past",
4599
4652
  },
4600
4653
  rabutaberry: {
4601
4654
  name: "Rabuta Berry",
@@ -4759,6 +4812,7 @@ exports.Items = {
4759
4812
  },
4760
4813
  num: 1115,
4761
4814
  gen: 8,
4815
+ isNonstandard: "Past",
4762
4816
  },
4763
4817
  rindoberry: {
4764
4818
  name: "Rindo Berry",
@@ -4823,7 +4877,7 @@ exports.Items = {
4823
4877
  },
4824
4878
  num: 315,
4825
4879
  gen: 4,
4826
- isNonstandard: "Unobtainable",
4880
+ isNonstandard: "Past",
4827
4881
  },
4828
4882
  rockmemory: {
4829
4883
  name: "Rock Memory",
@@ -4882,7 +4936,7 @@ exports.Items = {
4882
4936
  onAnyPseudoWeatherChange() {
4883
4937
  const pokemon = this.effectState.target;
4884
4938
  if (this.field.getPseudoWeather('trickroom')) {
4885
- pokemon.useItem();
4939
+ pokemon.useItem(pokemon);
4886
4940
  }
4887
4941
  },
4888
4942
  boosts: {
@@ -4915,7 +4969,7 @@ exports.Items = {
4915
4969
  },
4916
4970
  num: 318,
4917
4971
  gen: 4,
4918
- isNonstandard: "Unobtainable",
4972
+ isNonstandard: "Past",
4919
4973
  },
4920
4974
  roseliberry: {
4921
4975
  name: "Roseli Berry",
@@ -5020,6 +5074,7 @@ exports.Items = {
5020
5074
  num: 5,
5021
5075
  gen: 1,
5022
5076
  isPokeball: true,
5077
+ isNonstandard: "Unobtainable",
5023
5078
  },
5024
5079
  safetygoggles: {
5025
5080
  name: "Safety Goggles",
@@ -5141,7 +5196,7 @@ exports.Items = {
5141
5196
  },
5142
5197
  num: 254,
5143
5198
  gen: 3,
5144
- isNonstandard: "Unobtainable",
5199
+ isNonstandard: "Past",
5145
5200
  },
5146
5201
  sharpbeak: {
5147
5202
  name: "Sharp Beak",
@@ -5506,6 +5561,7 @@ exports.Items = {
5506
5561
  num: 499,
5507
5562
  gen: 2,
5508
5563
  isPokeball: true,
5564
+ isNonstandard: "Unobtainable",
5509
5565
  },
5510
5566
  starfberry: {
5511
5567
  name: "Starf Berry",
@@ -5547,6 +5603,7 @@ exports.Items = {
5547
5603
  },
5548
5604
  num: 1114,
5549
5605
  gen: 8,
5606
+ isNonstandard: "Past",
5550
5607
  },
5551
5608
  steelixite: {
5552
5609
  name: "Steelixite",
@@ -5666,6 +5723,14 @@ exports.Items = {
5666
5723
  gen: 4,
5667
5724
  isNonstandard: "Unobtainable",
5668
5725
  },
5726
+ strangeball: {
5727
+ name: "Strange Ball",
5728
+ spritenum: 303,
5729
+ num: 1785,
5730
+ gen: 8,
5731
+ isPokeball: true,
5732
+ isNonstandard: "Unobtainable",
5733
+ },
5669
5734
  strawberrysweet: {
5670
5735
  name: "Strawberry Sweet",
5671
5736
  spritenum: 704,
@@ -5674,6 +5739,7 @@ exports.Items = {
5674
5739
  },
5675
5740
  num: 1109,
5676
5741
  gen: 8,
5742
+ isNonstandard: "Past",
5677
5743
  },
5678
5744
  sunstone: {
5679
5745
  name: "Sun Stone",
@@ -7067,7 +7133,7 @@ exports.Items = {
7067
7133
  },
7068
7134
  num: 317,
7069
7135
  gen: 4,
7070
- isNonstandard: "Unobtainable",
7136
+ isNonstandard: "Past",
7071
7137
  },
7072
7138
  weaknesspolicy: {
7073
7139
  name: "Weakness Policy",