Files
Mana-Loop/src/lib/game/effects/upgrade-effects.ts
T
n8n-gitea 5578721992
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m30s
refactor: remove skill system leftovers, migrate click mana to discipline perk
- Simplified getMeditationBonus() to continuous ramp formula
- Added click-mana capped perk to Mana Circulation discipline
- Removed manaWell/manaFlow/manaSpring skill reads and prestige upgrades
- Removed all skill fields from GameState and GameActionType
- Updated all call sites and tests (916 tests passing)

Closes #174
2026-05-28 11:50:06 +02:00

64 lines
2.1 KiB
TypeScript

// ─── Upgrade Effect System ────────────────────────────────────────────────────────
// This module handles applying skill upgrade effects to game stats
// Note: Skill evolution paths have been removed. Upgrade effects now return
// base/default values with no skill-dependent modifications.
import type { ActiveUpgradeEffect, ComputedEffects } from './upgrade-effects.types';
// ─── Upgrade Definition Cache ───────────────────────────
// No-op: skill evolution paths have been removed
function _buildUpgradeCache(): void {
// No-op: no upgrade definitions to cache
}
// ─── Helper Functions ──────────────────────────────
/**
* Get all selected upgrades with their full effect definitions.
* Since skills are removed, always returns empty array.
*/
export function getActiveUpgrades(): ActiveUpgradeEffect[] {
return [];
}
/**
* Compute all active effects from selected upgrades.
* Since skills are removed, returns base values with no upgrades applied.
*/
export function computeEffects(): ComputedEffects {
return {
maxManaMultiplier: 1,
maxManaBonus: 0,
regenMultiplier: 1,
regenBonus: 0,
clickManaMultiplier: 1,
clickManaBonus: 0,
meditationEfficiency: 1,
spellCostMultiplier: 1,
conversionEfficiency: 1,
baseDamageMultiplier: 1,
baseDamageBonus: 0,
attackSpeedMultiplier: 1,
critChanceBonus: 0,
critDamageMultiplier: 1.5,
elementalDamageMultiplier: 1,
studySpeedMultiplier: 1,
studyCostMultiplier: 1,
progressRetention: 0,
instantStudyChance: 0,
freeStudyChance: 0,
elementCapMultiplier: 1,
elementCapBonus: 0,
perElementCapBonus: {},
perElementRegenBonus: {},
conversionCostMultiplier: 1,
doubleCraftChance: 0,
permanentRegenBonus: 0,
specials: new Set<string>(),
activeUpgrades: [],
skillLevelMultiplier: 1,
enchantmentPowerMultiplier: 1,
};
}