fix: resolve critical bugs - disciplines, debug reset, floating point, spire loop
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m21s

Fixes:
- Issue 193: Remove unnecessary useEffect that set activeTab when spireMode is true, and redundant setAction('climb') in SpireCombatPage
- Issue 194: Fix signed_pact prerequisite check in checkDisciplinePrerequisites by accepting signedPacts param; add 'At Limit' feedback on discipline button when concurrent limit reached
- Issue 195: Add resetDisciplines(), resetAttunements(), resetCrafting() calls to createResetGame; add resetCrafting action to crafting store
- Issue 196: Fix floating point display in ElementStatsSection (mana pools) and GameStateDebug (time); fix duplicate 'Base Regen' label in ManaStatsSection

All 917 tests pass. Files stay under 400-line limit.
This commit is contained in:
2026-05-29 14:10:04 +02:00
parent e20216bda5
commit a33e9429fe
15 changed files with 89 additions and 54 deletions
+5 -2
View File
@@ -41,6 +41,7 @@ const ATTUNEMENT_TABS: AttunementTab[] = [
interface CardWrapperProps {
disc: DisciplineDefinition;
disciplines: Record<string, { xp: number; paused: boolean }>;
activeIds: string[];
concurrentLimit: number;
elements: ReturnType<typeof useManaStore.getState>['elements'];
signedPacts: ReturnType<typeof usePrestigeStore.getState>['signedPacts'];
@@ -48,15 +49,16 @@ interface CardWrapperProps {
}
const CardWrapper: React.FC<CardWrapperProps> = ({
disc, disciplines, concurrentLimit, elements, onToggle,
disc, disciplines, activeIds, concurrentLimit, elements, signedPacts, onToggle,
}) => {
const discState = disciplines[disc.id] ?? { xp: 0, paused: true };
const prereqCheck = checkDisciplinePrerequisites(disc, disciplines, ALL_DISCIPLINES, elements);
const prereqCheck = checkDisciplinePrerequisites(disc, disciplines, ALL_DISCIPLINES, elements, signedPacts);
return (
<DisciplineCard
definition={disc}
xp={discState.xp}
paused={discState.paused}
activeIds={activeIds}
concurrentLimit={concurrentLimit}
isLocked={!prereqCheck.canProceed}
missingPrereqs={prereqCheck.missingPrereqs}
@@ -129,6 +131,7 @@ export const DisciplinesTab: React.FC = () => {
key={disc.id}
disc={disc}
disciplines={disciplines}
activeIds={activeIds}
concurrentLimit={concurrentLimit}
elements={elements}
signedPacts={signedPacts}