fix: make discipline perk numerical bonuses functional via structured BonusSpec
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m23s
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m23s
- Add PerkBonus type and optional bonus field to DisciplinePerk - Populate bonus data on 39 perks across base, elemental, elemental-regen, elemental-regen-advanced, and invoker discipline files - Rewrite computeDisciplineEffects() to apply once/infinite/capped perk bonuses through known stat keys (maxManaBonus, baseDamageBonus, regen_*, elementCap_*) - Add per-element cap bonus routing in effects.ts computeAllEffects() - Remove dead enchantPower bonus (no consumer in effects pipeline)
This commit is contained in:
@@ -102,6 +102,14 @@ export function computeAllEffects(
|
||||
}
|
||||
}
|
||||
|
||||
// Merge per-element cap bonuses from discipline effects (elementCap_{element})
|
||||
for (const [key, value] of Object.entries(disciplineEffects.bonuses)) {
|
||||
if (key.startsWith('elementCap_')) {
|
||||
const element = key.replace('elementCap_', '');
|
||||
perElementCapBonus[element] = (perElementCapBonus[element] || 0) + value;
|
||||
}
|
||||
}
|
||||
|
||||
const merged: UnifiedEffects = {
|
||||
...upgradeEffects,
|
||||
maxManaBonus: upgradeEffects.maxManaBonus + (equipmentEffects.bonuses.maxMana || 0) + (disciplineEffects.bonuses.maxManaBonus || 0),
|
||||
|
||||
Reference in New Issue
Block a user