fix: Stats tab Total Max Mana now includes discipline bonuses
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m19s
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m19s
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user