Files
Mana-Loop/src/lib/game/data/disciplines/base.ts
T
n8n-gitea 02600754e7
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m23s
feat: Add Mana Circulation discipline with regen multiplier and meditation cap perks
2026-05-26 20:58:55 +02:00

70 lines
2.2 KiB
TypeScript

// ─── Base Disciplines ─────────────────────────────────────────────────────────
// Disciplines available to all attunements
import { DisciplinesAttunementType } from '../../types/disciplines';
import type { DisciplineDefinition } from '../../types/disciplines';
export const baseDisciplines: DisciplineDefinition[] = [
{
id: 'raw-mastery',
name: 'Raw Mana Mastery',
attunement: DisciplinesAttunementType.BASE,
manaType: 'raw',
baseCost: 5,
description: 'Learn to harness raw mana more efficiently.',
statBonus: { stat: 'maxManaBonus', baseValue: 10, label: 'Max Mana' },
difficultyFactor: 100,
scalingFactor: 50,
drainBase: 1,
perks: [
{
id: 'raw-mastery-1',
type: 'once',
threshold: 100,
value: 0,
description: '+50 Max Mana',
bonus: { stat: 'maxManaBonus', amount: 50 },
},
{
id: 'raw-mastery-2',
type: 'infinite',
threshold: 500,
value: 100,
description: 'Every 100 XP: +25 Max Mana',
bonus: { stat: 'maxManaBonus', amount: 25 },
},
],
},
{
id: 'mana-circulation',
name: 'Mana Circulation',
attunement: DisciplinesAttunementType.BASE,
manaType: 'raw',
baseCost: 5,
description:
'Cultivate and circulate raw mana through the body — the foundation upon which all elemental work is built.',
statBonus: { stat: 'regenBonus', baseValue: 0.2, label: 'Raw Mana Regen' },
difficultyFactor: 100,
scalingFactor: 50,
drainBase: 1,
perks: [
{
id: 'mana-circulation-regen',
type: 'infinite',
threshold: 100,
value: 100,
description: 'Every 100 XP: +10% raw mana regen',
bonus: { stat: 'regenMultiplier', amount: 0.10 },
},
{
id: 'mana-circulation-meditation',
type: 'capped',
threshold: 100,
value: 100,
description: 'Every 100 XP: +0.5 max meditation multiplier (7 tiers, up to +3.5)',
bonus: { stat: 'meditationCapBonus', amount: 0.5 },
maxTier: 7,
},
],
},
];