@pokepc/dataset 6.7.1 → 6.8.1

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 (91) hide show
  1. package/build/{box-preset-sanitizer-DHGv5TJj.mjs → box-preset-sanitizer-CmgPzVjb.mjs} +2 -2
  2. package/build/{box-preset-sanitizer-DHGv5TJj.mjs.map → box-preset-sanitizer-CmgPzVjb.mjs.map} +1 -1
  3. package/build/lib/box-preset-sanitizer.mjs +1 -1
  4. package/build/lib/box-preset-transform.mjs +2 -2
  5. package/build/lib/fs.d.mts +4 -4
  6. package/build/lib/schemas.d.mts +1 -1
  7. package/build/lib/schemas.mjs +1 -1
  8. package/build/lib/types.d.mts +1 -1
  9. package/build/lib-next/schemas.d.mts +8 -8
  10. package/build/{schemas-CIE3b72j.d.mts → schemas-Bvj56HZe.d.mts} +14 -8
  11. package/build/schemas-Bvj56HZe.d.mts.map +1 -0
  12. package/build/{schemas-CcUqoHNr.mjs → schemas-DvWBehAR.mjs} +5 -1
  13. package/build/schemas-DvWBehAR.mjs.map +1 -0
  14. package/data/games/b2w2-b2.json +4 -0
  15. package/data/games/b2w2-w2.json +4 -0
  16. package/data/games/b2w2.json +4 -0
  17. package/data/games/bdsp-bd.json +4 -0
  18. package/data/games/bdsp-sp.json +4 -0
  19. package/data/games/bdsp.json +4 -0
  20. package/data/games/bw-b.json +4 -0
  21. package/data/games/bw-w.json +4 -0
  22. package/data/games/bw.json +4 -0
  23. package/data/games/bwb2w2.json +4 -0
  24. package/data/games/c.json +4 -0
  25. package/data/games/champions.json +4 -0
  26. package/data/games/col.json +4 -0
  27. package/data/games/dp-d.json +4 -0
  28. package/data/games/dp-p.json +4 -0
  29. package/data/games/dp.json +4 -0
  30. package/data/games/dppt.json +4 -0
  31. package/data/games/e.json +4 -0
  32. package/data/games/frlg-fr.json +4 -0
  33. package/data/games/frlg-lg.json +4 -0
  34. package/data/games/frlg.json +4 -0
  35. package/data/games/go.json +4 -0
  36. package/data/games/gs-g.json +4 -0
  37. package/data/games/gs-s.json +4 -0
  38. package/data/games/gs.json +4 -0
  39. package/data/games/gsc.json +4 -0
  40. package/data/games/hgss-hg.json +4 -0
  41. package/data/games/hgss-ss.json +4 -0
  42. package/data/games/hgss.json +4 -0
  43. package/data/games/home.json +4 -0
  44. package/data/games/la.json +4 -0
  45. package/data/games/lgpe-lge.json +4 -0
  46. package/data/games/lgpe-lgp.json +4 -0
  47. package/data/games/lgpe.json +4 -0
  48. package/data/games/lza-megadimension.json +4 -0
  49. package/data/games/lza.json +4 -0
  50. package/data/games/oras-as.json +4 -0
  51. package/data/games/oras-or.json +4 -0
  52. package/data/games/oras.json +4 -0
  53. package/data/games/pokopia-bubblybasin.json +4 -0
  54. package/data/games/pokopia.json +4 -0
  55. package/data/games/pt.json +4 -0
  56. package/data/games/rb-b.json +4 -0
  57. package/data/games/rb-r.json +4 -0
  58. package/data/games/rb.json +4 -0
  59. package/data/games/rby.json +4 -0
  60. package/data/games/rs-r.json +4 -0
  61. package/data/games/rs-s.json +4 -0
  62. package/data/games/rs.json +4 -0
  63. package/data/games/rse.json +4 -0
  64. package/data/games/sm-m.json +4 -0
  65. package/data/games/sm-s.json +4 -0
  66. package/data/games/sm.json +4 -0
  67. package/data/games/smusum.json +4 -0
  68. package/data/games/sv-indigodisk.json +4 -0
  69. package/data/games/sv-s.json +4 -0
  70. package/data/games/sv-tealmask.json +4 -0
  71. package/data/games/sv-v.json +4 -0
  72. package/data/games/sv.json +4 -0
  73. package/data/games/swsh-crowntundra.json +4 -0
  74. package/data/games/swsh-islearmor.json +4 -0
  75. package/data/games/swsh-sh.json +4 -0
  76. package/data/games/swsh-sw.json +4 -0
  77. package/data/games/swsh.json +4 -0
  78. package/data/games/usum-um.json +4 -0
  79. package/data/games/usum-us.json +4 -0
  80. package/data/games/usum.json +4 -0
  81. package/data/games/wiwa-wa.json +4 -0
  82. package/data/games/wiwa-wi.json +4 -0
  83. package/data/games/wiwa.json +4 -0
  84. package/data/games/xd.json +4 -0
  85. package/data/games/xy-x.json +4 -0
  86. package/data/games/xy-y.json +4 -0
  87. package/data/games/xy.json +4 -0
  88. package/data/games/y.json +4 -0
  89. package/package.json +1 -1
  90. package/build/schemas-CIE3b72j.d.mts.map +0 -1
  91. package/build/schemas-CcUqoHNr.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- import { y as modernBoxPresetSlotSchema } from "./schemas-CcUqoHNr.mjs";
1
+ import { y as modernBoxPresetSlotSchema } from "./schemas-DvWBehAR.mjs";
2
2
  //#region src/lib/box-preset-sanitizer.ts
3
3
  const incompatibleClassicPokemonIds = [
4
4
  "greninja--battle-bond",
@@ -51,4 +51,4 @@ function collectModernBoxPresetSanitizerDiagnostics(originalSlots, sanitizedSlot
51
51
  //#endregion
52
52
  export { sanitizeModernBoxPresetSlots as a, sanitizeModernBoxPresetSlot as i, incompatibleClassicPokemonIds as n, modernBoxPresetSlotFilters as r, collectModernBoxPresetSanitizerDiagnostics as t };
53
53
 
54
- //# sourceMappingURL=box-preset-sanitizer-DHGv5TJj.mjs.map
54
+ //# sourceMappingURL=box-preset-sanitizer-CmgPzVjb.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"box-preset-sanitizer-DHGv5TJj.mjs","names":[],"sources":["../src/lib/box-preset-sanitizer.ts"],"sourcesContent":["import { modernBoxPresetSlotSchema } from './schemas'\n\nexport type ModernBoxPresetSlotInput =\n | null\n | string\n | {\n pid: string\n shiny?: boolean\n gmax?: boolean\n shinyLocked?: boolean\n }\n\nexport type ModernBoxPresetSlotSanitizerContext = {\n gameSet: string\n presetId: string\n boxIndex: number\n slotIndex: number\n validPokemonIds: ReadonlySet<string>\n}\n\nexport type ModernBoxPresetSlotFilter = (\n slot: ModernBoxPresetSlotInput,\n context: ModernBoxPresetSlotSanitizerContext,\n) => ModernBoxPresetSlotInput\n\nexport type ModernBoxPresetSanitizerDiagnostic = {\n reason: 'incompatible-classic-pokemon-id'\n pokemon: string\n gameSet: string\n presetId: string\n boxIndex: number\n slotIndex: number\n}\n\nexport const incompatibleClassicPokemonIds = [\n 'greninja--battle-bond',\n 'rockruff--own-tempo',\n 'zygarde--power-construct',\n 'zygarde-10--power-construct',\n] as const\nconst incompatibleClassicPokemonIdSet = new Set<string>(incompatibleClassicPokemonIds)\n\nfunction getSlotPokemonId(slot: ModernBoxPresetSlotInput): string | null {\n if (slot === null) return null\n if (typeof slot === 'string') return slot\n return slot.pid\n}\n\nfunction isIncompatibleClassicPokemonId(slot: ModernBoxPresetSlotInput): boolean {\n const pokemonId = getSlotPokemonId(slot)\n return pokemonId !== null && incompatibleClassicPokemonIdSet.has(pokemonId)\n}\n\nexport const modernBoxPresetSlotFilters: ModernBoxPresetSlotFilter[] = [\n (slot) => (isIncompatibleClassicPokemonId(slot) ? null : slot),\n]\n\nexport function sanitizeModernBoxPresetSlot(\n slot: ModernBoxPresetSlotInput,\n context: ModernBoxPresetSlotSanitizerContext,\n): Pkds.ModernBoxPresetSlot {\n const sanitized = modernBoxPresetSlotFilters.reduce(\n (currentSlot, filter) => filter(currentSlot, context),\n slot,\n )\n if (sanitized === null || typeof sanitized === 'string') {\n return sanitized\n }\n return modernBoxPresetSlotSchema.parse({\n pokemon: sanitized.pid,\n shiny: sanitized.shiny,\n gmax: sanitized.gmax,\n shinyLocked: sanitized.shinyLocked,\n })\n}\n\nexport function sanitizeModernBoxPresetSlots(\n slots: ModernBoxPresetSlotInput[],\n context: Omit<ModernBoxPresetSlotSanitizerContext, 'slotIndex'>,\n): Pkds.ModernBoxPresetSlot[] {\n return slots.map((slot, slotIndex) =>\n sanitizeModernBoxPresetSlot(slot, {\n ...context,\n slotIndex,\n }),\n )\n}\n\nexport function collectModernBoxPresetSanitizerDiagnostics(\n originalSlots: ModernBoxPresetSlotInput[],\n sanitizedSlots: Pkds.ModernBoxPresetSlot[],\n context: Omit<ModernBoxPresetSlotSanitizerContext, 'slotIndex'>,\n): ModernBoxPresetSanitizerDiagnostic[] {\n return originalSlots.flatMap((slot, slotIndex) => {\n const pokemon = getSlotPokemonId(slot)\n if (pokemon === null || sanitizedSlots[slotIndex] !== null) return []\n if (!incompatibleClassicPokemonIdSet.has(pokemon)) return []\n return [\n {\n reason: 'incompatible-classic-pokemon-id' as const,\n pokemon,\n gameSet: context.gameSet,\n presetId: context.presetId,\n boxIndex: context.boxIndex,\n slotIndex,\n },\n ]\n })\n}\n"],"mappings":";;AAkCA,MAAa,gCAAgC;CAC3C;CACA;CACA;CACA;AACF;AACA,MAAM,kCAAkC,IAAI,IAAY,6BAA6B;AAErF,SAAS,iBAAiB,MAA+C;CACvE,IAAI,SAAS,MAAM,OAAO;CAC1B,IAAI,OAAO,SAAS,UAAU,OAAO;CACrC,OAAO,KAAK;AACd;AAEA,SAAS,+BAA+B,MAAyC;CAC/E,MAAM,YAAY,iBAAiB,IAAI;CACvC,OAAO,cAAc,QAAQ,gCAAgC,IAAI,SAAS;AAC5E;AAEA,MAAa,6BAA0D,EACpE,SAAU,+BAA+B,IAAI,IAAI,OAAO,IAC3D;AAEA,SAAgB,4BACd,MACA,SAC0B;CAC1B,MAAM,YAAY,2BAA2B,QAC1C,aAAa,WAAW,OAAO,aAAa,OAAO,GACpD,IACF;CACA,IAAI,cAAc,QAAQ,OAAO,cAAc,UAC7C,OAAO;CAET,OAAO,0BAA0B,MAAM;EACrC,SAAS,UAAU;EACnB,OAAO,UAAU;EACjB,MAAM,UAAU;EAChB,aAAa,UAAU;CACzB,CAAC;AACH;AAEA,SAAgB,6BACd,OACA,SAC4B;CAC5B,OAAO,MAAM,KAAK,MAAM,cACtB,4BAA4B,MAAM;EAChC,GAAG;EACH;CACF,CAAC,CACH;AACF;AAEA,SAAgB,2CACd,eACA,gBACA,SACsC;CACtC,OAAO,cAAc,SAAS,MAAM,cAAc;EAChD,MAAM,UAAU,iBAAiB,IAAI;EACrC,IAAI,YAAY,QAAQ,eAAe,eAAe,MAAM,OAAO,CAAC;EACpE,IAAI,CAAC,gCAAgC,IAAI,OAAO,GAAG,OAAO,CAAC;EAC3D,OAAO,CACL;GACE,QAAQ;GACR;GACA,SAAS,QAAQ;GACjB,UAAU,QAAQ;GAClB,UAAU,QAAQ;GAClB;EACF,CACF;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"box-preset-sanitizer-CmgPzVjb.mjs","names":[],"sources":["../src/lib/box-preset-sanitizer.ts"],"sourcesContent":["import { modernBoxPresetSlotSchema } from './schemas'\n\nexport type ModernBoxPresetSlotInput =\n | null\n | string\n | {\n pid: string\n shiny?: boolean\n gmax?: boolean\n shinyLocked?: boolean\n }\n\nexport type ModernBoxPresetSlotSanitizerContext = {\n gameSet: string\n presetId: string\n boxIndex: number\n slotIndex: number\n validPokemonIds: ReadonlySet<string>\n}\n\nexport type ModernBoxPresetSlotFilter = (\n slot: ModernBoxPresetSlotInput,\n context: ModernBoxPresetSlotSanitizerContext,\n) => ModernBoxPresetSlotInput\n\nexport type ModernBoxPresetSanitizerDiagnostic = {\n reason: 'incompatible-classic-pokemon-id'\n pokemon: string\n gameSet: string\n presetId: string\n boxIndex: number\n slotIndex: number\n}\n\nexport const incompatibleClassicPokemonIds = [\n 'greninja--battle-bond',\n 'rockruff--own-tempo',\n 'zygarde--power-construct',\n 'zygarde-10--power-construct',\n] as const\nconst incompatibleClassicPokemonIdSet = new Set<string>(incompatibleClassicPokemonIds)\n\nfunction getSlotPokemonId(slot: ModernBoxPresetSlotInput): string | null {\n if (slot === null) return null\n if (typeof slot === 'string') return slot\n return slot.pid\n}\n\nfunction isIncompatibleClassicPokemonId(slot: ModernBoxPresetSlotInput): boolean {\n const pokemonId = getSlotPokemonId(slot)\n return pokemonId !== null && incompatibleClassicPokemonIdSet.has(pokemonId)\n}\n\nexport const modernBoxPresetSlotFilters: ModernBoxPresetSlotFilter[] = [\n (slot) => (isIncompatibleClassicPokemonId(slot) ? null : slot),\n]\n\nexport function sanitizeModernBoxPresetSlot(\n slot: ModernBoxPresetSlotInput,\n context: ModernBoxPresetSlotSanitizerContext,\n): Pkds.ModernBoxPresetSlot {\n const sanitized = modernBoxPresetSlotFilters.reduce(\n (currentSlot, filter) => filter(currentSlot, context),\n slot,\n )\n if (sanitized === null || typeof sanitized === 'string') {\n return sanitized\n }\n return modernBoxPresetSlotSchema.parse({\n pokemon: sanitized.pid,\n shiny: sanitized.shiny,\n gmax: sanitized.gmax,\n shinyLocked: sanitized.shinyLocked,\n })\n}\n\nexport function sanitizeModernBoxPresetSlots(\n slots: ModernBoxPresetSlotInput[],\n context: Omit<ModernBoxPresetSlotSanitizerContext, 'slotIndex'>,\n): Pkds.ModernBoxPresetSlot[] {\n return slots.map((slot, slotIndex) =>\n sanitizeModernBoxPresetSlot(slot, {\n ...context,\n slotIndex,\n }),\n )\n}\n\nexport function collectModernBoxPresetSanitizerDiagnostics(\n originalSlots: ModernBoxPresetSlotInput[],\n sanitizedSlots: Pkds.ModernBoxPresetSlot[],\n context: Omit<ModernBoxPresetSlotSanitizerContext, 'slotIndex'>,\n): ModernBoxPresetSanitizerDiagnostic[] {\n return originalSlots.flatMap((slot, slotIndex) => {\n const pokemon = getSlotPokemonId(slot)\n if (pokemon === null || sanitizedSlots[slotIndex] !== null) return []\n if (!incompatibleClassicPokemonIdSet.has(pokemon)) return []\n return [\n {\n reason: 'incompatible-classic-pokemon-id' as const,\n pokemon,\n gameSet: context.gameSet,\n presetId: context.presetId,\n boxIndex: context.boxIndex,\n slotIndex,\n },\n ]\n })\n}\n"],"mappings":";;AAkCA,MAAa,gCAAgC;CAC3C;CACA;CACA;CACA;AACF;AACA,MAAM,kCAAkC,IAAI,IAAY,6BAA6B;AAErF,SAAS,iBAAiB,MAA+C;CACvE,IAAI,SAAS,MAAM,OAAO;CAC1B,IAAI,OAAO,SAAS,UAAU,OAAO;CACrC,OAAO,KAAK;AACd;AAEA,SAAS,+BAA+B,MAAyC;CAC/E,MAAM,YAAY,iBAAiB,IAAI;CACvC,OAAO,cAAc,QAAQ,gCAAgC,IAAI,SAAS;AAC5E;AAEA,MAAa,6BAA0D,EACpE,SAAU,+BAA+B,IAAI,IAAI,OAAO,IAC3D;AAEA,SAAgB,4BACd,MACA,SAC0B;CAC1B,MAAM,YAAY,2BAA2B,QAC1C,aAAa,WAAW,OAAO,aAAa,OAAO,GACpD,IACF;CACA,IAAI,cAAc,QAAQ,OAAO,cAAc,UAC7C,OAAO;CAET,OAAO,0BAA0B,MAAM;EACrC,SAAS,UAAU;EACnB,OAAO,UAAU;EACjB,MAAM,UAAU;EAChB,aAAa,UAAU;CACzB,CAAC;AACH;AAEA,SAAgB,6BACd,OACA,SAC4B;CAC5B,OAAO,MAAM,KAAK,MAAM,cACtB,4BAA4B,MAAM;EAChC,GAAG;EACH;CACF,CAAC,CACH;AACF;AAEA,SAAgB,2CACd,eACA,gBACA,SACsC;CACtC,OAAO,cAAc,SAAS,MAAM,cAAc;EAChD,MAAM,UAAU,iBAAiB,IAAI;EACrC,IAAI,YAAY,QAAQ,eAAe,eAAe,MAAM,OAAO,CAAC;EACpE,IAAI,CAAC,gCAAgC,IAAI,OAAO,GAAG,OAAO,CAAC;EAC3D,OAAO,CACL;GACE,QAAQ;GACR;GACA,SAAS,QAAQ;GACjB,UAAU,QAAQ;GAClB,UAAU,QAAQ;GAClB;EACF,CACF;CACF,CAAC;AACH"}
@@ -1,2 +1,2 @@
1
- import { a as sanitizeModernBoxPresetSlots, i as sanitizeModernBoxPresetSlot, n as incompatibleClassicPokemonIds, r as modernBoxPresetSlotFilters, t as collectModernBoxPresetSanitizerDiagnostics } from "../box-preset-sanitizer-DHGv5TJj.mjs";
1
+ import { a as sanitizeModernBoxPresetSlots, i as sanitizeModernBoxPresetSlot, n as incompatibleClassicPokemonIds, r as modernBoxPresetSlotFilters, t as collectModernBoxPresetSanitizerDiagnostics } from "../box-preset-sanitizer-CmgPzVjb.mjs";
2
2
  export { collectModernBoxPresetSanitizerDiagnostics, incompatibleClassicPokemonIds, modernBoxPresetSlotFilters, sanitizeModernBoxPresetSlot, sanitizeModernBoxPresetSlots };
@@ -1,5 +1,5 @@
1
- import { _ as modernBoxPresetIndexSchema, o as boxPresetSchema, v as modernBoxPresetSchema } from "../schemas-CcUqoHNr.mjs";
2
- import { a as sanitizeModernBoxPresetSlots, t as collectModernBoxPresetSanitizerDiagnostics } from "../box-preset-sanitizer-DHGv5TJj.mjs";
1
+ import { _ as modernBoxPresetIndexSchema, o as boxPresetSchema, v as modernBoxPresetSchema } from "../schemas-DvWBehAR.mjs";
2
+ import { a as sanitizeModernBoxPresetSlots, t as collectModernBoxPresetSanitizerDiagnostics } from "../box-preset-sanitizer-CmgPzVjb.mjs";
3
3
  import fs from "node:fs";
4
4
  import path from "node:path";
5
5
  //#region src/lib/box-preset-transform.ts
@@ -9,7 +9,7 @@ export declare const itemsFs: import("yolodb").YoloDbTable<{
9
9
  gen: number;
10
10
  shortDesc: string;
11
11
  desc: string | null;
12
- category: "berry" | "other" | "ball" | "medicine" | "battle" | "machine" | "treasure" | "ingredient" | "material" | "key" | "megastone" | "zcrystal";
12
+ category: "ball" | "medicine" | "battle" | "berry" | "machine" | "megastone" | "zcrystal" | "treasure" | "ingredient" | "material" | "key" | "other";
13
13
  unholdable?: boolean | undefined;
14
14
  }>;
15
15
  export declare const pokeballsFs: import("yolodb").YoloDbTable<{
@@ -18,7 +18,7 @@ export declare const pokeballsFs: import("yolodb").YoloDbTable<{
18
18
  gen: number;
19
19
  shortDesc: string;
20
20
  desc: string | null;
21
- category: "special" | "other" | "regular" | "hisuian";
21
+ category: "other" | "regular" | "special" | "hisuian";
22
22
  unusable?: boolean | undefined;
23
23
  }>;
24
24
  export declare const abilitiesFs: import("yolodb").YoloDbTable<{
@@ -28,7 +28,7 @@ export declare const abilitiesFs: import("yolodb").YoloDbTable<{
28
28
  gen: number;
29
29
  shortDesc: string;
30
30
  desc: string | null;
31
- tags: ("defense" | "other" | "alert" | "ally-helper" | "stat-boost" | "move-boost" | "bypass" | "handicap" | "heal" | "items" | "priority-control" | "damage" | "target-weaken" | "status-trigger" | "status-immunity" | "steal" | "weather" | "terrain" | "trap" | "ability-change" | "type-change" | "species-specific")[];
31
+ tags: ("other" | "alert" | "ally-helper" | "stat-boost" | "move-boost" | "bypass" | "defense" | "handicap" | "heal" | "items" | "priority-control" | "damage" | "target-weaken" | "status-trigger" | "status-immunity" | "steal" | "weather" | "terrain" | "trap" | "ability-change" | "type-change" | "species-specific")[];
32
32
  immunities?: ("normal" | "fire" | "water" | "electric" | "grass" | "ice" | "fighting" | "poison" | "ground" | "flying" | "psychic" | "bug" | "rock" | "ghost" | "dragon" | "dark" | "steel" | "fairy" | "stellar")[] | undefined;
33
33
  weaknesses?: ("normal" | "fire" | "water" | "electric" | "grass" | "ice" | "fighting" | "poison" | "ground" | "flying" | "psychic" | "bug" | "rock" | "ghost" | "dragon" | "dark" | "steel" | "fairy" | "stellar")[] | undefined;
34
34
  }>;
@@ -43,7 +43,7 @@ export declare const movesFs: import("yolodb").YoloDbTable<{
43
43
  power: number;
44
44
  accuracy: number;
45
45
  pp: number;
46
- category: "physical" | "special" | "status";
46
+ category: "special" | "physical" | "status";
47
47
  priority: number;
48
48
  isZ: boolean;
49
49
  isGmax: boolean;
@@ -1,2 +1,2 @@
1
- import { A as pokemonSchema, C as onlineFeaturesSchema, D as pokedexEntrySchema, E as pokeballSchema, M as regionSchema, N as ribbonSchema, O as pokedexSchema, P as typeSchema, S as natureSchema, T as personalitySchema, _ as modernBoxPresetIndexSchema, a as boxPresetMapSchema, b as modernBoxPresetTags, c as colorSchema, d as generationSchema, f as i18nTextSchema, g as modernBoxPresetBoxSchema, h as markSchema, i as boxPresetIndexItemSchema, j as pokemonSearchFilterSchema, k as pokemonRefsSchema, l as gameFeaturesSchema, m as languageSchema, n as boxPresetBoxPokemonSchema, o as boxPresetSchema, p as itemSchema, r as boxPresetBoxSchema, s as characterSchema, t as abilitySchema, u as gameSchema, v as modernBoxPresetSchema, w as originMarkSchema, x as moveSchema, y as modernBoxPresetSlotSchema } from "../schemas-CIE3b72j.mjs";
1
+ import { A as pokemonSchema, C as onlineFeaturesSchema, D as pokedexEntrySchema, E as pokeballSchema, M as regionSchema, N as ribbonSchema, O as pokedexSchema, P as typeSchema, S as natureSchema, T as personalitySchema, _ as modernBoxPresetIndexSchema, a as boxPresetMapSchema, b as modernBoxPresetTags, c as colorSchema, d as generationSchema, f as i18nTextSchema, g as modernBoxPresetBoxSchema, h as markSchema, i as boxPresetIndexItemSchema, j as pokemonSearchFilterSchema, k as pokemonRefsSchema, l as gameFeaturesSchema, m as languageSchema, n as boxPresetBoxPokemonSchema, o as boxPresetSchema, p as itemSchema, r as boxPresetBoxSchema, s as characterSchema, t as abilitySchema, u as gameSchema, v as modernBoxPresetSchema, w as originMarkSchema, x as moveSchema, y as modernBoxPresetSlotSchema } from "../schemas-Bvj56HZe.mjs";
2
2
  export { abilitySchema, boxPresetBoxPokemonSchema, boxPresetBoxSchema, boxPresetIndexItemSchema, boxPresetMapSchema, boxPresetSchema, characterSchema, colorSchema, gameFeaturesSchema, gameSchema, generationSchema, i18nTextSchema, itemSchema, languageSchema, markSchema, modernBoxPresetBoxSchema, modernBoxPresetIndexSchema, modernBoxPresetSchema, modernBoxPresetSlotSchema, modernBoxPresetTags, moveSchema, natureSchema, onlineFeaturesSchema, originMarkSchema, personalitySchema, pokeballSchema, pokedexEntrySchema, pokedexSchema, pokemonRefsSchema, pokemonSchema, pokemonSearchFilterSchema, regionSchema, ribbonSchema, typeSchema };
@@ -1,2 +1,2 @@
1
- import { A as pokemonSchema, C as onlineFeaturesSchema, D as pokedexEntrySchema, E as pokeballSchema, M as regionSchema, N as ribbonSchema, O as pokedexSchema, P as typeSchema, S as natureSchema, T as personalitySchema, _ as modernBoxPresetIndexSchema, a as boxPresetMapSchema, b as modernBoxPresetTags, c as colorSchema, d as generationSchema, f as i18nTextSchema, g as modernBoxPresetBoxSchema, h as markSchema, i as boxPresetIndexItemSchema, j as pokemonSearchFilterSchema, k as pokemonRefsSchema, l as gameFeaturesSchema, m as languageSchema, n as boxPresetBoxPokemonSchema, o as boxPresetSchema, p as itemSchema, r as boxPresetBoxSchema, s as characterSchema, t as abilitySchema, u as gameSchema, v as modernBoxPresetSchema, w as originMarkSchema, x as moveSchema, y as modernBoxPresetSlotSchema } from "../schemas-CcUqoHNr.mjs";
1
+ import { A as pokemonSchema, C as onlineFeaturesSchema, D as pokedexEntrySchema, E as pokeballSchema, M as regionSchema, N as ribbonSchema, O as pokedexSchema, P as typeSchema, S as natureSchema, T as personalitySchema, _ as modernBoxPresetIndexSchema, a as boxPresetMapSchema, b as modernBoxPresetTags, c as colorSchema, d as generationSchema, f as i18nTextSchema, g as modernBoxPresetBoxSchema, h as markSchema, i as boxPresetIndexItemSchema, j as pokemonSearchFilterSchema, k as pokemonRefsSchema, l as gameFeaturesSchema, m as languageSchema, n as boxPresetBoxPokemonSchema, o as boxPresetSchema, p as itemSchema, r as boxPresetBoxSchema, s as characterSchema, t as abilitySchema, u as gameSchema, v as modernBoxPresetSchema, w as originMarkSchema, x as moveSchema, y as modernBoxPresetSlotSchema } from "../schemas-DvWBehAR.mjs";
2
2
  export { abilitySchema, boxPresetBoxPokemonSchema, boxPresetBoxSchema, boxPresetIndexItemSchema, boxPresetMapSchema, boxPresetSchema, characterSchema, colorSchema, gameFeaturesSchema, gameSchema, generationSchema, i18nTextSchema, itemSchema, languageSchema, markSchema, modernBoxPresetBoxSchema, modernBoxPresetIndexSchema, modernBoxPresetSchema, modernBoxPresetSlotSchema, modernBoxPresetTags, moveSchema, natureSchema, onlineFeaturesSchema, originMarkSchema, personalitySchema, pokeballSchema, pokedexEntrySchema, pokedexSchema, pokemonRefsSchema, pokemonSchema, pokemonSearchFilterSchema, regionSchema, ribbonSchema, typeSchema };
@@ -1,5 +1,5 @@
1
1
  import { _ as statIds, a as gameType, c as ivJudgeValues, d as languageInGameCodes, f as moveCategory, g as ribbonCategory, h as raidStyles, i as gameSeries, l as languageAlpha3Codes, m as pokemonSizes, n as battleStyles, o as genders, p as pokeballCategory, r as gamePlatforms, s as itemCategory, t as abilityTagIds, u as languageIds, v as titleTypes, y as typeIds } from "../enums-CCbmORM6.mjs";
2
- import { A as pokemonSchema, C as onlineFeaturesSchema, D as pokedexEntrySchema, E as pokeballSchema, M as regionSchema, N as ribbonSchema, O as pokedexSchema, P as typeSchema, S as natureSchema, T as personalitySchema, _ as modernBoxPresetIndexSchema, b as modernBoxPresetTags, c as colorSchema, d as generationSchema, f as i18nTextSchema, g as modernBoxPresetBoxSchema, h as markSchema, j as pokemonSearchFilterSchema, k as pokemonRefsSchema, l as gameFeaturesSchema, m as languageSchema, n as boxPresetBoxPokemonSchema, o as boxPresetSchema, p as itemSchema, r as boxPresetBoxSchema, s as characterSchema, t as abilitySchema, u as gameSchema, v as modernBoxPresetSchema, w as originMarkSchema, x as moveSchema, y as modernBoxPresetSlotSchema } from "../schemas-CIE3b72j.mjs";
2
+ import { A as pokemonSchema, C as onlineFeaturesSchema, D as pokedexEntrySchema, E as pokeballSchema, M as regionSchema, N as ribbonSchema, O as pokedexSchema, P as typeSchema, S as natureSchema, T as personalitySchema, _ as modernBoxPresetIndexSchema, b as modernBoxPresetTags, c as colorSchema, d as generationSchema, f as i18nTextSchema, g as modernBoxPresetBoxSchema, h as markSchema, j as pokemonSearchFilterSchema, k as pokemonRefsSchema, l as gameFeaturesSchema, m as languageSchema, n as boxPresetBoxPokemonSchema, o as boxPresetSchema, p as itemSchema, r as boxPresetBoxSchema, s as characterSchema, t as abilitySchema, u as gameSchema, v as modernBoxPresetSchema, w as originMarkSchema, x as moveSchema, y as modernBoxPresetSlotSchema } from "../schemas-Bvj56HZe.mjs";
3
3
  import z from "zod";
4
4
  //#region src/lib/types.d.ts
5
5
  declare global {
@@ -77,8 +77,8 @@ export declare const moveSchema: z$1.ZodObject<{
77
77
  fairy: "fairy";
78
78
  }>;
79
79
  category: z$1.ZodEnum<{
80
- physical: "physical";
81
80
  special: "special";
81
+ physical: "physical";
82
82
  status: "status";
83
83
  }>;
84
84
  power: z$1.ZodNumber;
@@ -144,8 +144,8 @@ export declare const movesSchema: z$1.ZodArray<z$1.ZodObject<{
144
144
  fairy: "fairy";
145
145
  }>;
146
146
  category: z$1.ZodEnum<{
147
- physical: "physical";
148
147
  special: "special";
148
+ physical: "physical";
149
149
  status: "status";
150
150
  }>;
151
151
  power: z$1.ZodNumber;
@@ -210,13 +210,13 @@ export declare const itemSchema: z$1.ZodObject<{
210
210
  description: z$1.ZodString;
211
211
  pluralName: z$1.ZodString;
212
212
  categories: z$1.ZodArray<z$1.ZodEnum<{
213
+ berry: "berry";
214
+ other: "other";
215
+ defense: "defense";
213
216
  power_boost: "power_boost";
214
217
  recovery: "recovery";
215
- defense: "defense";
216
218
  stat_boost: "stat_boost";
217
219
  effect_extend: "effect_extend";
218
- berry: "berry";
219
- other: "other";
220
220
  mega_stone: "mega_stone";
221
221
  }>>;
222
222
  }, z$1.core.$strip>;
@@ -230,13 +230,13 @@ export declare const itemsSchema: z$1.ZodArray<z$1.ZodObject<{
230
230
  description: z$1.ZodString;
231
231
  pluralName: z$1.ZodString;
232
232
  categories: z$1.ZodArray<z$1.ZodEnum<{
233
+ berry: "berry";
234
+ other: "other";
235
+ defense: "defense";
233
236
  power_boost: "power_boost";
234
237
  recovery: "recovery";
235
- defense: "defense";
236
238
  stat_boost: "stat_boost";
237
239
  effect_extend: "effect_extend";
238
- berry: "berry";
239
- other: "other";
240
240
  mega_stone: "mega_stone";
241
241
  }>>;
242
242
  }, z$1.core.$strip>>;
@@ -21,13 +21,13 @@ declare const abilitySchema: z$1.ZodObject<{
21
21
  shortDesc: z$1.ZodString;
22
22
  desc: z$1.ZodNullable<z$1.ZodString>;
23
23
  tags: z$1.ZodArray<z$1.ZodEnum<{
24
- defense: "defense";
25
24
  other: "other";
26
25
  alert: "alert";
27
26
  "ally-helper": "ally-helper";
28
27
  "stat-boost": "stat-boost";
29
28
  "move-boost": "move-boost";
30
29
  bypass: "bypass";
30
+ defense: "defense";
31
31
  handicap: "handicap";
32
32
  heal: "heal";
33
33
  items: "items";
@@ -102,6 +102,8 @@ declare const colorSchema: z$1.ZodObject<{
102
102
  }, z$1.core.$strip>;
103
103
  declare const gameFeaturesSchema: z$1.ZodObject<{
104
104
  storage: z$1.ZodBoolean;
105
+ party: z$1.ZodBoolean;
106
+ battleTeams: z$1.ZodBoolean;
105
107
  pokedex: z$1.ZodBoolean;
106
108
  training: z$1.ZodBoolean;
107
109
  shiny: z$1.ZodBoolean;
@@ -167,6 +169,8 @@ declare const gameSchema: z$1.ZodObject<{
167
169
  pokedexes: z$1.ZodArray<z$1.ZodString>;
168
170
  maxBoxes: z$1.ZodCoercedNumber<unknown>;
169
171
  maxBoxSize: z$1.ZodCoercedNumber<unknown>;
172
+ maxPartySize: z$1.ZodCoercedNumber<unknown>;
173
+ maxBattleTeams: z$1.ZodCoercedNumber<unknown>;
170
174
  platforms: z$1.ZodArray<z$1.ZodEnum<{
171
175
  gb: "gb";
172
176
  gbc: "gbc";
@@ -183,6 +187,8 @@ declare const gameSchema: z$1.ZodObject<{
183
187
  isUnreleased: z$1.ZodOptional<z$1.ZodCoercedBoolean<unknown>>;
184
188
  features: z$1.ZodObject<{
185
189
  storage: z$1.ZodBoolean;
190
+ party: z$1.ZodBoolean;
191
+ battleTeams: z$1.ZodBoolean;
186
192
  pokedex: z$1.ZodBoolean;
187
193
  training: z$1.ZodBoolean;
188
194
  shiny: z$1.ZodBoolean;
@@ -236,18 +242,18 @@ declare const itemSchema: z$1.ZodObject<{
236
242
  shortDesc: z$1.ZodString;
237
243
  desc: z$1.ZodNullable<z$1.ZodString>;
238
244
  category: z$1.ZodEnum<{
239
- berry: "berry";
240
- other: "other";
241
245
  ball: "ball";
242
246
  medicine: "medicine";
243
247
  battle: "battle";
248
+ berry: "berry";
244
249
  machine: "machine";
250
+ megastone: "megastone";
251
+ zcrystal: "zcrystal";
245
252
  treasure: "treasure";
246
253
  ingredient: "ingredient";
247
254
  material: "material";
248
255
  key: "key";
249
- megastone: "megastone";
250
- zcrystal: "zcrystal";
256
+ other: "other";
251
257
  }>;
252
258
  unholdable: z$1.ZodOptional<z$1.ZodCoercedBoolean<unknown>>;
253
259
  }, z$1.core.$strip>;
@@ -258,9 +264,9 @@ declare const pokeballSchema: z$1.ZodObject<{
258
264
  shortDesc: z$1.ZodString;
259
265
  desc: z$1.ZodNullable<z$1.ZodString>;
260
266
  category: z$1.ZodEnum<{
261
- special: "special";
262
267
  other: "other";
263
268
  regular: "regular";
269
+ special: "special";
264
270
  hisuian: "hisuian";
265
271
  }>;
266
272
  unusable: z$1.ZodOptional<z$1.ZodCoercedBoolean<unknown>>;
@@ -407,8 +413,8 @@ declare const moveSchema: z$1.ZodObject<{
407
413
  accuracy: z$1.ZodCoercedNumber<unknown>;
408
414
  pp: z$1.ZodCoercedNumber<unknown>;
409
415
  category: z$1.ZodEnum<{
410
- physical: "physical";
411
416
  special: "special";
417
+ physical: "physical";
412
418
  status: "status";
413
419
  }>;
414
420
  priority: z$1.ZodCoercedNumber<unknown>;
@@ -801,4 +807,4 @@ declare const pokemonSearchFilterSchema: z$1.ZodObject<{
801
807
  }, z$1.core.$strip>;
802
808
  //#endregion
803
809
  export { pokemonSchema as A, onlineFeaturesSchema as C, pokedexEntrySchema as D, pokeballSchema as E, regionSchema as M, ribbonSchema as N, pokedexSchema as O, typeSchema as P, natureSchema as S, personalitySchema as T, modernBoxPresetIndexSchema as _, boxPresetMapSchema as a, modernBoxPresetTags as b, colorSchema as c, generationSchema as d, i18nTextSchema as f, modernBoxPresetBoxSchema as g, markSchema as h, boxPresetIndexItemSchema as i, pokemonSearchFilterSchema as j, pokemonRefsSchema as k, gameFeaturesSchema as l, languageSchema as m, boxPresetBoxPokemonSchema as n, boxPresetSchema as o, itemSchema as p, boxPresetBoxSchema as r, characterSchema as s, abilitySchema as t, gameSchema as u, modernBoxPresetSchema as v, originMarkSchema as w, moveSchema as x, modernBoxPresetSlotSchema as y };
804
- //# sourceMappingURL=schemas-CIE3b72j.d.mts.map
810
+ //# sourceMappingURL=schemas-Bvj56HZe.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas-Bvj56HZe.d.mts","names":[],"sources":["../src/lib/schemas.ts"],"mappings":";;cAkEa,gBAAc,IAAA,UAAA,IAAA;;;;;;;;;;;;IAA+D,IAAA,YAAA,IAAA;cAE7E,eAAa,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIxB,IAAA,KAAA;cACW,mBAAiB,IAAA;;;GAI5B,IAAA,KAAA;cACW,iBAAe,IAAA;;;GAE1B,IAAA,KAAA;cACW,aAAW,IAAA;;;;GAEtB,IAAA,KAAA;cACW,oBAAkB,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyB7B,IAAA,KAAA;cACW,sBAAoB,IAAA;;;;;;;;;;;;;;;;GAO/B,IAAA,KAAA;cACW,YAAU,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsBrB,IAAA,KAAA;cACW,kBAAgB,IAAA;;;;GAI3B,IAAA,KAAA;cACW,YAAU,IAAA;;;;;;;;;;;;;;;;;;;;;;GAIrB,IAAA,KAAA;cACW,gBAAc,IAAA;;;;;;;;;;;;;GAGzB,IAAA,KAAA;cACW,gBAAc,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASzB,IAAA,KAAA;cACW,YAAU,IAAA;;;;;;;;;;GAMrB,IAAA,KAAA;cACW,cAAY,IAAA;;;;;;;;;;;;;;GAIvB,IAAA,KAAA;cACW,kBAAgB,IAAA;;;GAAc,IAAA,KAAA;cAC9B,cAAY,IAAA;;;GAAc,IAAA,KAAA;cAC1B,YAAU,IAAA;;;;;GAGrB,IAAA,KAAA;cACW,cAAY,IAAA;;;;;;;;;;;;;;;;;;;;;;;GAGvB,IAAA,KAAA;cACW,YAAU,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASrB,IAAA,KAAA;cAEW,oBAAkB,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuB7B,IAAA,KAAA;cAEW,eAAa,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAUxB,IAAA,KAAA;cAEW,mBAAiB,IAAA;;;;;;;;;GAS5B,IAAA,KAAA;cAEW,eAAa,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFxB,IAAA,KAAA;cAIW,0BAAwB,IAAA;;;;;;GAQ1B,IAAA,KAAA;cAEE,2BAAyB,IAAA,UAAA,IAAA,YAAA,IAAA,YAAA,IAAA;;;;;GAOrC,IAAA,KAAA;cAEY,oBAAkB,IAAA;;;;;;;;GAG7B,IAAA,KAAA;cAEW,iBAAe,IAAA;;;;;;;;;;;;;;;;;GAS1B,IAAA,KAAA;cAEW,oBAAkB,IAAA,UAAA,IAAA,WAAA,IAAA,UAAA,IAAA,WAAA,IAAA;;;;;;;;;;;;;;;;;GAA8D,IAAA,KAAA;cAEhF;cAUA,4BAA0B,IAAA,SAAA,IAAA;cAE1B,2BAAyB,IAAA,UAAA,IAAA,YAAA,IAAA,YAAA,IAAA;;;;;GASrC,IAAA,KAAA;cAEY,0BAAwB,IAAA;;;;;;;;GAK1B,IAAA,KAAA;cAEE,uBAAqB,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoBvB,IAAA,KAAA;cAEE,2BAAyB,IAAA;;;;;;;;GASpC,IAAA,KAAA"}
@@ -52,6 +52,8 @@ const characterSchema = base.entity.extend({});
52
52
  const colorSchema = base.entity.extend({ color: common.colorHex });
53
53
  const gameFeaturesSchema = z$1.object({
54
54
  storage: z$1.boolean(),
55
+ party: z$1.boolean(),
56
+ battleTeams: z$1.boolean(),
55
57
  pokedex: z$1.boolean(),
56
58
  training: z$1.boolean(),
57
59
  shiny: z$1.boolean(),
@@ -96,6 +98,8 @@ const gameSchema = base.entity.extend({
96
98
  pokedexes: z$1.array(common.slug),
97
99
  maxBoxes: common.int,
98
100
  maxBoxSize: common.int,
101
+ maxPartySize: common.int,
102
+ maxBattleTeams: common.int,
99
103
  platforms: z$1.array(z$1.enum(gamePlatforms)).min(1),
100
104
  isUnreleased: z$1.coerce.boolean().optional(),
101
105
  features: gameFeaturesSchema,
@@ -346,4 +350,4 @@ const pokemonSearchFilterSchema = z$1.object({
346
350
  //#endregion
347
351
  export { pokemonSchema as A, onlineFeaturesSchema as C, pokedexEntrySchema as D, pokeballSchema as E, regionSchema as M, ribbonSchema as N, pokedexSchema as O, typeSchema as P, natureSchema as S, personalitySchema as T, modernBoxPresetIndexSchema as _, boxPresetMapSchema as a, modernBoxPresetTags as b, colorSchema as c, generationSchema as d, i18nTextSchema as f, modernBoxPresetBoxSchema as g, markSchema as h, boxPresetIndexItemSchema as i, pokemonSearchFilterSchema as j, pokemonRefsSchema as k, gameFeaturesSchema as l, languageSchema as m, boxPresetBoxPokemonSchema as n, boxPresetSchema as o, itemSchema as p, boxPresetBoxSchema as r, characterSchema as s, abilitySchema as t, gameSchema as u, modernBoxPresetSchema as v, originMarkSchema as w, moveSchema as x, modernBoxPresetSlotSchema as y };
348
352
 
349
- //# sourceMappingURL=schemas-CcUqoHNr.mjs.map
353
+ //# sourceMappingURL=schemas-DvWBehAR.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas-DvWBehAR.mjs","names":["z"],"sources":["../src/lib/schemas.ts"],"sourcesContent":["import { z } from 'zod'\nimport { POKEPC_LATEST_GENERATION } from './constants'\nimport {\n abilityTagIds,\n battleStyles,\n gamePlatforms,\n gameSeries,\n gameType,\n genders,\n itemCategory,\n languageAlpha3Codes,\n languageIds,\n languageInGameCodes,\n moveCategory,\n pokeballCategory,\n raidStyles,\n ribbonCategory,\n statIds,\n typeIds,\n} from './enums'\n\nconst common = {\n name: z.string().max(50),\n gen: z.coerce.number().int().min(0).max(POKEPC_LATEST_GENERATION),\n slug: z\n .string()\n .max(50)\n .regex(/^[a-z0-9-]+$/),\n desc: z.string().max(2000).nullable(),\n shortDesc: z.string().max(200),\n // sortIndex: z.coerce.number().min(0),\n colorHex: z.string().regex(/^#[0-9a-f]{6}$/i),\n dateDay: z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/),\n statId: z.enum(statIds),\n typeId: z.enum(typeIds),\n int: z.coerce.number().int(),\n dexNum: z.union([z.string().regex(/^\\d{1,5}$/), z.coerce.number().int().min(0).max(99999)]),\n level: z.coerce.number().int().min(1).max(100),\n statValue: z.coerce.number().int().min(-1).max(255),\n}\n\nconst base = {\n entity: z.object({\n id: common.slug,\n name: common.name,\n // sortIndex: defs.sortIndex,\n }),\n entityWithGenAndDescs: z.object({\n id: common.slug,\n name: common.name,\n gen: common.gen,\n shortDesc: common.shortDesc,\n desc: common.desc,\n // sortIndex: defs.sortIndex,\n }),\n entityWithGenAndDescsAndShowdownName: z.object({\n id: common.slug,\n name: common.name,\n psName: common.name,\n gen: common.gen,\n shortDesc: common.shortDesc,\n desc: common.desc,\n // sortIndex: defs.sortIndex,\n }),\n}\n\nexport const i18nTextSchema = z.record(z.enum(languageAlpha3Codes), z.string().optional())\n\nexport const abilitySchema = base.entityWithGenAndDescsAndShowdownName.extend({\n tags: z.array(z.enum(abilityTagIds)).min(1),\n immunities: z.array(common.typeId).optional(),\n weaknesses: z.array(common.typeId).optional(),\n})\nexport const personalitySchema = z.object({\n id: common.slug,\n shortDesc: common.shortDesc,\n // sortIndex: defs.sortIndex,\n})\nexport const characterSchema = base.entity.extend({\n // sprite: z.string(),\n})\nexport const colorSchema = base.entity.extend({\n color: common.colorHex,\n})\nexport const gameFeaturesSchema = z.object({\n storage: z.boolean(), // when true, the game has a storage system (boxes, etc)\n party: z.boolean(), // when true, Pokemon are carried in a party (see maxPartySize)\n battleTeams: z.boolean(), // when true, teams can be registered for battles (see maxBattleTeams)\n pokedex: z.boolean(), // when true, the game has at least one pokedex\n training: z.boolean(), // when true, the Pokemon are trainable with traditional methods (evs, ivs, hyper training, etc)\n shiny: z.boolean(),\n items: z.boolean(),\n gender: z.boolean(),\n pokerus: z.boolean(), // All except Gen 1, GO and from S/V onwards\n nature: z.boolean(),\n ribbons: z.boolean(), // Since gen 3\n marks: z.boolean(), // Since gen 8\n markings: z.boolean(), // Since gen 3 (circle, triangle, square, heart, star, diamond)\n shadow: z.boolean(), // Colosseum, XD and GO\n ball: z.boolean(), // Caught balls, since gen 4\n mega: z.boolean(),\n zmove: z.boolean(),\n gmax: z.boolean(),\n alpha: z.boolean(),\n tera: z.boolean(),\n plusmvs: z.boolean(), // mastered moves, LA and LZA only\n mints: z.boolean(),\n sizes: z.boolean(), // For some games like Let's GO, Legends, etc.\n abilities: z.boolean(), // gen 1-2 and Legends games have no abilities\n})\nexport const onlineFeaturesSchema = z.object({\n battles: z.boolean(),\n battleStyles: z.array(z.enum(battleStyles)),\n trades: z.boolean(),\n raids: z.boolean(),\n raidStyles: z.array(z.enum(raidStyles)),\n coop: z.boolean(),\n})\nexport const gameSchema = base.entity.extend({\n gen: common.gen,\n nameSlug: common.slug,\n codename: common.name.nullable(),\n type: z.enum(gameType),\n series: z.enum(gameSeries),\n gameSet: common.slug.nullable(),\n gameSuperSet: common.slug.nullable(),\n releaseDate: common.dateDay,\n region: common.slug.nullable(),\n originMark: common.slug.nullable(),\n pokedexes: z.array(common.slug),\n maxBoxes: common.int,\n maxBoxSize: common.int,\n maxPartySize: common.int, // Pokemon carried at once, 0 when the game has no party\n maxBattleTeams: common.int, // registrable battle teams, 0 when unsupported (the gen 5-6 Battle Box counts as 1)\n platforms: z.array(z.enum(gamePlatforms)).min(1),\n isUnreleased: z.coerce.boolean().optional(),\n features: gameFeaturesSchema,\n onlineFeatures: onlineFeaturesSchema.optional(),\n // sprite: z.string(),\n // spriteIcon: z.string(),\n})\nexport const generationSchema = z.object({\n id: common.int,\n minDexNum: common.int,\n maxDexNum: common.int,\n})\nexport const itemSchema = base.entityWithGenAndDescsAndShowdownName.extend({\n category: z.enum(itemCategory),\n unholdable: z.coerce.boolean().optional(),\n // sprite: z.string(),\n})\nexport const pokeballSchema = base.entityWithGenAndDescs.extend({\n category: z.enum(pokeballCategory),\n unusable: z.coerce.boolean().optional(),\n})\nexport const languageSchema = base.entity.extend({\n id: z.enum(languageIds),\n name: z.string(),\n nameEng: z.string(),\n alpha3: z.enum(languageAlpha3Codes),\n inGameCode: z.enum(languageInGameCodes),\n locale: z.string(),\n flag: z.string(),\n pkApiId: z.string().nullable(), // PokeAPI ID\n})\nexport const markSchema = base.entityWithGenAndDescs.extend({\n title: common.shortDesc,\n conditions: common.shortDesc,\n chance: z.string(),\n chanceCharm: z.string(),\n // sprite: z.string(),\n})\nexport const ribbonSchema = base.entityWithGenAndDescs.extend({\n title: common.shortDesc,\n category: z.enum(ribbonCategory),\n // sprite: z.string(),\n})\nexport const originMarkSchema = base.entity\nexport const regionSchema = base.entity\nexport const typeSchema = base.entity.extend({\n color: common.colorHex,\n isCanonical: z.boolean(),\n})\nexport const natureSchema = base.entity.extend({\n raises: common.statId.nullable(),\n lowers: common.statId.nullable(),\n})\nexport const moveSchema = base.entityWithGenAndDescsAndShowdownName.extend({\n type: common.typeId,\n power: common.int.min(0).max(999),\n accuracy: common.int.min(0).max(101),\n pp: common.int.min(0).max(100),\n category: z.enum(moveCategory),\n priority: common.int.min(-10).max(10),\n isZ: z.boolean(),\n isGmax: z.boolean(),\n})\n\nexport const pokedexEntrySchema = z.object({\n pid: common.slug,\n dexNum: common.dexNum,\n isForm: z.coerce.boolean(),\n transferOnly: z.coerce.boolean().optional(),\n originDex: common.slug.optional(),\n isNonCanonical: z.coerce.boolean().optional(), // if true, the pokemon is not canonical/main-series species or form. e.g Mosslax.\n // meta: optional data that can be used if the pokemon is not found in the main-series dataset,\n // e.g. this is relevant for spin-off games that contain special forms like in Pokopia.\n // For example, Mosslax has a different dex number than Snorlax in Pokopia, so it needs a special entry.\n meta: z\n .object({\n names: i18nTextSchema,\n speciesNames: i18nTextSchema.optional(),\n formNames: i18nTextSchema.optional(),\n type1: common.slug.optional(),\n type2: common.slug.optional(),\n attributes: z.record(common.slug, z.string()).optional(), // key-value info\n tags: z.array(common.slug).optional(),\n canonicalPid: common.slug.optional(), // e.g. for professor tangrowth, it would be tangrowth\n imgNid: common.slug.optional(), // if using a different nid for the image\n })\n .optional(),\n})\n\nexport const pokedexSchema = base.entity.extend({\n shortDesc: common.shortDesc.optional(),\n desc: common.desc.optional(),\n gen: common.gen,\n region: common.slug.nullable(),\n isNational: z.coerce.boolean(),\n baseDex: common.slug.nullable(),\n pkApiId: z.string().nullable(),\n entries: z.array(pokedexEntrySchema.strict()),\n // transferEntries: z.array(pokedexEntrySchema.strict()).optional(),\n})\n\nexport const pokemonRefsSchema = z.object({\n pkApiId: z.string(),\n pkApiFormId: z.string(),\n pkApiFormSlug: z.string(),\n smogon: z.string(),\n showdown: z.string(),\n showdownName: z.string(),\n serebii: z.string(),\n bulbapedia: z.string(),\n})\n\nexport const pokemonSchema = z.object({\n id: common.slug,\n nid: common.slug,\n imgNid: common.slug.optional(), // if using a different nid for the image\n dexNum: common.dexNum,\n formId: common.slug.optional(),\n // sprite2d: z.string().nullable(), // TODO:! make not nullable\n // sprite3d: z.string().nullable(), // TODO:! make not nullable\n // sprite3dShiny: z.string().nullable(), // TODO:! make not nullable\n region: common.slug,\n gen: common.gen,\n type1: common.slug,\n type2: common.slug.optional(),\n color: common.slug,\n ability1: common.slug,\n ability2: common.slug.optional(),\n abilityHidden: common.slug.optional(),\n abilitySpecial: common.slug.optional(),\n isPrerelease: z.coerce.boolean(),\n isDefault: z.coerce.boolean(),\n isForm: z.coerce.boolean(),\n formItem: common.slug.optional(),\n isLegendary: z.coerce.boolean(),\n isMythical: z.coerce.boolean(),\n isBaby: z.coerce.boolean(),\n isUltraBeast: z.coerce.boolean(),\n isParadox: z.coerce.boolean(),\n paradoxSpecies: z.array(common.slug).optional(),\n isConvergent: z.coerce.boolean(),\n convergentSpecies: z.array(common.slug).optional(),\n isCosmeticForm: z.coerce.boolean(),\n isFemaleForm: z.coerce.boolean(),\n hasGenderDifferences: z.coerce.boolean(),\n isBattleOnlyForm: z.coerce.boolean(),\n isFusion: z.coerce.boolean(),\n isMega: z.coerce.boolean(),\n isPrimal: z.coerce.boolean(),\n isGmax: z.coerce.boolean(),\n isRegional: z.coerce.boolean(),\n canGmax: z.coerce.boolean(),\n canDynamax: z.coerce.boolean(),\n canBeAlpha: z.coerce.boolean(),\n // ---- Obtainability:\n debutIn: common.slug, // the first game it appeared in\n obtainableIn: z.array(common.slug), // if it can be obtained in-game any time, without temporary or online events\n transferOnlyIn: z.array(common.slug), // if it can only be obtained by transferring from another games\n storableIn: z.array(common.slug), // if it's storable in the game's boxes\n eventOnlyIn: z.array(common.slug), // if it's exclusive to an event, and not obtainable in-game\n shinyLockedIn: z.array(common.slug).optional(), // if it's shiny locked in that game.\n shinyReleased: z.coerce.boolean(),\n shinyBase: common.slug.optional(),\n // -------------------\n baseHp: common.statValue,\n baseAtk: common.statValue,\n baseDef: common.statValue,\n baseSpAtk: common.statValue,\n baseSpDef: common.statValue,\n baseSpeed: common.statValue,\n height: common.int.min(-1).max(999999),\n weight: common.int.min(-1).max(999999),\n maleRate: z.coerce.number().min(-1).max(100),\n femaleRate: z.coerce.number().min(-1).max(100),\n baseSpecies: common.slug.optional(),\n baseForms: z.array(common.slug),\n forms: z.array(common.slug),\n formsDesc: z.string().optional(),\n family: common.slug.optional(),\n refs: pokemonRefsSchema,\n // evolution:\n evolvesFrom: common.slug.optional(),\n evoFromLevel: common.level.optional(),\n evoFromItem: common.slug.optional(),\n evoFromMove: common.slug.optional(),\n evoFromAbility: common.slug.optional(), // not provided by showdown (e.g. needed for rockruff (own tempo))\n evoFromGender: z.enum(genders).optional(),\n evoFromTrading: z.coerce.boolean().optional(),\n evoFromFriendship: z.coerce.boolean().optional(),\n evoFromCondition: z.string().optional(),\n // translations:\n names: i18nTextSchema,\n genus: i18nTextSchema,\n speciesNames: i18nTextSchema,\n formNames: i18nTextSchema,\n})\n\n// --- legacy\n\nexport const boxPresetIndexItemSchema = z\n .object({\n id: common.slug,\n gameSet: common.slug,\n legacyId: common.slug.nullable(),\n name: common.name,\n isHidden: z.coerce.boolean().optional(),\n })\n .strict()\n\nexport const boxPresetBoxPokemonSchema = common.slug.nullable().or(\n z.object({\n pid: common.slug,\n gmax: z.coerce.boolean().optional(),\n shinyLocked: z.coerce.boolean().optional(),\n shiny: z.coerce.boolean().optional(),\n }),\n)\n\nexport const boxPresetBoxSchema = z.object({\n title: z.string().max(120).optional(),\n pokemon: z.array(boxPresetBoxPokemonSchema),\n})\n\nexport const boxPresetSchema = z.object({\n id: common.slug,\n legacyId: common.slug.optional(),\n name: z.string().max(120),\n version: z.coerce.number().int().min(0),\n gameSet: common.slug.nullable(),\n description: z.string(),\n boxes: z.array(boxPresetBoxSchema),\n isHidden: z.coerce.boolean().optional(),\n})\n\nexport const boxPresetMapSchema = z.record(z.string(), z.record(z.string(), boxPresetSchema))\n\nexport const modernBoxPresetTags = [\n 'recommended',\n 'national',\n 'grouped',\n 'sorted',\n 'minimal',\n 'shiny',\n 'forms',\n] as const\n\nexport const modernBoxPresetIndexSchema = z.array(common.slug)\n\nexport const modernBoxPresetSlotSchema = common.slug.nullable().or(\n z\n .object({\n pokemon: common.slug,\n shiny: z.coerce.boolean().optional(),\n gmax: z.coerce.boolean().optional(),\n shinyLocked: z.coerce.boolean().optional(),\n })\n .strict(),\n)\n\nexport const modernBoxPresetBoxSchema = z\n .object({\n name: z.string().max(120).optional(),\n slots: z.array(modernBoxPresetSlotSchema),\n })\n .strict()\n\nexport const modernBoxPresetSchema = z\n .object({\n schemaVersion: z.literal(1),\n id: common.slug,\n gameSet: common.slug,\n name: z.string().max(120),\n description: z.string().max(2000).optional(),\n source: z\n .object({\n kind: z.literal('classic'),\n gameSet: common.slug,\n presetId: common.slug,\n version: z.coerce.number().int().min(0).optional(),\n legacyId: common.slug.optional(),\n })\n .strict()\n .optional(),\n tags: z.array(z.enum(modernBoxPresetTags)).optional(),\n boxes: z.array(modernBoxPresetBoxSchema),\n })\n .strict()\n\nexport const pokemonSearchFilterSchema = z.object({\n q: z.string().optional().catch(undefined),\n gen: z.coerce.number().min(1).max(POKEPC_LATEST_GENERATION).optional().catch(undefined),\n lang: z.string().optional().default('en'),\n // pokemon-specific filters:\n color: z.string().optional().catch(undefined),\n type: z.string().optional().catch(undefined),\n forms: z.coerce.boolean().optional().catch(undefined),\n shiny: z.coerce.boolean().optional().catch(undefined),\n})\n"],"mappings":"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"}
@@ -14,9 +14,13 @@
14
14
  "pokedexes": ["unova-b2w2", "national-b2w2"],
15
15
  "maxBoxes": 24,
16
16
  "maxBoxSize": 30,
17
+ "maxPartySize": 6,
18
+ "maxBattleTeams": 1,
17
19
  "platforms": ["nds"],
18
20
  "features": {
19
21
  "storage": true,
22
+ "party": true,
23
+ "battleTeams": true,
20
24
  "pokedex": true,
21
25
  "training": true,
22
26
  "shiny": true,
@@ -14,9 +14,13 @@
14
14
  "pokedexes": ["unova-b2w2", "national-b2w2"],
15
15
  "maxBoxes": 24,
16
16
  "maxBoxSize": 30,
17
+ "maxPartySize": 6,
18
+ "maxBattleTeams": 1,
17
19
  "platforms": ["nds"],
18
20
  "features": {
19
21
  "storage": true,
22
+ "party": true,
23
+ "battleTeams": true,
20
24
  "pokedex": true,
21
25
  "training": true,
22
26
  "shiny": true,
@@ -14,9 +14,13 @@
14
14
  "pokedexes": ["unova-b2w2", "national-b2w2"],
15
15
  "maxBoxes": 24,
16
16
  "maxBoxSize": 30,
17
+ "maxPartySize": 6,
18
+ "maxBattleTeams": 1,
17
19
  "platforms": ["nds"],
18
20
  "features": {
19
21
  "storage": true,
22
+ "party": true,
23
+ "battleTeams": true,
20
24
  "pokedex": true,
21
25
  "training": true,
22
26
  "shiny": true,
@@ -14,9 +14,13 @@
14
14
  "pokedexes": ["sinnoh", "national-bdsp"],
15
15
  "maxBoxes": 40,
16
16
  "maxBoxSize": 30,
17
+ "maxPartySize": 6,
18
+ "maxBattleTeams": 6,
17
19
  "platforms": ["switch"],
18
20
  "features": {
19
21
  "storage": true,
22
+ "party": true,
23
+ "battleTeams": true,
20
24
  "pokedex": true,
21
25
  "training": true,
22
26
  "shiny": true,
@@ -14,9 +14,13 @@
14
14
  "pokedexes": ["sinnoh", "national-bdsp"],
15
15
  "maxBoxes": 40,
16
16
  "maxBoxSize": 30,
17
+ "maxPartySize": 6,
18
+ "maxBattleTeams": 6,
17
19
  "platforms": ["switch"],
18
20
  "features": {
19
21
  "storage": true,
22
+ "party": true,
23
+ "battleTeams": true,
20
24
  "pokedex": true,
21
25
  "training": true,
22
26
  "shiny": true,
@@ -14,9 +14,13 @@
14
14
  "pokedexes": ["sinnoh", "national-bdsp"],
15
15
  "maxBoxes": 40,
16
16
  "maxBoxSize": 30,
17
+ "maxPartySize": 6,
18
+ "maxBattleTeams": 6,
17
19
  "platforms": ["switch"],
18
20
  "features": {
19
21
  "storage": true,
22
+ "party": true,
23
+ "battleTeams": true,
20
24
  "pokedex": true,
21
25
  "training": true,
22
26
  "shiny": true,
@@ -14,9 +14,13 @@
14
14
  "pokedexes": ["unova", "national-bw"],
15
15
  "maxBoxes": 24,
16
16
  "maxBoxSize": 30,
17
+ "maxPartySize": 6,
18
+ "maxBattleTeams": 1,
17
19
  "platforms": ["nds"],
18
20
  "features": {
19
21
  "storage": true,
22
+ "party": true,
23
+ "battleTeams": true,
20
24
  "pokedex": true,
21
25
  "training": true,
22
26
  "shiny": true,
@@ -14,9 +14,13 @@
14
14
  "pokedexes": ["unova", "national-bw"],
15
15
  "maxBoxes": 24,
16
16
  "maxBoxSize": 30,
17
+ "maxPartySize": 6,
18
+ "maxBattleTeams": 1,
17
19
  "platforms": ["nds"],
18
20
  "features": {
19
21
  "storage": true,
22
+ "party": true,
23
+ "battleTeams": true,
20
24
  "pokedex": true,
21
25
  "training": true,
22
26
  "shiny": true,
@@ -14,9 +14,13 @@
14
14
  "pokedexes": ["unova", "national-bw"],
15
15
  "maxBoxes": 24,
16
16
  "maxBoxSize": 30,
17
+ "maxPartySize": 6,
18
+ "maxBattleTeams": 1,
17
19
  "platforms": ["nds"],
18
20
  "features": {
19
21
  "storage": true,
22
+ "party": true,
23
+ "battleTeams": true,
20
24
  "pokedex": true,
21
25
  "training": true,
22
26
  "shiny": true,
@@ -14,9 +14,13 @@
14
14
  "pokedexes": [],
15
15
  "maxBoxes": 24,
16
16
  "maxBoxSize": 30,
17
+ "maxPartySize": 6,
18
+ "maxBattleTeams": 1,
17
19
  "platforms": ["gb"],
18
20
  "features": {
19
21
  "storage": true,
22
+ "party": true,
23
+ "battleTeams": true,
20
24
  "pokedex": true,
21
25
  "training": true,
22
26
  "shiny": true,
package/data/games/c.json CHANGED
@@ -14,9 +14,13 @@
14
14
  "pokedexes": ["johto", "national-gsc"],
15
15
  "maxBoxes": 14,
16
16
  "maxBoxSize": 20,
17
+ "maxPartySize": 6,
18
+ "maxBattleTeams": 0,
17
19
  "platforms": ["gbc"],
18
20
  "features": {
19
21
  "storage": true,
22
+ "party": true,
23
+ "battleTeams": false,
20
24
  "pokedex": true,
21
25
  "training": true,
22
26
  "shiny": true,
@@ -18,9 +18,13 @@
18
18
  ],
19
19
  "maxBoxes": 40,
20
20
  "maxBoxSize": 30,
21
+ "maxPartySize": 0,
22
+ "maxBattleTeams": 18,
21
23
  "platforms": ["switch", "switch2", "mobile"],
22
24
  "features": {
23
25
  "storage": true,
26
+ "party": false,
27
+ "battleTeams": true,
24
28
  "pokedex": true,
25
29
  "training": true,
26
30
  "shiny": true,
@@ -14,9 +14,13 @@
14
14
  "pokedexes": ["col"],
15
15
  "maxBoxes": 3,
16
16
  "maxBoxSize": 30,
17
+ "maxPartySize": 6,
18
+ "maxBattleTeams": 0,
17
19
  "platforms": ["ngc", "switch2"],
18
20
  "features": {
19
21
  "storage": true,
22
+ "party": true,
23
+ "battleTeams": false,
20
24
  "pokedex": true,
21
25
  "training": true,
22
26
  "shiny": true,
@@ -14,9 +14,13 @@
14
14
  "pokedexes": ["sinnoh", "national-dp"],
15
15
  "maxBoxes": 18,
16
16
  "maxBoxSize": 30,
17
+ "maxPartySize": 6,
18
+ "maxBattleTeams": 0,
17
19
  "platforms": ["nds"],
18
20
  "features": {
19
21
  "storage": true,
22
+ "party": true,
23
+ "battleTeams": false,
20
24
  "pokedex": true,
21
25
  "training": true,
22
26
  "shiny": true,
@@ -14,9 +14,13 @@
14
14
  "pokedexes": ["sinnoh", "national-dp"],
15
15
  "maxBoxes": 18,
16
16
  "maxBoxSize": 30,
17
+ "maxPartySize": 6,
18
+ "maxBattleTeams": 0,
17
19
  "platforms": ["nds"],
18
20
  "features": {
19
21
  "storage": true,
22
+ "party": true,
23
+ "battleTeams": false,
20
24
  "pokedex": true,
21
25
  "training": true,
22
26
  "shiny": true,
@@ -14,9 +14,13 @@
14
14
  "pokedexes": ["sinnoh", "national-dp"],
15
15
  "maxBoxes": 18,
16
16
  "maxBoxSize": 30,
17
+ "maxPartySize": 6,
18
+ "maxBattleTeams": 0,
17
19
  "platforms": ["nds"],
18
20
  "features": {
19
21
  "storage": true,
22
+ "party": true,
23
+ "battleTeams": false,
20
24
  "pokedex": true,
21
25
  "training": true,
22
26
  "shiny": true,
@@ -14,9 +14,13 @@
14
14
  "pokedexes": [],
15
15
  "maxBoxes": 18,
16
16
  "maxBoxSize": 30,
17
+ "maxPartySize": 6,
18
+ "maxBattleTeams": 0,
17
19
  "platforms": ["gb"],
18
20
  "features": {
19
21
  "storage": true,
22
+ "party": true,
23
+ "battleTeams": false,
20
24
  "pokedex": true,
21
25
  "training": true,
22
26
  "shiny": true,
package/data/games/e.json CHANGED
@@ -14,9 +14,13 @@
14
14
  "pokedexes": ["hoenn", "national-e"],
15
15
  "maxBoxes": 14,
16
16
  "maxBoxSize": 30,
17
+ "maxPartySize": 6,
18
+ "maxBattleTeams": 0,
17
19
  "platforms": ["gba"],
18
20
  "features": {
19
21
  "storage": true,
22
+ "party": true,
23
+ "battleTeams": false,
20
24
  "pokedex": true,
21
25
  "training": true,
22
26
  "shiny": true,