/** * Spell Resolver - Handles spell effects (damage, healing, conditions) * Calculates actual damage/healing based on dice rolls and spell level */ import type { Spell, DamageType, SpellCastResult } from '../../schema/spell.js'; import type { Character } from '../../schema/character.js'; /** * Roll dice and return total * @param diceNotation - e.g., "8d6", "3d4+3", "1d8+4" */ export declare function rollDice(diceNotation: string): { total: number; rolls: number[]; notation: string; }; /** * Get cantrip damage dice based on character level */ export declare function getCantripDamage(baseDice: string, characterLevel: number): string; /** * Calculate Magic Missile dart count based on slot level */ export declare function getMagicMissileDarts(slotLevel: number): number; export interface SpellResolutionOptions { targetSaveRoll?: number; targetAC?: number; casterAbilityMod?: number; } export interface SpellResolutionResult { success: boolean; spellName: string; slotUsed?: number; damage?: number; damageType?: DamageType; healing?: number; diceRolled: string; damageRolled?: number; damageApplied?: number; saveResult?: 'passed' | 'failed' | 'none'; saveDC?: number; attackRoll?: number; attackTotal?: number; hit?: boolean; autoHit?: boolean; acBonus?: number; dartCount?: number; concentration?: boolean; conditionsApplied?: string[]; error?: string; } /** * Resolve a spell's effects */ export declare function resolveSpell(spell: Spell, caster: Character, slotLevel: number, options?: SpellResolutionOptions): SpellResolutionResult; /** * Convert spell resolution result to SpellCastResult schema */ export declare function toSpellCastResult(resolution: SpellResolutionResult): SpellCastResult; //# sourceMappingURL=spell-resolver.d.ts.map