Files
buzz-sheet/lib/guides/calculations.ts
T
gunshiz dc5c667b4e
CI / Verify (push) Successful in 1m0s
CI / Build immutable images and deploy (push) Failing after 2m38s
feat(guides): add structured image-first editor
2026-08-29 13:30:52 +00:00

12 lines
529 B
TypeScript

export function calculateTeamMetrics(damage: number[], rotationSeconds: number) {
const totalDamage = damage.reduce((sum, value) => sum + value, 0);
if (!Number.isFinite(rotationSeconds) || rotationSeconds <= 0 || damage.some((value) => !Number.isFinite(value) || value < 0) || totalDamage <= 0) {
throw new Error("Team damage and rotation must be positive finite values.");
}
return {
totalDamage,
totalDps: totalDamage / rotationSeconds,
shares: damage.map((value) => value / totalDamage * 100),
};
}