@pokepc/dataset 6.9.1 → 7.1.0

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 (994) hide show
  1. package/README.md +57 -1
  2. package/build/{box-preset-sanitizer-ChpDBp-9.mjs → box-preset-sanitizer-DRi4Ayrn.mjs} +2 -2
  3. package/build/{box-preset-sanitizer-ChpDBp-9.mjs.map → box-preset-sanitizer-DRi4Ayrn.mjs.map} +1 -1
  4. package/build/enums-Ajt5avHN.mjs +488 -0
  5. package/build/enums-Ajt5avHN.mjs.map +1 -0
  6. package/build/enums-DCL82p1t.d.mts +66 -0
  7. package/build/enums-DCL82p1t.d.mts.map +1 -0
  8. package/build/evolution-schemas-DSBLBAnK.d.mts +428 -0
  9. package/build/evolution-schemas-DSBLBAnK.d.mts.map +1 -0
  10. package/build/evolution-schemas-Db7-jivr.mjs +182 -0
  11. package/build/evolution-schemas-Db7-jivr.mjs.map +1 -0
  12. package/build/form-schemas-BjyAMPZU.mjs +166 -0
  13. package/build/form-schemas-BjyAMPZU.mjs.map +1 -0
  14. package/build/form-schemas-Cy2ODtBA.d.mts +1407 -0
  15. package/build/form-schemas-Cy2ODtBA.d.mts.map +1 -0
  16. package/build/lib/availability-sources.mjs +9 -2
  17. package/build/lib/availability-sources.mjs.map +1 -1
  18. package/build/lib/box-preset-sanitizer.mjs +1 -1
  19. package/build/lib/box-preset-transform.mjs +2 -2
  20. package/build/lib/enums.d.mts +2 -2
  21. package/build/lib/enums.mjs +2 -2
  22. package/build/lib/evolution-schemas.d.mts +2 -0
  23. package/build/lib/evolution-schemas.mjs +2 -0
  24. package/build/lib/form-methods.d.mts +11 -0
  25. package/build/lib/form-methods.d.mts.map +1 -0
  26. package/build/lib/form-methods.mjs +56 -0
  27. package/build/lib/form-methods.mjs.map +1 -0
  28. package/build/lib/form-schemas.d.mts +2 -0
  29. package/build/lib/form-schemas.mjs +2 -0
  30. package/build/lib/fs.d.mts +8 -8
  31. package/build/lib/schemas.d.mts +4 -2
  32. package/build/lib/schemas.mjs +4 -2
  33. package/build/lib/types.d.mts +10 -2
  34. package/build/lib/types.d.mts.map +1 -1
  35. package/build/lib-next/schemas.d.mts +8 -8
  36. package/build/{schemas-DTB8AjXr.mjs → schemas-Bl5_UJHu.mjs} +7 -12
  37. package/build/schemas-Bl5_UJHu.mjs.map +1 -0
  38. package/build/schemas-CxAD9vC9.d.mts +1615 -0
  39. package/build/schemas-CxAD9vC9.d.mts.map +1 -0
  40. package/data/items.json +210 -0
  41. package/data/pokemon/abomasnow-f.json +8 -2
  42. package/data/pokemon/abomasnow-mega.json +28 -14
  43. package/data/pokemon/abomasnow.json +8 -2
  44. package/data/pokemon/absol-mega-z.json +18 -1
  45. package/data/pokemon/absol-mega.json +26 -1
  46. package/data/pokemon/accelgor.json +7 -2
  47. package/data/pokemon/aegislash-blade.json +66 -0
  48. package/data/pokemon/aegislash.json +8 -2
  49. package/data/pokemon/aerodactyl-mega.json +34 -1
  50. package/data/pokemon/aggron-mega.json +28 -14
  51. package/data/pokemon/aggron.json +8 -2
  52. package/data/pokemon/alakazam-f.json +15 -1
  53. package/data/pokemon/alakazam-mega.json +34 -1
  54. package/data/pokemon/alakazam.json +15 -1
  55. package/data/pokemon/alcremie-caramel-swirl-berry.json +12 -2
  56. package/data/pokemon/alcremie-caramel-swirl-clover.json +12 -2
  57. package/data/pokemon/alcremie-caramel-swirl-flower.json +12 -2
  58. package/data/pokemon/alcremie-caramel-swirl-love.json +12 -2
  59. package/data/pokemon/alcremie-caramel-swirl-ribbon.json +12 -2
  60. package/data/pokemon/alcremie-caramel-swirl-star.json +12 -2
  61. package/data/pokemon/alcremie-caramel-swirl-strawberry.json +12 -2
  62. package/data/pokemon/alcremie-gmax.json +76 -0
  63. package/data/pokemon/alcremie-lemon-cream-berry.json +12 -2
  64. package/data/pokemon/alcremie-lemon-cream-clover.json +12 -2
  65. package/data/pokemon/alcremie-lemon-cream-flower.json +12 -2
  66. package/data/pokemon/alcremie-lemon-cream-love.json +12 -2
  67. package/data/pokemon/alcremie-lemon-cream-ribbon.json +12 -2
  68. package/data/pokemon/alcremie-lemon-cream-star.json +12 -2
  69. package/data/pokemon/alcremie-lemon-cream-strawberry.json +12 -2
  70. package/data/pokemon/alcremie-matcha-cream-berry.json +12 -2
  71. package/data/pokemon/alcremie-matcha-cream-clover.json +12 -2
  72. package/data/pokemon/alcremie-matcha-cream-flower.json +12 -2
  73. package/data/pokemon/alcremie-matcha-cream-love.json +12 -2
  74. package/data/pokemon/alcremie-matcha-cream-ribbon.json +12 -2
  75. package/data/pokemon/alcremie-matcha-cream-star.json +12 -2
  76. package/data/pokemon/alcremie-matcha-cream-strawberry.json +12 -2
  77. package/data/pokemon/alcremie-mint-cream-berry.json +12 -2
  78. package/data/pokemon/alcremie-mint-cream-clover.json +12 -2
  79. package/data/pokemon/alcremie-mint-cream-flower.json +12 -2
  80. package/data/pokemon/alcremie-mint-cream-love.json +12 -2
  81. package/data/pokemon/alcremie-mint-cream-ribbon.json +12 -2
  82. package/data/pokemon/alcremie-mint-cream-star.json +12 -2
  83. package/data/pokemon/alcremie-mint-cream-strawberry.json +12 -2
  84. package/data/pokemon/alcremie-rainbow-swirl-berry.json +15 -2
  85. package/data/pokemon/alcremie-rainbow-swirl-clover.json +15 -2
  86. package/data/pokemon/alcremie-rainbow-swirl-flower.json +15 -2
  87. package/data/pokemon/alcremie-rainbow-swirl-love.json +15 -2
  88. package/data/pokemon/alcremie-rainbow-swirl-ribbon.json +15 -2
  89. package/data/pokemon/alcremie-rainbow-swirl-star.json +15 -2
  90. package/data/pokemon/alcremie-rainbow-swirl-strawberry.json +15 -2
  91. package/data/pokemon/alcremie-ruby-cream-berry.json +12 -2
  92. package/data/pokemon/alcremie-ruby-cream-clover.json +12 -2
  93. package/data/pokemon/alcremie-ruby-cream-flower.json +12 -2
  94. package/data/pokemon/alcremie-ruby-cream-love.json +12 -2
  95. package/data/pokemon/alcremie-ruby-cream-ribbon.json +12 -2
  96. package/data/pokemon/alcremie-ruby-cream-star.json +12 -2
  97. package/data/pokemon/alcremie-ruby-cream-strawberry.json +12 -2
  98. package/data/pokemon/alcremie-ruby-swirl-berry.json +12 -2
  99. package/data/pokemon/alcremie-ruby-swirl-clover.json +12 -2
  100. package/data/pokemon/alcremie-ruby-swirl-flower.json +12 -2
  101. package/data/pokemon/alcremie-ruby-swirl-love.json +12 -2
  102. package/data/pokemon/alcremie-ruby-swirl-ribbon.json +12 -2
  103. package/data/pokemon/alcremie-ruby-swirl-star.json +12 -2
  104. package/data/pokemon/alcremie-ruby-swirl-strawberry.json +12 -2
  105. package/data/pokemon/alcremie-salted-cream-berry.json +12 -2
  106. package/data/pokemon/alcremie-salted-cream-clover.json +12 -2
  107. package/data/pokemon/alcremie-salted-cream-flower.json +12 -2
  108. package/data/pokemon/alcremie-salted-cream-love.json +12 -2
  109. package/data/pokemon/alcremie-salted-cream-ribbon.json +12 -2
  110. package/data/pokemon/alcremie-salted-cream-star.json +12 -2
  111. package/data/pokemon/alcremie-salted-cream-strawberry.json +12 -2
  112. package/data/pokemon/alcremie-vanilla-cream-berry.json +12 -2
  113. package/data/pokemon/alcremie-vanilla-cream-clover.json +12 -2
  114. package/data/pokemon/alcremie-vanilla-cream-flower.json +12 -2
  115. package/data/pokemon/alcremie-vanilla-cream-love.json +12 -2
  116. package/data/pokemon/alcremie-vanilla-cream-ribbon.json +12 -2
  117. package/data/pokemon/alcremie-vanilla-cream-star.json +12 -2
  118. package/data/pokemon/alcremie.json +12 -2
  119. package/data/pokemon/altaria-mega.json +28 -3
  120. package/data/pokemon/altaria.json +8 -2
  121. package/data/pokemon/ambipom-f.json +10 -2
  122. package/data/pokemon/ambipom.json +7 -2
  123. package/data/pokemon/amoonguss.json +8 -2
  124. package/data/pokemon/ampharos-mega.json +28 -14
  125. package/data/pokemon/ampharos.json +8 -2
  126. package/data/pokemon/annihilape.json +8 -2
  127. package/data/pokemon/appletun-gmax.json +12 -0
  128. package/data/pokemon/appletun.json +8 -2
  129. package/data/pokemon/araquanid.json +8 -2
  130. package/data/pokemon/arbok.json +8 -2
  131. package/data/pokemon/arboliva.json +8 -2
  132. package/data/pokemon/arcanine-hisui.json +8 -2
  133. package/data/pokemon/arcanine.json +8 -2
  134. package/data/pokemon/arceus-bug.json +145 -1
  135. package/data/pokemon/arceus-dark.json +145 -1
  136. package/data/pokemon/arceus-dragon.json +145 -1
  137. package/data/pokemon/arceus-electric.json +145 -1
  138. package/data/pokemon/arceus-fairy.json +121 -1
  139. package/data/pokemon/arceus-fighting.json +145 -1
  140. package/data/pokemon/arceus-fire.json +145 -1
  141. package/data/pokemon/arceus-flying.json +145 -1
  142. package/data/pokemon/arceus-ghost.json +145 -1
  143. package/data/pokemon/arceus-grass.json +145 -1
  144. package/data/pokemon/arceus-ground.json +145 -1
  145. package/data/pokemon/arceus-ice.json +145 -1
  146. package/data/pokemon/arceus-legendary.json +55 -1
  147. package/data/pokemon/arceus-poison.json +145 -1
  148. package/data/pokemon/arceus-psychic.json +145 -1
  149. package/data/pokemon/arceus-rock.json +145 -1
  150. package/data/pokemon/arceus-steel.json +145 -1
  151. package/data/pokemon/arceus-water.json +145 -1
  152. package/data/pokemon/arceus.json +263 -0
  153. package/data/pokemon/archaludon.json +8 -2
  154. package/data/pokemon/archeops.json +8 -2
  155. package/data/pokemon/arctibax.json +8 -2
  156. package/data/pokemon/ariados.json +8 -2
  157. package/data/pokemon/armaldo.json +8 -2
  158. package/data/pokemon/armarouge.json +8 -2
  159. package/data/pokemon/aromatisse.json +8 -2
  160. package/data/pokemon/audino-mega.json +28 -3
  161. package/data/pokemon/aurorus.json +8 -3
  162. package/data/pokemon/avalugg-hisui.json +10 -2
  163. package/data/pokemon/avalugg.json +8 -2
  164. package/data/pokemon/azumarill.json +8 -2
  165. package/data/pokemon/banette-mega.json +28 -14
  166. package/data/pokemon/banette.json +8 -2
  167. package/data/pokemon/barbaracle-mega.json +18 -1
  168. package/data/pokemon/barbaracle.json +8 -2
  169. package/data/pokemon/barraskewda.json +8 -2
  170. package/data/pokemon/basculegion-f.json +21 -2
  171. package/data/pokemon/basculegion.json +21 -2
  172. package/data/pokemon/basculin-blue-striped.json +1 -0
  173. package/data/pokemon/bastiodon.json +8 -2
  174. package/data/pokemon/baxcalibur-mega.json +18 -1
  175. package/data/pokemon/baxcalibur.json +8 -2
  176. package/data/pokemon/bayleef.json +8 -2
  177. package/data/pokemon/beartic.json +8 -2
  178. package/data/pokemon/beautifly-f.json +8 -2
  179. package/data/pokemon/beautifly.json +8 -2
  180. package/data/pokemon/beedrill-mega.json +36 -14
  181. package/data/pokemon/beedrill.json +8 -2
  182. package/data/pokemon/beheeyem.json +8 -2
  183. package/data/pokemon/bellibolt.json +8 -2
  184. package/data/pokemon/bellossom.json +8 -2
  185. package/data/pokemon/bewear.json +8 -2
  186. package/data/pokemon/bibarel-f.json +8 -2
  187. package/data/pokemon/bibarel.json +8 -2
  188. package/data/pokemon/bisharp.json +8 -2
  189. package/data/pokemon/blastoise-gmax.json +12 -0
  190. package/data/pokemon/blastoise-mega.json +36 -16
  191. package/data/pokemon/blastoise.json +8 -2
  192. package/data/pokemon/blaziken-f.json +8 -2
  193. package/data/pokemon/blaziken-mega.json +28 -14
  194. package/data/pokemon/blaziken.json +8 -2
  195. package/data/pokemon/blissey.json +7 -1
  196. package/data/pokemon/boldore.json +8 -2
  197. package/data/pokemon/boltund.json +8 -2
  198. package/data/pokemon/braixen.json +8 -2
  199. package/data/pokemon/brambleghast.json +11 -2
  200. package/data/pokemon/braviary-hisui.json +10 -2
  201. package/data/pokemon/braviary.json +8 -2
  202. package/data/pokemon/breloom.json +8 -2
  203. package/data/pokemon/brionne.json +8 -2
  204. package/data/pokemon/bronzong.json +8 -2
  205. package/data/pokemon/burmy-sandy.json +95 -0
  206. package/data/pokemon/burmy-trash.json +52 -0
  207. package/data/pokemon/burmy.json +52 -0
  208. package/data/pokemon/butterfree-f.json +8 -2
  209. package/data/pokemon/butterfree-gmax.json +12 -0
  210. package/data/pokemon/butterfree.json +8 -2
  211. package/data/pokemon/cacturne-f.json +8 -2
  212. package/data/pokemon/cacturne.json +8 -2
  213. package/data/pokemon/calyrex-ice.json +18 -0
  214. package/data/pokemon/calyrex-shadow.json +18 -0
  215. package/data/pokemon/camerupt-f.json +8 -2
  216. package/data/pokemon/camerupt-mega.json +28 -3
  217. package/data/pokemon/camerupt.json +8 -2
  218. package/data/pokemon/carkol.json +8 -2
  219. package/data/pokemon/carracosta.json +8 -2
  220. package/data/pokemon/cascoon.json +8 -2
  221. package/data/pokemon/castform-rainy.json +64 -0
  222. package/data/pokemon/castform-snowy.json +64 -0
  223. package/data/pokemon/castform-sunny.json +64 -0
  224. package/data/pokemon/centiskorch-gmax.json +12 -0
  225. package/data/pokemon/centiskorch.json +8 -2
  226. package/data/pokemon/ceruledge.json +8 -2
  227. package/data/pokemon/cetitan.json +8 -2
  228. package/data/pokemon/chandelure-mega.json +18 -1
  229. package/data/pokemon/chandelure.json +8 -2
  230. package/data/pokemon/chansey.json +16 -3
  231. package/data/pokemon/charizard-gmax.json +12 -0
  232. package/data/pokemon/charizard-mega-x.json +36 -16
  233. package/data/pokemon/charizard-mega-y.json +36 -16
  234. package/data/pokemon/charizard.json +8 -2
  235. package/data/pokemon/charjabug.json +8 -2
  236. package/data/pokemon/charmeleon.json +8 -2
  237. package/data/pokemon/cherrim-sunshine.json +219 -0
  238. package/data/pokemon/cherrim.json +8 -2
  239. package/data/pokemon/chesnaught-mega.json +18 -1
  240. package/data/pokemon/chesnaught.json +8 -2
  241. package/data/pokemon/chimecho-mega.json +18 -1
  242. package/data/pokemon/chimecho.json +7 -2
  243. package/data/pokemon/cinccino.json +8 -2
  244. package/data/pokemon/cinderace-gmax.json +12 -0
  245. package/data/pokemon/cinderace.json +8 -2
  246. package/data/pokemon/clawitzer.json +8 -2
  247. package/data/pokemon/claydol.json +8 -2
  248. package/data/pokemon/clefable-mega.json +18 -1
  249. package/data/pokemon/clefable.json +8 -2
  250. package/data/pokemon/clefairy.json +7 -1
  251. package/data/pokemon/clodsire.json +8 -2
  252. package/data/pokemon/cloyster.json +8 -2
  253. package/data/pokemon/coalossal-gmax.json +12 -0
  254. package/data/pokemon/coalossal.json +8 -2
  255. package/data/pokemon/cofagrigus.json +8 -2
  256. package/data/pokemon/combusken-f.json +8 -2
  257. package/data/pokemon/combusken.json +8 -2
  258. package/data/pokemon/conkeldurr.json +7 -1
  259. package/data/pokemon/copperajah-gmax.json +12 -0
  260. package/data/pokemon/copperajah.json +8 -2
  261. package/data/pokemon/corviknight-gmax.json +12 -0
  262. package/data/pokemon/corviknight.json +8 -2
  263. package/data/pokemon/corvisquire.json +8 -2
  264. package/data/pokemon/cosmoem.json +8 -2
  265. package/data/pokemon/crabominable-mega.json +18 -1
  266. package/data/pokemon/crabominable.json +13 -2
  267. package/data/pokemon/cradily.json +8 -2
  268. package/data/pokemon/cramorant-gorging.json +67 -0
  269. package/data/pokemon/cramorant-gulping.json +67 -0
  270. package/data/pokemon/crawdaunt.json +8 -2
  271. package/data/pokemon/crobat.json +7 -1
  272. package/data/pokemon/crocalor.json +8 -2
  273. package/data/pokemon/croconaw.json +8 -2
  274. package/data/pokemon/crustle.json +8 -2
  275. package/data/pokemon/cursola.json +8 -2
  276. package/data/pokemon/dachsbun.json +8 -2
  277. package/data/pokemon/darkrai-mega.json +18 -0
  278. package/data/pokemon/darmanitan-galar-zen.json +24 -0
  279. package/data/pokemon/darmanitan-galar.json +8 -2
  280. package/data/pokemon/darmanitan-zen.json +31 -0
  281. package/data/pokemon/darmanitan.json +8 -2
  282. package/data/pokemon/dartrix.json +8 -2
  283. package/data/pokemon/decidueye-hisui.json +10 -2
  284. package/data/pokemon/decidueye.json +8 -2
  285. package/data/pokemon/deerling-autumn.json +47 -0
  286. package/data/pokemon/deerling-summer.json +36 -0
  287. package/data/pokemon/deerling-winter.json +47 -0
  288. package/data/pokemon/deerling.json +47 -0
  289. package/data/pokemon/delcatty.json +8 -2
  290. package/data/pokemon/delphox-mega.json +18 -1
  291. package/data/pokemon/delphox.json +8 -2
  292. package/data/pokemon/deoxys-attack.json +90 -0
  293. package/data/pokemon/deoxys-defense.json +90 -0
  294. package/data/pokemon/deoxys-speed.json +90 -0
  295. package/data/pokemon/deoxys.json +117 -0
  296. package/data/pokemon/dewgong.json +8 -2
  297. package/data/pokemon/dewott.json +8 -2
  298. package/data/pokemon/dialga-origin.json +40 -1
  299. package/data/pokemon/diancie-mega.json +28 -3
  300. package/data/pokemon/diggersby.json +8 -2
  301. package/data/pokemon/dipplin.json +8 -2
  302. package/data/pokemon/dodrio-f.json +8 -2
  303. package/data/pokemon/dodrio.json +8 -2
  304. package/data/pokemon/dolliv.json +8 -2
  305. package/data/pokemon/donphan-f.json +8 -2
  306. package/data/pokemon/donphan.json +8 -2
  307. package/data/pokemon/dottler.json +8 -2
  308. package/data/pokemon/doublade.json +8 -2
  309. package/data/pokemon/dragalge-mega.json +18 -1
  310. package/data/pokemon/dragalge.json +8 -2
  311. package/data/pokemon/dragapult.json +8 -2
  312. package/data/pokemon/dragonair.json +8 -2
  313. package/data/pokemon/dragonite-mega.json +18 -1
  314. package/data/pokemon/dragonite.json +8 -2
  315. package/data/pokemon/drakloak.json +8 -2
  316. package/data/pokemon/drampa-mega.json +18 -1
  317. package/data/pokemon/drapion.json +8 -2
  318. package/data/pokemon/drednaw-gmax.json +12 -0
  319. package/data/pokemon/drednaw.json +8 -2
  320. package/data/pokemon/drifblim.json +8 -2
  321. package/data/pokemon/drizzile.json +8 -2
  322. package/data/pokemon/dubwool.json +8 -2
  323. package/data/pokemon/dudunsparce-three-segment.json +11 -2
  324. package/data/pokemon/dudunsparce.json +11 -2
  325. package/data/pokemon/dugtrio-alola.json +8 -2
  326. package/data/pokemon/dugtrio.json +8 -2
  327. package/data/pokemon/duosion.json +8 -2
  328. package/data/pokemon/duraludon-gmax.json +12 -0
  329. package/data/pokemon/dusclops.json +8 -2
  330. package/data/pokemon/dusknoir.json +16 -2
  331. package/data/pokemon/dustox-f.json +8 -2
  332. package/data/pokemon/dustox.json +8 -2
  333. package/data/pokemon/eelektrik.json +8 -2
  334. package/data/pokemon/eelektross-mega.json +18 -1
  335. package/data/pokemon/eelektross.json +8 -2
  336. package/data/pokemon/eevee-gmax.json +12 -0
  337. package/data/pokemon/eiscue-noice.json +32 -0
  338. package/data/pokemon/eldegoss.json +8 -2
  339. package/data/pokemon/electabuzz.json +8 -2
  340. package/data/pokemon/electivire.json +16 -2
  341. package/data/pokemon/electrode-hisui.json +8 -2
  342. package/data/pokemon/electrode.json +8 -2
  343. package/data/pokemon/emboar-mega.json +18 -1
  344. package/data/pokemon/emboar.json +8 -2
  345. package/data/pokemon/empoleon.json +9 -2
  346. package/data/pokemon/enamorus-therian.json +16 -0
  347. package/data/pokemon/escavalier.json +7 -2
  348. package/data/pokemon/espathra.json +8 -2
  349. package/data/pokemon/espeon.json +7 -2
  350. package/data/pokemon/excadrill-mega.json +18 -1
  351. package/data/pokemon/excadrill.json +8 -2
  352. package/data/pokemon/exeggutor-alola.json +12 -2
  353. package/data/pokemon/exeggutor.json +8 -2
  354. package/data/pokemon/exploud.json +8 -2
  355. package/data/pokemon/falinks-mega.json +18 -1
  356. package/data/pokemon/farigiraf.json +7 -2
  357. package/data/pokemon/fearow.json +8 -2
  358. package/data/pokemon/feraligatr-mega.json +18 -1
  359. package/data/pokemon/feraligatr.json +8 -2
  360. package/data/pokemon/ferrothorn.json +8 -2
  361. package/data/pokemon/flaaffy.json +8 -2
  362. package/data/pokemon/flapple-gmax.json +12 -0
  363. package/data/pokemon/flapple.json +8 -2
  364. package/data/pokemon/flareon.json +8 -2
  365. package/data/pokemon/fletchinder.json +8 -2
  366. package/data/pokemon/floatzel-f.json +8 -2
  367. package/data/pokemon/floatzel.json +8 -2
  368. package/data/pokemon/floette-blue.json +8 -2
  369. package/data/pokemon/floette-eternal-mega.json +18 -1
  370. package/data/pokemon/floette-orange.json +8 -2
  371. package/data/pokemon/floette-white.json +8 -2
  372. package/data/pokemon/floette-yellow.json +8 -2
  373. package/data/pokemon/floette.json +8 -2
  374. package/data/pokemon/floragato.json +8 -2
  375. package/data/pokemon/florges-blue.json +8 -2
  376. package/data/pokemon/florges-orange.json +8 -2
  377. package/data/pokemon/florges-white.json +8 -2
  378. package/data/pokemon/florges-yellow.json +8 -2
  379. package/data/pokemon/florges.json +8 -2
  380. package/data/pokemon/flygon.json +8 -2
  381. package/data/pokemon/forretress.json +8 -2
  382. package/data/pokemon/fraxure.json +8 -2
  383. package/data/pokemon/frogadier.json +8 -2
  384. package/data/pokemon/froslass-mega.json +18 -1
  385. package/data/pokemon/froslass.json +8 -2
  386. package/data/pokemon/frosmoth.json +7 -2
  387. package/data/pokemon/furfrou-dandy.json +191 -0
  388. package/data/pokemon/furfrou-debutante.json +191 -0
  389. package/data/pokemon/furfrou-diamond.json +191 -0
  390. package/data/pokemon/furfrou-heart.json +191 -0
  391. package/data/pokemon/furfrou-kabuki.json +191 -0
  392. package/data/pokemon/furfrou-la-reine.json +191 -0
  393. package/data/pokemon/furfrou-matron.json +191 -0
  394. package/data/pokemon/furfrou-pharaoh.json +191 -0
  395. package/data/pokemon/furfrou-star.json +191 -0
  396. package/data/pokemon/furfrou.json +99 -0
  397. package/data/pokemon/furret.json +8 -2
  398. package/data/pokemon/gabite-f.json +8 -2
  399. package/data/pokemon/gabite.json +8 -2
  400. package/data/pokemon/gallade-mega.json +28 -3
  401. package/data/pokemon/gallade.json +8 -2
  402. package/data/pokemon/galvantula.json +8 -2
  403. package/data/pokemon/garbodor-gmax.json +12 -0
  404. package/data/pokemon/garbodor.json +8 -2
  405. package/data/pokemon/garchomp-f.json +8 -2
  406. package/data/pokemon/garchomp-mega-z.json +18 -1
  407. package/data/pokemon/garchomp-mega.json +26 -1
  408. package/data/pokemon/garchomp.json +8 -2
  409. package/data/pokemon/gardevoir-mega.json +28 -14
  410. package/data/pokemon/gardevoir.json +8 -2
  411. package/data/pokemon/garganacl.json +8 -2
  412. package/data/pokemon/gastrodon-east.json +8 -2
  413. package/data/pokemon/gastrodon.json +8 -2
  414. package/data/pokemon/genesect-burn.json +25 -1
  415. package/data/pokemon/genesect-chill.json +25 -1
  416. package/data/pokemon/genesect-douse.json +25 -1
  417. package/data/pokemon/genesect-shock.json +25 -1
  418. package/data/pokemon/genesect.json +29 -0
  419. package/data/pokemon/gengar-gmax.json +12 -0
  420. package/data/pokemon/gengar-mega.json +35 -4
  421. package/data/pokemon/gengar.json +16 -1
  422. package/data/pokemon/gholdengo.json +9 -2
  423. package/data/pokemon/gigalith.json +7 -1
  424. package/data/pokemon/giratina-origin.json +118 -1
  425. package/data/pokemon/glaceon.json +13 -2
  426. package/data/pokemon/glalie-mega.json +26 -1
  427. package/data/pokemon/glalie.json +8 -2
  428. package/data/pokemon/glimmora-mega.json +18 -1
  429. package/data/pokemon/glimmora.json +8 -2
  430. package/data/pokemon/gliscor.json +16 -3
  431. package/data/pokemon/gloom-f.json +8 -2
  432. package/data/pokemon/gloom.json +8 -2
  433. package/data/pokemon/gogoat.json +8 -2
  434. package/data/pokemon/golbat-f.json +8 -2
  435. package/data/pokemon/golbat.json +8 -2
  436. package/data/pokemon/golduck.json +8 -2
  437. package/data/pokemon/golem-alola.json +7 -1
  438. package/data/pokemon/golem.json +15 -1
  439. package/data/pokemon/golisopod-mega.json +18 -1
  440. package/data/pokemon/golisopod.json +8 -2
  441. package/data/pokemon/golurk-mega.json +18 -1
  442. package/data/pokemon/golurk.json +8 -2
  443. package/data/pokemon/goodra-hisui.json +8 -3
  444. package/data/pokemon/goodra.json +15 -3
  445. package/data/pokemon/gorebyss.json +8 -2
  446. package/data/pokemon/gothitelle.json +8 -2
  447. package/data/pokemon/gothorita.json +8 -2
  448. package/data/pokemon/gourgeist-large.json +7 -1
  449. package/data/pokemon/gourgeist-small.json +7 -1
  450. package/data/pokemon/gourgeist-super.json +7 -1
  451. package/data/pokemon/gourgeist.json +7 -1
  452. package/data/pokemon/grafaiai.json +8 -2
  453. package/data/pokemon/granbull.json +8 -2
  454. package/data/pokemon/grapploct.json +7 -2
  455. package/data/pokemon/graveler-alola.json +8 -2
  456. package/data/pokemon/graveler.json +8 -2
  457. package/data/pokemon/greedent.json +8 -2
  458. package/data/pokemon/greninja-ash.json +25 -0
  459. package/data/pokemon/greninja-mega.json +18 -1
  460. package/data/pokemon/greninja.json +8 -2
  461. package/data/pokemon/grimmsnarl-gmax.json +12 -0
  462. package/data/pokemon/grimmsnarl.json +8 -2
  463. package/data/pokemon/grotle.json +8 -2
  464. package/data/pokemon/groudon-primal.json +40 -0
  465. package/data/pokemon/grovyle.json +8 -2
  466. package/data/pokemon/grumpig.json +8 -2
  467. package/data/pokemon/gumshoos.json +8 -3
  468. package/data/pokemon/gurdurr.json +8 -2
  469. package/data/pokemon/gyarados-f.json +8 -2
  470. package/data/pokemon/gyarados-mega.json +34 -1
  471. package/data/pokemon/gyarados.json +8 -2
  472. package/data/pokemon/hakamoo.json +8 -2
  473. package/data/pokemon/hariyama.json +8 -2
  474. package/data/pokemon/hatterene-gmax.json +12 -0
  475. package/data/pokemon/hatterene.json +8 -2
  476. package/data/pokemon/hattrem.json +8 -2
  477. package/data/pokemon/haunter.json +8 -2
  478. package/data/pokemon/hawlucha-mega.json +18 -1
  479. package/data/pokemon/haxorus.json +8 -2
  480. package/data/pokemon/heatran-mega.json +18 -0
  481. package/data/pokemon/heliolisk.json +8 -2
  482. package/data/pokemon/heracross-mega.json +28 -14
  483. package/data/pokemon/herdier.json +8 -2
  484. package/data/pokemon/hippowdon-f.json +8 -2
  485. package/data/pokemon/hippowdon.json +8 -2
  486. package/data/pokemon/hitmonchan.json +8 -3
  487. package/data/pokemon/hitmonlee.json +8 -3
  488. package/data/pokemon/hitmontop.json +8 -3
  489. package/data/pokemon/honchkrow.json +8 -2
  490. package/data/pokemon/hoopa-unbound.json +60 -0
  491. package/data/pokemon/houndoom-f.json +8 -2
  492. package/data/pokemon/houndoom-mega.json +28 -14
  493. package/data/pokemon/houndoom.json +8 -2
  494. package/data/pokemon/houndstone.json +8 -3
  495. package/data/pokemon/huntail.json +8 -2
  496. package/data/pokemon/hydrapple.json +7 -2
  497. package/data/pokemon/hydreigon.json +8 -2
  498. package/data/pokemon/hypno-f.json +8 -2
  499. package/data/pokemon/hypno.json +8 -2
  500. package/data/pokemon/incineroar.json +8 -2
  501. package/data/pokemon/infernape.json +8 -2
  502. package/data/pokemon/inteleon-gmax.json +12 -0
  503. package/data/pokemon/inteleon.json +8 -2
  504. package/data/pokemon/ivysaur.json +8 -2
  505. package/data/pokemon/jellicent-f.json +8 -2
  506. package/data/pokemon/jellicent.json +8 -2
  507. package/data/pokemon/jigglypuff.json +7 -1
  508. package/data/pokemon/jolteon.json +8 -2
  509. package/data/pokemon/jumpluff.json +8 -2
  510. package/data/pokemon/jynx.json +8 -2
  511. package/data/pokemon/kabutops.json +8 -2
  512. package/data/pokemon/kadabra-f.json +8 -2
  513. package/data/pokemon/kadabra.json +8 -2
  514. package/data/pokemon/kakuna.json +8 -2
  515. package/data/pokemon/kangaskhan-mega.json +35 -4
  516. package/data/pokemon/keldeo-resolute.json +92 -0
  517. package/data/pokemon/kilowattrel.json +8 -2
  518. package/data/pokemon/kingambit.json +15 -2
  519. package/data/pokemon/kingdra.json +8 -2
  520. package/data/pokemon/kingler-gmax.json +12 -0
  521. package/data/pokemon/kingler.json +8 -2
  522. package/data/pokemon/kirlia.json +8 -2
  523. package/data/pokemon/klang.json +8 -2
  524. package/data/pokemon/kleavor.json +10 -2
  525. package/data/pokemon/klinklang.json +8 -2
  526. package/data/pokemon/kommoo.json +8 -2
  527. package/data/pokemon/kricketune-f.json +8 -2
  528. package/data/pokemon/kricketune.json +8 -2
  529. package/data/pokemon/krokorok.json +8 -2
  530. package/data/pokemon/krookodile.json +8 -2
  531. package/data/pokemon/kyogre-primal.json +40 -0
  532. package/data/pokemon/kyurem-black.json +33 -0
  533. package/data/pokemon/kyurem-white.json +33 -0
  534. package/data/pokemon/lairon.json +8 -2
  535. package/data/pokemon/lampent.json +8 -2
  536. package/data/pokemon/landorus-therian.json +32 -0
  537. package/data/pokemon/lanturn.json +8 -2
  538. package/data/pokemon/lapras-gmax.json +12 -0
  539. package/data/pokemon/latias-mega.json +28 -3
  540. package/data/pokemon/latios-mega.json +28 -3
  541. package/data/pokemon/leafeon.json +13 -2
  542. package/data/pokemon/leavanny.json +7 -1
  543. package/data/pokemon/ledian-f.json +8 -2
  544. package/data/pokemon/ledian.json +8 -2
  545. package/data/pokemon/lickilicky.json +7 -2
  546. package/data/pokemon/liepard.json +8 -2
  547. package/data/pokemon/lilligant-hisui.json +10 -2
  548. package/data/pokemon/lilligant.json +8 -2
  549. package/data/pokemon/linoone-galar.json +8 -2
  550. package/data/pokemon/linoone.json +8 -2
  551. package/data/pokemon/lokix.json +8 -2
  552. package/data/pokemon/lombre.json +8 -2
  553. package/data/pokemon/lopunny-mega.json +28 -3
  554. package/data/pokemon/lopunny.json +7 -1
  555. package/data/pokemon/loudred.json +8 -2
  556. package/data/pokemon/lucario-mega-z.json +18 -1
  557. package/data/pokemon/lucario-mega.json +28 -14
  558. package/data/pokemon/lucario.json +7 -2
  559. package/data/pokemon/ludicolo-f.json +8 -2
  560. package/data/pokemon/ludicolo.json +8 -2
  561. package/data/pokemon/lumineon-f.json +8 -2
  562. package/data/pokemon/lumineon.json +8 -2
  563. package/data/pokemon/lunala.json +9 -2
  564. package/data/pokemon/lurantis.json +8 -3
  565. package/data/pokemon/luxio-f.json +8 -2
  566. package/data/pokemon/luxio.json +8 -2
  567. package/data/pokemon/luxray-f.json +8 -2
  568. package/data/pokemon/luxray.json +8 -2
  569. package/data/pokemon/lycanroc-dusk.json +28 -3
  570. package/data/pokemon/lycanroc-midnight.json +28 -3
  571. package/data/pokemon/lycanroc.json +28 -3
  572. package/data/pokemon/mabosstiff.json +8 -2
  573. package/data/pokemon/machamp-gmax.json +12 -0
  574. package/data/pokemon/machamp.json +15 -1
  575. package/data/pokemon/machoke.json +8 -2
  576. package/data/pokemon/magcargo.json +8 -2
  577. package/data/pokemon/magearna-mega.json +18 -1
  578. package/data/pokemon/magearna-original-mega.json +20 -3
  579. package/data/pokemon/magmar.json +8 -2
  580. package/data/pokemon/magmortar.json +16 -2
  581. package/data/pokemon/magneton.json +8 -2
  582. package/data/pokemon/magnezone.json +13 -2
  583. package/data/pokemon/malamar-mega.json +18 -1
  584. package/data/pokemon/malamar.json +11 -3
  585. package/data/pokemon/mamoswine-f.json +10 -2
  586. package/data/pokemon/mamoswine.json +7 -2
  587. package/data/pokemon/mandibuzz.json +8 -2
  588. package/data/pokemon/manectric-mega.json +28 -14
  589. package/data/pokemon/manectric.json +8 -2
  590. package/data/pokemon/mantine.json +7 -2
  591. package/data/pokemon/marill.json +7 -1
  592. package/data/pokemon/marowak-alola.json +15 -3
  593. package/data/pokemon/marowak.json +8 -2
  594. package/data/pokemon/marshtomp.json +8 -2
  595. package/data/pokemon/masquerain.json +8 -2
  596. package/data/pokemon/maushold-three.json +12 -2
  597. package/data/pokemon/maushold.json +12 -2
  598. package/data/pokemon/mawile-mega.json +28 -14
  599. package/data/pokemon/mawile.json +0 -1
  600. package/data/pokemon/medicham-f.json +8 -2
  601. package/data/pokemon/medicham-mega.json +28 -14
  602. package/data/pokemon/medicham.json +8 -2
  603. package/data/pokemon/meganium-f.json +8 -2
  604. package/data/pokemon/meganium-mega.json +18 -1
  605. package/data/pokemon/meganium.json +8 -2
  606. package/data/pokemon/melmetal-gmax.json +12 -0
  607. package/data/pokemon/melmetal.json +8 -0
  608. package/data/pokemon/meloetta-pirouette.json +29 -0
  609. package/data/pokemon/meowscarada.json +8 -2
  610. package/data/pokemon/meowstic-f.json +8 -2
  611. package/data/pokemon/meowstic-mega.json +18 -1
  612. package/data/pokemon/meowstic.json +8 -2
  613. package/data/pokemon/meowth-alola.json +2 -0
  614. package/data/pokemon/meowth-gmax.json +12 -0
  615. package/data/pokemon/metagross-mega.json +26 -1
  616. package/data/pokemon/metagross.json +8 -2
  617. package/data/pokemon/metang.json +8 -2
  618. package/data/pokemon/metapod.json +8 -2
  619. package/data/pokemon/mewtwo-mega-x.json +36 -15
  620. package/data/pokemon/mewtwo-mega-y.json +36 -15
  621. package/data/pokemon/mienshao.json +8 -2
  622. package/data/pokemon/mightyena.json +8 -2
  623. package/data/pokemon/milotic-f.json +16 -2
  624. package/data/pokemon/milotic.json +13 -2
  625. package/data/pokemon/mimikyu-busted.json +53 -0
  626. package/data/pokemon/minior-blue.json +53 -0
  627. package/data/pokemon/minior-green.json +53 -0
  628. package/data/pokemon/minior-indigo.json +53 -0
  629. package/data/pokemon/minior-orange.json +53 -0
  630. package/data/pokemon/minior-red.json +53 -0
  631. package/data/pokemon/minior-violet.json +53 -0
  632. package/data/pokemon/minior-yellow.json +53 -0
  633. package/data/pokemon/mismagius.json +8 -2
  634. package/data/pokemon/monferno.json +8 -2
  635. package/data/pokemon/morgrem.json +8 -2
  636. package/data/pokemon/morpeko-hangry.json +57 -0
  637. package/data/pokemon/mothim.json +8 -2
  638. package/data/pokemon/mrmime-galar.json +11 -2
  639. package/data/pokemon/mrmime.json +10 -2
  640. package/data/pokemon/mrrime.json +8 -2
  641. package/data/pokemon/mudsdale.json +8 -2
  642. package/data/pokemon/muk-alola.json +8 -2
  643. package/data/pokemon/muk.json +8 -2
  644. package/data/pokemon/musharna.json +8 -2
  645. package/data/pokemon/naclstack.json +8 -2
  646. package/data/pokemon/naganadel.json +7 -2
  647. package/data/pokemon/necrozma-dawn-wings.json +18 -0
  648. package/data/pokemon/necrozma-dusk-mane.json +18 -0
  649. package/data/pokemon/necrozma-ultra.json +21 -0
  650. package/data/pokemon/nidoking.json +8 -2
  651. package/data/pokemon/nidoqueen.json +8 -2
  652. package/data/pokemon/nidorina.json +8 -2
  653. package/data/pokemon/nidorino.json +8 -2
  654. package/data/pokemon/ninetales-alola.json +8 -2
  655. package/data/pokemon/ninetales.json +8 -2
  656. package/data/pokemon/ninjask.json +8 -2
  657. package/data/pokemon/noctowl.json +8 -2
  658. package/data/pokemon/noivern.json +8 -2
  659. package/data/pokemon/nuzleaf-f.json +8 -2
  660. package/data/pokemon/nuzleaf.json +8 -2
  661. package/data/pokemon/obstagoon.json +8 -3
  662. package/data/pokemon/octillery-f.json +8 -2
  663. package/data/pokemon/octillery.json +8 -2
  664. package/data/pokemon/ogerpon-cornerstone.json +9 -1
  665. package/data/pokemon/ogerpon-hearthflame.json +9 -1
  666. package/data/pokemon/ogerpon-wellspring.json +9 -1
  667. package/data/pokemon/ogerpon.json +13 -0
  668. package/data/pokemon/oinkologne-f.json +8 -2
  669. package/data/pokemon/oinkologne.json +8 -2
  670. package/data/pokemon/omastar.json +8 -2
  671. package/data/pokemon/orbeetle-gmax.json +12 -0
  672. package/data/pokemon/orbeetle.json +8 -2
  673. package/data/pokemon/oricorio-pau.json +9 -0
  674. package/data/pokemon/oricorio-pom-pom.json +9 -0
  675. package/data/pokemon/oricorio-sensu.json +9 -0
  676. package/data/pokemon/oricorio.json +9 -0
  677. package/data/pokemon/overqwil.json +25 -2
  678. package/data/pokemon/palafin-hero.json +16 -0
  679. package/data/pokemon/palafin.json +9 -2
  680. package/data/pokemon/palkia-origin.json +40 -1
  681. package/data/pokemon/palossand.json +8 -2
  682. package/data/pokemon/palpitoad.json +8 -2
  683. package/data/pokemon/pangoro.json +8 -3
  684. package/data/pokemon/parasect.json +8 -2
  685. package/data/pokemon/pawmo.json +8 -2
  686. package/data/pokemon/pawmot.json +11 -2
  687. package/data/pokemon/pelipper.json +8 -2
  688. package/data/pokemon/perrserker.json +8 -2
  689. package/data/pokemon/persian-alola.json +9 -1
  690. package/data/pokemon/persian.json +8 -2
  691. package/data/pokemon/pidgeot-mega.json +36 -14
  692. package/data/pokemon/pidgeot.json +8 -2
  693. package/data/pokemon/pidgeotto.json +8 -2
  694. package/data/pokemon/pignite.json +8 -2
  695. package/data/pokemon/pikachu-f.json +7 -1
  696. package/data/pokemon/pikachu-gmax.json +12 -0
  697. package/data/pokemon/pikachu.json +7 -1
  698. package/data/pokemon/piloswine-f.json +8 -2
  699. package/data/pokemon/piloswine.json +8 -2
  700. package/data/pokemon/pinsir-mega.json +35 -3
  701. package/data/pokemon/piplup.json +1 -0
  702. package/data/pokemon/politoed-f.json +8 -2
  703. package/data/pokemon/politoed.json +8 -2
  704. package/data/pokemon/poliwhirl.json +8 -2
  705. package/data/pokemon/poliwrath.json +8 -2
  706. package/data/pokemon/polteageist-antique.json +8 -2
  707. package/data/pokemon/polteageist.json +8 -2
  708. package/data/pokemon/porygon2.json +16 -2
  709. package/data/pokemon/porygonz.json +16 -2
  710. package/data/pokemon/primarina.json +8 -2
  711. package/data/pokemon/primeape.json +8 -2
  712. package/data/pokemon/prinplup.json +9 -2
  713. package/data/pokemon/probopass.json +21 -2
  714. package/data/pokemon/pupitar.json +8 -2
  715. package/data/pokemon/purugly.json +8 -2
  716. package/data/pokemon/pyroar-f.json +8 -2
  717. package/data/pokemon/pyroar-mega.json +18 -1
  718. package/data/pokemon/pyroar.json +8 -2
  719. package/data/pokemon/quagsire-f.json +8 -2
  720. package/data/pokemon/quagsire.json +8 -2
  721. package/data/pokemon/quaquaval.json +8 -2
  722. package/data/pokemon/quaxwell.json +8 -2
  723. package/data/pokemon/quilava.json +19 -2
  724. package/data/pokemon/quilladin.json +8 -2
  725. package/data/pokemon/raboot.json +8 -2
  726. package/data/pokemon/rabsca.json +11 -2
  727. package/data/pokemon/raichu-alola.json +12 -2
  728. package/data/pokemon/raichu-f.json +11 -2
  729. package/data/pokemon/raichu-mega-x.json +18 -1
  730. package/data/pokemon/raichu-mega-y.json +18 -1
  731. package/data/pokemon/raichu.json +8 -2
  732. package/data/pokemon/rampardos.json +8 -2
  733. package/data/pokemon/rapidash-galar.json +8 -2
  734. package/data/pokemon/rapidash.json +8 -2
  735. package/data/pokemon/raticate-alola.json +8 -3
  736. package/data/pokemon/raticate-f.json +8 -2
  737. package/data/pokemon/raticate.json +8 -2
  738. package/data/pokemon/rayquaza-mega.json +31 -2
  739. package/data/pokemon/reuniclus.json +8 -2
  740. package/data/pokemon/revavroom.json +8 -2
  741. package/data/pokemon/rhydon-f.json +8 -2
  742. package/data/pokemon/rhydon.json +8 -2
  743. package/data/pokemon/rhyperior-f.json +16 -2
  744. package/data/pokemon/rhyperior.json +16 -2
  745. package/data/pokemon/ribombee.json +8 -2
  746. package/data/pokemon/rillaboom-gmax.json +12 -0
  747. package/data/pokemon/rillaboom.json +8 -2
  748. package/data/pokemon/roselia-f.json +11 -2
  749. package/data/pokemon/roselia.json +7 -2
  750. package/data/pokemon/roserade-f.json +8 -2
  751. package/data/pokemon/roserade.json +8 -2
  752. package/data/pokemon/rotom-fan.json +94 -0
  753. package/data/pokemon/rotom-frost.json +94 -0
  754. package/data/pokemon/rotom-heat.json +94 -0
  755. package/data/pokemon/rotom-mow.json +94 -0
  756. package/data/pokemon/rotom-wash.json +94 -0
  757. package/data/pokemon/rotom.json +112 -0
  758. package/data/pokemon/runerigus.json +27 -2
  759. package/data/pokemon/sableye-mega.json +28 -3
  760. package/data/pokemon/salamence-mega.json +26 -1
  761. package/data/pokemon/salamence.json +8 -2
  762. package/data/pokemon/salazzle.json +8 -2
  763. package/data/pokemon/samurott-hisui.json +10 -2
  764. package/data/pokemon/samurott.json +8 -2
  765. package/data/pokemon/sandaconda-gmax.json +12 -0
  766. package/data/pokemon/sandaconda.json +8 -2
  767. package/data/pokemon/sandslash-alola.json +8 -2
  768. package/data/pokemon/sandslash.json +8 -2
  769. package/data/pokemon/sawsbuck-autumn.json +55 -2
  770. package/data/pokemon/sawsbuck-summer.json +44 -2
  771. package/data/pokemon/sawsbuck-winter.json +55 -2
  772. package/data/pokemon/sawsbuck.json +55 -2
  773. package/data/pokemon/sceptile-mega.json +28 -3
  774. package/data/pokemon/sceptile.json +8 -2
  775. package/data/pokemon/scizor-f.json +16 -2
  776. package/data/pokemon/scizor-mega.json +28 -14
  777. package/data/pokemon/scizor.json +16 -2
  778. package/data/pokemon/scolipede-mega.json +18 -1
  779. package/data/pokemon/scolipede.json +9 -2
  780. package/data/pokemon/scovillain-mega.json +18 -1
  781. package/data/pokemon/scovillain.json +8 -2
  782. package/data/pokemon/scrafty-mega.json +18 -1
  783. package/data/pokemon/scrafty.json +8 -2
  784. package/data/pokemon/seadra.json +8 -2
  785. package/data/pokemon/seaking-f.json +8 -2
  786. package/data/pokemon/seaking.json +8 -2
  787. package/data/pokemon/sealeo.json +8 -2
  788. package/data/pokemon/seismitoad.json +8 -2
  789. package/data/pokemon/serperior.json +8 -2
  790. package/data/pokemon/servine.json +8 -2
  791. package/data/pokemon/sharpedo-mega.json +26 -1
  792. package/data/pokemon/sharpedo.json +8 -2
  793. package/data/pokemon/shaymin-sky.json +151 -0
  794. package/data/pokemon/shedinja.json +15 -2
  795. package/data/pokemon/shelgon.json +8 -2
  796. package/data/pokemon/shiftry-f.json +9 -2
  797. package/data/pokemon/shiftry.json +9 -2
  798. package/data/pokemon/shiinotic.json +8 -2
  799. package/data/pokemon/silcoon.json +8 -2
  800. package/data/pokemon/silvally-bug.json +27 -1
  801. package/data/pokemon/silvally-dark.json +27 -1
  802. package/data/pokemon/silvally-dragon.json +27 -1
  803. package/data/pokemon/silvally-electric.json +27 -1
  804. package/data/pokemon/silvally-fairy.json +27 -1
  805. package/data/pokemon/silvally-fighting.json +27 -1
  806. package/data/pokemon/silvally-fire.json +27 -1
  807. package/data/pokemon/silvally-flying.json +27 -1
  808. package/data/pokemon/silvally-ghost.json +27 -1
  809. package/data/pokemon/silvally-grass.json +27 -1
  810. package/data/pokemon/silvally-ground.json +27 -1
  811. package/data/pokemon/silvally-ice.json +27 -1
  812. package/data/pokemon/silvally-poison.json +27 -1
  813. package/data/pokemon/silvally-psychic.json +27 -1
  814. package/data/pokemon/silvally-rock.json +27 -1
  815. package/data/pokemon/silvally-steel.json +27 -1
  816. package/data/pokemon/silvally-water.json +27 -1
  817. package/data/pokemon/silvally.json +57 -1
  818. package/data/pokemon/simipour.json +8 -2
  819. package/data/pokemon/simisage.json +8 -2
  820. package/data/pokemon/simisear.json +8 -2
  821. package/data/pokemon/sinistcha-masterpiece.json +8 -2
  822. package/data/pokemon/sinistcha.json +8 -2
  823. package/data/pokemon/sirfetchd.json +8 -2
  824. package/data/pokemon/skarmory-mega.json +18 -1
  825. package/data/pokemon/skeledirge.json +8 -2
  826. package/data/pokemon/skiploom.json +8 -2
  827. package/data/pokemon/skuntank.json +8 -2
  828. package/data/pokemon/slaking.json +8 -2
  829. package/data/pokemon/sliggoo-hisui.json +10 -2
  830. package/data/pokemon/sliggoo.json +8 -2
  831. package/data/pokemon/slowbro-galar.json +8 -2
  832. package/data/pokemon/slowbro-mega.json +34 -1
  833. package/data/pokemon/slowbro.json +8 -2
  834. package/data/pokemon/slowking-galar.json +8 -2
  835. package/data/pokemon/slowking.json +8 -2
  836. package/data/pokemon/slurpuff.json +8 -2
  837. package/data/pokemon/sneasler.json +16 -3
  838. package/data/pokemon/snorlax-gmax.json +12 -0
  839. package/data/pokemon/snorlax.json +7 -1
  840. package/data/pokemon/solgaleo.json +9 -2
  841. package/data/pokemon/spewpa.json +8 -2
  842. package/data/pokemon/spidops.json +8 -2
  843. package/data/pokemon/staraptor-f.json +8 -2
  844. package/data/pokemon/staraptor-mega.json +18 -0
  845. package/data/pokemon/staraptor.json +8 -2
  846. package/data/pokemon/staravia-f.json +8 -2
  847. package/data/pokemon/staravia.json +8 -2
  848. package/data/pokemon/starmie-mega.json +18 -1
  849. package/data/pokemon/starmie.json +8 -2
  850. package/data/pokemon/steelix-f.json +16 -2
  851. package/data/pokemon/steelix-mega.json +28 -3
  852. package/data/pokemon/steelix.json +16 -2
  853. package/data/pokemon/steenee.json +8 -2
  854. package/data/pokemon/stoutland.json +8 -2
  855. package/data/pokemon/sudowoodo-f.json +10 -2
  856. package/data/pokemon/sudowoodo.json +7 -2
  857. package/data/pokemon/sunflora.json +8 -2
  858. package/data/pokemon/swadloon.json +8 -2
  859. package/data/pokemon/swalot-f.json +8 -2
  860. package/data/pokemon/swalot.json +8 -2
  861. package/data/pokemon/swampert-mega.json +28 -3
  862. package/data/pokemon/swampert.json +8 -2
  863. package/data/pokemon/swanna.json +8 -2
  864. package/data/pokemon/swellow.json +8 -2
  865. package/data/pokemon/swoobat.json +7 -1
  866. package/data/pokemon/sylveon.json +17 -2
  867. package/data/pokemon/talonflame.json +8 -2
  868. package/data/pokemon/tangrowth-f.json +10 -2
  869. package/data/pokemon/tangrowth.json +7 -2
  870. package/data/pokemon/tatsugiri-droopy-mega.json +18 -1
  871. package/data/pokemon/tatsugiri-mega.json +18 -1
  872. package/data/pokemon/tatsugiri-stretchy-mega.json +18 -1
  873. package/data/pokemon/tentacruel.json +8 -2
  874. package/data/pokemon/terapagos-stellar.json +15 -0
  875. package/data/pokemon/terapagos-terastal.json +15 -0
  876. package/data/pokemon/thievul.json +8 -2
  877. package/data/pokemon/thundurus-therian.json +32 -0
  878. package/data/pokemon/thwackey.json +8 -2
  879. package/data/pokemon/tinkaton.json +8 -2
  880. package/data/pokemon/tinkatuff.json +8 -2
  881. package/data/pokemon/toedscruel.json +8 -2
  882. package/data/pokemon/togekiss.json +8 -2
  883. package/data/pokemon/togetic.json +7 -1
  884. package/data/pokemon/tornadus-therian.json +32 -0
  885. package/data/pokemon/torracat.json +8 -2
  886. package/data/pokemon/torterra.json +8 -2
  887. package/data/pokemon/toucannon.json +8 -2
  888. package/data/pokemon/toxapex.json +8 -2
  889. package/data/pokemon/toxicroak-f.json +8 -2
  890. package/data/pokemon/toxicroak.json +8 -2
  891. package/data/pokemon/toxtricity-gmax.json +12 -0
  892. package/data/pokemon/toxtricity-low-key-gmax.json +12 -0
  893. package/data/pokemon/toxtricity-low-key.json +27 -2
  894. package/data/pokemon/toxtricity.json +28 -2
  895. package/data/pokemon/tranquill.json +8 -2
  896. package/data/pokemon/trevenant.json +7 -1
  897. package/data/pokemon/trumbeak.json +8 -2
  898. package/data/pokemon/tsareena.json +7 -2
  899. package/data/pokemon/typhlosion-hisui.json +10 -2
  900. package/data/pokemon/typhlosion.json +8 -2
  901. package/data/pokemon/tyranitar-mega.json +28 -14
  902. package/data/pokemon/tyranitar.json +8 -2
  903. package/data/pokemon/tyrantrum.json +8 -3
  904. package/data/pokemon/umbreon.json +7 -2
  905. package/data/pokemon/unfezant-f.json +8 -2
  906. package/data/pokemon/unfezant.json +8 -2
  907. package/data/pokemon/ursaluna.json +10 -2
  908. package/data/pokemon/ursaring-f.json +8 -2
  909. package/data/pokemon/ursaring.json +8 -2
  910. package/data/pokemon/urshifu-gmax.json +12 -0
  911. package/data/pokemon/urshifu-rapid-strike-gmax.json +12 -0
  912. package/data/pokemon/urshifu-rapid-strike.json +15 -2
  913. package/data/pokemon/urshifu.json +15 -2
  914. package/data/pokemon/vanillish.json +8 -2
  915. package/data/pokemon/vanilluxe.json +8 -2
  916. package/data/pokemon/vaporeon.json +8 -2
  917. package/data/pokemon/venipede.json +1 -0
  918. package/data/pokemon/venomoth.json +8 -2
  919. package/data/pokemon/venusaur-f.json +8 -2
  920. package/data/pokemon/venusaur-gmax.json +12 -0
  921. package/data/pokemon/venusaur-mega.json +36 -16
  922. package/data/pokemon/venusaur.json +8 -2
  923. package/data/pokemon/vespiquen.json +8 -2
  924. package/data/pokemon/vibrava.json +8 -2
  925. package/data/pokemon/victreebel-mega.json +18 -1
  926. package/data/pokemon/victreebel.json +8 -2
  927. package/data/pokemon/vigoroth.json +8 -2
  928. package/data/pokemon/vikavolt.json +13 -2
  929. package/data/pokemon/vileplume-f.json +8 -2
  930. package/data/pokemon/vileplume.json +8 -2
  931. package/data/pokemon/vivillon-archipelago.json +8 -2
  932. package/data/pokemon/vivillon-continental.json +8 -2
  933. package/data/pokemon/vivillon-elegant.json +8 -2
  934. package/data/pokemon/vivillon-fancy.json +8 -2
  935. package/data/pokemon/vivillon-garden.json +8 -2
  936. package/data/pokemon/vivillon-high-plains.json +8 -2
  937. package/data/pokemon/vivillon-jungle.json +8 -2
  938. package/data/pokemon/vivillon-marine.json +8 -2
  939. package/data/pokemon/vivillon-meadow.json +8 -2
  940. package/data/pokemon/vivillon-modern.json +8 -2
  941. package/data/pokemon/vivillon-monsoon.json +8 -2
  942. package/data/pokemon/vivillon-ocean.json +8 -2
  943. package/data/pokemon/vivillon-polar.json +8 -2
  944. package/data/pokemon/vivillon-river.json +8 -2
  945. package/data/pokemon/vivillon-sandstorm.json +8 -2
  946. package/data/pokemon/vivillon-savanna.json +8 -2
  947. package/data/pokemon/vivillon-sun.json +8 -2
  948. package/data/pokemon/vivillon-tundra.json +8 -2
  949. package/data/pokemon/vivillon.json +8 -2
  950. package/data/pokemon/volcarona.json +8 -2
  951. package/data/pokemon/wailord.json +8 -2
  952. package/data/pokemon/walrein.json +8 -2
  953. package/data/pokemon/wartortle.json +8 -2
  954. package/data/pokemon/watchog.json +8 -2
  955. package/data/pokemon/weavile-f.json +22 -3
  956. package/data/pokemon/weavile.json +16 -3
  957. package/data/pokemon/weepinbell.json +8 -2
  958. package/data/pokemon/weezing-galar.json +9 -2
  959. package/data/pokemon/weezing.json +8 -2
  960. package/data/pokemon/whimsicott.json +8 -2
  961. package/data/pokemon/whirlipede.json +9 -2
  962. package/data/pokemon/whiscash.json +8 -2
  963. package/data/pokemon/wigglytuff.json +8 -2
  964. package/data/pokemon/wishiwashi-school.json +24 -0
  965. package/data/pokemon/wobbuffet-f.json +8 -2
  966. package/data/pokemon/wobbuffet.json +8 -2
  967. package/data/pokemon/wormadam-sandy.json +8 -2
  968. package/data/pokemon/wormadam-trash.json +8 -2
  969. package/data/pokemon/wormadam.json +8 -2
  970. package/data/pokemon/wugtrio.json +8 -2
  971. package/data/pokemon/wyrdeer.json +9 -2
  972. package/data/pokemon/xatu-f.json +8 -2
  973. package/data/pokemon/xatu.json +8 -2
  974. package/data/pokemon/xerneas-active.json +11 -0
  975. package/data/pokemon/yanmega.json +7 -2
  976. package/data/pokemon/zacian-crowned.json +19 -1
  977. package/data/pokemon/zamazenta-crowned.json +19 -1
  978. package/data/pokemon/zebstrika.json +8 -2
  979. package/data/pokemon/zeraora-mega.json +18 -1
  980. package/data/pokemon/zoroark-hisui.json +8 -2
  981. package/data/pokemon/zoroark.json +8 -2
  982. package/data/pokemon/zweilous.json +8 -2
  983. package/data/pokemon/zygarde-10.json +19 -0
  984. package/data/pokemon/zygarde-complete-mega.json +18 -1
  985. package/data/pokemon/zygarde-complete.json +36 -0
  986. package/data/pokemon/zygarde.json +33 -0
  987. package/package.json +4 -1
  988. package/build/enums-B7t9bSel.mjs +0 -189
  989. package/build/enums-B7t9bSel.mjs.map +0 -1
  990. package/build/enums-CCbmORM6.d.mts +0 -27
  991. package/build/enums-CCbmORM6.d.mts.map +0 -1
  992. package/build/schemas-DQ-b3Iyj.d.mts +0 -819
  993. package/build/schemas-DQ-b3Iyj.d.mts.map +0 -1
  994. package/build/schemas-DTB8AjXr.mjs.map +0 -1
@@ -0,0 +1,182 @@
1
+ import { G as languageAlpha3Codes, _ as evoWeather, a as evoGenders, c as evoMoveStyles, d as evoSpinComparisons, f as evoSpinDirections, g as evoWalkModes, h as evoTriggers, i as evoConditionKeys, l as evoRegionRelations, m as evoTimesOfDay, o as evoItemRoles, p as evoStatComparisons, r as evoActivations, s as evoLocations, tt as typeIds, u as evoScrolls } from "./enums-Ajt5avHN.mjs";
2
+ import { z as z$1 } from "zod";
3
+ //#region src/lib/evolution-schemas.ts
4
+ const id = z$1.string().min(1).max(50).regex(/^[a-z0-9-]+$/);
5
+ const ids = z$1.array(id).min(1).refine((values) => new Set(values).size === values.length, "Duplicate IDs");
6
+ const count = z$1.number().int().positive();
7
+ const localizedText = z$1.partialRecord(z$1.enum(languageAlpha3Codes), z$1.string().min(1)).refine((text) => Object.values(text).some(Boolean), "Provide at least one translation");
8
+ const conditionKey = z$1.enum(evoConditionKeys).enum;
9
+ /** Stable translation keys with validated parameters, not an executable expression language. */
10
+ const evolutionConditionSchema = z$1.discriminatedUnion("key", [
11
+ z$1.strictObject({ key: z$1.literal(conditionKey.friendship) }),
12
+ z$1.strictObject({
13
+ key: z$1.literal(conditionKey.affection),
14
+ minLevel: count
15
+ }),
16
+ z$1.strictObject({
17
+ key: z$1.literal(conditionKey.beauty),
18
+ minValue: z$1.number().int().min(0).max(255)
19
+ }),
20
+ z$1.strictObject({
21
+ key: z$1.literal(conditionKey.gender),
22
+ gender: z$1.enum(evoGenders)
23
+ }),
24
+ z$1.strictObject({
25
+ key: z$1.literal(conditionKey.time_of_day),
26
+ time: z$1.enum(evoTimesOfDay)
27
+ }),
28
+ z$1.strictObject({
29
+ key: z$1.literal(conditionKey.known_move),
30
+ move: id
31
+ }),
32
+ z$1.strictObject({
33
+ key: z$1.literal(conditionKey.known_move_type),
34
+ type: z$1.enum(typeIds)
35
+ }),
36
+ z$1.strictObject({
37
+ key: z$1.literal(conditionKey.ability),
38
+ abilities: ids
39
+ }),
40
+ z$1.strictObject({
41
+ key: z$1.literal(conditionKey.party_pokemon),
42
+ pokemon: id
43
+ }),
44
+ z$1.strictObject({
45
+ key: z$1.literal(conditionKey.party_type),
46
+ type: z$1.enum(typeIds)
47
+ }),
48
+ z$1.strictObject({
49
+ key: z$1.literal(conditionKey.trade_partner),
50
+ pokemon: id
51
+ }),
52
+ z$1.strictObject({
53
+ key: z$1.literal(conditionKey.attack_defense_comparison),
54
+ comparison: z$1.enum(evoStatComparisons)
55
+ }),
56
+ z$1.strictObject({
57
+ key: z$1.literal(conditionKey.overworld_weather),
58
+ weather: z$1.array(z$1.enum(evoWeather)).min(1)
59
+ }),
60
+ z$1.strictObject({
61
+ key: z$1.literal(conditionKey.location),
62
+ location: z$1.enum(evoLocations)
63
+ }),
64
+ z$1.strictObject({
65
+ key: z$1.literal(conditionKey.region),
66
+ region: id,
67
+ relation: z$1.enum(evoRegionRelations)
68
+ }),
69
+ z$1.strictObject({ key: z$1.literal(conditionKey.device_upside_down) }),
70
+ z$1.strictObject({ key: z$1.literal(conditionKey.union_circle) }),
71
+ z$1.strictObject({
72
+ key: z$1.literal(conditionKey.walk_steps),
73
+ count,
74
+ mode: z$1.enum(evoWalkModes)
75
+ }),
76
+ z$1.strictObject({ key: z$1.literal(conditionKey.outside_poke_ball) }),
77
+ z$1.strictObject({ key: z$1.literal(conditionKey.battle_experience) }),
78
+ z$1.strictObject({
79
+ key: z$1.literal(conditionKey.use_move),
80
+ move: id,
81
+ count,
82
+ style: z$1.enum(evoMoveStyles).optional()
83
+ }),
84
+ z$1.strictObject({
85
+ key: z$1.literal(conditionKey.hit_with_move),
86
+ move: id,
87
+ count
88
+ }),
89
+ z$1.strictObject({
90
+ key: z$1.literal(conditionKey.recoil_damage_without_fainting),
91
+ amount: count
92
+ }),
93
+ z$1.strictObject({
94
+ key: z$1.literal(conditionKey.damage_without_fainting),
95
+ amount: count
96
+ }),
97
+ z$1.strictObject({
98
+ key: z$1.literal(conditionKey.critical_hits_in_one_battle),
99
+ count
100
+ }),
101
+ z$1.strictObject({
102
+ key: z$1.literal(conditionKey.defeat_pokemon_holding_item),
103
+ pokemon: id,
104
+ item: id,
105
+ count
106
+ }),
107
+ z$1.strictObject({
108
+ key: z$1.literal(conditionKey.spin),
109
+ direction: z$1.enum(evoSpinDirections),
110
+ seconds: z$1.number().positive(),
111
+ comparison: z$1.enum(evoSpinComparisons)
112
+ }),
113
+ z$1.strictObject({
114
+ key: z$1.literal(conditionKey.hidden_value_branch),
115
+ percentage: z$1.number().positive().max(100)
116
+ }),
117
+ z$1.strictObject({
118
+ key: z$1.literal(conditionKey.nature),
119
+ natures: ids
120
+ }),
121
+ z$1.strictObject({ key: z$1.literal(conditionKey.spare_party_slot) }),
122
+ z$1.strictObject({ key: z$1.literal(conditionKey.spare_poke_ball) }),
123
+ z$1.strictObject({
124
+ key: z$1.literal(conditionKey.evolve_other),
125
+ pokemon: id
126
+ }),
127
+ z$1.strictObject({ key: z$1.literal(conditionKey.full_moon) }),
128
+ z$1.strictObject({
129
+ key: z$1.literal(conditionKey.interact_with_scroll),
130
+ scroll: z$1.enum(evoScrolls)
131
+ }),
132
+ z$1.strictObject({
133
+ key: z$1.literal(conditionKey.vivillon_pattern),
134
+ pattern: id
135
+ }),
136
+ z$1.strictObject({
137
+ key: z$1.literal(conditionKey.candy),
138
+ pokemon: id,
139
+ count
140
+ })
141
+ ]);
142
+ const evolutionMethodSchema = z$1.strictObject({
143
+ from: ids,
144
+ games: ids.optional(),
145
+ trigger: z$1.enum(evoTriggers),
146
+ minLevel: z$1.number().int().min(1).max(100).optional(),
147
+ item: z$1.strictObject({
148
+ id,
149
+ role: z$1.enum(evoItemRoles),
150
+ quantity: count.optional()
151
+ }).optional(),
152
+ conditions: z$1.array(evolutionConditionSchema),
153
+ additionalResult: z$1.boolean().optional(),
154
+ activation: z$1.enum(evoActivations).optional(),
155
+ notes: localizedText.optional()
156
+ }).superRefine((method, ctx) => {
157
+ if (method.trigger === "use_item" && method.item?.role !== "used") ctx.addIssue({
158
+ code: "custom",
159
+ path: ["item"],
160
+ message: "Item-use methods require a used item"
161
+ });
162
+ if (method.item?.role === "used" && method.trigger !== "use_item") ctx.addIssue({
163
+ code: "custom",
164
+ path: ["trigger"],
165
+ message: "Used items require the use_item trigger"
166
+ });
167
+ if (method.trigger === "special" && method.conditions.length === 0 && !method.notes) ctx.addIssue({
168
+ code: "custom",
169
+ path: ["conditions"],
170
+ message: "Special methods require a condition or explanatory note"
171
+ });
172
+ const keys = method.conditions.map((condition) => condition.key);
173
+ if (new Set(keys).size !== keys.length) ctx.addIssue({
174
+ code: "custom",
175
+ path: ["conditions"],
176
+ message: "Use one condition per key; separate alternatives into methods"
177
+ });
178
+ });
179
+ //#endregion
180
+ export { evolutionMethodSchema as n, evolutionConditionSchema as t };
181
+
182
+ //# sourceMappingURL=evolution-schemas-Db7-jivr.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evolution-schemas-Db7-jivr.mjs","names":["z"],"sources":["../src/lib/evolution-schemas.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n evoActivations,\n evoConditionKeys,\n evoGenders,\n evoItemRoles,\n evoLocations,\n evoMoveStyles,\n evoRegionRelations,\n evoScrolls,\n evoSpinComparisons,\n evoSpinDirections,\n evoStatComparisons,\n evoTimesOfDay,\n evoTriggers,\n evoWalkModes,\n evoWeather,\n languageAlpha3Codes,\n typeIds,\n} from './enums.ts'\n\nconst id = z\n .string()\n .min(1)\n .max(50)\n .regex(/^[a-z0-9-]+$/)\nconst ids = z\n .array(id)\n .min(1)\n .refine((values) => new Set(values).size === values.length, 'Duplicate IDs')\nconst count = z.number().int().positive()\nconst localizedText = z\n .partialRecord(z.enum(languageAlpha3Codes), z.string().min(1))\n .refine((text) => Object.values(text).some(Boolean), 'Provide at least one translation')\nconst conditionKey = z.enum(evoConditionKeys).enum\n\n/** Stable translation keys with validated parameters, not an executable expression language. */\nexport const evolutionConditionSchema = z.discriminatedUnion('key', [\n z.strictObject({ key: z.literal(conditionKey.friendship) }),\n z.strictObject({ key: z.literal(conditionKey.affection), minLevel: count }),\n z.strictObject({\n key: z.literal(conditionKey.beauty),\n minValue: z.number().int().min(0).max(255),\n }),\n z.strictObject({ key: z.literal(conditionKey.gender), gender: z.enum(evoGenders) }),\n z.strictObject({ key: z.literal(conditionKey.time_of_day), time: z.enum(evoTimesOfDay) }),\n z.strictObject({ key: z.literal(conditionKey.known_move), move: id }),\n z.strictObject({ key: z.literal(conditionKey.known_move_type), type: z.enum(typeIds) }),\n z.strictObject({ key: z.literal(conditionKey.ability), abilities: ids }),\n z.strictObject({ key: z.literal(conditionKey.party_pokemon), pokemon: id }),\n z.strictObject({ key: z.literal(conditionKey.party_type), type: z.enum(typeIds) }),\n z.strictObject({ key: z.literal(conditionKey.trade_partner), pokemon: id }),\n z.strictObject({\n key: z.literal(conditionKey.attack_defense_comparison),\n comparison: z.enum(evoStatComparisons),\n }),\n z.strictObject({\n key: z.literal(conditionKey.overworld_weather),\n weather: z.array(z.enum(evoWeather)).min(1),\n }),\n z.strictObject({\n key: z.literal(conditionKey.location),\n location: z.enum(evoLocations),\n }),\n z.strictObject({\n key: z.literal(conditionKey.region),\n region: id,\n relation: z.enum(evoRegionRelations),\n }),\n z.strictObject({ key: z.literal(conditionKey.device_upside_down) }),\n z.strictObject({ key: z.literal(conditionKey.union_circle) }),\n z.strictObject({ key: z.literal(conditionKey.walk_steps), count, mode: z.enum(evoWalkModes) }),\n z.strictObject({ key: z.literal(conditionKey.outside_poke_ball) }),\n z.strictObject({ key: z.literal(conditionKey.battle_experience) }),\n z.strictObject({\n key: z.literal(conditionKey.use_move),\n move: id,\n count,\n style: z.enum(evoMoveStyles).optional(),\n }),\n z.strictObject({ key: z.literal(conditionKey.hit_with_move), move: id, count }),\n z.strictObject({ key: z.literal(conditionKey.recoil_damage_without_fainting), amount: count }),\n z.strictObject({ key: z.literal(conditionKey.damage_without_fainting), amount: count }),\n z.strictObject({ key: z.literal(conditionKey.critical_hits_in_one_battle), count }),\n z.strictObject({\n key: z.literal(conditionKey.defeat_pokemon_holding_item),\n pokemon: id,\n item: id,\n count,\n }),\n z.strictObject({\n key: z.literal(conditionKey.spin),\n direction: z.enum(evoSpinDirections),\n seconds: z.number().positive(),\n comparison: z.enum(evoSpinComparisons),\n }),\n z.strictObject({\n key: z.literal(conditionKey.hidden_value_branch),\n percentage: z.number().positive().max(100),\n }),\n z.strictObject({ key: z.literal(conditionKey.nature), natures: ids }),\n z.strictObject({ key: z.literal(conditionKey.spare_party_slot) }),\n z.strictObject({ key: z.literal(conditionKey.spare_poke_ball) }),\n z.strictObject({ key: z.literal(conditionKey.evolve_other), pokemon: id }),\n z.strictObject({ key: z.literal(conditionKey.full_moon) }),\n z.strictObject({\n key: z.literal(conditionKey.interact_with_scroll),\n scroll: z.enum(evoScrolls),\n }),\n z.strictObject({ key: z.literal(conditionKey.vivillon_pattern), pattern: id }),\n z.strictObject({ key: z.literal(conditionKey.candy), pokemon: id, count }),\n])\n\nexport const evolutionMethodSchema = z\n .strictObject({\n // Alternatives between entries, conjunction within an entry; `from` is a choice of source forms.\n from: ids,\n games: ids.optional(),\n trigger: z.enum(evoTriggers),\n minLevel: z.number().int().min(1).max(100).optional(),\n item: z.strictObject({ id, role: z.enum(evoItemRoles), quantity: count.optional() }).optional(),\n conditions: z.array(evolutionConditionSchema),\n additionalResult: z.boolean().optional(),\n // PLA exposes an Evolve action instead of automatically evolving when requirements are met.\n activation: z.enum(evoActivations).optional(),\n notes: localizedText.optional(),\n })\n .superRefine((method, ctx) => {\n if (method.trigger === 'use_item' && method.item?.role !== 'used') {\n ctx.addIssue({\n code: 'custom',\n path: ['item'],\n message: 'Item-use methods require a used item',\n })\n }\n if (method.item?.role === 'used' && method.trigger !== 'use_item') {\n ctx.addIssue({\n code: 'custom',\n path: ['trigger'],\n message: 'Used items require the use_item trigger',\n })\n }\n if (method.trigger === 'special' && method.conditions.length === 0 && !method.notes) {\n ctx.addIssue({\n code: 'custom',\n path: ['conditions'],\n message: 'Special methods require a condition or explanatory note',\n })\n }\n const keys = method.conditions.map((condition) => condition.key)\n if (new Set(keys).size !== keys.length) {\n ctx.addIssue({\n code: 'custom',\n path: ['conditions'],\n message: 'Use one condition per key; separate alternatives into methods',\n })\n }\n })\n\nexport type EvolutionCondition = z.infer<typeof evolutionConditionSchema>\nexport type EvolutionMethod = z.infer<typeof evolutionMethodSchema>\n"],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ import { A as formStatusRelations, C as formInteractions, D as formMoveRelations, E as formMechanics, F as formTimesOfDay, G as languageAlpha3Codes, I as formTriggers, J as moveCategory, L as formWeather, M as formStorageEvents, N as formStorageServices, O as formRevertEvents, P as formTimeUnits, R as formWeatherRelations, S as formEnvironments, T as formLocations, b as formComparisons, j as formStatuses, k as formSeasons, v as formBattleConditions, w as formItemRoles, x as formConditionKeys, y as formBattleEvents } from "./enums-Ajt5avHN.mjs";
2
+ import { z as z$1 } from "zod";
3
+ //#region src/lib/form-schemas.ts
4
+ const id = z$1.string().min(1).max(50).regex(/^[a-z0-9-]+$/);
5
+ const ids = z$1.array(id).min(1).refine((values) => new Set(values).size === values.length, "Duplicate IDs");
6
+ const key = z$1.enum(formConditionKeys).enum;
7
+ /** Requirements for a transition, with stable translation keys and typed parameters. */
8
+ const formConditionSchema = z$1.discriminatedUnion("key", [
9
+ z$1.strictObject({
10
+ key: z$1.literal(key.ability),
11
+ abilities: ids
12
+ }),
13
+ z$1.strictObject({
14
+ key: z$1.literal(key.known_move),
15
+ move: id,
16
+ relation: z$1.enum(formMoveRelations).optional()
17
+ }),
18
+ z$1.strictObject({
19
+ key: z$1.literal(key.move_used),
20
+ move: id
21
+ }),
22
+ z$1.strictObject({
23
+ key: z$1.literal(key.move_category),
24
+ categories: z$1.array(z$1.enum(moveCategory)).min(1)
25
+ }),
26
+ z$1.strictObject({
27
+ key: z$1.literal(key.time_of_day),
28
+ time: z$1.enum(formTimesOfDay)
29
+ }),
30
+ z$1.strictObject({
31
+ key: z$1.literal(key.status),
32
+ status: z$1.enum(formStatuses),
33
+ relation: z$1.enum(formStatusRelations)
34
+ }),
35
+ z$1.strictObject({
36
+ key: z$1.literal(key.fusion_partner),
37
+ pokemon: id
38
+ }),
39
+ z$1.strictObject({
40
+ key: z$1.literal(key.interaction),
41
+ interaction: z$1.enum(formInteractions)
42
+ }),
43
+ z$1.strictObject({
44
+ key: z$1.literal(key.location),
45
+ location: z$1.enum(formLocations)
46
+ }),
47
+ z$1.strictObject({
48
+ key: z$1.literal(key.environment),
49
+ environment: z$1.enum(formEnvironments)
50
+ }),
51
+ z$1.strictObject({
52
+ key: z$1.literal(key.season),
53
+ season: z$1.enum(formSeasons)
54
+ }),
55
+ z$1.strictObject({
56
+ key: z$1.literal(key.elapsed_time),
57
+ amount: z$1.number().positive(),
58
+ unit: z$1.enum(formTimeUnits)
59
+ }),
60
+ z$1.strictObject({
61
+ key: z$1.literal(key.storage_event),
62
+ event: z$1.enum(formStorageEvents),
63
+ service: z$1.enum(formStorageServices).optional()
64
+ }),
65
+ z$1.strictObject({
66
+ key: z$1.literal(key.transfer),
67
+ destination: id
68
+ }),
69
+ z$1.strictObject({
70
+ key: z$1.literal(key.battle_event),
71
+ events: z$1.array(z$1.enum(formBattleEvents)).min(1)
72
+ }),
73
+ z$1.strictObject({
74
+ key: z$1.literal(key.original_form),
75
+ forms: ids
76
+ }),
77
+ z$1.strictObject({
78
+ key: z$1.literal(key.intrinsic_form),
79
+ forms: ids
80
+ }),
81
+ z$1.strictObject({ key: z$1.literal(key.spare_party_slot) }),
82
+ z$1.strictObject({
83
+ key: z$1.literal(key.mechanic),
84
+ mechanic: z$1.enum(formMechanics)
85
+ }),
86
+ z$1.strictObject({
87
+ key: z$1.literal(key.hp),
88
+ comparison: z$1.enum(formComparisons),
89
+ percent: z$1.number().min(0).max(100)
90
+ }),
91
+ z$1.strictObject({
92
+ key: z$1.literal(key.weather),
93
+ weather: z$1.array(z$1.enum(formWeather)).min(1),
94
+ relation: z$1.enum(formWeatherRelations)
95
+ }),
96
+ z$1.strictObject({
97
+ key: z$1.literal(key.held_item_absent),
98
+ items: ids
99
+ }),
100
+ z$1.strictObject({
101
+ key: z$1.literal(key.battle_condition),
102
+ condition: z$1.enum(formBattleConditions)
103
+ })
104
+ ]);
105
+ const actionShape = {
106
+ trigger: z$1.enum(formTriggers),
107
+ minLevel: z$1.number().int().min(1).max(100).optional(),
108
+ item: z$1.strictObject({
109
+ id,
110
+ role: z$1.enum(formItemRoles),
111
+ consumed: z$1.boolean().optional()
112
+ }).optional(),
113
+ conditions: z$1.array(formConditionSchema),
114
+ notes: z$1.partialRecord(z$1.enum(languageAlpha3Codes), z$1.string().min(1)).refine((text) => Object.values(text).some(Boolean), "Provide at least one translation").optional()
115
+ };
116
+ function validateAction(method, ctx) {
117
+ const requiredRole = method.trigger === "use_item" ? "used" : method.trigger === "equip_item" ? "held" : void 0;
118
+ if (requiredRole && method.item?.role !== requiredRole) ctx.addIssue({
119
+ code: "custom",
120
+ path: ["item"],
121
+ message: `${method.trigger} requires a ${requiredRole} item`
122
+ });
123
+ if (method.item?.consumed && method.item.role !== "used") ctx.addIssue({
124
+ code: "custom",
125
+ path: ["item", "consumed"],
126
+ message: "Only used items can be consumed"
127
+ });
128
+ if (method.trigger === "fuse" && !method.conditions.some((condition) => condition.key === "fusion_partner")) ctx.addIssue({
129
+ code: "custom",
130
+ path: ["conditions"],
131
+ message: "Fusion requires a partner"
132
+ });
133
+ if (method.trigger === "special" && method.conditions.length === 0 && !method.notes) ctx.addIssue({
134
+ code: "custom",
135
+ path: ["conditions"],
136
+ message: "Special methods require a condition or explanatory note"
137
+ });
138
+ const conditions = method.conditions.map((condition) => JSON.stringify(condition));
139
+ if (new Set(conditions).size !== conditions.length) ctx.addIssue({
140
+ code: "custom",
141
+ path: ["conditions"],
142
+ message: "Duplicate condition"
143
+ });
144
+ }
145
+ z$1.strictObject(actionShape);
146
+ /** Missing games inherits the forward method; null explicitly retains unknown scope. */
147
+ const formRevertDetailSchema = z$1.strictObject({
148
+ to: id.optional(),
149
+ games: ids.nullable().optional(),
150
+ ...actionShape
151
+ }).superRefine(validateAction);
152
+ const formRevertSchema = z$1.union([
153
+ z$1.enum(formRevertEvents),
154
+ z$1.strictObject({ afterTurns: z$1.number().int().positive() }),
155
+ formRevertDetailSchema
156
+ ]);
157
+ const formMethodSchema = z$1.strictObject({
158
+ from: ids,
159
+ games: ids.optional(),
160
+ ...actionShape,
161
+ revert: z$1.array(formRevertSchema).min(1).optional()
162
+ }).superRefine(validateAction);
163
+ //#endregion
164
+ export { formRevertSchema as i, formMethodSchema as n, formRevertDetailSchema as r, formConditionSchema as t };
165
+
166
+ //# sourceMappingURL=form-schemas-BjyAMPZU.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-schemas-BjyAMPZU.mjs","names":["z"],"sources":["../src/lib/form-schemas.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n formBattleConditions,\n formBattleEvents,\n formComparisons,\n formConditionKeys,\n formEnvironments,\n formInteractions,\n formItemRoles,\n formLocations,\n formMechanics,\n formMoveRelations,\n formRevertEvents,\n formSeasons,\n formStatusRelations,\n formStatuses,\n formStorageEvents,\n formStorageServices,\n formTimesOfDay,\n formTimeUnits,\n formTriggers,\n formWeather,\n formWeatherRelations,\n languageAlpha3Codes,\n moveCategory,\n} from './enums.ts'\n\nconst id = z\n .string()\n .min(1)\n .max(50)\n .regex(/^[a-z0-9-]+$/)\nconst ids = z\n .array(id)\n .min(1)\n .refine((values) => new Set(values).size === values.length, 'Duplicate IDs')\nconst key = z.enum(formConditionKeys).enum\n\n/** Requirements for a transition, with stable translation keys and typed parameters. */\nexport const formConditionSchema = z.discriminatedUnion('key', [\n z.strictObject({ key: z.literal(key.ability), abilities: ids }),\n z.strictObject({\n key: z.literal(key.known_move),\n move: id,\n relation: z.enum(formMoveRelations).optional(),\n }),\n z.strictObject({ key: z.literal(key.move_used), move: id }),\n z.strictObject({\n key: z.literal(key.move_category),\n categories: z.array(z.enum(moveCategory)).min(1),\n }),\n z.strictObject({ key: z.literal(key.time_of_day), time: z.enum(formTimesOfDay) }),\n z.strictObject({\n key: z.literal(key.status),\n status: z.enum(formStatuses),\n relation: z.enum(formStatusRelations),\n }),\n z.strictObject({ key: z.literal(key.fusion_partner), pokemon: id }),\n z.strictObject({ key: z.literal(key.interaction), interaction: z.enum(formInteractions) }),\n z.strictObject({ key: z.literal(key.location), location: z.enum(formLocations) }),\n z.strictObject({ key: z.literal(key.environment), environment: z.enum(formEnvironments) }),\n z.strictObject({ key: z.literal(key.season), season: z.enum(formSeasons) }),\n z.strictObject({\n key: z.literal(key.elapsed_time),\n amount: z.number().positive(),\n unit: z.enum(formTimeUnits),\n }),\n z.strictObject({\n key: z.literal(key.storage_event),\n event: z.enum(formStorageEvents),\n service: z.enum(formStorageServices).optional(),\n }),\n z.strictObject({ key: z.literal(key.transfer), destination: id }),\n z.strictObject({\n key: z.literal(key.battle_event),\n events: z.array(z.enum(formBattleEvents)).min(1),\n }),\n z.strictObject({ key: z.literal(key.original_form), forms: ids }),\n z.strictObject({ key: z.literal(key.intrinsic_form), forms: ids }),\n z.strictObject({ key: z.literal(key.spare_party_slot) }),\n z.strictObject({ key: z.literal(key.mechanic), mechanic: z.enum(formMechanics) }),\n z.strictObject({\n key: z.literal(key.hp),\n comparison: z.enum(formComparisons),\n percent: z.number().min(0).max(100),\n }),\n z.strictObject({\n key: z.literal(key.weather),\n weather: z.array(z.enum(formWeather)).min(1),\n relation: z.enum(formWeatherRelations),\n }),\n z.strictObject({ key: z.literal(key.held_item_absent), items: ids }),\n z.strictObject({ key: z.literal(key.battle_condition), condition: z.enum(formBattleConditions) }),\n])\n\nconst actionShape = {\n trigger: z.enum(formTriggers),\n minLevel: z.number().int().min(1).max(100).optional(),\n item: z\n .strictObject({ id, role: z.enum(formItemRoles), consumed: z.boolean().optional() })\n .optional(),\n conditions: z.array(formConditionSchema),\n notes: z\n .partialRecord(z.enum(languageAlpha3Codes), z.string().min(1))\n .refine((text) => Object.values(text).some(Boolean), 'Provide at least one translation')\n .optional(),\n}\n\nfunction validateAction(method: z.infer<typeof formActionSchema>, ctx: z.RefinementCtx) {\n const requiredRole =\n method.trigger === 'use_item' ? 'used' : method.trigger === 'equip_item' ? 'held' : undefined\n if (requiredRole && method.item?.role !== requiredRole) {\n ctx.addIssue({\n code: 'custom',\n path: ['item'],\n message: `${method.trigger} requires a ${requiredRole} item`,\n })\n }\n if (method.item?.consumed && method.item.role !== 'used') {\n ctx.addIssue({\n code: 'custom',\n path: ['item', 'consumed'],\n message: 'Only used items can be consumed',\n })\n }\n if (\n method.trigger === 'fuse' &&\n !method.conditions.some((condition) => condition.key === 'fusion_partner')\n ) {\n ctx.addIssue({ code: 'custom', path: ['conditions'], message: 'Fusion requires a partner' })\n }\n if (method.trigger === 'special' && method.conditions.length === 0 && !method.notes) {\n ctx.addIssue({\n code: 'custom',\n path: ['conditions'],\n message: 'Special methods require a condition or explanatory note',\n })\n }\n const conditions = method.conditions.map((condition) => JSON.stringify(condition))\n if (new Set(conditions).size !== conditions.length) {\n ctx.addIssue({ code: 'custom', path: ['conditions'], message: 'Duplicate condition' })\n }\n}\n\nconst formActionSchema = z.strictObject(actionShape)\n\n/** Missing games inherits the forward method; null explicitly retains unknown scope. */\nexport const formRevertDetailSchema = z\n .strictObject({\n to: id.optional(),\n games: ids.nullable().optional(),\n ...actionShape,\n })\n .superRefine(validateAction)\n\nexport const formRevertSchema = z.union([\n z.enum(formRevertEvents),\n z.strictObject({ afterTurns: z.number().int().positive() }),\n formRevertDetailSchema,\n])\n\nexport const formMethodSchema = z\n .strictObject({\n from: ids,\n games: ids.optional(),\n ...actionShape,\n revert: z.array(formRevertSchema).min(1).optional(),\n })\n .superRefine(validateAction)\n\nexport type FormCondition = z.infer<typeof formConditionSchema>\nexport type FormRevertDetail = z.infer<typeof formRevertDetailSchema>\nexport type FormRevert = z.infer<typeof formRevertSchema>\nexport type FormMethod = z.infer<typeof formMethodSchema>\n"],"mappings":"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"}