[medium] Elemental Attunement in base tab is fire-specific; needs mana-type sub-tab structure #134
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Design Issue: Elemental Attunement is fire-specific but placed in base disciplines
Description
The "Elemental Attunement" discipline in
data/disciplines/base.tsis specifically for fire mana (manaType: 'fire',statBonus: { stat: 'elementCap_fire' }), yet it's placed in the "Base" tab which should contain disciplines available to all attunements regardless of element.This doesn't make sense because:
Expected Behavior
There should be a new sub-tab (e.g., "Mana Types" or "Elements") that contains element-specific disciplines. Disciplines that relate to multiple attunements (like Transference mana disciplines that are relevant to both Enchanter and the mana type system) should appear in both relevant tabs.
Current State
The
ATTUNEMENT_TABSinDisciplinesTab.tsx:Suggested Fix
elemental-attunementout ofbase.tsand into a new data file (e.g.,data/disciplines/elemental.ts){ key: 'elements', label: 'Mana Types', items: elementalDisciplines }Files Involved
src/lib/game/data/disciplines/base.ts— remove elemental-attunementsrc/lib/game/data/disciplines/elemental.ts— element-specific disciplinessrc/lib/game/data/disciplines/index.ts— export new arraysrc/components/game/tabs/DisciplinesTab.tsx— add new tab, allow disciplines in multiple tabsFixed — elemental attunement disciplines have been restructured into a dedicated 'Mana Types' tab, with proper UI display and prerequisite handling.
Fix applied for Issue #134: Elemental Attunement restructured into Mana Types tab
Changes Made
New data file (
src/lib/game/data/disciplines/elemental.ts):elementCap_*)makeElementalAttunement()for clean, DRY definitionsUpdated (
src/lib/game/data/disciplines/base.ts):elemental-attunementdisciplineUpdated (
src/lib/game/data/disciplines/index.ts):elementalAttunementDisciplinesUpdated (
src/lib/game/stores/discipline-slice.ts):elementalAttunementDisciplinesso the store recognizes the new disciplinesUpdated (
src/components/game/tabs/DisciplinesTab.tsx):ATTUNEMENT_TABSarrayelementalAttunementDisciplinesdataVerification: TypeScript compiles cleanly, all discipline-related tests pass (53 discipline-math + 11 store-discipline + 8 prerequisites tests).