diff --git a/scripts/placements/index.ts b/scripts/placements/index.ts index fbf0d5f91..fccd0f19b 100644 --- a/scripts/placements/index.ts +++ b/scripts/placements/index.ts @@ -88,7 +88,7 @@ async function processJson(args: { result.push({ name: placement.name, badges: placement.nameplate.badges - .map((badge) => atob(badge.id).replace("Badge-", "")) + .map((badge) => (badge ? atob(badge.id).replace("Badge-", "") : "null")) .join(","), bannerSplId: Number( atob(placement.nameplate.background.id).replace( diff --git a/scripts/placements/schemas.ts b/scripts/placements/schemas.ts index 315ae3972..313b06042 100644 --- a/scripts/placements/schemas.ts +++ b/scripts/placements/schemas.ts @@ -7,7 +7,7 @@ const placements = z.object({ id: z.string(), name: z.string(), rank: z.number(), - rankDiff: z.null(), + rankDiff: z.union([z.string(), z.null()]), xPower: z.number(), weapon: z.object({ name: z.string(), @@ -34,10 +34,13 @@ const placements = z.object({ nameId: z.string(), nameplate: z.object({ badges: z.array( - z.object({ - image: z.object({ url: z.string() }), - id: z.string(), - }) + z.union([ + z.object({ + image: z.object({ url: z.string() }), + id: z.string(), + }), + z.null(), + ]) ), background: z.object({ textColor: z.object({