da4f9eccb3
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)
59 lines
1.8 KiB
TypeScript
59 lines
1.8 KiB
TypeScript
// ─── Invoker Discipline Files ─────────────────────────────────────────────────
|
|
// Attunement-focused disciplines for Invoker role
|
|
|
|
import { DisciplinesAttunementType } from '../../types/disciplines';
|
|
import type { DisciplineDefinition } from '../../types/disciplines';
|
|
|
|
export const invokerDisciplines: DisciplineDefinition[] = [
|
|
{
|
|
id: 'spell-casting',
|
|
name: 'Spell Casting',
|
|
attunement: DisciplinesAttunementType.INVOKER,
|
|
manaType: 'light',
|
|
baseCost: 10,
|
|
description: 'Improve spell power and effectiveness.',
|
|
statBonus: { stat: 'baseDamageBonus', baseValue: 6, label: 'Base Damage' },
|
|
difficultyFactor: 130,
|
|
scalingFactor: 65,
|
|
drainBase: 3,
|
|
perks: [
|
|
{
|
|
id: 'spell-1',
|
|
type: 'once',
|
|
threshold: 200,
|
|
value: 0,
|
|
description: '+10 Base Damage',
|
|
bonus: { stat: 'baseDamageBonus', amount: 10 },
|
|
},
|
|
{
|
|
id: 'spell-2',
|
|
type: 'infinite',
|
|
threshold: 400,
|
|
value: 30,
|
|
description: 'Every 300 XP: +5 Base Damage',
|
|
bonus: { stat: 'baseDamageBonus', amount: 5 },
|
|
},
|
|
],
|
|
},
|
|
{
|
|
id: 'void-manipulation',
|
|
name: 'Void Manipulation',
|
|
attunement: DisciplinesAttunementType.INVOKER,
|
|
manaType: 'void',
|
|
baseCost: 15,
|
|
description: 'Master the exotic void mana for devastating effects.',
|
|
statBonus: { stat: 'baseDamageMultiplier', baseValue: 0.15, label: 'Base Damage Multiplier' },
|
|
difficultyFactor: 200,
|
|
scalingFactor: 100,
|
|
drainBase: 7,
|
|
perks: [
|
|
{
|
|
id: 'void-1',
|
|
type: 'once',
|
|
threshold: 300,
|
|
value: 0,
|
|
description: 'Unlock void damage multiplier',
|
|
},
|
|
],
|
|
},
|
|
]; |