@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.
- package/README.md +57 -1
- package/build/{box-preset-sanitizer-ChpDBp-9.mjs → box-preset-sanitizer-DRi4Ayrn.mjs} +2 -2
- package/build/{box-preset-sanitizer-ChpDBp-9.mjs.map → box-preset-sanitizer-DRi4Ayrn.mjs.map} +1 -1
- package/build/enums-Ajt5avHN.mjs +488 -0
- package/build/enums-Ajt5avHN.mjs.map +1 -0
- package/build/enums-DCL82p1t.d.mts +66 -0
- package/build/enums-DCL82p1t.d.mts.map +1 -0
- package/build/evolution-schemas-DSBLBAnK.d.mts +428 -0
- package/build/evolution-schemas-DSBLBAnK.d.mts.map +1 -0
- package/build/evolution-schemas-Db7-jivr.mjs +182 -0
- package/build/evolution-schemas-Db7-jivr.mjs.map +1 -0
- package/build/form-schemas-BjyAMPZU.mjs +166 -0
- package/build/form-schemas-BjyAMPZU.mjs.map +1 -0
- package/build/form-schemas-Cy2ODtBA.d.mts +1407 -0
- package/build/form-schemas-Cy2ODtBA.d.mts.map +1 -0
- package/build/lib/availability-sources.mjs +9 -2
- package/build/lib/availability-sources.mjs.map +1 -1
- package/build/lib/box-preset-sanitizer.mjs +1 -1
- package/build/lib/box-preset-transform.mjs +2 -2
- package/build/lib/enums.d.mts +2 -2
- package/build/lib/enums.mjs +2 -2
- package/build/lib/evolution-schemas.d.mts +2 -0
- package/build/lib/evolution-schemas.mjs +2 -0
- package/build/lib/form-methods.d.mts +11 -0
- package/build/lib/form-methods.d.mts.map +1 -0
- package/build/lib/form-methods.mjs +56 -0
- package/build/lib/form-methods.mjs.map +1 -0
- package/build/lib/form-schemas.d.mts +2 -0
- package/build/lib/form-schemas.mjs +2 -0
- package/build/lib/fs.d.mts +8 -8
- package/build/lib/schemas.d.mts +4 -2
- package/build/lib/schemas.mjs +4 -2
- package/build/lib/types.d.mts +10 -2
- package/build/lib/types.d.mts.map +1 -1
- package/build/lib-next/schemas.d.mts +8 -8
- package/build/{schemas-DTB8AjXr.mjs → schemas-Bl5_UJHu.mjs} +7 -12
- package/build/schemas-Bl5_UJHu.mjs.map +1 -0
- package/build/schemas-CxAD9vC9.d.mts +1615 -0
- package/build/schemas-CxAD9vC9.d.mts.map +1 -0
- package/data/items.json +210 -0
- package/data/pokemon/abomasnow-f.json +8 -2
- package/data/pokemon/abomasnow-mega.json +28 -14
- package/data/pokemon/abomasnow.json +8 -2
- package/data/pokemon/absol-mega-z.json +18 -1
- package/data/pokemon/absol-mega.json +26 -1
- package/data/pokemon/accelgor.json +7 -2
- package/data/pokemon/aegislash-blade.json +66 -0
- package/data/pokemon/aegislash.json +8 -2
- package/data/pokemon/aerodactyl-mega.json +34 -1
- package/data/pokemon/aggron-mega.json +28 -14
- package/data/pokemon/aggron.json +8 -2
- package/data/pokemon/alakazam-f.json +15 -1
- package/data/pokemon/alakazam-mega.json +34 -1
- package/data/pokemon/alakazam.json +15 -1
- package/data/pokemon/alcremie-caramel-swirl-berry.json +12 -2
- package/data/pokemon/alcremie-caramel-swirl-clover.json +12 -2
- package/data/pokemon/alcremie-caramel-swirl-flower.json +12 -2
- package/data/pokemon/alcremie-caramel-swirl-love.json +12 -2
- package/data/pokemon/alcremie-caramel-swirl-ribbon.json +12 -2
- package/data/pokemon/alcremie-caramel-swirl-star.json +12 -2
- package/data/pokemon/alcremie-caramel-swirl-strawberry.json +12 -2
- package/data/pokemon/alcremie-gmax.json +76 -0
- package/data/pokemon/alcremie-lemon-cream-berry.json +12 -2
- package/data/pokemon/alcremie-lemon-cream-clover.json +12 -2
- package/data/pokemon/alcremie-lemon-cream-flower.json +12 -2
- package/data/pokemon/alcremie-lemon-cream-love.json +12 -2
- package/data/pokemon/alcremie-lemon-cream-ribbon.json +12 -2
- package/data/pokemon/alcremie-lemon-cream-star.json +12 -2
- package/data/pokemon/alcremie-lemon-cream-strawberry.json +12 -2
- package/data/pokemon/alcremie-matcha-cream-berry.json +12 -2
- package/data/pokemon/alcremie-matcha-cream-clover.json +12 -2
- package/data/pokemon/alcremie-matcha-cream-flower.json +12 -2
- package/data/pokemon/alcremie-matcha-cream-love.json +12 -2
- package/data/pokemon/alcremie-matcha-cream-ribbon.json +12 -2
- package/data/pokemon/alcremie-matcha-cream-star.json +12 -2
- package/data/pokemon/alcremie-matcha-cream-strawberry.json +12 -2
- package/data/pokemon/alcremie-mint-cream-berry.json +12 -2
- package/data/pokemon/alcremie-mint-cream-clover.json +12 -2
- package/data/pokemon/alcremie-mint-cream-flower.json +12 -2
- package/data/pokemon/alcremie-mint-cream-love.json +12 -2
- package/data/pokemon/alcremie-mint-cream-ribbon.json +12 -2
- package/data/pokemon/alcremie-mint-cream-star.json +12 -2
- package/data/pokemon/alcremie-mint-cream-strawberry.json +12 -2
- package/data/pokemon/alcremie-rainbow-swirl-berry.json +15 -2
- package/data/pokemon/alcremie-rainbow-swirl-clover.json +15 -2
- package/data/pokemon/alcremie-rainbow-swirl-flower.json +15 -2
- package/data/pokemon/alcremie-rainbow-swirl-love.json +15 -2
- package/data/pokemon/alcremie-rainbow-swirl-ribbon.json +15 -2
- package/data/pokemon/alcremie-rainbow-swirl-star.json +15 -2
- package/data/pokemon/alcremie-rainbow-swirl-strawberry.json +15 -2
- package/data/pokemon/alcremie-ruby-cream-berry.json +12 -2
- package/data/pokemon/alcremie-ruby-cream-clover.json +12 -2
- package/data/pokemon/alcremie-ruby-cream-flower.json +12 -2
- package/data/pokemon/alcremie-ruby-cream-love.json +12 -2
- package/data/pokemon/alcremie-ruby-cream-ribbon.json +12 -2
- package/data/pokemon/alcremie-ruby-cream-star.json +12 -2
- package/data/pokemon/alcremie-ruby-cream-strawberry.json +12 -2
- package/data/pokemon/alcremie-ruby-swirl-berry.json +12 -2
- package/data/pokemon/alcremie-ruby-swirl-clover.json +12 -2
- package/data/pokemon/alcremie-ruby-swirl-flower.json +12 -2
- package/data/pokemon/alcremie-ruby-swirl-love.json +12 -2
- package/data/pokemon/alcremie-ruby-swirl-ribbon.json +12 -2
- package/data/pokemon/alcremie-ruby-swirl-star.json +12 -2
- package/data/pokemon/alcremie-ruby-swirl-strawberry.json +12 -2
- package/data/pokemon/alcremie-salted-cream-berry.json +12 -2
- package/data/pokemon/alcremie-salted-cream-clover.json +12 -2
- package/data/pokemon/alcremie-salted-cream-flower.json +12 -2
- package/data/pokemon/alcremie-salted-cream-love.json +12 -2
- package/data/pokemon/alcremie-salted-cream-ribbon.json +12 -2
- package/data/pokemon/alcremie-salted-cream-star.json +12 -2
- package/data/pokemon/alcremie-salted-cream-strawberry.json +12 -2
- package/data/pokemon/alcremie-vanilla-cream-berry.json +12 -2
- package/data/pokemon/alcremie-vanilla-cream-clover.json +12 -2
- package/data/pokemon/alcremie-vanilla-cream-flower.json +12 -2
- package/data/pokemon/alcremie-vanilla-cream-love.json +12 -2
- package/data/pokemon/alcremie-vanilla-cream-ribbon.json +12 -2
- package/data/pokemon/alcremie-vanilla-cream-star.json +12 -2
- package/data/pokemon/alcremie.json +12 -2
- package/data/pokemon/altaria-mega.json +28 -3
- package/data/pokemon/altaria.json +8 -2
- package/data/pokemon/ambipom-f.json +10 -2
- package/data/pokemon/ambipom.json +7 -2
- package/data/pokemon/amoonguss.json +8 -2
- package/data/pokemon/ampharos-mega.json +28 -14
- package/data/pokemon/ampharos.json +8 -2
- package/data/pokemon/annihilape.json +8 -2
- package/data/pokemon/appletun-gmax.json +12 -0
- package/data/pokemon/appletun.json +8 -2
- package/data/pokemon/araquanid.json +8 -2
- package/data/pokemon/arbok.json +8 -2
- package/data/pokemon/arboliva.json +8 -2
- package/data/pokemon/arcanine-hisui.json +8 -2
- package/data/pokemon/arcanine.json +8 -2
- package/data/pokemon/arceus-bug.json +145 -1
- package/data/pokemon/arceus-dark.json +145 -1
- package/data/pokemon/arceus-dragon.json +145 -1
- package/data/pokemon/arceus-electric.json +145 -1
- package/data/pokemon/arceus-fairy.json +121 -1
- package/data/pokemon/arceus-fighting.json +145 -1
- package/data/pokemon/arceus-fire.json +145 -1
- package/data/pokemon/arceus-flying.json +145 -1
- package/data/pokemon/arceus-ghost.json +145 -1
- package/data/pokemon/arceus-grass.json +145 -1
- package/data/pokemon/arceus-ground.json +145 -1
- package/data/pokemon/arceus-ice.json +145 -1
- package/data/pokemon/arceus-legendary.json +55 -1
- package/data/pokemon/arceus-poison.json +145 -1
- package/data/pokemon/arceus-psychic.json +145 -1
- package/data/pokemon/arceus-rock.json +145 -1
- package/data/pokemon/arceus-steel.json +145 -1
- package/data/pokemon/arceus-water.json +145 -1
- package/data/pokemon/arceus.json +263 -0
- package/data/pokemon/archaludon.json +8 -2
- package/data/pokemon/archeops.json +8 -2
- package/data/pokemon/arctibax.json +8 -2
- package/data/pokemon/ariados.json +8 -2
- package/data/pokemon/armaldo.json +8 -2
- package/data/pokemon/armarouge.json +8 -2
- package/data/pokemon/aromatisse.json +8 -2
- package/data/pokemon/audino-mega.json +28 -3
- package/data/pokemon/aurorus.json +8 -3
- package/data/pokemon/avalugg-hisui.json +10 -2
- package/data/pokemon/avalugg.json +8 -2
- package/data/pokemon/azumarill.json +8 -2
- package/data/pokemon/banette-mega.json +28 -14
- package/data/pokemon/banette.json +8 -2
- package/data/pokemon/barbaracle-mega.json +18 -1
- package/data/pokemon/barbaracle.json +8 -2
- package/data/pokemon/barraskewda.json +8 -2
- package/data/pokemon/basculegion-f.json +21 -2
- package/data/pokemon/basculegion.json +21 -2
- package/data/pokemon/basculin-blue-striped.json +1 -0
- package/data/pokemon/bastiodon.json +8 -2
- package/data/pokemon/baxcalibur-mega.json +18 -1
- package/data/pokemon/baxcalibur.json +8 -2
- package/data/pokemon/bayleef.json +8 -2
- package/data/pokemon/beartic.json +8 -2
- package/data/pokemon/beautifly-f.json +8 -2
- package/data/pokemon/beautifly.json +8 -2
- package/data/pokemon/beedrill-mega.json +36 -14
- package/data/pokemon/beedrill.json +8 -2
- package/data/pokemon/beheeyem.json +8 -2
- package/data/pokemon/bellibolt.json +8 -2
- package/data/pokemon/bellossom.json +8 -2
- package/data/pokemon/bewear.json +8 -2
- package/data/pokemon/bibarel-f.json +8 -2
- package/data/pokemon/bibarel.json +8 -2
- package/data/pokemon/bisharp.json +8 -2
- package/data/pokemon/blastoise-gmax.json +12 -0
- package/data/pokemon/blastoise-mega.json +36 -16
- package/data/pokemon/blastoise.json +8 -2
- package/data/pokemon/blaziken-f.json +8 -2
- package/data/pokemon/blaziken-mega.json +28 -14
- package/data/pokemon/blaziken.json +8 -2
- package/data/pokemon/blissey.json +7 -1
- package/data/pokemon/boldore.json +8 -2
- package/data/pokemon/boltund.json +8 -2
- package/data/pokemon/braixen.json +8 -2
- package/data/pokemon/brambleghast.json +11 -2
- package/data/pokemon/braviary-hisui.json +10 -2
- package/data/pokemon/braviary.json +8 -2
- package/data/pokemon/breloom.json +8 -2
- package/data/pokemon/brionne.json +8 -2
- package/data/pokemon/bronzong.json +8 -2
- package/data/pokemon/burmy-sandy.json +95 -0
- package/data/pokemon/burmy-trash.json +52 -0
- package/data/pokemon/burmy.json +52 -0
- package/data/pokemon/butterfree-f.json +8 -2
- package/data/pokemon/butterfree-gmax.json +12 -0
- package/data/pokemon/butterfree.json +8 -2
- package/data/pokemon/cacturne-f.json +8 -2
- package/data/pokemon/cacturne.json +8 -2
- package/data/pokemon/calyrex-ice.json +18 -0
- package/data/pokemon/calyrex-shadow.json +18 -0
- package/data/pokemon/camerupt-f.json +8 -2
- package/data/pokemon/camerupt-mega.json +28 -3
- package/data/pokemon/camerupt.json +8 -2
- package/data/pokemon/carkol.json +8 -2
- package/data/pokemon/carracosta.json +8 -2
- package/data/pokemon/cascoon.json +8 -2
- package/data/pokemon/castform-rainy.json +64 -0
- package/data/pokemon/castform-snowy.json +64 -0
- package/data/pokemon/castform-sunny.json +64 -0
- package/data/pokemon/centiskorch-gmax.json +12 -0
- package/data/pokemon/centiskorch.json +8 -2
- package/data/pokemon/ceruledge.json +8 -2
- package/data/pokemon/cetitan.json +8 -2
- package/data/pokemon/chandelure-mega.json +18 -1
- package/data/pokemon/chandelure.json +8 -2
- package/data/pokemon/chansey.json +16 -3
- package/data/pokemon/charizard-gmax.json +12 -0
- package/data/pokemon/charizard-mega-x.json +36 -16
- package/data/pokemon/charizard-mega-y.json +36 -16
- package/data/pokemon/charizard.json +8 -2
- package/data/pokemon/charjabug.json +8 -2
- package/data/pokemon/charmeleon.json +8 -2
- package/data/pokemon/cherrim-sunshine.json +219 -0
- package/data/pokemon/cherrim.json +8 -2
- package/data/pokemon/chesnaught-mega.json +18 -1
- package/data/pokemon/chesnaught.json +8 -2
- package/data/pokemon/chimecho-mega.json +18 -1
- package/data/pokemon/chimecho.json +7 -2
- package/data/pokemon/cinccino.json +8 -2
- package/data/pokemon/cinderace-gmax.json +12 -0
- package/data/pokemon/cinderace.json +8 -2
- package/data/pokemon/clawitzer.json +8 -2
- package/data/pokemon/claydol.json +8 -2
- package/data/pokemon/clefable-mega.json +18 -1
- package/data/pokemon/clefable.json +8 -2
- package/data/pokemon/clefairy.json +7 -1
- package/data/pokemon/clodsire.json +8 -2
- package/data/pokemon/cloyster.json +8 -2
- package/data/pokemon/coalossal-gmax.json +12 -0
- package/data/pokemon/coalossal.json +8 -2
- package/data/pokemon/cofagrigus.json +8 -2
- package/data/pokemon/combusken-f.json +8 -2
- package/data/pokemon/combusken.json +8 -2
- package/data/pokemon/conkeldurr.json +7 -1
- package/data/pokemon/copperajah-gmax.json +12 -0
- package/data/pokemon/copperajah.json +8 -2
- package/data/pokemon/corviknight-gmax.json +12 -0
- package/data/pokemon/corviknight.json +8 -2
- package/data/pokemon/corvisquire.json +8 -2
- package/data/pokemon/cosmoem.json +8 -2
- package/data/pokemon/crabominable-mega.json +18 -1
- package/data/pokemon/crabominable.json +13 -2
- package/data/pokemon/cradily.json +8 -2
- package/data/pokemon/cramorant-gorging.json +67 -0
- package/data/pokemon/cramorant-gulping.json +67 -0
- package/data/pokemon/crawdaunt.json +8 -2
- package/data/pokemon/crobat.json +7 -1
- package/data/pokemon/crocalor.json +8 -2
- package/data/pokemon/croconaw.json +8 -2
- package/data/pokemon/crustle.json +8 -2
- package/data/pokemon/cursola.json +8 -2
- package/data/pokemon/dachsbun.json +8 -2
- package/data/pokemon/darkrai-mega.json +18 -0
- package/data/pokemon/darmanitan-galar-zen.json +24 -0
- package/data/pokemon/darmanitan-galar.json +8 -2
- package/data/pokemon/darmanitan-zen.json +31 -0
- package/data/pokemon/darmanitan.json +8 -2
- package/data/pokemon/dartrix.json +8 -2
- package/data/pokemon/decidueye-hisui.json +10 -2
- package/data/pokemon/decidueye.json +8 -2
- package/data/pokemon/deerling-autumn.json +47 -0
- package/data/pokemon/deerling-summer.json +36 -0
- package/data/pokemon/deerling-winter.json +47 -0
- package/data/pokemon/deerling.json +47 -0
- package/data/pokemon/delcatty.json +8 -2
- package/data/pokemon/delphox-mega.json +18 -1
- package/data/pokemon/delphox.json +8 -2
- package/data/pokemon/deoxys-attack.json +90 -0
- package/data/pokemon/deoxys-defense.json +90 -0
- package/data/pokemon/deoxys-speed.json +90 -0
- package/data/pokemon/deoxys.json +117 -0
- package/data/pokemon/dewgong.json +8 -2
- package/data/pokemon/dewott.json +8 -2
- package/data/pokemon/dialga-origin.json +40 -1
- package/data/pokemon/diancie-mega.json +28 -3
- package/data/pokemon/diggersby.json +8 -2
- package/data/pokemon/dipplin.json +8 -2
- package/data/pokemon/dodrio-f.json +8 -2
- package/data/pokemon/dodrio.json +8 -2
- package/data/pokemon/dolliv.json +8 -2
- package/data/pokemon/donphan-f.json +8 -2
- package/data/pokemon/donphan.json +8 -2
- package/data/pokemon/dottler.json +8 -2
- package/data/pokemon/doublade.json +8 -2
- package/data/pokemon/dragalge-mega.json +18 -1
- package/data/pokemon/dragalge.json +8 -2
- package/data/pokemon/dragapult.json +8 -2
- package/data/pokemon/dragonair.json +8 -2
- package/data/pokemon/dragonite-mega.json +18 -1
- package/data/pokemon/dragonite.json +8 -2
- package/data/pokemon/drakloak.json +8 -2
- package/data/pokemon/drampa-mega.json +18 -1
- package/data/pokemon/drapion.json +8 -2
- package/data/pokemon/drednaw-gmax.json +12 -0
- package/data/pokemon/drednaw.json +8 -2
- package/data/pokemon/drifblim.json +8 -2
- package/data/pokemon/drizzile.json +8 -2
- package/data/pokemon/dubwool.json +8 -2
- package/data/pokemon/dudunsparce-three-segment.json +11 -2
- package/data/pokemon/dudunsparce.json +11 -2
- package/data/pokemon/dugtrio-alola.json +8 -2
- package/data/pokemon/dugtrio.json +8 -2
- package/data/pokemon/duosion.json +8 -2
- package/data/pokemon/duraludon-gmax.json +12 -0
- package/data/pokemon/dusclops.json +8 -2
- package/data/pokemon/dusknoir.json +16 -2
- package/data/pokemon/dustox-f.json +8 -2
- package/data/pokemon/dustox.json +8 -2
- package/data/pokemon/eelektrik.json +8 -2
- package/data/pokemon/eelektross-mega.json +18 -1
- package/data/pokemon/eelektross.json +8 -2
- package/data/pokemon/eevee-gmax.json +12 -0
- package/data/pokemon/eiscue-noice.json +32 -0
- package/data/pokemon/eldegoss.json +8 -2
- package/data/pokemon/electabuzz.json +8 -2
- package/data/pokemon/electivire.json +16 -2
- package/data/pokemon/electrode-hisui.json +8 -2
- package/data/pokemon/electrode.json +8 -2
- package/data/pokemon/emboar-mega.json +18 -1
- package/data/pokemon/emboar.json +8 -2
- package/data/pokemon/empoleon.json +9 -2
- package/data/pokemon/enamorus-therian.json +16 -0
- package/data/pokemon/escavalier.json +7 -2
- package/data/pokemon/espathra.json +8 -2
- package/data/pokemon/espeon.json +7 -2
- package/data/pokemon/excadrill-mega.json +18 -1
- package/data/pokemon/excadrill.json +8 -2
- package/data/pokemon/exeggutor-alola.json +12 -2
- package/data/pokemon/exeggutor.json +8 -2
- package/data/pokemon/exploud.json +8 -2
- package/data/pokemon/falinks-mega.json +18 -1
- package/data/pokemon/farigiraf.json +7 -2
- package/data/pokemon/fearow.json +8 -2
- package/data/pokemon/feraligatr-mega.json +18 -1
- package/data/pokemon/feraligatr.json +8 -2
- package/data/pokemon/ferrothorn.json +8 -2
- package/data/pokemon/flaaffy.json +8 -2
- package/data/pokemon/flapple-gmax.json +12 -0
- package/data/pokemon/flapple.json +8 -2
- package/data/pokemon/flareon.json +8 -2
- package/data/pokemon/fletchinder.json +8 -2
- package/data/pokemon/floatzel-f.json +8 -2
- package/data/pokemon/floatzel.json +8 -2
- package/data/pokemon/floette-blue.json +8 -2
- package/data/pokemon/floette-eternal-mega.json +18 -1
- package/data/pokemon/floette-orange.json +8 -2
- package/data/pokemon/floette-white.json +8 -2
- package/data/pokemon/floette-yellow.json +8 -2
- package/data/pokemon/floette.json +8 -2
- package/data/pokemon/floragato.json +8 -2
- package/data/pokemon/florges-blue.json +8 -2
- package/data/pokemon/florges-orange.json +8 -2
- package/data/pokemon/florges-white.json +8 -2
- package/data/pokemon/florges-yellow.json +8 -2
- package/data/pokemon/florges.json +8 -2
- package/data/pokemon/flygon.json +8 -2
- package/data/pokemon/forretress.json +8 -2
- package/data/pokemon/fraxure.json +8 -2
- package/data/pokemon/frogadier.json +8 -2
- package/data/pokemon/froslass-mega.json +18 -1
- package/data/pokemon/froslass.json +8 -2
- package/data/pokemon/frosmoth.json +7 -2
- package/data/pokemon/furfrou-dandy.json +191 -0
- package/data/pokemon/furfrou-debutante.json +191 -0
- package/data/pokemon/furfrou-diamond.json +191 -0
- package/data/pokemon/furfrou-heart.json +191 -0
- package/data/pokemon/furfrou-kabuki.json +191 -0
- package/data/pokemon/furfrou-la-reine.json +191 -0
- package/data/pokemon/furfrou-matron.json +191 -0
- package/data/pokemon/furfrou-pharaoh.json +191 -0
- package/data/pokemon/furfrou-star.json +191 -0
- package/data/pokemon/furfrou.json +99 -0
- package/data/pokemon/furret.json +8 -2
- package/data/pokemon/gabite-f.json +8 -2
- package/data/pokemon/gabite.json +8 -2
- package/data/pokemon/gallade-mega.json +28 -3
- package/data/pokemon/gallade.json +8 -2
- package/data/pokemon/galvantula.json +8 -2
- package/data/pokemon/garbodor-gmax.json +12 -0
- package/data/pokemon/garbodor.json +8 -2
- package/data/pokemon/garchomp-f.json +8 -2
- package/data/pokemon/garchomp-mega-z.json +18 -1
- package/data/pokemon/garchomp-mega.json +26 -1
- package/data/pokemon/garchomp.json +8 -2
- package/data/pokemon/gardevoir-mega.json +28 -14
- package/data/pokemon/gardevoir.json +8 -2
- package/data/pokemon/garganacl.json +8 -2
- package/data/pokemon/gastrodon-east.json +8 -2
- package/data/pokemon/gastrodon.json +8 -2
- package/data/pokemon/genesect-burn.json +25 -1
- package/data/pokemon/genesect-chill.json +25 -1
- package/data/pokemon/genesect-douse.json +25 -1
- package/data/pokemon/genesect-shock.json +25 -1
- package/data/pokemon/genesect.json +29 -0
- package/data/pokemon/gengar-gmax.json +12 -0
- package/data/pokemon/gengar-mega.json +35 -4
- package/data/pokemon/gengar.json +16 -1
- package/data/pokemon/gholdengo.json +9 -2
- package/data/pokemon/gigalith.json +7 -1
- package/data/pokemon/giratina-origin.json +118 -1
- package/data/pokemon/glaceon.json +13 -2
- package/data/pokemon/glalie-mega.json +26 -1
- package/data/pokemon/glalie.json +8 -2
- package/data/pokemon/glimmora-mega.json +18 -1
- package/data/pokemon/glimmora.json +8 -2
- package/data/pokemon/gliscor.json +16 -3
- package/data/pokemon/gloom-f.json +8 -2
- package/data/pokemon/gloom.json +8 -2
- package/data/pokemon/gogoat.json +8 -2
- package/data/pokemon/golbat-f.json +8 -2
- package/data/pokemon/golbat.json +8 -2
- package/data/pokemon/golduck.json +8 -2
- package/data/pokemon/golem-alola.json +7 -1
- package/data/pokemon/golem.json +15 -1
- package/data/pokemon/golisopod-mega.json +18 -1
- package/data/pokemon/golisopod.json +8 -2
- package/data/pokemon/golurk-mega.json +18 -1
- package/data/pokemon/golurk.json +8 -2
- package/data/pokemon/goodra-hisui.json +8 -3
- package/data/pokemon/goodra.json +15 -3
- package/data/pokemon/gorebyss.json +8 -2
- package/data/pokemon/gothitelle.json +8 -2
- package/data/pokemon/gothorita.json +8 -2
- package/data/pokemon/gourgeist-large.json +7 -1
- package/data/pokemon/gourgeist-small.json +7 -1
- package/data/pokemon/gourgeist-super.json +7 -1
- package/data/pokemon/gourgeist.json +7 -1
- package/data/pokemon/grafaiai.json +8 -2
- package/data/pokemon/granbull.json +8 -2
- package/data/pokemon/grapploct.json +7 -2
- package/data/pokemon/graveler-alola.json +8 -2
- package/data/pokemon/graveler.json +8 -2
- package/data/pokemon/greedent.json +8 -2
- package/data/pokemon/greninja-ash.json +25 -0
- package/data/pokemon/greninja-mega.json +18 -1
- package/data/pokemon/greninja.json +8 -2
- package/data/pokemon/grimmsnarl-gmax.json +12 -0
- package/data/pokemon/grimmsnarl.json +8 -2
- package/data/pokemon/grotle.json +8 -2
- package/data/pokemon/groudon-primal.json +40 -0
- package/data/pokemon/grovyle.json +8 -2
- package/data/pokemon/grumpig.json +8 -2
- package/data/pokemon/gumshoos.json +8 -3
- package/data/pokemon/gurdurr.json +8 -2
- package/data/pokemon/gyarados-f.json +8 -2
- package/data/pokemon/gyarados-mega.json +34 -1
- package/data/pokemon/gyarados.json +8 -2
- package/data/pokemon/hakamoo.json +8 -2
- package/data/pokemon/hariyama.json +8 -2
- package/data/pokemon/hatterene-gmax.json +12 -0
- package/data/pokemon/hatterene.json +8 -2
- package/data/pokemon/hattrem.json +8 -2
- package/data/pokemon/haunter.json +8 -2
- package/data/pokemon/hawlucha-mega.json +18 -1
- package/data/pokemon/haxorus.json +8 -2
- package/data/pokemon/heatran-mega.json +18 -0
- package/data/pokemon/heliolisk.json +8 -2
- package/data/pokemon/heracross-mega.json +28 -14
- package/data/pokemon/herdier.json +8 -2
- package/data/pokemon/hippowdon-f.json +8 -2
- package/data/pokemon/hippowdon.json +8 -2
- package/data/pokemon/hitmonchan.json +8 -3
- package/data/pokemon/hitmonlee.json +8 -3
- package/data/pokemon/hitmontop.json +8 -3
- package/data/pokemon/honchkrow.json +8 -2
- package/data/pokemon/hoopa-unbound.json +60 -0
- package/data/pokemon/houndoom-f.json +8 -2
- package/data/pokemon/houndoom-mega.json +28 -14
- package/data/pokemon/houndoom.json +8 -2
- package/data/pokemon/houndstone.json +8 -3
- package/data/pokemon/huntail.json +8 -2
- package/data/pokemon/hydrapple.json +7 -2
- package/data/pokemon/hydreigon.json +8 -2
- package/data/pokemon/hypno-f.json +8 -2
- package/data/pokemon/hypno.json +8 -2
- package/data/pokemon/incineroar.json +8 -2
- package/data/pokemon/infernape.json +8 -2
- package/data/pokemon/inteleon-gmax.json +12 -0
- package/data/pokemon/inteleon.json +8 -2
- package/data/pokemon/ivysaur.json +8 -2
- package/data/pokemon/jellicent-f.json +8 -2
- package/data/pokemon/jellicent.json +8 -2
- package/data/pokemon/jigglypuff.json +7 -1
- package/data/pokemon/jolteon.json +8 -2
- package/data/pokemon/jumpluff.json +8 -2
- package/data/pokemon/jynx.json +8 -2
- package/data/pokemon/kabutops.json +8 -2
- package/data/pokemon/kadabra-f.json +8 -2
- package/data/pokemon/kadabra.json +8 -2
- package/data/pokemon/kakuna.json +8 -2
- package/data/pokemon/kangaskhan-mega.json +35 -4
- package/data/pokemon/keldeo-resolute.json +92 -0
- package/data/pokemon/kilowattrel.json +8 -2
- package/data/pokemon/kingambit.json +15 -2
- package/data/pokemon/kingdra.json +8 -2
- package/data/pokemon/kingler-gmax.json +12 -0
- package/data/pokemon/kingler.json +8 -2
- package/data/pokemon/kirlia.json +8 -2
- package/data/pokemon/klang.json +8 -2
- package/data/pokemon/kleavor.json +10 -2
- package/data/pokemon/klinklang.json +8 -2
- package/data/pokemon/kommoo.json +8 -2
- package/data/pokemon/kricketune-f.json +8 -2
- package/data/pokemon/kricketune.json +8 -2
- package/data/pokemon/krokorok.json +8 -2
- package/data/pokemon/krookodile.json +8 -2
- package/data/pokemon/kyogre-primal.json +40 -0
- package/data/pokemon/kyurem-black.json +33 -0
- package/data/pokemon/kyurem-white.json +33 -0
- package/data/pokemon/lairon.json +8 -2
- package/data/pokemon/lampent.json +8 -2
- package/data/pokemon/landorus-therian.json +32 -0
- package/data/pokemon/lanturn.json +8 -2
- package/data/pokemon/lapras-gmax.json +12 -0
- package/data/pokemon/latias-mega.json +28 -3
- package/data/pokemon/latios-mega.json +28 -3
- package/data/pokemon/leafeon.json +13 -2
- package/data/pokemon/leavanny.json +7 -1
- package/data/pokemon/ledian-f.json +8 -2
- package/data/pokemon/ledian.json +8 -2
- package/data/pokemon/lickilicky.json +7 -2
- package/data/pokemon/liepard.json +8 -2
- package/data/pokemon/lilligant-hisui.json +10 -2
- package/data/pokemon/lilligant.json +8 -2
- package/data/pokemon/linoone-galar.json +8 -2
- package/data/pokemon/linoone.json +8 -2
- package/data/pokemon/lokix.json +8 -2
- package/data/pokemon/lombre.json +8 -2
- package/data/pokemon/lopunny-mega.json +28 -3
- package/data/pokemon/lopunny.json +7 -1
- package/data/pokemon/loudred.json +8 -2
- package/data/pokemon/lucario-mega-z.json +18 -1
- package/data/pokemon/lucario-mega.json +28 -14
- package/data/pokemon/lucario.json +7 -2
- package/data/pokemon/ludicolo-f.json +8 -2
- package/data/pokemon/ludicolo.json +8 -2
- package/data/pokemon/lumineon-f.json +8 -2
- package/data/pokemon/lumineon.json +8 -2
- package/data/pokemon/lunala.json +9 -2
- package/data/pokemon/lurantis.json +8 -3
- package/data/pokemon/luxio-f.json +8 -2
- package/data/pokemon/luxio.json +8 -2
- package/data/pokemon/luxray-f.json +8 -2
- package/data/pokemon/luxray.json +8 -2
- package/data/pokemon/lycanroc-dusk.json +28 -3
- package/data/pokemon/lycanroc-midnight.json +28 -3
- package/data/pokemon/lycanroc.json +28 -3
- package/data/pokemon/mabosstiff.json +8 -2
- package/data/pokemon/machamp-gmax.json +12 -0
- package/data/pokemon/machamp.json +15 -1
- package/data/pokemon/machoke.json +8 -2
- package/data/pokemon/magcargo.json +8 -2
- package/data/pokemon/magearna-mega.json +18 -1
- package/data/pokemon/magearna-original-mega.json +20 -3
- package/data/pokemon/magmar.json +8 -2
- package/data/pokemon/magmortar.json +16 -2
- package/data/pokemon/magneton.json +8 -2
- package/data/pokemon/magnezone.json +13 -2
- package/data/pokemon/malamar-mega.json +18 -1
- package/data/pokemon/malamar.json +11 -3
- package/data/pokemon/mamoswine-f.json +10 -2
- package/data/pokemon/mamoswine.json +7 -2
- package/data/pokemon/mandibuzz.json +8 -2
- package/data/pokemon/manectric-mega.json +28 -14
- package/data/pokemon/manectric.json +8 -2
- package/data/pokemon/mantine.json +7 -2
- package/data/pokemon/marill.json +7 -1
- package/data/pokemon/marowak-alola.json +15 -3
- package/data/pokemon/marowak.json +8 -2
- package/data/pokemon/marshtomp.json +8 -2
- package/data/pokemon/masquerain.json +8 -2
- package/data/pokemon/maushold-three.json +12 -2
- package/data/pokemon/maushold.json +12 -2
- package/data/pokemon/mawile-mega.json +28 -14
- package/data/pokemon/mawile.json +0 -1
- package/data/pokemon/medicham-f.json +8 -2
- package/data/pokemon/medicham-mega.json +28 -14
- package/data/pokemon/medicham.json +8 -2
- package/data/pokemon/meganium-f.json +8 -2
- package/data/pokemon/meganium-mega.json +18 -1
- package/data/pokemon/meganium.json +8 -2
- package/data/pokemon/melmetal-gmax.json +12 -0
- package/data/pokemon/melmetal.json +8 -0
- package/data/pokemon/meloetta-pirouette.json +29 -0
- package/data/pokemon/meowscarada.json +8 -2
- package/data/pokemon/meowstic-f.json +8 -2
- package/data/pokemon/meowstic-mega.json +18 -1
- package/data/pokemon/meowstic.json +8 -2
- package/data/pokemon/meowth-alola.json +2 -0
- package/data/pokemon/meowth-gmax.json +12 -0
- package/data/pokemon/metagross-mega.json +26 -1
- package/data/pokemon/metagross.json +8 -2
- package/data/pokemon/metang.json +8 -2
- package/data/pokemon/metapod.json +8 -2
- package/data/pokemon/mewtwo-mega-x.json +36 -15
- package/data/pokemon/mewtwo-mega-y.json +36 -15
- package/data/pokemon/mienshao.json +8 -2
- package/data/pokemon/mightyena.json +8 -2
- package/data/pokemon/milotic-f.json +16 -2
- package/data/pokemon/milotic.json +13 -2
- package/data/pokemon/mimikyu-busted.json +53 -0
- package/data/pokemon/minior-blue.json +53 -0
- package/data/pokemon/minior-green.json +53 -0
- package/data/pokemon/minior-indigo.json +53 -0
- package/data/pokemon/minior-orange.json +53 -0
- package/data/pokemon/minior-red.json +53 -0
- package/data/pokemon/minior-violet.json +53 -0
- package/data/pokemon/minior-yellow.json +53 -0
- package/data/pokemon/mismagius.json +8 -2
- package/data/pokemon/monferno.json +8 -2
- package/data/pokemon/morgrem.json +8 -2
- package/data/pokemon/morpeko-hangry.json +57 -0
- package/data/pokemon/mothim.json +8 -2
- package/data/pokemon/mrmime-galar.json +11 -2
- package/data/pokemon/mrmime.json +10 -2
- package/data/pokemon/mrrime.json +8 -2
- package/data/pokemon/mudsdale.json +8 -2
- package/data/pokemon/muk-alola.json +8 -2
- package/data/pokemon/muk.json +8 -2
- package/data/pokemon/musharna.json +8 -2
- package/data/pokemon/naclstack.json +8 -2
- package/data/pokemon/naganadel.json +7 -2
- package/data/pokemon/necrozma-dawn-wings.json +18 -0
- package/data/pokemon/necrozma-dusk-mane.json +18 -0
- package/data/pokemon/necrozma-ultra.json +21 -0
- package/data/pokemon/nidoking.json +8 -2
- package/data/pokemon/nidoqueen.json +8 -2
- package/data/pokemon/nidorina.json +8 -2
- package/data/pokemon/nidorino.json +8 -2
- package/data/pokemon/ninetales-alola.json +8 -2
- package/data/pokemon/ninetales.json +8 -2
- package/data/pokemon/ninjask.json +8 -2
- package/data/pokemon/noctowl.json +8 -2
- package/data/pokemon/noivern.json +8 -2
- package/data/pokemon/nuzleaf-f.json +8 -2
- package/data/pokemon/nuzleaf.json +8 -2
- package/data/pokemon/obstagoon.json +8 -3
- package/data/pokemon/octillery-f.json +8 -2
- package/data/pokemon/octillery.json +8 -2
- package/data/pokemon/ogerpon-cornerstone.json +9 -1
- package/data/pokemon/ogerpon-hearthflame.json +9 -1
- package/data/pokemon/ogerpon-wellspring.json +9 -1
- package/data/pokemon/ogerpon.json +13 -0
- package/data/pokemon/oinkologne-f.json +8 -2
- package/data/pokemon/oinkologne.json +8 -2
- package/data/pokemon/omastar.json +8 -2
- package/data/pokemon/orbeetle-gmax.json +12 -0
- package/data/pokemon/orbeetle.json +8 -2
- package/data/pokemon/oricorio-pau.json +9 -0
- package/data/pokemon/oricorio-pom-pom.json +9 -0
- package/data/pokemon/oricorio-sensu.json +9 -0
- package/data/pokemon/oricorio.json +9 -0
- package/data/pokemon/overqwil.json +25 -2
- package/data/pokemon/palafin-hero.json +16 -0
- package/data/pokemon/palafin.json +9 -2
- package/data/pokemon/palkia-origin.json +40 -1
- package/data/pokemon/palossand.json +8 -2
- package/data/pokemon/palpitoad.json +8 -2
- package/data/pokemon/pangoro.json +8 -3
- package/data/pokemon/parasect.json +8 -2
- package/data/pokemon/pawmo.json +8 -2
- package/data/pokemon/pawmot.json +11 -2
- package/data/pokemon/pelipper.json +8 -2
- package/data/pokemon/perrserker.json +8 -2
- package/data/pokemon/persian-alola.json +9 -1
- package/data/pokemon/persian.json +8 -2
- package/data/pokemon/pidgeot-mega.json +36 -14
- package/data/pokemon/pidgeot.json +8 -2
- package/data/pokemon/pidgeotto.json +8 -2
- package/data/pokemon/pignite.json +8 -2
- package/data/pokemon/pikachu-f.json +7 -1
- package/data/pokemon/pikachu-gmax.json +12 -0
- package/data/pokemon/pikachu.json +7 -1
- package/data/pokemon/piloswine-f.json +8 -2
- package/data/pokemon/piloswine.json +8 -2
- package/data/pokemon/pinsir-mega.json +35 -3
- package/data/pokemon/piplup.json +1 -0
- package/data/pokemon/politoed-f.json +8 -2
- package/data/pokemon/politoed.json +8 -2
- package/data/pokemon/poliwhirl.json +8 -2
- package/data/pokemon/poliwrath.json +8 -2
- package/data/pokemon/polteageist-antique.json +8 -2
- package/data/pokemon/polteageist.json +8 -2
- package/data/pokemon/porygon2.json +16 -2
- package/data/pokemon/porygonz.json +16 -2
- package/data/pokemon/primarina.json +8 -2
- package/data/pokemon/primeape.json +8 -2
- package/data/pokemon/prinplup.json +9 -2
- package/data/pokemon/probopass.json +21 -2
- package/data/pokemon/pupitar.json +8 -2
- package/data/pokemon/purugly.json +8 -2
- package/data/pokemon/pyroar-f.json +8 -2
- package/data/pokemon/pyroar-mega.json +18 -1
- package/data/pokemon/pyroar.json +8 -2
- package/data/pokemon/quagsire-f.json +8 -2
- package/data/pokemon/quagsire.json +8 -2
- package/data/pokemon/quaquaval.json +8 -2
- package/data/pokemon/quaxwell.json +8 -2
- package/data/pokemon/quilava.json +19 -2
- package/data/pokemon/quilladin.json +8 -2
- package/data/pokemon/raboot.json +8 -2
- package/data/pokemon/rabsca.json +11 -2
- package/data/pokemon/raichu-alola.json +12 -2
- package/data/pokemon/raichu-f.json +11 -2
- package/data/pokemon/raichu-mega-x.json +18 -1
- package/data/pokemon/raichu-mega-y.json +18 -1
- package/data/pokemon/raichu.json +8 -2
- package/data/pokemon/rampardos.json +8 -2
- package/data/pokemon/rapidash-galar.json +8 -2
- package/data/pokemon/rapidash.json +8 -2
- package/data/pokemon/raticate-alola.json +8 -3
- package/data/pokemon/raticate-f.json +8 -2
- package/data/pokemon/raticate.json +8 -2
- package/data/pokemon/rayquaza-mega.json +31 -2
- package/data/pokemon/reuniclus.json +8 -2
- package/data/pokemon/revavroom.json +8 -2
- package/data/pokemon/rhydon-f.json +8 -2
- package/data/pokemon/rhydon.json +8 -2
- package/data/pokemon/rhyperior-f.json +16 -2
- package/data/pokemon/rhyperior.json +16 -2
- package/data/pokemon/ribombee.json +8 -2
- package/data/pokemon/rillaboom-gmax.json +12 -0
- package/data/pokemon/rillaboom.json +8 -2
- package/data/pokemon/roselia-f.json +11 -2
- package/data/pokemon/roselia.json +7 -2
- package/data/pokemon/roserade-f.json +8 -2
- package/data/pokemon/roserade.json +8 -2
- package/data/pokemon/rotom-fan.json +94 -0
- package/data/pokemon/rotom-frost.json +94 -0
- package/data/pokemon/rotom-heat.json +94 -0
- package/data/pokemon/rotom-mow.json +94 -0
- package/data/pokemon/rotom-wash.json +94 -0
- package/data/pokemon/rotom.json +112 -0
- package/data/pokemon/runerigus.json +27 -2
- package/data/pokemon/sableye-mega.json +28 -3
- package/data/pokemon/salamence-mega.json +26 -1
- package/data/pokemon/salamence.json +8 -2
- package/data/pokemon/salazzle.json +8 -2
- package/data/pokemon/samurott-hisui.json +10 -2
- package/data/pokemon/samurott.json +8 -2
- package/data/pokemon/sandaconda-gmax.json +12 -0
- package/data/pokemon/sandaconda.json +8 -2
- package/data/pokemon/sandslash-alola.json +8 -2
- package/data/pokemon/sandslash.json +8 -2
- package/data/pokemon/sawsbuck-autumn.json +55 -2
- package/data/pokemon/sawsbuck-summer.json +44 -2
- package/data/pokemon/sawsbuck-winter.json +55 -2
- package/data/pokemon/sawsbuck.json +55 -2
- package/data/pokemon/sceptile-mega.json +28 -3
- package/data/pokemon/sceptile.json +8 -2
- package/data/pokemon/scizor-f.json +16 -2
- package/data/pokemon/scizor-mega.json +28 -14
- package/data/pokemon/scizor.json +16 -2
- package/data/pokemon/scolipede-mega.json +18 -1
- package/data/pokemon/scolipede.json +9 -2
- package/data/pokemon/scovillain-mega.json +18 -1
- package/data/pokemon/scovillain.json +8 -2
- package/data/pokemon/scrafty-mega.json +18 -1
- package/data/pokemon/scrafty.json +8 -2
- package/data/pokemon/seadra.json +8 -2
- package/data/pokemon/seaking-f.json +8 -2
- package/data/pokemon/seaking.json +8 -2
- package/data/pokemon/sealeo.json +8 -2
- package/data/pokemon/seismitoad.json +8 -2
- package/data/pokemon/serperior.json +8 -2
- package/data/pokemon/servine.json +8 -2
- package/data/pokemon/sharpedo-mega.json +26 -1
- package/data/pokemon/sharpedo.json +8 -2
- package/data/pokemon/shaymin-sky.json +151 -0
- package/data/pokemon/shedinja.json +15 -2
- package/data/pokemon/shelgon.json +8 -2
- package/data/pokemon/shiftry-f.json +9 -2
- package/data/pokemon/shiftry.json +9 -2
- package/data/pokemon/shiinotic.json +8 -2
- package/data/pokemon/silcoon.json +8 -2
- package/data/pokemon/silvally-bug.json +27 -1
- package/data/pokemon/silvally-dark.json +27 -1
- package/data/pokemon/silvally-dragon.json +27 -1
- package/data/pokemon/silvally-electric.json +27 -1
- package/data/pokemon/silvally-fairy.json +27 -1
- package/data/pokemon/silvally-fighting.json +27 -1
- package/data/pokemon/silvally-fire.json +27 -1
- package/data/pokemon/silvally-flying.json +27 -1
- package/data/pokemon/silvally-ghost.json +27 -1
- package/data/pokemon/silvally-grass.json +27 -1
- package/data/pokemon/silvally-ground.json +27 -1
- package/data/pokemon/silvally-ice.json +27 -1
- package/data/pokemon/silvally-poison.json +27 -1
- package/data/pokemon/silvally-psychic.json +27 -1
- package/data/pokemon/silvally-rock.json +27 -1
- package/data/pokemon/silvally-steel.json +27 -1
- package/data/pokemon/silvally-water.json +27 -1
- package/data/pokemon/silvally.json +57 -1
- package/data/pokemon/simipour.json +8 -2
- package/data/pokemon/simisage.json +8 -2
- package/data/pokemon/simisear.json +8 -2
- package/data/pokemon/sinistcha-masterpiece.json +8 -2
- package/data/pokemon/sinistcha.json +8 -2
- package/data/pokemon/sirfetchd.json +8 -2
- package/data/pokemon/skarmory-mega.json +18 -1
- package/data/pokemon/skeledirge.json +8 -2
- package/data/pokemon/skiploom.json +8 -2
- package/data/pokemon/skuntank.json +8 -2
- package/data/pokemon/slaking.json +8 -2
- package/data/pokemon/sliggoo-hisui.json +10 -2
- package/data/pokemon/sliggoo.json +8 -2
- package/data/pokemon/slowbro-galar.json +8 -2
- package/data/pokemon/slowbro-mega.json +34 -1
- package/data/pokemon/slowbro.json +8 -2
- package/data/pokemon/slowking-galar.json +8 -2
- package/data/pokemon/slowking.json +8 -2
- package/data/pokemon/slurpuff.json +8 -2
- package/data/pokemon/sneasler.json +16 -3
- package/data/pokemon/snorlax-gmax.json +12 -0
- package/data/pokemon/snorlax.json +7 -1
- package/data/pokemon/solgaleo.json +9 -2
- package/data/pokemon/spewpa.json +8 -2
- package/data/pokemon/spidops.json +8 -2
- package/data/pokemon/staraptor-f.json +8 -2
- package/data/pokemon/staraptor-mega.json +18 -0
- package/data/pokemon/staraptor.json +8 -2
- package/data/pokemon/staravia-f.json +8 -2
- package/data/pokemon/staravia.json +8 -2
- package/data/pokemon/starmie-mega.json +18 -1
- package/data/pokemon/starmie.json +8 -2
- package/data/pokemon/steelix-f.json +16 -2
- package/data/pokemon/steelix-mega.json +28 -3
- package/data/pokemon/steelix.json +16 -2
- package/data/pokemon/steenee.json +8 -2
- package/data/pokemon/stoutland.json +8 -2
- package/data/pokemon/sudowoodo-f.json +10 -2
- package/data/pokemon/sudowoodo.json +7 -2
- package/data/pokemon/sunflora.json +8 -2
- package/data/pokemon/swadloon.json +8 -2
- package/data/pokemon/swalot-f.json +8 -2
- package/data/pokemon/swalot.json +8 -2
- package/data/pokemon/swampert-mega.json +28 -3
- package/data/pokemon/swampert.json +8 -2
- package/data/pokemon/swanna.json +8 -2
- package/data/pokemon/swellow.json +8 -2
- package/data/pokemon/swoobat.json +7 -1
- package/data/pokemon/sylveon.json +17 -2
- package/data/pokemon/talonflame.json +8 -2
- package/data/pokemon/tangrowth-f.json +10 -2
- package/data/pokemon/tangrowth.json +7 -2
- package/data/pokemon/tatsugiri-droopy-mega.json +18 -1
- package/data/pokemon/tatsugiri-mega.json +18 -1
- package/data/pokemon/tatsugiri-stretchy-mega.json +18 -1
- package/data/pokemon/tentacruel.json +8 -2
- package/data/pokemon/terapagos-stellar.json +15 -0
- package/data/pokemon/terapagos-terastal.json +15 -0
- package/data/pokemon/thievul.json +8 -2
- package/data/pokemon/thundurus-therian.json +32 -0
- package/data/pokemon/thwackey.json +8 -2
- package/data/pokemon/tinkaton.json +8 -2
- package/data/pokemon/tinkatuff.json +8 -2
- package/data/pokemon/toedscruel.json +8 -2
- package/data/pokemon/togekiss.json +8 -2
- package/data/pokemon/togetic.json +7 -1
- package/data/pokemon/tornadus-therian.json +32 -0
- package/data/pokemon/torracat.json +8 -2
- package/data/pokemon/torterra.json +8 -2
- package/data/pokemon/toucannon.json +8 -2
- package/data/pokemon/toxapex.json +8 -2
- package/data/pokemon/toxicroak-f.json +8 -2
- package/data/pokemon/toxicroak.json +8 -2
- package/data/pokemon/toxtricity-gmax.json +12 -0
- package/data/pokemon/toxtricity-low-key-gmax.json +12 -0
- package/data/pokemon/toxtricity-low-key.json +27 -2
- package/data/pokemon/toxtricity.json +28 -2
- package/data/pokemon/tranquill.json +8 -2
- package/data/pokemon/trevenant.json +7 -1
- package/data/pokemon/trumbeak.json +8 -2
- package/data/pokemon/tsareena.json +7 -2
- package/data/pokemon/typhlosion-hisui.json +10 -2
- package/data/pokemon/typhlosion.json +8 -2
- package/data/pokemon/tyranitar-mega.json +28 -14
- package/data/pokemon/tyranitar.json +8 -2
- package/data/pokemon/tyrantrum.json +8 -3
- package/data/pokemon/umbreon.json +7 -2
- package/data/pokemon/unfezant-f.json +8 -2
- package/data/pokemon/unfezant.json +8 -2
- package/data/pokemon/ursaluna.json +10 -2
- package/data/pokemon/ursaring-f.json +8 -2
- package/data/pokemon/ursaring.json +8 -2
- package/data/pokemon/urshifu-gmax.json +12 -0
- package/data/pokemon/urshifu-rapid-strike-gmax.json +12 -0
- package/data/pokemon/urshifu-rapid-strike.json +15 -2
- package/data/pokemon/urshifu.json +15 -2
- package/data/pokemon/vanillish.json +8 -2
- package/data/pokemon/vanilluxe.json +8 -2
- package/data/pokemon/vaporeon.json +8 -2
- package/data/pokemon/venipede.json +1 -0
- package/data/pokemon/venomoth.json +8 -2
- package/data/pokemon/venusaur-f.json +8 -2
- package/data/pokemon/venusaur-gmax.json +12 -0
- package/data/pokemon/venusaur-mega.json +36 -16
- package/data/pokemon/venusaur.json +8 -2
- package/data/pokemon/vespiquen.json +8 -2
- package/data/pokemon/vibrava.json +8 -2
- package/data/pokemon/victreebel-mega.json +18 -1
- package/data/pokemon/victreebel.json +8 -2
- package/data/pokemon/vigoroth.json +8 -2
- package/data/pokemon/vikavolt.json +13 -2
- package/data/pokemon/vileplume-f.json +8 -2
- package/data/pokemon/vileplume.json +8 -2
- package/data/pokemon/vivillon-archipelago.json +8 -2
- package/data/pokemon/vivillon-continental.json +8 -2
- package/data/pokemon/vivillon-elegant.json +8 -2
- package/data/pokemon/vivillon-fancy.json +8 -2
- package/data/pokemon/vivillon-garden.json +8 -2
- package/data/pokemon/vivillon-high-plains.json +8 -2
- package/data/pokemon/vivillon-jungle.json +8 -2
- package/data/pokemon/vivillon-marine.json +8 -2
- package/data/pokemon/vivillon-meadow.json +8 -2
- package/data/pokemon/vivillon-modern.json +8 -2
- package/data/pokemon/vivillon-monsoon.json +8 -2
- package/data/pokemon/vivillon-ocean.json +8 -2
- package/data/pokemon/vivillon-polar.json +8 -2
- package/data/pokemon/vivillon-river.json +8 -2
- package/data/pokemon/vivillon-sandstorm.json +8 -2
- package/data/pokemon/vivillon-savanna.json +8 -2
- package/data/pokemon/vivillon-sun.json +8 -2
- package/data/pokemon/vivillon-tundra.json +8 -2
- package/data/pokemon/vivillon.json +8 -2
- package/data/pokemon/volcarona.json +8 -2
- package/data/pokemon/wailord.json +8 -2
- package/data/pokemon/walrein.json +8 -2
- package/data/pokemon/wartortle.json +8 -2
- package/data/pokemon/watchog.json +8 -2
- package/data/pokemon/weavile-f.json +22 -3
- package/data/pokemon/weavile.json +16 -3
- package/data/pokemon/weepinbell.json +8 -2
- package/data/pokemon/weezing-galar.json +9 -2
- package/data/pokemon/weezing.json +8 -2
- package/data/pokemon/whimsicott.json +8 -2
- package/data/pokemon/whirlipede.json +9 -2
- package/data/pokemon/whiscash.json +8 -2
- package/data/pokemon/wigglytuff.json +8 -2
- package/data/pokemon/wishiwashi-school.json +24 -0
- package/data/pokemon/wobbuffet-f.json +8 -2
- package/data/pokemon/wobbuffet.json +8 -2
- package/data/pokemon/wormadam-sandy.json +8 -2
- package/data/pokemon/wormadam-trash.json +8 -2
- package/data/pokemon/wormadam.json +8 -2
- package/data/pokemon/wugtrio.json +8 -2
- package/data/pokemon/wyrdeer.json +9 -2
- package/data/pokemon/xatu-f.json +8 -2
- package/data/pokemon/xatu.json +8 -2
- package/data/pokemon/xerneas-active.json +11 -0
- package/data/pokemon/yanmega.json +7 -2
- package/data/pokemon/zacian-crowned.json +19 -1
- package/data/pokemon/zamazenta-crowned.json +19 -1
- package/data/pokemon/zebstrika.json +8 -2
- package/data/pokemon/zeraora-mega.json +18 -1
- package/data/pokemon/zoroark-hisui.json +8 -2
- package/data/pokemon/zoroark.json +8 -2
- package/data/pokemon/zweilous.json +8 -2
- package/data/pokemon/zygarde-10.json +19 -0
- package/data/pokemon/zygarde-complete-mega.json +18 -1
- package/data/pokemon/zygarde-complete.json +36 -0
- package/data/pokemon/zygarde.json +33 -0
- package/package.json +4 -1
- package/build/enums-B7t9bSel.mjs +0 -189
- package/build/enums-B7t9bSel.mjs.map +0 -1
- package/build/enums-CCbmORM6.d.mts +0 -27
- package/build/enums-CCbmORM6.d.mts.map +0 -1
- package/build/schemas-DQ-b3Iyj.d.mts +0 -819
- package/build/schemas-DQ-b3Iyj.d.mts.map +0 -1
- 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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"}
|