refactor: remove skill system leftovers, migrate click mana to discipline perk
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m30s

- 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
This commit is contained in:
2026-05-28 11:50:06 +02:00
parent b5996d5b6e
commit 5578721992
22 changed files with 135 additions and 311 deletions
+8 -8
View File
@@ -39,17 +39,17 @@ export function useManaStats() {
);
const maxMana = useMemo(
() => computeMaxMana({ skills: {}, prestigeUpgrades, skillUpgrades: {}, skillTiers: {} }, upgradeEffects),
() => computeMaxMana({ prestigeUpgrades }, upgradeEffects),
[prestigeUpgrades, upgradeEffects]
);
const baseRegen = useMemo(
() => computeRegen({ skills: {} as Record<string, number>, prestigeUpgrades, attunements: {} } as any, upgradeEffects),
() => computeRegen({ prestigeUpgrades, attunements: {} } as any, upgradeEffects),
[prestigeUpgrades, upgradeEffects]
);
const clickMana = useMemo(
() => computeClickMana({}),
() => computeClickMana(),
[]
);
@@ -157,7 +157,7 @@ export function useCombatStats() {
const attackSpeedMult = upgradeEffects.attackSpeedMultiplier;
const totalCastSpeed = spellCastSpeed * quickCastBonus * attackSpeedMult;
const damagePerCast = calcDamage({ skills: {}, signedPacts }, activeSpell, floorElem);
const damagePerCast = calcDamage({ signedPacts }, activeSpell, floorElem);
const castsPerSecond = totalCastSpeed * HOURS_PER_TICK / (TICK_MS / 1000);
return damagePerCast * castsPerSecond;
@@ -195,7 +195,7 @@ export function useCombatStats() {
precisionChance,
elemBonus,
elemBonusText,
total: calcDamage({ skills: {}, signedPacts }, activeSpell, floorElem),
total: calcDamage({ signedPacts }, activeSpell, floorElem),
};
}, [activeSpellDef, signedPacts, activeSpell, floorElem, isGuardianFloor, pactMultiplier]);
@@ -217,17 +217,17 @@ export function useCombatStats() {
*/
export function useStudyStats() {
const studySpeedMult = useMemo(
() => getStudySpeedMultiplier({}),
() => getStudySpeedMultiplier(),
[]
);
const studyCostMult = useMemo(
() => getStudyCostMultiplier({}),
() => getStudyCostMultiplier(),
[]
);
const upgradeEffects = useMemo(
() => computeEffects({}, {}),
() => computeEffects(),
[]
);