@pkmn/sim 0.7.4 → 0.7.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 (102) hide show
  1. package/build/cjs/config/formats.js +36 -18
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +24 -5
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/aliases.js +5 -5
  6. package/build/cjs/data/formats-data.js +4 -4
  7. package/build/cjs/data/formats-data.js.map +1 -1
  8. package/build/cjs/data/items.js +203 -45
  9. package/build/cjs/data/items.js.map +1 -1
  10. package/build/cjs/data/learnsets.js +115 -2
  11. package/build/cjs/data/learnsets.js.map +1 -1
  12. package/build/cjs/data/mods/gen1/moves.js +2 -2
  13. package/build/cjs/data/mods/gen1/moves.js.map +1 -1
  14. package/build/cjs/data/mods/gen1/scripts.js +14 -16
  15. package/build/cjs/data/mods/gen1/scripts.js.map +1 -1
  16. package/build/cjs/data/mods/gen2/moves.js +2 -20
  17. package/build/cjs/data/mods/gen2/moves.js.map +1 -1
  18. package/build/cjs/data/mods/gen3/moves.js +17 -51
  19. package/build/cjs/data/mods/gen3/moves.js.map +1 -1
  20. package/build/cjs/data/mods/gen8/index.js +3 -1
  21. package/build/cjs/data/mods/gen8/index.js.map +1 -1
  22. package/build/cjs/data/mods/gen8/items.js +654 -0
  23. package/build/cjs/data/mods/gen8/items.js.map +1 -0
  24. package/build/cjs/data/moves.js +5 -1
  25. package/build/cjs/data/moves.js.map +1 -1
  26. package/build/cjs/data/rulesets.js +59 -17
  27. package/build/cjs/data/rulesets.js.map +1 -1
  28. package/build/cjs/data/text/moves.js +5 -2
  29. package/build/cjs/data/text/moves.js.map +1 -1
  30. package/build/cjs/sim/battle-actions.js +24 -12
  31. package/build/cjs/sim/battle-actions.js.map +1 -1
  32. package/build/cjs/sim/battle.js +15 -10
  33. package/build/cjs/sim/battle.js.map +1 -1
  34. package/build/cjs/sim/dex-conditions.js.map +1 -1
  35. package/build/cjs/sim/dex-formats.js.map +1 -1
  36. package/build/cjs/sim/dex-items.js.map +1 -1
  37. package/build/cjs/sim/dex.js +2 -1
  38. package/build/cjs/sim/dex.js.map +1 -1
  39. package/build/cjs/sim/index.js +2 -1
  40. package/build/cjs/sim/index.js.map +1 -1
  41. package/build/cjs/sim/pokemon.js +6 -0
  42. package/build/cjs/sim/pokemon.js.map +1 -1
  43. package/build/cjs/sim/team-validator.js +2 -2
  44. package/build/cjs/sim/team-validator.js.map +1 -1
  45. package/build/esm/config/formats.mjs +62 -18
  46. package/build/esm/config/formats.mjs.map +1 -1
  47. package/build/esm/data/abilities.mjs +24 -5
  48. package/build/esm/data/abilities.mjs.map +1 -1
  49. package/build/esm/data/aliases.mjs +7 -7
  50. package/build/esm/data/formats-data.mjs +4 -4
  51. package/build/esm/data/formats-data.mjs.map +1 -1
  52. package/build/esm/data/items.mjs +203 -45
  53. package/build/esm/data/items.mjs.map +1 -1
  54. package/build/esm/data/learnsets.mjs +115 -2
  55. package/build/esm/data/learnsets.mjs.map +1 -1
  56. package/build/esm/data/mods/gen1/moves.mjs +2 -2
  57. package/build/esm/data/mods/gen1/moves.mjs.map +1 -1
  58. package/build/esm/data/mods/gen1/scripts.mjs +14 -16
  59. package/build/esm/data/mods/gen1/scripts.mjs.map +1 -1
  60. package/build/esm/data/mods/gen2/moves.mjs +2 -20
  61. package/build/esm/data/mods/gen2/moves.mjs.map +1 -1
  62. package/build/esm/data/mods/gen3/moves.mjs +17 -51
  63. package/build/esm/data/mods/gen3/moves.mjs.map +1 -1
  64. package/build/esm/data/mods/gen8/index.mjs +1 -0
  65. package/build/esm/data/mods/gen8/index.mjs.map +1 -1
  66. package/build/esm/data/mods/gen8/items.mjs +651 -0
  67. package/build/esm/data/mods/gen8/items.mjs.map +1 -0
  68. package/build/esm/data/moves.mjs +5 -1
  69. package/build/esm/data/moves.mjs.map +1 -1
  70. package/build/esm/data/rulesets.mjs +59 -17
  71. package/build/esm/data/rulesets.mjs.map +1 -1
  72. package/build/esm/data/text/moves.mjs +5 -2
  73. package/build/esm/data/text/moves.mjs.map +1 -1
  74. package/build/esm/sim/battle-actions.mjs +24 -12
  75. package/build/esm/sim/battle-actions.mjs.map +1 -1
  76. package/build/esm/sim/battle.mjs +15 -10
  77. package/build/esm/sim/battle.mjs.map +1 -1
  78. package/build/esm/sim/dex-conditions.mjs.map +1 -1
  79. package/build/esm/sim/dex-formats.mjs.map +1 -1
  80. package/build/esm/sim/dex-items.mjs.map +1 -1
  81. package/build/esm/sim/dex.mjs +2 -1
  82. package/build/esm/sim/dex.mjs.map +1 -1
  83. package/build/esm/sim/index.mjs +1 -1
  84. package/build/esm/sim/index.mjs.map +1 -1
  85. package/build/esm/sim/pokemon.mjs +6 -0
  86. package/build/esm/sim/pokemon.mjs.map +1 -1
  87. package/build/esm/sim/team-validator.mjs +2 -2
  88. package/build/esm/sim/team-validator.mjs.map +1 -1
  89. package/build/esm/sim/tools/exhaustive-runner.mjs +4 -2
  90. package/build/esm/sim/tools/exhaustive-runner.mjs.map +1 -1
  91. package/build/esm/sim/tools/runner.mjs +4 -2
  92. package/build/esm/sim/tools/runner.mjs.map +1 -1
  93. package/build/types/data/mods/gen8/index.d.ts +1 -0
  94. package/build/types/data/mods/gen8/items.d.ts +3 -0
  95. package/build/types/sim/dex-conditions.d.ts +0 -12
  96. package/build/types/sim/dex-formats.d.ts +0 -1
  97. package/build/types/sim/dex-items.d.ts +1 -0
  98. package/build/types/sim/dex.d.ts +2 -2
  99. package/build/types/sim/exported-global-types.d.ts +2 -0
  100. package/build/types/sim/global-types.d.ts +2 -0
  101. package/build/types/sim/index.d.ts +1 -1
  102. package/package.json +2 -11
@@ -78,6 +78,7 @@ export const Items = {
78
78
  itemUser: ["Dialga"],
79
79
  num: 135,
80
80
  gen: 4,
81
+ isNonstandard: "Unobtainable",
81
82
  },
82
83
  adrenalineorb: {
83
84
  name: "Adrenaline Orb",
@@ -144,7 +145,8 @@ export const Items = {
144
145
  type: "Dragon",
145
146
  },
146
147
  onUpdate(pokemon) {
147
- if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) {
148
+ if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&
149
+ pokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {
148
150
  pokemon.eatItem();
149
151
  }
150
152
  },
@@ -256,7 +258,8 @@ export const Items = {
256
258
  type: "Ground",
257
259
  },
258
260
  onUpdate(pokemon) {
259
- if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) {
261
+ if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&
262
+ pokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {
260
263
  pokemon.eatItem();
261
264
  }
262
265
  },
@@ -668,6 +671,7 @@ export const Items = {
668
671
  itemUser: ["Silvally-Bug"],
669
672
  num: 909,
670
673
  gen: 7,
674
+ isNonstandard: "Past",
671
675
  },
672
676
  buginiumz: {
673
677
  name: "Buginium Z",
@@ -695,6 +699,7 @@ export const Items = {
695
699
  itemUser: ["Genesect-Burn"],
696
700
  num: 118,
697
701
  gen: 5,
702
+ isNonstandard: "Past",
698
703
  },
699
704
  cameruptite: {
700
705
  name: "Cameruptite",
@@ -883,6 +888,7 @@ export const Items = {
883
888
  itemUser: ["Genesect-Chill"],
884
889
  num: 119,
885
890
  gen: 5,
891
+ isNonstandard: "Past",
886
892
  },
887
893
  chippedpot: {
888
894
  name: "Chipped Pot",
@@ -1135,7 +1141,8 @@ export const Items = {
1135
1141
  onFractionalPriorityPriority: -2,
1136
1142
  onFractionalPriority(priority, pokemon) {
1137
1143
  if (priority <= 0 &&
1138
- (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony')))) {
1144
+ (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&
1145
+ pokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony))) {
1139
1146
  if (pokemon.eatItem()) {
1140
1147
  this.add('-activate', pokemon, 'item: Custap Berry', '[consumed]');
1141
1148
  return 0.1;
@@ -1185,6 +1192,7 @@ export const Items = {
1185
1192
  itemUser: ["Silvally-Dark"],
1186
1193
  num: 919,
1187
1194
  gen: 7,
1195
+ isNonstandard: "Past",
1188
1196
  },
1189
1197
  darkiniumz: {
1190
1198
  name: "Darkinium Z",
@@ -1233,6 +1241,7 @@ export const Items = {
1233
1241
  itemUser: ["Clamperl"],
1234
1242
  num: 227,
1235
1243
  gen: 3,
1244
+ isNonstandard: "Past",
1236
1245
  },
1237
1246
  deepseatooth: {
1238
1247
  name: "Deep Sea Tooth",
@@ -1249,6 +1258,7 @@ export const Items = {
1249
1258
  itemUser: ["Clamperl"],
1250
1259
  num: 226,
1251
1260
  gen: 3,
1261
+ isNonstandard: "Past",
1252
1262
  },
1253
1263
  destinyknot: {
1254
1264
  name: "Destiny Knot",
@@ -1313,6 +1323,7 @@ export const Items = {
1313
1323
  itemUser: ["Genesect-Douse"],
1314
1324
  num: 116,
1315
1325
  gen: 5,
1326
+ isNonstandard: "Past",
1316
1327
  },
1317
1328
  dracoplate: {
1318
1329
  name: "Draco Plate",
@@ -1379,6 +1390,7 @@ export const Items = {
1379
1390
  itemUser: ["Silvally-Dragon"],
1380
1391
  num: 918,
1381
1392
  gen: 7,
1393
+ isNonstandard: "Past",
1382
1394
  },
1383
1395
  dragonscale: {
1384
1396
  name: "Dragon Scale",
@@ -1388,6 +1400,7 @@ export const Items = {
1388
1400
  },
1389
1401
  num: 235,
1390
1402
  gen: 2,
1403
+ isNonstandard: "Past",
1391
1404
  },
1392
1405
  dragoniumz: {
1393
1406
  name: "Dragonium Z",
@@ -1437,6 +1450,7 @@ export const Items = {
1437
1450
  },
1438
1451
  num: 324,
1439
1452
  gen: 4,
1453
+ isNonstandard: "Past",
1440
1454
  },
1441
1455
  durinberry: {
1442
1456
  name: "Durin Berry",
@@ -1510,6 +1524,8 @@ export const Items = {
1510
1524
  if (source && source !== target && target.hp && move && move.category !== 'Status' && !move.isFutureMove) {
1511
1525
  if (!this.canSwitch(target.side) || target.forceSwitchFlag || target.beingCalledBack || target.isSkyDropped())
1512
1526
  return;
1527
+ if (target.volatiles['commanding'] || target.volatiles['commanded'])
1528
+ return;
1513
1529
  for (const pokemon of this.getAllActive()) {
1514
1530
  if (pokemon.switchFlag === true)
1515
1531
  return;
@@ -1546,6 +1562,8 @@ export const Items = {
1546
1562
  if (target.hp) {
1547
1563
  if (!this.canSwitch(target.side))
1548
1564
  return;
1565
+ if (target.volatiles['commanding'] || target.volatiles['commanded'])
1566
+ return;
1549
1567
  for (const pokemon of this.getAllActive()) {
1550
1568
  if (pokemon.switchFlag === true)
1551
1569
  return;
@@ -1566,6 +1584,7 @@ export const Items = {
1566
1584
  },
1567
1585
  num: 322,
1568
1586
  gen: 4,
1587
+ isNonstandard: "Past",
1569
1588
  },
1570
1589
  electricgem: {
1571
1590
  name: "Electric Gem",
@@ -1597,6 +1616,7 @@ export const Items = {
1597
1616
  itemUser: ["Silvally-Electric"],
1598
1617
  num: 915,
1599
1618
  gen: 7,
1619
+ isNonstandard: "Past",
1600
1620
  },
1601
1621
  electricseed: {
1602
1622
  name: "Electric Seed",
@@ -1741,6 +1761,7 @@ export const Items = {
1741
1761
  itemUser: ["Silvally-Fairy"],
1742
1762
  num: 920,
1743
1763
  gen: 7,
1764
+ isNonstandard: "Past",
1744
1765
  },
1745
1766
  fastball: {
1746
1767
  name: "Fast Ball",
@@ -1778,6 +1799,7 @@ export const Items = {
1778
1799
  itemUser: ["Silvally-Fighting"],
1779
1800
  num: 904,
1780
1801
  gen: 7,
1802
+ isNonstandard: "Past",
1781
1803
  },
1782
1804
  fightiniumz: {
1783
1805
  name: "Fightinium Z",
@@ -1800,7 +1822,8 @@ export const Items = {
1800
1822
  type: "Bug",
1801
1823
  },
1802
1824
  onUpdate(pokemon) {
1803
- if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) {
1825
+ if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&
1826
+ pokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {
1804
1827
  pokemon.eatItem();
1805
1828
  }
1806
1829
  },
@@ -1847,6 +1870,7 @@ export const Items = {
1847
1870
  itemUser: ["Silvally-Fire"],
1848
1871
  num: 912,
1849
1872
  gen: 7,
1873
+ isNonstandard: "Past",
1850
1874
  },
1851
1875
  firestone: {
1852
1876
  name: "Fire Stone",
@@ -1976,6 +2000,7 @@ export const Items = {
1976
2000
  itemUser: ["Silvally-Flying"],
1977
2001
  num: 905,
1978
2002
  gen: 7,
2003
+ isNonstandard: "Past",
1979
2004
  },
1980
2005
  flyiniumz: {
1981
2006
  name: "Flyinium Z",
@@ -2030,6 +2055,7 @@ export const Items = {
2030
2055
  },
2031
2056
  num: 1105,
2032
2057
  gen: 8,
2058
+ isNonstandard: "Past",
2033
2059
  },
2034
2060
  fossilizeddino: {
2035
2061
  name: "Fossilized Dino",
@@ -2039,6 +2065,7 @@ export const Items = {
2039
2065
  },
2040
2066
  num: 1108,
2041
2067
  gen: 8,
2068
+ isNonstandard: "Past",
2042
2069
  },
2043
2070
  fossilizeddrake: {
2044
2071
  name: "Fossilized Drake",
@@ -2048,6 +2075,7 @@ export const Items = {
2048
2075
  },
2049
2076
  num: 1107,
2050
2077
  gen: 8,
2078
+ isNonstandard: "Past",
2051
2079
  },
2052
2080
  fossilizedfish: {
2053
2081
  name: "Fossilized Fish",
@@ -2057,6 +2085,7 @@ export const Items = {
2057
2085
  },
2058
2086
  num: 1106,
2059
2087
  gen: 8,
2088
+ isNonstandard: "Past",
2060
2089
  },
2061
2090
  friendball: {
2062
2091
  name: "Friend Ball",
@@ -2074,6 +2103,7 @@ export const Items = {
2074
2103
  onFractionalPriority: -0.1,
2075
2104
  num: 316,
2076
2105
  gen: 4,
2106
+ isNonstandard: "Unobtainable",
2077
2107
  },
2078
2108
  galaricacuff: {
2079
2109
  name: "Galarica Cuff",
@@ -2083,6 +2113,7 @@ export const Items = {
2083
2113
  },
2084
2114
  num: 1582,
2085
2115
  gen: 8,
2116
+ isNonstandard: "Past",
2086
2117
  },
2087
2118
  galaricawreath: {
2088
2119
  name: "Galarica Wreath",
@@ -2092,6 +2123,7 @@ export const Items = {
2092
2123
  },
2093
2124
  num: 1592,
2094
2125
  gen: 8,
2126
+ isNonstandard: "Past",
2095
2127
  },
2096
2128
  galladite: {
2097
2129
  name: "Galladite",
@@ -2117,7 +2149,8 @@ export const Items = {
2117
2149
  type: "Ice",
2118
2150
  },
2119
2151
  onUpdate(pokemon) {
2120
- if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) {
2152
+ if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&
2153
+ pokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {
2121
2154
  pokemon.eatItem();
2122
2155
  }
2123
2156
  },
@@ -2201,6 +2234,7 @@ export const Items = {
2201
2234
  itemUser: ["Silvally-Ghost"],
2202
2235
  num: 910,
2203
2236
  gen: 7,
2237
+ isNonstandard: "Past",
2204
2238
  },
2205
2239
  ghostiumz: {
2206
2240
  name: "Ghostium Z",
@@ -2268,6 +2302,7 @@ export const Items = {
2268
2302
  itemUser: ["Silvally-Grass"],
2269
2303
  num: 914,
2270
2304
  gen: 7,
2305
+ isNonstandard: "Past",
2271
2306
  },
2272
2307
  grassiumz: {
2273
2308
  name: "Grassium Z",
@@ -2354,6 +2389,7 @@ export const Items = {
2354
2389
  itemUser: ["Giratina-Origin"],
2355
2390
  num: 112,
2356
2391
  gen: 4,
2392
+ isNonstandard: "Unobtainable",
2357
2393
  },
2358
2394
  groundgem: {
2359
2395
  name: "Ground Gem",
@@ -2384,6 +2420,7 @@ export const Items = {
2384
2420
  itemUser: ["Silvally-Ground"],
2385
2421
  num: 907,
2386
2422
  gen: 7,
2423
+ isNonstandard: "Past",
2387
2424
  },
2388
2425
  groundiumz: {
2389
2426
  name: "Groundium Z",
@@ -2545,7 +2582,8 @@ export const Items = {
2545
2582
  type: "Dark",
2546
2583
  },
2547
2584
  onUpdate(pokemon) {
2548
- if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) {
2585
+ if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&
2586
+ pokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {
2549
2587
  pokemon.eatItem();
2550
2588
  }
2551
2589
  },
@@ -2591,6 +2629,7 @@ export const Items = {
2591
2629
  itemUser: ["Silvally-Ice"],
2592
2630
  num: 917,
2593
2631
  gen: 7,
2632
+ isNonstandard: "Past",
2594
2633
  },
2595
2634
  icestone: {
2596
2635
  name: "Ice Stone",
@@ -2899,7 +2938,8 @@ export const Items = {
2899
2938
  type: "Flying",
2900
2939
  },
2901
2940
  onUpdate(pokemon) {
2902
- if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) {
2941
+ if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&
2942
+ pokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {
2903
2943
  pokemon.eatItem();
2904
2944
  }
2905
2945
  },
@@ -2954,6 +2994,7 @@ export const Items = {
2954
2994
  },
2955
2995
  num: 255,
2956
2996
  gen: 3,
2997
+ isNonstandard: "Unobtainable",
2957
2998
  },
2958
2999
  leafstone: {
2959
3000
  name: "Leaf Stone",
@@ -2978,6 +3019,7 @@ export const Items = {
2978
3019
  itemUser: ["Farfetch\u2019d", "Farfetch\u2019d-Galar", "Sirfetch\u2019d"],
2979
3020
  num: 259,
2980
3021
  gen: 8,
3022
+ isNonstandard: "Past",
2981
3023
  },
2982
3024
  leftovers: {
2983
3025
  name: "Leftovers",
@@ -3037,7 +3079,8 @@ export const Items = {
3037
3079
  type: "Grass",
3038
3080
  },
3039
3081
  onUpdate(pokemon) {
3040
- if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) {
3082
+ if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&
3083
+ pokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {
3041
3084
  pokemon.eatItem();
3042
3085
  }
3043
3086
  },
@@ -3245,6 +3288,7 @@ export const Items = {
3245
3288
  itemUser: ["Palkia"],
3246
3289
  num: 136,
3247
3290
  gen: 4,
3291
+ isNonstandard: "Unobtainable",
3248
3292
  },
3249
3293
  luxuryball: {
3250
3294
  name: "Luxury Ball",
@@ -3310,7 +3354,8 @@ export const Items = {
3310
3354
  type: "Ghost",
3311
3355
  },
3312
3356
  onUpdate(pokemon) {
3313
- if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) {
3357
+ if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&
3358
+ pokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {
3314
3359
  pokemon.eatItem();
3315
3360
  }
3316
3361
  },
@@ -3644,7 +3689,8 @@ export const Items = {
3644
3689
  type: "Rock",
3645
3690
  },
3646
3691
  onResidual(pokemon) {
3647
- if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) {
3692
+ if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&
3693
+ pokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {
3648
3694
  pokemon.eatItem();
3649
3695
  }
3650
3696
  },
@@ -3927,6 +3973,7 @@ export const Items = {
3927
3973
  },
3928
3974
  num: 314,
3929
3975
  gen: 4,
3976
+ isNonstandard: "Unobtainable",
3930
3977
  },
3931
3978
  oldamber: {
3932
3979
  name: "Old Amber",
@@ -4088,7 +4135,8 @@ export const Items = {
4088
4135
  type: "Poison",
4089
4136
  },
4090
4137
  onUpdate(pokemon) {
4091
- if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) {
4138
+ if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&
4139
+ pokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {
4092
4140
  pokemon.eatItem();
4093
4141
  }
4094
4142
  },
@@ -4238,6 +4286,7 @@ export const Items = {
4238
4286
  itemUser: ["Silvally-Poison"],
4239
4287
  num: 906,
4240
4288
  gen: 7,
4289
+ isNonstandard: "Past",
4241
4290
  },
4242
4291
  poisoniumz: {
4243
4292
  name: "Poisonium Z",
@@ -4391,6 +4440,7 @@ export const Items = {
4391
4440
  },
4392
4441
  num: 537,
4393
4442
  gen: 5,
4443
+ isNonstandard: "Past",
4394
4444
  },
4395
4445
  protectivepads: {
4396
4446
  name: "Protective Pads",
@@ -4410,6 +4460,7 @@ export const Items = {
4410
4460
  },
4411
4461
  num: 321,
4412
4462
  gen: 4,
4463
+ isNonstandard: "Past",
4413
4464
  },
4414
4465
  psychicgem: {
4415
4466
  name: "Psychic Gem",
@@ -4440,6 +4491,7 @@ export const Items = {
4440
4491
  itemUser: ["Silvally-Psychic"],
4441
4492
  num: 916,
4442
4493
  gen: 7,
4494
+ isNonstandard: "Past",
4443
4495
  },
4444
4496
  psychicseed: {
4445
4497
  name: "Psychic Seed",
@@ -4644,6 +4696,7 @@ export const Items = {
4644
4696
  },
4645
4697
  num: 325,
4646
4698
  gen: 4,
4699
+ isNonstandard: "Past",
4647
4700
  },
4648
4701
  redcard: {
4649
4702
  name: "Red Card",
@@ -4767,6 +4820,7 @@ export const Items = {
4767
4820
  },
4768
4821
  num: 315,
4769
4822
  gen: 4,
4823
+ isNonstandard: "Unobtainable",
4770
4824
  },
4771
4825
  rockmemory: {
4772
4826
  name: "Rock Memory",
@@ -4782,6 +4836,7 @@ export const Items = {
4782
4836
  itemUser: ["Silvally-Rock"],
4783
4837
  num: 908,
4784
4838
  gen: 7,
4839
+ isNonstandard: "Past",
4785
4840
  },
4786
4841
  rockiumz: {
4787
4842
  name: "Rockium Z",
@@ -4857,6 +4912,7 @@ export const Items = {
4857
4912
  },
4858
4913
  num: 318,
4859
4914
  gen: 4,
4915
+ isNonstandard: "Unobtainable",
4860
4916
  },
4861
4917
  roseliberry: {
4862
4918
  name: "Roseli Berry",
@@ -4914,6 +4970,7 @@ export const Items = {
4914
4970
  itemUser: ["Zamazenta-Crowned"],
4915
4971
  num: 1104,
4916
4972
  gen: 8,
4973
+ isNonstandard: "Unobtainable",
4917
4974
  },
4918
4975
  rustedsword: {
4919
4976
  name: "Rusted Sword",
@@ -4927,6 +4984,7 @@ export const Items = {
4927
4984
  itemUser: ["Zacian-Crowned"],
4928
4985
  num: 1103,
4929
4986
  gen: 8,
4987
+ isNonstandard: "Unobtainable",
4930
4988
  },
4931
4989
  sablenite: {
4932
4990
  name: "Sablenite",
@@ -4951,6 +5009,7 @@ export const Items = {
4951
5009
  },
4952
5010
  num: 647,
4953
5011
  gen: 6,
5012
+ isNonstandard: "Past",
4954
5013
  },
4955
5014
  safariball: {
4956
5015
  name: "Safari Ball",
@@ -4997,7 +5056,8 @@ export const Items = {
4997
5056
  type: "Fighting",
4998
5057
  },
4999
5058
  onUpdate(pokemon) {
5000
- if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) {
5059
+ if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&
5060
+ pokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {
5001
5061
  pokemon.eatItem();
5002
5062
  }
5003
5063
  },
@@ -5078,6 +5138,7 @@ export const Items = {
5078
5138
  },
5079
5139
  num: 254,
5080
5140
  gen: 3,
5141
+ isNonstandard: "Unobtainable",
5081
5142
  },
5082
5143
  sharpbeak: {
5083
5144
  name: "Sharp Beak",
@@ -5160,6 +5221,7 @@ export const Items = {
5160
5221
  itemUser: ["Genesect-Shock"],
5161
5222
  num: 117,
5162
5223
  gen: 5,
5224
+ isNonstandard: "Past",
5163
5225
  },
5164
5226
  shucaberry: {
5165
5227
  name: "Shuca Berry",
@@ -5363,6 +5425,7 @@ export const Items = {
5363
5425
  itemUser: ["Latios", "Latias"],
5364
5426
  num: 225,
5365
5427
  gen: 3,
5428
+ isNonstandard: "Past",
5366
5429
  },
5367
5430
  spelltag: {
5368
5431
  name: "Spell Tag",
@@ -5450,7 +5513,8 @@ export const Items = {
5450
5513
  type: "Psychic",
5451
5514
  },
5452
5515
  onUpdate(pokemon) {
5453
- if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) {
5516
+ if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&
5517
+ pokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {
5454
5518
  pokemon.eatItem();
5455
5519
  }
5456
5520
  },
@@ -5525,6 +5589,7 @@ export const Items = {
5525
5589
  itemUser: ["Silvally-Steel"],
5526
5590
  num: 911,
5527
5591
  gen: 7,
5592
+ isNonstandard: "Past",
5528
5593
  },
5529
5594
  steeliumz: {
5530
5595
  name: "Steelium Z",
@@ -5720,6 +5785,7 @@ export const Items = {
5720
5785
  itemUser: ["Marowak", "Marowak-Alola", "Marowak-Alola-Totem", "Cubone"],
5721
5786
  num: 258,
5722
5787
  gen: 2,
5788
+ isNonstandard: "Past",
5723
5789
  },
5724
5790
  throatspray: {
5725
5791
  name: "Throat Spray",
@@ -5798,6 +5864,7 @@ export const Items = {
5798
5864
  spritenum: 721,
5799
5865
  num: 1130,
5800
5866
  gen: 8,
5867
+ isNonstandard: "Past",
5801
5868
  },
5802
5869
  tr01: {
5803
5870
  name: "TR01",
@@ -5807,6 +5874,7 @@ export const Items = {
5807
5874
  spritenum: 721,
5808
5875
  num: 1131,
5809
5876
  gen: 8,
5877
+ isNonstandard: "Past",
5810
5878
  },
5811
5879
  tr02: {
5812
5880
  name: "TR02",
@@ -5816,6 +5884,7 @@ export const Items = {
5816
5884
  spritenum: 730,
5817
5885
  num: 1132,
5818
5886
  gen: 8,
5887
+ isNonstandard: "Past",
5819
5888
  },
5820
5889
  tr03: {
5821
5890
  name: "TR03",
@@ -5825,6 +5894,7 @@ export const Items = {
5825
5894
  spritenum: 731,
5826
5895
  num: 1133,
5827
5896
  gen: 8,
5897
+ isNonstandard: "Past",
5828
5898
  },
5829
5899
  tr04: {
5830
5900
  name: "TR04",
@@ -5834,6 +5904,7 @@ export const Items = {
5834
5904
  spritenum: 731,
5835
5905
  num: 1134,
5836
5906
  gen: 8,
5907
+ isNonstandard: "Past",
5837
5908
  },
5838
5909
  tr05: {
5839
5910
  name: "TR05",
@@ -5843,6 +5914,7 @@ export const Items = {
5843
5914
  spritenum: 735,
5844
5915
  num: 1135,
5845
5916
  gen: 8,
5917
+ isNonstandard: "Past",
5846
5918
  },
5847
5919
  tr06: {
5848
5920
  name: "TR06",
@@ -5852,6 +5924,7 @@ export const Items = {
5852
5924
  spritenum: 735,
5853
5925
  num: 1136,
5854
5926
  gen: 8,
5927
+ isNonstandard: "Past",
5855
5928
  },
5856
5929
  tr07: {
5857
5930
  name: "TR07",
@@ -5861,6 +5934,7 @@ export const Items = {
5861
5934
  spritenum: 722,
5862
5935
  num: 1137,
5863
5936
  gen: 8,
5937
+ isNonstandard: "Past",
5864
5938
  },
5865
5939
  tr08: {
5866
5940
  name: "TR08",
@@ -5870,6 +5944,7 @@ export const Items = {
5870
5944
  spritenum: 733,
5871
5945
  num: 1138,
5872
5946
  gen: 8,
5947
+ isNonstandard: "Past",
5873
5948
  },
5874
5949
  tr09: {
5875
5950
  name: "TR09",
@@ -5879,6 +5954,7 @@ export const Items = {
5879
5954
  spritenum: 733,
5880
5955
  num: 1139,
5881
5956
  gen: 8,
5957
+ isNonstandard: "Past",
5882
5958
  },
5883
5959
  tr10: {
5884
5960
  name: "TR10",
@@ -5888,6 +5964,7 @@ export const Items = {
5888
5964
  spritenum: 725,
5889
5965
  num: 1140,
5890
5966
  gen: 8,
5967
+ isNonstandard: "Past",
5891
5968
  },
5892
5969
  tr11: {
5893
5970
  name: "TR11",
@@ -5897,6 +5974,7 @@ export const Items = {
5897
5974
  spritenum: 734,
5898
5975
  num: 1141,
5899
5976
  gen: 8,
5977
+ isNonstandard: "Past",
5900
5978
  },
5901
5979
  tr12: {
5902
5980
  name: "TR12",
@@ -5906,6 +5984,7 @@ export const Items = {
5906
5984
  spritenum: 734,
5907
5985
  num: 1142,
5908
5986
  gen: 8,
5987
+ isNonstandard: "Past",
5909
5988
  },
5910
5989
  tr13: {
5911
5990
  name: "TR13",
@@ -5915,6 +5994,7 @@ export const Items = {
5915
5994
  spritenum: 721,
5916
5995
  num: 1143,
5917
5996
  gen: 8,
5997
+ isNonstandard: "Past",
5918
5998
  },
5919
5999
  tr14: {
5920
6000
  name: "TR14",
@@ -5924,6 +6004,7 @@ export const Items = {
5924
6004
  spritenum: 721,
5925
6005
  num: 1144,
5926
6006
  gen: 8,
6007
+ isNonstandard: "Past",
5927
6008
  },
5928
6009
  tr15: {
5929
6010
  name: "TR15",
@@ -5933,6 +6014,7 @@ export const Items = {
5933
6014
  spritenum: 730,
5934
6015
  num: 1145,
5935
6016
  gen: 8,
6017
+ isNonstandard: "Past",
5936
6018
  },
5937
6019
  tr16: {
5938
6020
  name: "TR16",
@@ -5942,6 +6024,7 @@ export const Items = {
5942
6024
  spritenum: 731,
5943
6025
  num: 1146,
5944
6026
  gen: 8,
6027
+ isNonstandard: "Past",
5945
6028
  },
5946
6029
  tr17: {
5947
6030
  name: "TR17",
@@ -5951,6 +6034,7 @@ export const Items = {
5951
6034
  spritenum: 734,
5952
6035
  num: 1147,
5953
6036
  gen: 8,
6037
+ isNonstandard: "Past",
5954
6038
  },
5955
6039
  tr18: {
5956
6040
  name: "TR18",
@@ -5960,6 +6044,7 @@ export const Items = {
5960
6044
  spritenum: 727,
5961
6045
  num: 1148,
5962
6046
  gen: 8,
6047
+ isNonstandard: "Past",
5963
6048
  },
5964
6049
  tr19: {
5965
6050
  name: "TR19",
@@ -5969,6 +6054,7 @@ export const Items = {
5969
6054
  spritenum: 721,
5970
6055
  num: 1149,
5971
6056
  gen: 8,
6057
+ isNonstandard: "Past",
5972
6058
  },
5973
6059
  tr20: {
5974
6060
  name: "TR20",
@@ -5978,6 +6064,7 @@ export const Items = {
5978
6064
  spritenum: 721,
5979
6065
  num: 1150,
5980
6066
  gen: 8,
6067
+ isNonstandard: "Past",
5981
6068
  },
5982
6069
  tr21: {
5983
6070
  name: "TR21",
@@ -5987,6 +6074,7 @@ export const Items = {
5987
6074
  spritenum: 722,
5988
6075
  num: 1151,
5989
6076
  gen: 8,
6077
+ isNonstandard: "Past",
5990
6078
  },
5991
6079
  tr22: {
5992
6080
  name: "TR22",
@@ -5996,6 +6084,7 @@ export const Items = {
5996
6084
  spritenum: 724,
5997
6085
  num: 1152,
5998
6086
  gen: 8,
6087
+ isNonstandard: "Past",
5999
6088
  },
6000
6089
  tr23: {
6001
6090
  name: "TR23",
@@ -6005,6 +6094,7 @@ export const Items = {
6005
6094
  spritenum: 725,
6006
6095
  num: 1153,
6007
6096
  gen: 8,
6097
+ isNonstandard: "Past",
6008
6098
  },
6009
6099
  tr24: {
6010
6100
  name: "TR24",
@@ -6014,6 +6104,7 @@ export const Items = {
6014
6104
  spritenum: 736,
6015
6105
  num: 1154,
6016
6106
  gen: 8,
6107
+ isNonstandard: "Past",
6017
6108
  },
6018
6109
  tr25: {
6019
6110
  name: "TR25",
@@ -6023,6 +6114,7 @@ export const Items = {
6023
6114
  spritenum: 734,
6024
6115
  num: 1155,
6025
6116
  gen: 8,
6117
+ isNonstandard: "Past",
6026
6118
  },
6027
6119
  tr26: {
6028
6120
  name: "TR26",
@@ -6032,6 +6124,7 @@ export const Items = {
6032
6124
  spritenum: 721,
6033
6125
  num: 1156,
6034
6126
  gen: 8,
6127
+ isNonstandard: "Past",
6035
6128
  },
6036
6129
  tr27: {
6037
6130
  name: "TR27",
@@ -6041,6 +6134,7 @@ export const Items = {
6041
6134
  spritenum: 721,
6042
6135
  num: 1157,
6043
6136
  gen: 8,
6137
+ isNonstandard: "Past",
6044
6138
  },
6045
6139
  tr28: {
6046
6140
  name: "TR28",
@@ -6050,6 +6144,7 @@ export const Items = {
6050
6144
  spritenum: 727,
6051
6145
  num: 1158,
6052
6146
  gen: 8,
6147
+ isNonstandard: "Past",
6053
6148
  },
6054
6149
  tr29: {
6055
6150
  name: "TR29",
@@ -6059,6 +6154,7 @@ export const Items = {
6059
6154
  spritenum: 721,
6060
6155
  num: 1159,
6061
6156
  gen: 8,
6157
+ isNonstandard: "Past",
6062
6158
  },
6063
6159
  tr30: {
6064
6160
  name: "TR30",
@@ -6068,6 +6164,7 @@ export const Items = {
6068
6164
  spritenum: 721,
6069
6165
  num: 1160,
6070
6166
  gen: 8,
6167
+ isNonstandard: "Past",
6071
6168
  },
6072
6169
  tr31: {
6073
6170
  name: "TR31",
@@ -6077,6 +6174,7 @@ export const Items = {
6077
6174
  spritenum: 729,
6078
6175
  num: 1161,
6079
6176
  gen: 8,
6177
+ isNonstandard: "Past",
6080
6178
  },
6081
6179
  tr32: {
6082
6180
  name: "TR32",
@@ -6086,6 +6184,7 @@ export const Items = {
6086
6184
  spritenum: 737,
6087
6185
  num: 1162,
6088
6186
  gen: 8,
6187
+ isNonstandard: "Past",
6089
6188
  },
6090
6189
  tr33: {
6091
6190
  name: "TR33",
@@ -6095,6 +6194,7 @@ export const Items = {
6095
6194
  spritenum: 728,
6096
6195
  num: 1163,
6097
6196
  gen: 8,
6197
+ isNonstandard: "Past",
6098
6198
  },
6099
6199
  tr34: {
6100
6200
  name: "TR34",
@@ -6104,6 +6204,7 @@ export const Items = {
6104
6204
  spritenum: 734,
6105
6205
  num: 1164,
6106
6206
  gen: 8,
6207
+ isNonstandard: "Past",
6107
6208
  },
6108
6209
  tr35: {
6109
6210
  name: "TR35",
@@ -6113,6 +6214,7 @@ export const Items = {
6113
6214
  spritenum: 721,
6114
6215
  num: 1165,
6115
6216
  gen: 8,
6217
+ isNonstandard: "Past",
6116
6218
  },
6117
6219
  tr36: {
6118
6220
  name: "TR36",
@@ -6122,6 +6224,7 @@ export const Items = {
6122
6224
  spritenum: 730,
6123
6225
  num: 1166,
6124
6226
  gen: 8,
6227
+ isNonstandard: "Past",
6125
6228
  },
6126
6229
  tr37: {
6127
6230
  name: "TR37",
@@ -6131,6 +6234,7 @@ export const Items = {
6131
6234
  spritenum: 737,
6132
6235
  num: 1167,
6133
6236
  gen: 8,
6237
+ isNonstandard: "Past",
6134
6238
  },
6135
6239
  tr38: {
6136
6240
  name: "TR38",
@@ -6140,6 +6244,7 @@ export const Items = {
6140
6244
  spritenum: 734,
6141
6245
  num: 1168,
6142
6246
  gen: 8,
6247
+ isNonstandard: "Past",
6143
6248
  },
6144
6249
  tr39: {
6145
6250
  name: "TR39",
@@ -6149,6 +6254,7 @@ export const Items = {
6149
6254
  spritenum: 722,
6150
6255
  num: 1169,
6151
6256
  gen: 8,
6257
+ isNonstandard: "Past",
6152
6258
  },
6153
6259
  tr40: {
6154
6260
  name: "TR40",
@@ -6158,6 +6264,7 @@ export const Items = {
6158
6264
  spritenum: 734,
6159
6265
  num: 1170,
6160
6266
  gen: 8,
6267
+ isNonstandard: "Past",
6161
6268
  },
6162
6269
  tr41: {
6163
6270
  name: "TR41",
@@ -6167,6 +6274,7 @@ export const Items = {
6167
6274
  spritenum: 730,
6168
6275
  num: 1171,
6169
6276
  gen: 8,
6277
+ isNonstandard: "Past",
6170
6278
  },
6171
6279
  tr42: {
6172
6280
  name: "TR42",
@@ -6176,6 +6284,7 @@ export const Items = {
6176
6284
  spritenum: 721,
6177
6285
  num: 1172,
6178
6286
  gen: 8,
6287
+ isNonstandard: "Past",
6179
6288
  },
6180
6289
  tr43: {
6181
6290
  name: "TR43",
@@ -6185,6 +6294,7 @@ export const Items = {
6185
6294
  spritenum: 730,
6186
6295
  num: 1173,
6187
6296
  gen: 8,
6297
+ isNonstandard: "Past",
6188
6298
  },
6189
6299
  tr44: {
6190
6300
  name: "TR44",
@@ -6194,6 +6304,7 @@ export const Items = {
6194
6304
  spritenum: 734,
6195
6305
  num: 1174,
6196
6306
  gen: 8,
6307
+ isNonstandard: "Past",
6197
6308
  },
6198
6309
  tr45: {
6199
6310
  name: "TR45",
@@ -6203,6 +6314,7 @@ export const Items = {
6203
6314
  spritenum: 731,
6204
6315
  num: 1175,
6205
6316
  gen: 8,
6317
+ isNonstandard: "Past",
6206
6318
  },
6207
6319
  tr46: {
6208
6320
  name: "TR46",
@@ -6212,6 +6324,7 @@ export const Items = {
6212
6324
  spritenum: 729,
6213
6325
  num: 1176,
6214
6326
  gen: 8,
6327
+ isNonstandard: "Past",
6215
6328
  },
6216
6329
  tr47: {
6217
6330
  name: "TR47",
@@ -6221,6 +6334,7 @@ export const Items = {
6221
6334
  spritenum: 736,
6222
6335
  num: 1177,
6223
6336
  gen: 8,
6337
+ isNonstandard: "Past",
6224
6338
  },
6225
6339
  tr48: {
6226
6340
  name: "TR48",
@@ -6230,6 +6344,7 @@ export const Items = {
6230
6344
  spritenum: 722,
6231
6345
  num: 1178,
6232
6346
  gen: 8,
6347
+ isNonstandard: "Past",
6233
6348
  },
6234
6349
  tr49: {
6235
6350
  name: "TR49",
@@ -6239,6 +6354,7 @@ export const Items = {
6239
6354
  spritenum: 734,
6240
6355
  num: 1179,
6241
6356
  gen: 8,
6357
+ isNonstandard: "Past",
6242
6358
  },
6243
6359
  tr50: {
6244
6360
  name: "TR50",
@@ -6248,6 +6364,7 @@ export const Items = {
6248
6364
  spritenum: 732,
6249
6365
  num: 1180,
6250
6366
  gen: 8,
6367
+ isNonstandard: "Past",
6251
6368
  },
6252
6369
  tr51: {
6253
6370
  name: "TR51",
@@ -6257,6 +6374,7 @@ export const Items = {
6257
6374
  spritenum: 736,
6258
6375
  num: 1181,
6259
6376
  gen: 8,
6377
+ isNonstandard: "Past",
6260
6378
  },
6261
6379
  tr52: {
6262
6380
  name: "TR52",
@@ -6266,6 +6384,7 @@ export const Items = {
6266
6384
  spritenum: 729,
6267
6385
  num: 1182,
6268
6386
  gen: 8,
6387
+ isNonstandard: "Past",
6269
6388
  },
6270
6389
  tr53: {
6271
6390
  name: "TR53",
@@ -6275,6 +6394,7 @@ export const Items = {
6275
6394
  spritenum: 722,
6276
6395
  num: 1183,
6277
6396
  gen: 8,
6397
+ isNonstandard: "Past",
6278
6398
  },
6279
6399
  tr54: {
6280
6400
  name: "TR54",
@@ -6284,6 +6404,7 @@ export const Items = {
6284
6404
  spritenum: 724,
6285
6405
  num: 1184,
6286
6406
  gen: 8,
6407
+ isNonstandard: "Past",
6287
6408
  },
6288
6409
  tr55: {
6289
6410
  name: "TR55",
@@ -6293,6 +6414,7 @@ export const Items = {
6293
6414
  spritenum: 730,
6294
6415
  num: 1185,
6295
6416
  gen: 8,
6417
+ isNonstandard: "Past",
6296
6418
  },
6297
6419
  tr56: {
6298
6420
  name: "TR56",
@@ -6302,6 +6424,7 @@ export const Items = {
6302
6424
  spritenum: 722,
6303
6425
  num: 1186,
6304
6426
  gen: 8,
6427
+ isNonstandard: "Past",
6305
6428
  },
6306
6429
  tr57: {
6307
6430
  name: "TR57",
@@ -6311,6 +6434,7 @@ export const Items = {
6311
6434
  spritenum: 724,
6312
6435
  num: 1187,
6313
6436
  gen: 8,
6437
+ isNonstandard: "Past",
6314
6438
  },
6315
6439
  tr58: {
6316
6440
  name: "TR58",
@@ -6320,6 +6444,7 @@ export const Items = {
6320
6444
  spritenum: 737,
6321
6445
  num: 1188,
6322
6446
  gen: 8,
6447
+ isNonstandard: "Past",
6323
6448
  },
6324
6449
  tr59: {
6325
6450
  name: "TR59",
@@ -6329,6 +6454,7 @@ export const Items = {
6329
6454
  spritenum: 732,
6330
6455
  num: 1189,
6331
6456
  gen: 8,
6457
+ isNonstandard: "Past",
6332
6458
  },
6333
6459
  tr60: {
6334
6460
  name: "TR60",
@@ -6338,6 +6464,7 @@ export const Items = {
6338
6464
  spritenum: 727,
6339
6465
  num: 1190,
6340
6466
  gen: 8,
6467
+ isNonstandard: "Past",
6341
6468
  },
6342
6469
  tr61: {
6343
6470
  name: "TR61",
@@ -6347,6 +6474,7 @@ export const Items = {
6347
6474
  spritenum: 727,
6348
6475
  num: 1191,
6349
6476
  gen: 8,
6477
+ isNonstandard: "Past",
6350
6478
  },
6351
6479
  tr62: {
6352
6480
  name: "TR62",
@@ -6356,6 +6484,7 @@ export const Items = {
6356
6484
  spritenum: 736,
6357
6485
  num: 1192,
6358
6486
  gen: 8,
6487
+ isNonstandard: "Past",
6359
6488
  },
6360
6489
  tr63: {
6361
6490
  name: "TR63",
@@ -6365,6 +6494,7 @@ export const Items = {
6365
6494
  spritenum: 726,
6366
6495
  num: 1193,
6367
6496
  gen: 8,
6497
+ isNonstandard: "Past",
6368
6498
  },
6369
6499
  tr64: {
6370
6500
  name: "TR64",
@@ -6374,6 +6504,7 @@ export const Items = {
6374
6504
  spritenum: 722,
6375
6505
  num: 1194,
6376
6506
  gen: 8,
6507
+ isNonstandard: "Past",
6377
6508
  },
6378
6509
  tr65: {
6379
6510
  name: "TR65",
@@ -6383,6 +6514,7 @@ export const Items = {
6383
6514
  spritenum: 732,
6384
6515
  num: 1195,
6385
6516
  gen: 8,
6517
+ isNonstandard: "Past",
6386
6518
  },
6387
6519
  tr66: {
6388
6520
  name: "TR66",
@@ -6392,6 +6524,7 @@ export const Items = {
6392
6524
  spritenum: 723,
6393
6525
  num: 1196,
6394
6526
  gen: 8,
6527
+ isNonstandard: "Past",
6395
6528
  },
6396
6529
  tr67: {
6397
6530
  name: "TR67",
@@ -6401,6 +6534,7 @@ export const Items = {
6401
6534
  spritenum: 725,
6402
6535
  num: 1197,
6403
6536
  gen: 8,
6537
+ isNonstandard: "Past",
6404
6538
  },
6405
6539
  tr68: {
6406
6540
  name: "TR68",
@@ -6410,6 +6544,7 @@ export const Items = {
6410
6544
  spritenum: 737,
6411
6545
  num: 1198,
6412
6546
  gen: 8,
6547
+ isNonstandard: "Past",
6413
6548
  },
6414
6549
  tr69: {
6415
6550
  name: "TR69",
@@ -6419,6 +6554,7 @@ export const Items = {
6419
6554
  spritenum: 734,
6420
6555
  num: 1199,
6421
6556
  gen: 8,
6557
+ isNonstandard: "Past",
6422
6558
  },
6423
6559
  tr70: {
6424
6560
  name: "TR70",
@@ -6428,6 +6564,7 @@ export const Items = {
6428
6564
  spritenum: 729,
6429
6565
  num: 1200,
6430
6566
  gen: 8,
6567
+ isNonstandard: "Past",
6431
6568
  },
6432
6569
  tr71: {
6433
6570
  name: "TR71",
@@ -6437,6 +6574,7 @@ export const Items = {
6437
6574
  spritenum: 732,
6438
6575
  num: 1201,
6439
6576
  gen: 8,
6577
+ isNonstandard: "Past",
6440
6578
  },
6441
6579
  tr72: {
6442
6580
  name: "TR72",
@@ -6446,6 +6584,7 @@ export const Items = {
6446
6584
  spritenum: 732,
6447
6585
  num: 1202,
6448
6586
  gen: 8,
6587
+ isNonstandard: "Past",
6449
6588
  },
6450
6589
  tr73: {
6451
6590
  name: "TR73",
@@ -6455,6 +6594,7 @@ export const Items = {
6455
6594
  spritenum: 724,
6456
6595
  num: 1203,
6457
6596
  gen: 8,
6597
+ isNonstandard: "Past",
6458
6598
  },
6459
6599
  tr74: {
6460
6600
  name: "TR74",
@@ -6464,6 +6604,7 @@ export const Items = {
6464
6604
  spritenum: 729,
6465
6605
  num: 1204,
6466
6606
  gen: 8,
6607
+ isNonstandard: "Past",
6467
6608
  },
6468
6609
  tr75: {
6469
6610
  name: "TR75",
@@ -6473,6 +6614,7 @@ export const Items = {
6473
6614
  spritenum: 726,
6474
6615
  num: 1205,
6475
6616
  gen: 8,
6617
+ isNonstandard: "Past",
6476
6618
  },
6477
6619
  tr76: {
6478
6620
  name: "TR76",
@@ -6482,6 +6624,7 @@ export const Items = {
6482
6624
  spritenum: 726,
6483
6625
  num: 1206,
6484
6626
  gen: 8,
6627
+ isNonstandard: "Past",
6485
6628
  },
6486
6629
  tr77: {
6487
6630
  name: "TR77",
@@ -6491,6 +6634,7 @@ export const Items = {
6491
6634
  spritenum: 732,
6492
6635
  num: 1207,
6493
6636
  gen: 8,
6637
+ isNonstandard: "Past",
6494
6638
  },
6495
6639
  tr78: {
6496
6640
  name: "TR78",
@@ -6500,6 +6644,7 @@ export const Items = {
6500
6644
  spritenum: 724,
6501
6645
  num: 1208,
6502
6646
  gen: 8,
6647
+ isNonstandard: "Past",
6503
6648
  },
6504
6649
  tr79: {
6505
6650
  name: "TR79",
@@ -6509,6 +6654,7 @@ export const Items = {
6509
6654
  spritenum: 729,
6510
6655
  num: 1209,
6511
6656
  gen: 8,
6657
+ isNonstandard: "Past",
6512
6658
  },
6513
6659
  tr80: {
6514
6660
  name: "TR80",
@@ -6518,6 +6664,7 @@ export const Items = {
6518
6664
  spritenum: 733,
6519
6665
  num: 1210,
6520
6666
  gen: 8,
6667
+ isNonstandard: "Past",
6521
6668
  },
6522
6669
  tr81: {
6523
6670
  name: "TR81",
@@ -6527,6 +6674,7 @@ export const Items = {
6527
6674
  spritenum: 737,
6528
6675
  num: 1211,
6529
6676
  gen: 8,
6677
+ isNonstandard: "Past",
6530
6678
  },
6531
6679
  tr82: {
6532
6680
  name: "TR82",
@@ -6536,6 +6684,7 @@ export const Items = {
6536
6684
  spritenum: 734,
6537
6685
  num: 1212,
6538
6686
  gen: 8,
6687
+ isNonstandard: "Past",
6539
6688
  },
6540
6689
  tr83: {
6541
6690
  name: "TR83",
@@ -6545,6 +6694,7 @@ export const Items = {
6545
6694
  spritenum: 734,
6546
6695
  num: 1213,
6547
6696
  gen: 8,
6697
+ isNonstandard: "Past",
6548
6698
  },
6549
6699
  tr84: {
6550
6700
  name: "TR84",
@@ -6554,6 +6704,7 @@ export const Items = {
6554
6704
  spritenum: 731,
6555
6705
  num: 1214,
6556
6706
  gen: 8,
6707
+ isNonstandard: "Past",
6557
6708
  },
6558
6709
  tr85: {
6559
6710
  name: "TR85",
@@ -6563,6 +6714,7 @@ export const Items = {
6563
6714
  spritenum: 721,
6564
6715
  num: 1215,
6565
6716
  gen: 8,
6717
+ isNonstandard: "Past",
6566
6718
  },
6567
6719
  tr86: {
6568
6720
  name: "TR86",
@@ -6572,6 +6724,7 @@ export const Items = {
6572
6724
  spritenum: 733,
6573
6725
  num: 1216,
6574
6726
  gen: 8,
6727
+ isNonstandard: "Past",
6575
6728
  },
6576
6729
  tr87: {
6577
6730
  name: "TR87",
@@ -6581,6 +6734,7 @@ export const Items = {
6581
6734
  spritenum: 725,
6582
6735
  num: 1217,
6583
6736
  gen: 8,
6737
+ isNonstandard: "Past",
6584
6738
  },
6585
6739
  tr88: {
6586
6740
  name: "TR88",
@@ -6590,6 +6744,7 @@ export const Items = {
6590
6744
  spritenum: 730,
6591
6745
  num: 1218,
6592
6746
  gen: 8,
6747
+ isNonstandard: "Past",
6593
6748
  },
6594
6749
  tr89: {
6595
6750
  name: "TR89",
@@ -6599,6 +6754,7 @@ export const Items = {
6599
6754
  spritenum: 723,
6600
6755
  num: 1219,
6601
6756
  gen: 8,
6757
+ isNonstandard: "Past",
6602
6758
  },
6603
6759
  tr90: {
6604
6760
  name: "TR90",
@@ -6608,6 +6764,7 @@ export const Items = {
6608
6764
  spritenum: 738,
6609
6765
  num: 1220,
6610
6766
  gen: 8,
6767
+ isNonstandard: "Past",
6611
6768
  },
6612
6769
  tr91: {
6613
6770
  name: "TR91",
@@ -6617,6 +6774,7 @@ export const Items = {
6617
6774
  spritenum: 724,
6618
6775
  num: 1221,
6619
6776
  gen: 8,
6777
+ isNonstandard: "Past",
6620
6778
  },
6621
6779
  tr92: {
6622
6780
  name: "TR92",
@@ -6626,6 +6784,7 @@ export const Items = {
6626
6784
  spritenum: 738,
6627
6785
  num: 1222,
6628
6786
  gen: 8,
6787
+ isNonstandard: "Past",
6629
6788
  },
6630
6789
  tr93: {
6631
6790
  name: "TR93",
@@ -6635,6 +6794,7 @@ export const Items = {
6635
6794
  spritenum: 737,
6636
6795
  num: 1223,
6637
6796
  gen: 8,
6797
+ isNonstandard: "Past",
6638
6798
  },
6639
6799
  tr94: {
6640
6800
  name: "TR94",
@@ -6644,6 +6804,7 @@ export const Items = {
6644
6804
  spritenum: 725,
6645
6805
  num: 1224,
6646
6806
  gen: 8,
6807
+ isNonstandard: "Past",
6647
6808
  },
6648
6809
  tr95: {
6649
6810
  name: "TR95",
@@ -6653,6 +6814,7 @@ export const Items = {
6653
6814
  spritenum: 737,
6654
6815
  num: 1225,
6655
6816
  gen: 8,
6817
+ isNonstandard: "Past",
6656
6818
  },
6657
6819
  tr96: {
6658
6820
  name: "TR96",
@@ -6662,6 +6824,7 @@ export const Items = {
6662
6824
  spritenum: 727,
6663
6825
  num: 1226,
6664
6826
  gen: 8,
6827
+ isNonstandard: "Past",
6665
6828
  },
6666
6829
  tr97: {
6667
6830
  name: "TR97",
@@ -6671,6 +6834,7 @@ export const Items = {
6671
6834
  spritenum: 734,
6672
6835
  num: 1227,
6673
6836
  gen: 8,
6837
+ isNonstandard: "Past",
6674
6838
  },
6675
6839
  tr98: {
6676
6840
  name: "TR98",
@@ -6680,6 +6844,7 @@ export const Items = {
6680
6844
  spritenum: 731,
6681
6845
  num: 1228,
6682
6846
  gen: 8,
6847
+ isNonstandard: "Past",
6683
6848
  },
6684
6849
  tr99: {
6685
6850
  name: "TR99",
@@ -6689,6 +6854,7 @@ export const Items = {
6689
6854
  spritenum: 722,
6690
6855
  num: 1229,
6691
6856
  gen: 8,
6857
+ isNonstandard: "Past",
6692
6858
  },
6693
6859
  twistedspoon: {
6694
6860
  name: "Twisted Spoon",
@@ -6746,6 +6912,7 @@ export const Items = {
6746
6912
  },
6747
6913
  num: 252,
6748
6914
  gen: 2,
6915
+ isNonstandard: "Past",
6749
6916
  },
6750
6917
  utilityumbrella: {
6751
6918
  name: "Utility Umbrella",
@@ -6755,38 +6922,25 @@ export const Items = {
6755
6922
  },
6756
6923
  // Partially implemented in Pokemon.effectiveWeather() in sim/pokemon.ts
6757
6924
  onStart(pokemon) {
6758
- pokemon.addVolatile('utilityumbrella');
6925
+ if (!pokemon.ignoringItem())
6926
+ return;
6927
+ if (['sunnyday', 'raindance', 'desolateland', 'primordialsea'].includes(this.field.effectiveWeather())) {
6928
+ this.runEvent('WeatherChange', pokemon, pokemon, this.effect);
6929
+ }
6759
6930
  },
6760
- condition: {
6761
- onStart(pokemon) {
6762
- if (!pokemon.ignoringItem() &&
6763
- ['sunnyday', 'raindance', 'desolateland', 'primordialsea'].includes(this.field.effectiveWeather())) {
6764
- this.runEvent('WeatherChange', pokemon, pokemon, this.effect);
6765
- }
6766
- },
6767
- onUpdate(pokemon) {
6768
- // could break in OMs with bonus items
6769
- if (pokemon.item !== 'utilityumbrella') {
6770
- pokemon.removeVolatile('utilityumbrella');
6771
- return;
6772
- }
6773
- if (!['sunnyday', 'raindance', 'desolateland', 'primordialsea'].includes(this.field.effectiveWeather()))
6774
- return;
6775
- if (pokemon.ignoringItem() && !this.effectState.inactive) {
6776
- this.effectState.inactive = true;
6777
- this.runEvent('WeatherChange', pokemon, pokemon, this.effect);
6778
- }
6779
- else if (!pokemon.ignoringItem() && this.effectState.inactive) {
6780
- this.effectState.inactive = false;
6781
- this.runEvent('WeatherChange', pokemon, pokemon, this.effect);
6782
- }
6783
- },
6784
- onEnd(pokemon) {
6785
- if (!this.effectState.inactive &&
6786
- ['sunnyday', 'raindance', 'desolateland', 'primordialsea'].includes(this.field.effectiveWeather())) {
6787
- this.runEvent('WeatherChange', pokemon, pokemon, this.effect);
6788
- }
6789
- },
6931
+ onUpdate(pokemon) {
6932
+ if (!this.effectState.inactive)
6933
+ return;
6934
+ this.effectState.inactive = false;
6935
+ if (['sunnyday', 'raindance', 'desolateland', 'primordialsea'].includes(this.field.effectiveWeather())) {
6936
+ this.runEvent('WeatherChange', pokemon, pokemon, this.effect);
6937
+ }
6938
+ },
6939
+ onEnd(pokemon) {
6940
+ if (['sunnyday', 'raindance', 'desolateland', 'primordialsea'].includes(this.field.effectiveWeather())) {
6941
+ this.runEvent('WeatherChange', pokemon, pokemon, this.effect);
6942
+ }
6943
+ this.effectState.inactive = true;
6790
6944
  },
6791
6945
  num: 1123,
6792
6946
  gen: 8,
@@ -6860,6 +7014,7 @@ export const Items = {
6860
7014
  itemUser: ["Silvally-Water"],
6861
7015
  num: 913,
6862
7016
  gen: 7,
7017
+ isNonstandard: "Past",
6863
7018
  },
6864
7019
  waterstone: {
6865
7020
  name: "Water Stone",
@@ -6909,6 +7064,7 @@ export const Items = {
6909
7064
  },
6910
7065
  num: 317,
6911
7066
  gen: 4,
7067
+ isNonstandard: "Unobtainable",
6912
7068
  },
6913
7069
  weaknesspolicy: {
6914
7070
  name: "Weakness Policy",
@@ -6949,6 +7105,7 @@ export const Items = {
6949
7105
  },
6950
7106
  num: 646,
6951
7107
  gen: 6,
7108
+ isNonstandard: "Past",
6952
7109
  },
6953
7110
  whiteherb: {
6954
7111
  name: "White Herb",
@@ -7013,7 +7170,8 @@ export const Items = {
7013
7170
  type: "Rock",
7014
7171
  },
7015
7172
  onUpdate(pokemon) {
7016
- if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) {
7173
+ if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&
7174
+ pokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {
7017
7175
  pokemon.eatItem();
7018
7176
  }
7019
7177
  },