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
|
│ │ └── utils.ts
|
||||||
│ └── test/
|
│ └── test/
|
||||||
│ └── setup.ts
|
│ └── 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
|
├── .dockerignore
|
||||||
├── .gitignore
|
├── .gitignore
|
||||||
├── AGENTS.md
|
├── AGENTS.md
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ export interface ManaStatsData {
|
|||||||
hasFlowSurge: boolean;
|
hasFlowSurge: boolean;
|
||||||
hasManaOverflow: boolean;
|
hasManaOverflow: boolean;
|
||||||
hasEternalFlow: boolean;
|
hasEternalFlow: boolean;
|
||||||
|
disciplineMaxManaBonus: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface ManaStatsSectionProps {
|
interface ManaStatsSectionProps {
|
||||||
@@ -49,6 +50,7 @@ export function ManaStatsSection({ stats, elemMax }: ManaStatsSectionProps) {
|
|||||||
hasFlowSurge,
|
hasFlowSurge,
|
||||||
hasManaOverflow,
|
hasManaOverflow,
|
||||||
hasEternalFlow,
|
hasEternalFlow,
|
||||||
|
disciplineMaxManaBonus,
|
||||||
} = stats;
|
} = stats;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -79,6 +81,12 @@ export function ManaStatsSection({ stats, elemMax }: ManaStatsSectionProps) {
|
|||||||
<span style={{ color: 'var(--mana-light)' }}>×{fmtDec(upgradeEffects.maxManaMultiplier, 2)}</span>
|
<span style={{ color: 'var(--mana-light)' }}>×{fmtDec(upgradeEffects.maxManaMultiplier, 2)}</span>
|
||||||
</div>
|
</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">
|
<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(--text-secondary)' }}>Total Max Mana:</span>
|
||||||
<span style={{ color: 'var(--mana-water)' }}>{fmt(maxMana)}</span>
|
<span style={{ color: 'var(--mana-water)' }}>{fmt(maxMana)}</span>
|
||||||
|
|||||||
@@ -33,6 +33,11 @@ export function useManaStats() {
|
|||||||
const day = useGameStore((s) => s.day);
|
const day = useGameStore((s) => s.day);
|
||||||
const hour = useGameStore((s) => s.hour);
|
const hour = useGameStore((s) => s.hour);
|
||||||
|
|
||||||
|
const disciplineEffects = useMemo(
|
||||||
|
() => computeDisciplineEffects(),
|
||||||
|
[]
|
||||||
|
);
|
||||||
|
|
||||||
const upgradeEffects = useMemo(
|
const upgradeEffects = useMemo(
|
||||||
() => computeEffects({}, {}),
|
() => computeEffects({}, {}),
|
||||||
[]
|
[]
|
||||||
@@ -53,7 +58,6 @@ export function useManaStats() {
|
|||||||
[]
|
[]
|
||||||
);
|
);
|
||||||
|
|
||||||
const disciplineEffects = computeDisciplineEffects();
|
|
||||||
const meditationCap = 5.0 + disciplineEffects.meditationCapBonus;
|
const meditationCap = 5.0 + disciplineEffects.meditationCapBonus;
|
||||||
const meditationMultiplier = useMemo(
|
const meditationMultiplier = useMemo(
|
||||||
() => getMeditationBonus(meditateTicks, upgradeEffects.meditationEfficiency, disciplineEffects.meditationCapBonus),
|
() => getMeditationBonus(meditateTicks, upgradeEffects.meditationEfficiency, disciplineEffects.meditationCapBonus),
|
||||||
@@ -93,6 +97,7 @@ export function useManaStats() {
|
|||||||
manaCascadeBonus,
|
manaCascadeBonus,
|
||||||
manaWaterfallBonus,
|
manaWaterfallBonus,
|
||||||
effectiveRegen,
|
effectiveRegen,
|
||||||
|
disciplineMaxManaBonus: disciplineEffects.bonuses.maxManaBonus || 0,
|
||||||
hasSteadyStream: hasSpecial(upgradeEffects, SPECIAL_EFFECTS.STEADY_STREAM),
|
hasSteadyStream: hasSpecial(upgradeEffects, SPECIAL_EFFECTS.STEADY_STREAM),
|
||||||
hasManaTorrent: hasSpecial(upgradeEffects, SPECIAL_EFFECTS.MANA_TORRENT),
|
hasManaTorrent: hasSpecial(upgradeEffects, SPECIAL_EFFECTS.MANA_TORRENT),
|
||||||
hasDesperateWells: hasSpecial(upgradeEffects, SPECIAL_EFFECTS.DESPERATE_WELLS),
|
hasDesperateWells: hasSpecial(upgradeEffects, SPECIAL_EFFECTS.DESPERATE_WELLS),
|
||||||
|
|||||||
Reference in New Issue
Block a user