fix: handle undefined state/obj in mana calculations to prevent runtime error
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 2m20s

This commit is contained in:
2026-05-06 12:42:25 +02:00
parent 8b4a09a8c6
commit b7a91abc5d
4 changed files with 10 additions and 10 deletions
@@ -56,7 +56,7 @@ export function ManaStatsSection({
{(() => {
const mw = skillTiers?.manaWell || 1;
const tieredSkillId = mw > 1 ? `manaWell_t${mw}` : 'manaWell';
const level = skills[tieredSkillId] || skills.manaWell || 0;
const level = (skills || {})[tieredSkillId] || (skills || {}).manaWell || 0;
const tierMult = getTierMultiplier(tieredSkillId);
return `+${fmt(level * 100 * tierMult)} (${level} lvl × 100 × ${tierMult}x tier)`;
})()}
+1 -1
View File
@@ -29,7 +29,7 @@ export function computeMaxMana(
): number {
const pu = state.prestigeUpgrades;
const skillMult = (effects as any)?.skillLevelMultiplier || 1;
const base = 100 + (state.skills.manaWell || 0) * 100 * skillMult + (pu.manaWell || 0) * 500;
const base = 100 + ((state.skills || {}).manaWell || 0) * 100 * skillMult + ((pu || {}).manaWell || 0) * 500;
// Check if we need to compute effects from equipment
if (!effects && state.equipmentInstances && state.equippedInstances) {
+1 -1
View File
@@ -34,7 +34,7 @@ export function computeMaxMana(
const base =
100 +
manaWellLevel.level * 100 * manaWellLevel.tierMultiplier +
(pu.manaWell || 0) * 500;
((pu || {}).manaWell || 0) * 500;
const computedEffects = effects ?? computeEffects(skillUpgrades, skillTiers);
// Apply MANA_HEART bonus (+10% per loop, compounds)
+7 -7
View File
@@ -12,8 +12,8 @@ export function computeMaxMana(
const pu = state.prestigeUpgrades;
const base =
100 +
(state.skills.manaWell || 0) * 100 +
(pu.manaWell || 0) * 500;
((state.skills || {}).manaWell || 0) * 100 +
((pu || {}).manaWell || 0) * 500;
// Apply upgrade effects if provided
if (effects) {
@@ -34,9 +34,9 @@ export function computeRegen(
const temporalBonus = 1 + (pu.temporalEcho || 0) * 0.1;
const base =
2 +
(state.skills.manaFlow || 0) * 1 +
(state.skills.manaSpring || 0) * 2 +
(pu.manaFlow || 0) * 0.5;
((state.skills || {}).manaFlow || 0) * 1 +
((state.skills || {}).manaSpring || 0) * 2 +
((pu || {}).manaFlow || 0) * 0.5;
let regen = base * temporalBonus;
@@ -90,8 +90,8 @@ export function computeEffectiveRegen(
export function computeClickMana(state: Pick<GameState, 'skills'>): number {
return (
1 +
(state.skills.manaTap || 0) * 1 +
(state.skills.manaSurge || 0) * 3
((state.skills || {}).manaTap || 0) * 1 +
((state.skills || {}).manaSurge || 0) * 3
);
}