Files
Mana-Loop/src/lib/game/data/disciplines/base.ts
T
n8n-gitea 635b3b3f70
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m23s
feat: discipline UI improvements - stat labels, prerequisites, mana type tab
- Add player-friendly label field to statBonus in DisciplineDefinition
- Show prerequisite requirements on locked discipline cards
- Disable activate button for locked disciplines
- Restructure elemental attunement into dedicated 'Mana Types' tab
- Add checkDisciplinePrerequisites utility function
- Update store to enforce prerequisite checking on activation
- Split discipline-prerequisites tests into separate file
2026-05-25 15:20:02 +02:00

36 lines
1.1 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',
},
{
id: 'raw-mastery-2',
type: 'infinite',
threshold: 500,
value: 100,
description: 'Every 100 XP: +25 Max Mana',
},
],
},
];