Files
healer-man/scripts/generate-party-runtime-talents.ts
2026-08-14 15:56:39 -04:00

23 lines
825 B
TypeScript

import { mkdirSync, writeFileSync } from "node:fs";
import { dirname, resolve } from "node:path";
import {
PARTY_TALENT_SPECIALIZATIONS,
partyTalentAllocationPlan,
} from "../src/game/partyTalents";
const outputPath = resolve("src/game/generated/partyTalentRuntimePlans.json");
const plans = Object.fromEntries(PARTY_TALENT_SPECIALIZATIONS.map(({ classId, specialization }) => [
`${classId}:${specialization}`,
partyTalentAllocationPlan(classId, specialization).map((selection) => selection.nodeId),
]));
const output = {
schemaVersion: 1,
generatedFrom: "src/game/partyTalents.ts",
plans,
};
mkdirSync(dirname(outputPath), { recursive: true });
writeFileSync(outputPath, `${JSON.stringify(output, null, 2)}\n`, "utf8");
console.log(`Wrote ${Object.keys(plans).length} party talent plans to ${outputPath}`);