fix: Stats tab Total Max Mana now includes discipline bonuses
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m19s

This commit is contained in:
2026-05-30 18:41:23 +02:00
parent 4f229cdd86
commit 737a23bec3
3 changed files with 14 additions and 7 deletions
-6
View File
@@ -409,12 +409,6 @@ Mana-Loop/
│ │ └── utils.ts
│ └── test/
│ └── setup.ts
├── test-results/
│ ├── playtest-Mana-Loop---Compr-0eb11--crash-with-React-error-185-chromium/
│ │ ├── error-context.md
│ │ ├── test-failed-1.png
│ │ └── video.webm
│ └── .last-run.json
├── .dockerignore
├── .gitignore
├── AGENTS.md
@@ -24,6 +24,7 @@ export interface ManaStatsData {
hasFlowSurge: boolean;
hasManaOverflow: boolean;
hasEternalFlow: boolean;
disciplineMaxManaBonus: number;
}
interface ManaStatsSectionProps {
@@ -49,6 +50,7 @@ export function ManaStatsSection({ stats, elemMax }: ManaStatsSectionProps) {
hasFlowSurge,
hasManaOverflow,
hasEternalFlow,
disciplineMaxManaBonus,
} = stats;
return (
@@ -79,6 +81,12 @@ export function ManaStatsSection({ stats, elemMax }: ManaStatsSectionProps) {
<span style={{ color: 'var(--mana-light)' }}>×{fmtDec(upgradeEffects.maxManaMultiplier, 2)}</span>
</div>
)}
{disciplineMaxManaBonus > 0 && (
<div className="flex justify-between text-sm">
<span style={{ color: 'var(--mana-crystal)' }}>Discipline Mana Bonus:</span>
<span style={{ color: 'var(--mana-crystal)' }}>+{fmt(disciplineMaxManaBonus)}</span>
</div>
)}
<div className="flex justify-between text-sm font-semibold border-t border-[var(--border-subtle)] pt-2">
<span style={{ color: 'var(--text-secondary)' }}>Total Max Mana:</span>
<span style={{ color: 'var(--mana-water)' }}>{fmt(maxMana)}</span>
+6 -1
View File
@@ -33,6 +33,11 @@ export function useManaStats() {
const day = useGameStore((s) => s.day);
const hour = useGameStore((s) => s.hour);
const disciplineEffects = useMemo(
() => computeDisciplineEffects(),
[]
);
const upgradeEffects = useMemo(
() => computeEffects({}, {}),
[]
@@ -53,7 +58,6 @@ export function useManaStats() {
[]
);
const disciplineEffects = computeDisciplineEffects();
const meditationCap = 5.0 + disciplineEffects.meditationCapBonus;
const meditationMultiplier = useMemo(
() => getMeditationBonus(meditateTicks, upgradeEffects.meditationEfficiency, disciplineEffects.meditationCapBonus),
@@ -93,6 +97,7 @@ export function useManaStats() {
manaCascadeBonus,
manaWaterfallBonus,
effectiveRegen,
disciplineMaxManaBonus: disciplineEffects.bonuses.maxManaBonus || 0,
hasSteadyStream: hasSpecial(upgradeEffects, SPECIAL_EFFECTS.STEADY_STREAM),
hasManaTorrent: hasSpecial(upgradeEffects, SPECIAL_EFFECTS.MANA_TORRENT),
hasDesperateWells: hasSpecial(upgradeEffects, SPECIAL_EFFECTS.DESPERATE_WELLS),