feat: discipline UI improvements - stat labels, prerequisites, mana type tab
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
This commit is contained in:
2026-05-25 15:20:02 +02:00
parent 2c58186a67
commit 635b3b3f70
21 changed files with 313 additions and 82 deletions
+1 -22
View File
@@ -12,7 +12,7 @@ export const baseDisciplines: DisciplineDefinition[] = [
manaType: 'raw',
baseCost: 5,
description: 'Learn to harness raw mana more efficiently.',
statBonus: { stat: 'maxManaBonus', baseValue: 10 },
statBonus: { stat: 'maxManaBonus', baseValue: 10, label: 'Max Mana' },
difficultyFactor: 100,
scalingFactor: 50,
drainBase: 1,
@@ -33,25 +33,4 @@ export const baseDisciplines: DisciplineDefinition[] = [
},
],
},
{
id: 'elemental-attunement',
name: 'Elemental Attunement',
attunement: DisciplinesAttunementType.BASE,
manaType: 'fire',
baseCost: 10,
description: 'Begin focusing raw mana into fire.',
statBonus: { stat: 'elementCap_fire', baseValue: 5 },
difficultyFactor: 150,
scalingFactor: 75,
drainBase: 2,
perks: [
{
id: 'elem-attunement-1',
type: 'once',
threshold: 200,
value: 0,
description: '+10 Fire Capacity',
},
],
},
];