Files
Mana-Loop/src/lib/game/data/disciplines/invoker.ts
T
n8n-gitea da4f9eccb3
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m23s
fix: make discipline perk numerical bonuses functional via structured BonusSpec
- 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)
2026-05-26 18:00:29 +02:00

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',
},
],
},
];