/** * D&D 5e SRD Class Starting Data * * Contains starting equipment, hit dice, spell slots, and starting spells * for each core class. Used by create_character to auto-provision new characters. */ export type D5EClass = 'barbarian' | 'bard' | 'cleric' | 'druid' | 'fighter' | 'monk' | 'paladin' | 'ranger' | 'rogue' | 'sorcerer' | 'warlock' | 'wizard'; export interface ClassStartingData { hitDice: string; startingHP: (conMod: number) => number; savingThrows: string[]; armorProficiencies: string[]; weaponProficiencies: string[]; startingEquipment: StartingEquipmentChoice[]; spellcasting?: SpellcastingInfo; startingGold?: number; spellcastingAbility?: 'int' | 'wis' | 'cha'; startingCantrips?: string[]; startingSpells?: string[]; } export interface StartingEquipmentChoice { fixed?: string[]; choose?: { count: number; from: string[][]; }; } export interface SpellcastingInfo { ability: 'int' | 'wis' | 'cha'; cantripsKnown: number[]; spellsKnown?: number[]; spellsPrepared?: boolean; slotsByLevel: Record; startingCantrips: string[]; startingSpells: string[]; } export declare const EquipmentPacks: { explorersPack: string[]; dungeoneersPack: string[]; priestsPack: string[]; scholarsPack: string[]; burglarsPack: string[]; diplomatsPack: string[]; entertainersPack: string[]; }; export declare const CLASS_DATA: Record; /** * Get starting data for a class (case-insensitive) */ export declare function getClassStartingData(className: string): ClassStartingData | null; /** * Get all simple starting equipment for a class (resolves choices to first option) * This is used for auto-provisioning when the LLM doesn't specify choices */ export declare function getDefaultStartingEquipment(className: string): string[]; /** * Get spell slot array for a class at a given level * Returns [level1, level2, ..., level9] slot counts */ export declare function getSpellSlots(className: string, characterLevel: number): number[]; /** * Get starting cantrips for a class */ export declare function getStartingCantrips(className: string): string[]; /** * Get starting spells for a class */ export declare function getStartingSpells(className: string): string[]; /** * Calculate starting HP for a class given constitution modifier */ export declare function calculateStartingHP(className: string, conMod: number): number; /** * Check if a class is a spellcaster */ export declare function isSpellcaster(className: string): boolean; //# sourceMappingURL=class-starting-data.d.ts.map