feat: discipline UI improvements - stat labels, prerequisites, mana type tab
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m23s
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:
@@ -8,9 +8,11 @@ import {
|
||||
calculateManaDrain,
|
||||
calculateStatBonus,
|
||||
canProceedDiscipline,
|
||||
checkDisciplinePrerequisites,
|
||||
getUnlockedPerks,
|
||||
} from '../utils/discipline-math';
|
||||
import { baseDisciplines } from '../data/disciplines/base';
|
||||
import { elementalAttunementDisciplines } from '../data/disciplines/elemental';
|
||||
import { elementalRegenDisciplines } from '../data/disciplines/elemental-regen';
|
||||
import { elementalRegenAdvancedDisciplines } from '../data/disciplines/elemental-regen-advanced';
|
||||
import { enchanterDisciplines } from '../data/disciplines/enchanter';
|
||||
@@ -23,6 +25,7 @@ import { MAX_CONCURRENT_DISCIPLINES } from '../types/disciplines';
|
||||
|
||||
const ALL_DISCIPLINES = [
|
||||
...baseDisciplines,
|
||||
...elementalAttunementDisciplines,
|
||||
...elementalRegenDisciplines,
|
||||
...elementalRegenAdvancedDisciplines,
|
||||
...enchanterDisciplines,
|
||||
@@ -86,6 +89,8 @@ export const useDisciplineStore = create<DisciplineStore>()(
|
||||
}).length;
|
||||
if (nonPaused >= s.concurrentLimit) return s;
|
||||
if (!canProceedDiscipline(def, existing, gameState)) return s;
|
||||
const prereqCheck = checkDisciplinePrerequisites(def, s.disciplines, ALL_DISCIPLINES);
|
||||
if (!prereqCheck.canProceed) return s;
|
||||
|
||||
const discState = existing || { id, xp: 0, paused: false };
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user