'use client'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Swords } from 'lucide-react'; import { fmt, fmtDec } from '@/lib/game/stores'; import { useSkillStore } from '@/lib/game/stores'; import { getUnifiedEffects } from '@/lib/game/effects'; interface CombatStatsSectionProps { activeSpellDef: any; pactMultiplier: number; } export function CombatStatsSection({ activeSpellDef, pactMultiplier }: CombatStatsSectionProps) { const skills = useSkillStore((s) => s.skills); const skillUpgrades = useSkillStore((s) => s.skillUpgrades); const skillTiers = useSkillStore((s) => s.skillTiers); const upgradeEffects = getUnifiedEffects({ skillUpgrades, skillTiers, equippedInstances: {}, equipmentInstances: {}, }); return ( Combat Stats
Active Spell Base Damage: {activeSpellDef?.dmg || 5}
Combat Training Bonus: +{(skills.combatTrain || 0) * 5}
Arcane Fury Multiplier: ×{fmtDec(1 + (skills.arcaneFury || 0) * 0.1, 2)}
Elemental Mastery: ×{fmtDec(1 + (skills.elementalMastery || 0) * 0.15, 2)}
Guardian Bane: ×{fmtDec(1 + (skills.guardianBane || 0) * 0.2, 2)} (vs guardians)
Critical Hit Chance: {((skills.precision || 0) * 5)}%
Critical Multiplier: 1.5x
Spell Echo Chance: {((skills.spellEcho || 0) * 10)}%
Pact Multiplier: ×{fmtDec(pactMultiplier, 2)}
Total Damage: {fmt(activeSpellDef ? activeSpellDef.dmg * pactMultiplier : 0)}
); }