b0eea7dadd
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 35s
- Split 636-line skills-v2-defs.ts into 9 category files (all under 400 lines) - Add skills-v2-registry.ts to build SKILLS_V2 flat record from modules - Fix missing re-export of SKILLS_V2 from skills-v2.ts - Fix clickMana clamping: remove Math.round to allow fractional values - Fix golemDuration clamping: remove Math.round to allow fractional values - Fix guardianConstructs effect: duration uses 'add' mode instead of 'multiply' - All 70 existing tests pass
86 lines
4.7 KiB
TypeScript
86 lines
4.7 KiB
TypeScript
import type { SkillV2Def } from './skills-v2-types';
|
|
|
|
// ═══════════════════════════════════════════════════════════════════════
|
|
// CORE MANA SKILLS
|
|
// ═══════════════════════════════════════════════════════════════════════
|
|
export const manaWell: SkillV2Def = {
|
|
id: 'manaWell', name: 'Mana Well', description: 'Increases maximum mana capacity',
|
|
category: 'mana', maxLevel: 10, costPerLevel: 100, studyHours: 4,
|
|
effects: [{ stat: 'maxMana', mode: 'add', valuePerLevel: 100 }],
|
|
};
|
|
|
|
export const manaFlow: SkillV2Def = {
|
|
id: 'manaFlow', name: 'Mana Flow', description: 'Increases mana regeneration rate',
|
|
category: 'mana', maxLevel: 10, costPerLevel: 150, studyHours: 5,
|
|
effects: [{ stat: 'manaRegen', mode: 'add', valuePerLevel: 1 }],
|
|
};
|
|
|
|
export const manaOverflow: SkillV2Def = {
|
|
id: 'manaOverflow', name: 'Mana Overflow', description: 'Increases mana gained from clicks',
|
|
category: 'mana', maxLevel: 5, costPerLevel: 400, studyHours: 6,
|
|
prerequisites: { manaWell: 3 },
|
|
effects: [{ stat: 'clickMana', mode: 'multiply', valuePerLevel: 0.25 }],
|
|
};
|
|
|
|
export const manaTap: SkillV2Def = {
|
|
id: 'manaTap', name: 'Mana Tap', description: '+1 mana per click',
|
|
category: 'mana', maxLevel: 1, costPerLevel: 300, studyHours: 12,
|
|
effects: [{ stat: 'clickMana', mode: 'add', valuePerLevel: 1 }],
|
|
};
|
|
|
|
export const manaSurge: SkillV2Def = {
|
|
id: 'manaSurge', name: 'Mana Surge', description: '+3 mana per click',
|
|
category: 'mana', maxLevel: 1, costPerLevel: 800, studyHours: 36,
|
|
prerequisites: { manaTap: 1 },
|
|
effects: [{ stat: 'clickMana', mode: 'add', valuePerLevel: 3 }],
|
|
};
|
|
|
|
export const manaSpring: SkillV2Def = {
|
|
id: 'manaSpring', name: 'Mana Spring', description: '+2 mana regen',
|
|
category: 'mana', maxLevel: 1, costPerLevel: 600, studyHours: 24,
|
|
effects: [{ stat: 'manaRegen', mode: 'add', valuePerLevel: 2 }],
|
|
};
|
|
|
|
// ═══════════════════════════════════════════════════════════════════════
|
|
// STUDY SKILLS
|
|
// ═══════════════════════════════════════════════════════════════════════
|
|
export const quickLearner: SkillV2Def = {
|
|
id: 'quickLearner', name: 'Quick Learner', description: 'Increases study speed',
|
|
category: 'study', maxLevel: 10, costPerLevel: 250, studyHours: 4,
|
|
effects: [{ stat: 'studySpeed', mode: 'multiply', valuePerLevel: 0.10 }],
|
|
};
|
|
|
|
export const focusedMind: SkillV2Def = {
|
|
id: 'focusedMind', name: 'Focused Mind', description: 'Reduces study mana cost',
|
|
category: 'study', maxLevel: 10, costPerLevel: 300, studyHours: 5,
|
|
effects: [{ stat: 'studyCostMult', mode: 'multiply', valuePerLevel: -0.05 }],
|
|
};
|
|
|
|
export const knowledgeRetention: SkillV2Def = {
|
|
id: 'knowledgeRetention', name: 'Knowledge Retention', description: 'Preserves study progress on cancellation',
|
|
category: 'study', maxLevel: 3, costPerLevel: 350, studyHours: 5,
|
|
effects: [{ stat: 'progressRetention', mode: 'add', valuePerLevel: 0.20 }],
|
|
};
|
|
|
|
// ═══════════════════════════════════════════════════════════════════════
|
|
// MEDITATION SKILLS
|
|
// ═══════════════════════════════════════════════════════════════════════
|
|
export const meditation: SkillV2Def = {
|
|
id: 'meditation', name: 'Meditation Focus', description: 'Unlocks meditation regen boost (2.5x at 4hrs)',
|
|
category: 'mana', maxLevel: 1, costPerLevel: 400, studyHours: 6,
|
|
effects: [{ stat: 'meditationEfficiency', mode: 'multiply', valuePerLevel: 1.5 }],
|
|
};
|
|
|
|
export const deepTrance: SkillV2Def = {
|
|
id: 'deepTrance', name: 'Deep Trance', description: 'Extends meditation to 6hrs for 3x',
|
|
category: 'mana', maxLevel: 1, costPerLevel: 900, studyHours: 48,
|
|
prerequisites: { meditation: 1 },
|
|
effects: [{ stat: 'meditationEfficiency', mode: 'multiply', valuePerLevel: 1.8 }],
|
|
};
|
|
|
|
export const voidMeditation: SkillV2Def = {
|
|
id: 'voidMeditation', name: 'Void Meditation', description: 'Extends meditation to 8hrs for 5x',
|
|
category: 'mana', maxLevel: 1, costPerLevel: 1500, studyHours: 72,
|
|
prerequisites: { deepTrance: 1 },
|
|
effects: [{ stat: 'meditationEfficiency', mode: 'multiply', valuePerLevel: 2.5 }],
|
|
}; |