import type { Ability, CharacterClass } from '../api/types'; // Mirrors backend/src/game/data/classes.js — used only to preview the // running math live during the builder. The server recomputes authoritatively // at finalize, so this duplication is display-only and never gameplay-deciding. export const CLASS_SPELLCASTING_ABILITY: Record = { FIGHTER: null, BARBARIAN: null, ROGUE: null, RANGER: 'WIS', WIZARD: 'INT', SORCERER: 'CHA', CLERIC: 'WIS', PALADIN: 'CHA', BARD: 'CHA', WARLOCK: 'CHA', DRUID: 'WIS', MONK: null, }; export const CLASS_HIT_DIE: Record = { FIGHTER: 10, BARBARIAN: 12, ROGUE: 8, RANGER: 10, WIZARD: 6, SORCERER: 6, CLERIC: 8, PALADIN: 10, BARD: 8, WARLOCK: 8, DRUID: 8, MONK: 8, }; export const CLASS_SAVE_PROFICIENCIES: Record = { FIGHTER: ['STR', 'CON'], BARBARIAN: ['STR', 'CON'], ROGUE: ['DEX', 'INT'], RANGER: ['STR', 'DEX'], WIZARD: ['INT', 'WIS'], SORCERER: ['CON', 'CHA'], CLERIC: ['WIS', 'CHA'], PALADIN: ['WIS', 'CHA'], BARD: ['DEX', 'CHA'], WARLOCK: ['WIS', 'CHA'], DRUID: ['INT', 'WIS'], MONK: ['STR', 'DEX'], };