refactor: consolidate duplicate functions (calculateDesignTime, calculateDesignCapacityCost, generateSwarmEnemies)
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m21s

This commit is contained in:
2026-05-20 17:46:43 +02:00
parent 742a992d59
commit 53b3a94725
5 changed files with 27 additions and 57 deletions
@@ -1,6 +1,7 @@
import { EQUIPMENT_TYPES } from '@/lib/game/data/equipment';
import { ENCHANTMENT_EFFECTS, calculateEffectCapacityCost } from '@/lib/game/data/enchantment-effects';
import type { DesignEffect, EquipmentInstance, EquipmentCategory } from '@/lib/game/types';
import { calculateDesignCapacityCost as calcCapacityCost, calculateDesignTime as calcDesignTime } from '@/lib/game/crafting-design';
/**
* Get available effects for selected equipment type (only unlocked ones)
@@ -85,15 +86,13 @@ export function getIncompatibilityReason(
/**
* Calculate total capacity cost for current design
* Delegates to canonical calculateDesignCapacityCost from crafting-design
*/
export function calculateDesignCapacityCost(
selectedEffects: DesignEffect[],
efficiencyBonus: number
): number {
return selectedEffects.reduce(
(total, eff) => total + calculateEffectCapacityCost(eff.effectId, eff.stacks, efficiencyBonus),
0
);
return calcCapacityCost(selectedEffects, efficiencyBonus);
}
/**
@@ -105,9 +104,10 @@ export function getEquipmentCapacity(selectedEquipmentType: string | null): numb
/**
* Calculate design time
* Delegates to canonical calculateDesignTime from crafting-design
*/
export function calculateDesignTime(selectedEffects: DesignEffect[]): number {
return selectedEffects.reduce((total, eff) => total + 0.5 * eff.stacks, 1);
return calcDesignTime(selectedEffects);
}
/**