feat: add prestige system and skill upgrades with comprehensive documentation
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 5m57s

This commit is contained in:
Refactoring Agent
2026-05-01 15:18:09 +02:00
parent 3691aa4acc
commit 03815f27ee
52 changed files with 4056 additions and 873 deletions
+1 -1
View File
@@ -5,13 +5,13 @@ export { fmt, fmtDec } from './formatting';
export { getFloorMaxHP, getFloorElement } from './floor-utils';
export {
computeMaxMana,
computeElementMax,
computeRegen,
computeEffectiveRegen,
computeEffectiveRegenForDisplay,
computeClickMana,
getMeditationBonus
} from './mana-utils';
// computeElementMax is now in ../store.ts with support for unlockedManaTypeUpgrades
export {
getElementalBonus,
getBoonBonuses,
+5 -15
View File
@@ -1,7 +1,7 @@
// ─── Mana & Regen Utilities ──────────────────────────────────────────────────
import type { GameState } from '../types';
import type { ComputedEffects } from '../upgrade-effects';
import type { ComputedEffects } from '../upgrade-effects.types';
import { HOURS_PER_TICK } from '../constants';
import { getTotalAttunementRegen, getTotalAttunementConversionDrain } from '../data/attunements';
@@ -22,19 +22,9 @@ export function computeMaxMana(
return base;
}
export function computeElementMax(
state: Pick<GameState, 'skills' | 'prestigeUpgrades' | 'skillUpgrades' | 'skillTiers'>,
effects?: ComputedEffects
): number {
const pu = state.prestigeUpgrades;
const base = 10 + (state.skills.elemAttune || 0) * 50 + (pu.elementalAttune || 0) * 25;
// Apply upgrade effects if provided
if (effects) {
return Math.floor((base + effects.elementCapBonus) * effects.elementCapMultiplier);
}
return base;
}
// computeElementMax is now in ../store.ts with support for unlockedManaTypeUpgrades
// This file no longer exports computeElementMax to avoid duplicate export issues
// Import computeElementMax from '../store' instead
export function computeRegen(
state: Pick<GameState, 'skills' | 'prestigeUpgrades' | 'skillUpgrades' | 'skillTiers' | 'attunements'>,
@@ -83,7 +73,7 @@ export function computeEffectiveRegenForDisplay(
* Compute regen with dynamic special effects (needs current mana, max mana, incursion)
*/
export function computeEffectiveRegen(
state: Pick<GameState, 'skills' | 'prestigeUpgrades' | 'rawMana' | 'incursionStrength' | 'skillUpgrades' | 'skillTiers'>,
state: Pick<GameState, 'skills' | 'prestigeUpgrades' | 'rawMana' | 'incursionStrength' | 'skillUpgrades' | 'skillTiers' | 'attunements'>,
effects?: ComputedEffects
): number {
// Base regen from existing function