635b3b3f70
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m23s
- 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
36 lines
1.1 KiB
TypeScript
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',
|
|
},
|
|
],
|
|
},
|
|
]; |