Files
healer-man/src/game/romFiveIdentities.ts
T
2026-09-23 16:14:19 -04:00

24 lines
1.2 KiB
TypeScript

import type { RomClassId, RomRaceId } from "../app/characterCatalog";
import type { PartyRole } from "./partyRoles";
interface RomFiveIdentity {
readonly name: string;
readonly classId: RomClassId;
readonly secondaryClassId: RomClassId;
readonly raceId: RomRaceId;
readonly role: PartyRole;
}
/** Named, race-legal identities shared by live NPCs and the targeted RoM builds. */
export const ROM_FIVE_IDENTITIES: readonly RomFiveIdentity[] = Object.freeze([
{ name: "Rorik", classId: "rom-knight", secondaryClassId: "rom-scout", raceId: "rom-human", role: "tank" },
{ name: "Serenna", classId: "rom-priest", secondaryClassId: "rom-knight", raceId: "rom-human", role: "healer" },
{ name: "Veyra", classId: "rom-rogue", secondaryClassId: "rom-warrior", raceId: "rom-human", role: "damage" },
{ name: "Caelan", classId: "rom-scout", secondaryClassId: "rom-rogue", raceId: "rom-elf", role: "damage" },
{ name: "Durnik", classId: "rom-mage", secondaryClassId: "rom-warlock", raceId: "rom-dwarf", role: "damage" },
]);
export function romFiveIdentity(classId: RomClassId, role: PartyRole): RomFiveIdentity | undefined {
return ROM_FIVE_IDENTITIES.find((identity) => identity.classId === classId && identity.role === role);
}