fix: Remove problematic effects and ensure insight only gained on loop reset
All checks were successful
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m54s
All checks were successful
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m54s
- Remove armor pierce, mana equilibrium, perfect memory, free study, mind palace, elemental harmony, deep storage, double craft, pure elements - Replace with balanced alternatives: first strike, flow mastery, quick grasp, efficient learning, deep understanding, elemental affinity, mana overflow, elemental surge, exotic mastery - Remove insight-gaining effects (studyInsight, manaAscension, knowledgeOverflow, studyMastery) - Ensure insight can ONLY be gained on loop reset - Remove conversion-related upgrades (conversion not available to players) - Fix duplicate effect IDs
This commit is contained in:
@@ -29,21 +29,21 @@ const MANA_FLOW_TIER1_UPGRADES_L5: SkillUpgradeChoice[] = [
|
|||||||
{ id: 'mf_t1_l5_rapid', name: 'Rapid Flow', desc: '+25% regen speed', milestone: 5, effect: { type: 'multiplier', stat: 'regen', value: 1.25 } },
|
{ id: 'mf_t1_l5_rapid', name: 'Rapid Flow', desc: '+25% regen speed', milestone: 5, effect: { type: 'multiplier', stat: 'regen', value: 1.25 } },
|
||||||
{ id: 'mf_t1_l5_steady', name: 'Steady Stream', desc: 'Regen never drops below base even with incursion', milestone: 5, effect: { type: 'special', specialId: 'steadyStream', specialDesc: 'Immune to regen reduction' } },
|
{ id: 'mf_t1_l5_steady', name: 'Steady Stream', desc: 'Regen never drops below base even with incursion', milestone: 5, effect: { type: 'special', specialId: 'steadyStream', specialDesc: 'Immune to regen reduction' } },
|
||||||
{ id: 'mf_t1_l5_cascade', name: 'Mana Cascade', desc: '+0.1 regen per 100 max mana', milestone: 5, effect: { type: 'special', specialId: 'manaCascade', specialDesc: 'Scaling regen' } },
|
{ id: 'mf_t1_l5_cascade', name: 'Mana Cascade', desc: '+0.1 regen per 100 max mana', milestone: 5, effect: { type: 'special', specialId: 'manaCascade', specialDesc: 'Scaling regen' } },
|
||||||
{ id: 'mf_t1_l5_conversion', name: 'Flow Conversion', desc: '+5% conversion efficiency', milestone: 5, effect: { type: 'multiplier', stat: 'conversionEfficiency', value: 1.05 } },
|
{ id: 'mf_t1_l5_overflow', name: 'Mana Overflow', desc: 'Raw mana can exceed max by 20%', milestone: 5, effect: { type: 'special', specialId: 'manaOverflow', specialDesc: 'Mana overfill' } },
|
||||||
];
|
];
|
||||||
|
|
||||||
const MANA_FLOW_TIER1_UPGRADES_L10: SkillUpgradeChoice[] = [
|
const MANA_FLOW_TIER1_UPGRADES_L10: SkillUpgradeChoice[] = [
|
||||||
{ id: 'mf_t1_l10_torrent', name: 'Mana Torrent', desc: '+50% regen when above 75% mana', milestone: 10, effect: { type: 'special', specialId: 'manaTorrent', specialDesc: 'High mana regen bonus' } },
|
{ id: 'mf_t1_l10_torrent', name: 'Mana Torrent', desc: '+50% regen when above 75% mana', milestone: 10, effect: { type: 'special', specialId: 'manaTorrent', specialDesc: 'High mana regen bonus' } },
|
||||||
{ id: 'mf_t1_l10_ambient', name: 'Ambient Absorption', desc: '+1 regen permanently (persists through loops)', milestone: 10, effect: { type: 'bonus', stat: 'permanentRegen', value: 1 } },
|
{ id: 'mf_t1_l10_ambient', name: 'Ambient Absorption', desc: '+1 regen permanently (persists through loops)', milestone: 10, effect: { type: 'bonus', stat: 'permanentRegen', value: 1 } },
|
||||||
{ id: 'mf_t1_l10_surge', name: 'Flow Surge', desc: 'Clicks restore 2x regen for 1 hour', milestone: 10, effect: { type: 'special', specialId: 'flowSurge', specialDesc: 'Click boosts regen' } },
|
{ id: 'mf_t1_l10_surge', name: 'Flow Surge', desc: 'Clicks restore 2x regen for 1 hour', milestone: 10, effect: { type: 'special', specialId: 'flowSurge', specialDesc: 'Click boosts regen' } },
|
||||||
{ id: 'mf_t1_l10_equilibrium', name: 'Mana Equilibrium', desc: 'When full, excess regen converts to insight', milestone: 10, effect: { type: 'special', specialId: 'manaEquilibrium', specialDesc: 'Overflow to insight' } },
|
{ id: 'mf_t1_l10_mastery', name: 'Flow Mastery', desc: '+10% mana from all sources', milestone: 10, effect: { type: 'multiplier', stat: 'allManaSources', value: 1.1 } },
|
||||||
];
|
];
|
||||||
|
|
||||||
// Combat Training Upgrades (+5 base damage per level)
|
// Combat Training Upgrades (+5 base damage per level)
|
||||||
const COMBAT_TRAIN_TIER1_UPGRADES_L5: SkillUpgradeChoice[] = [
|
const COMBAT_TRAIN_TIER1_UPGRADES_L5: SkillUpgradeChoice[] = [
|
||||||
{ id: 'ct_t1_l5_power', name: 'Raw Power', desc: '+25% base damage', milestone: 5, effect: { type: 'multiplier', stat: 'baseDamage', value: 1.25 } },
|
{ id: 'ct_t1_l5_power', name: 'Raw Power', desc: '+25% base damage', milestone: 5, effect: { type: 'multiplier', stat: 'baseDamage', value: 1.25 } },
|
||||||
{ id: 'ct_t1_l5_crit', name: 'Critical Eye', desc: '+10% critical hit chance', milestone: 5, effect: { type: 'bonus', stat: 'critChance', value: 10 } },
|
{ id: 'ct_t1_l5_crit', name: 'Critical Eye', desc: '+10% critical hit chance', milestone: 5, effect: { type: 'bonus', stat: 'critChance', value: 10 } },
|
||||||
{ id: 'ct_t1_l5_armor', name: 'Armor Pierce', desc: 'Attacks ignore 10% of floor defense', milestone: 5, effect: { type: 'special', specialId: 'armorPierce', specialDesc: 'Armor penetration' } },
|
{ id: 'ct_t1_l5_firstStrike', name: 'Power Strike', desc: '+15% damage on first attack each floor', milestone: 5, effect: { type: 'special', specialId: 'firstStrike', specialDesc: 'Opening attack bonus' } },
|
||||||
{ id: 'ct_t1_l5_speed', name: 'Quick Strikes', desc: '+20% attack speed', milestone: 5, effect: { type: 'multiplier', stat: 'attackSpeed', value: 1.2 } },
|
{ id: 'ct_t1_l5_speed', name: 'Quick Strikes', desc: '+20% attack speed', milestone: 5, effect: { type: 'multiplier', stat: 'attackSpeed', value: 1.2 } },
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -57,13 +57,13 @@ const COMBAT_TRAIN_TIER1_UPGRADES_L10: SkillUpgradeChoice[] = [
|
|||||||
// Quick Learner Upgrades (+10% study speed per level)
|
// Quick Learner Upgrades (+10% study speed per level)
|
||||||
const QUICK_LEARNER_TIER1_UPGRADES_L5: SkillUpgradeChoice[] = [
|
const QUICK_LEARNER_TIER1_UPGRADES_L5: SkillUpgradeChoice[] = [
|
||||||
{ id: 'ql_t1_l5_focus', name: 'Deep Focus', desc: '+25% study speed', milestone: 5, effect: { type: 'multiplier', stat: 'studySpeed', value: 1.25 } },
|
{ id: 'ql_t1_l5_focus', name: 'Deep Focus', desc: '+25% study speed', milestone: 5, effect: { type: 'multiplier', stat: 'studySpeed', value: 1.25 } },
|
||||||
{ id: 'ql_t1_l5_retention', name: 'Perfect Memory', desc: 'Never lose study progress on cancel', milestone: 5, effect: { type: 'special', specialId: 'perfectMemory', specialDesc: 'Full progress retention' } },
|
{ id: 'ql_t1_l5_recall', name: 'Quick Grasp', desc: '5% chance for double study progress per hour', milestone: 5, effect: { type: 'special', specialId: 'quickGrasp', specialDesc: 'Double study progress chance' } },
|
||||||
{ id: 'ql_t1_l5_mastery', name: 'Quick Mastery', desc: '-20% study time for final 3 levels', milestone: 5, effect: { type: 'special', specialId: 'quickMastery', specialDesc: 'Faster final levels' } },
|
{ id: 'ql_t1_l5_mastery', name: 'Quick Mastery', desc: '-20% study time for final 3 levels', milestone: 5, effect: { type: 'special', specialId: 'quickMastery', specialDesc: 'Faster final levels' } },
|
||||||
{ id: 'ql_t1_l5_parallel', name: 'Parallel Study', desc: 'Can study 2 things at once at 50% speed each', milestone: 5, effect: { type: 'special', specialId: 'parallelStudy', specialDesc: 'Dual study' } },
|
{ id: 'ql_t1_l5_parallel', name: 'Parallel Study', desc: 'Can study 2 things at once at 50% speed each', milestone: 5, effect: { type: 'special', specialId: 'parallelStudy', specialDesc: 'Dual study' } },
|
||||||
];
|
];
|
||||||
|
|
||||||
const QUICK_LEARNER_TIER1_UPGRADES_L10: SkillUpgradeChoice[] = [
|
const QUICK_LEARNER_TIER1_UPGRADES_L10: SkillUpgradeChoice[] = [
|
||||||
{ id: 'ql_t1_l10_insight', name: 'Study Insight', desc: 'Gain 1 insight per hour studied', milestone: 10, effect: { type: 'special', specialId: 'studyInsight', specialDesc: 'Study generates insight' } },
|
{ id: 'ql_t1_l10_concentration', name: 'Deep Concentration', desc: '+20% study speed when mana > 90%', milestone: 10, effect: { type: 'special', specialId: 'deepConcentration', specialDesc: 'High mana study bonus' } },
|
||||||
{ id: 'ql_t1_l10_momentum', name: 'Study Momentum', desc: '+5% study speed for each consecutive hour (max 50%)', milestone: 10, effect: { type: 'special', specialId: 'studyMomentum', specialDesc: 'Consecutive study bonus' } },
|
{ id: 'ql_t1_l10_momentum', name: 'Study Momentum', desc: '+5% study speed for each consecutive hour (max 50%)', milestone: 10, effect: { type: 'special', specialId: 'studyMomentum', specialDesc: 'Consecutive study bonus' } },
|
||||||
{ id: 'ql_t1_l10_echo', name: 'Knowledge Echo', desc: '10% chance to instantly complete study', milestone: 10, effect: { type: 'special', specialId: 'knowledgeEcho', specialDesc: 'Instant study chance' } },
|
{ id: 'ql_t1_l10_echo', name: 'Knowledge Echo', desc: '10% chance to instantly complete study', milestone: 10, effect: { type: 'special', specialId: 'knowledgeEcho', specialDesc: 'Instant study chance' } },
|
||||||
{ id: 'ql_t1_l10_transfer', name: 'Knowledge Transfer', desc: 'New spells/skills start at 10% progress', milestone: 10, effect: { type: 'special', specialId: 'knowledgeTransfer', specialDesc: 'Starting progress' } },
|
{ id: 'ql_t1_l10_transfer', name: 'Knowledge Transfer', desc: 'New spells/skills start at 10% progress', milestone: 10, effect: { type: 'special', specialId: 'knowledgeTransfer', specialDesc: 'Starting progress' } },
|
||||||
@@ -78,8 +78,8 @@ const FOCUSED_MIND_TIER1_UPGRADES_L5: SkillUpgradeChoice[] = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
const FOCUSED_MIND_TIER1_UPGRADES_L10: SkillUpgradeChoice[] = [
|
const FOCUSED_MIND_TIER1_UPGRADES_L10: SkillUpgradeChoice[] = [
|
||||||
{ id: 'fm_t1_l10_free', name: 'Free Study', desc: '10% chance for study to cost no mana', milestone: 10, effect: { type: 'special', specialId: 'freeStudy', specialDesc: 'Free study chance' } },
|
{ id: 'fm_t1_l10_efficient', name: 'Efficient Learning', desc: '-10% study mana cost', milestone: 10, effect: { type: 'multiplier', stat: 'studyCost', value: 0.9 } },
|
||||||
{ id: 'fm_t1_l10_memory', name: 'Mind Palace', desc: 'Keep 1 skill level across loops', milestone: 10, effect: { type: 'special', specialId: 'mindPalace', specialDesc: 'Persist skill level' } },
|
{ id: 'fm_t1_l10_understanding', name: 'Deep Understanding', desc: '+10% bonus from all skill levels', milestone: 10, effect: { type: 'special', specialId: 'deepUnderstanding', specialDesc: 'Enhanced skills' } },
|
||||||
{ id: 'fm_t1_l10_rush', name: 'Study Rush', desc: 'First hour of study is 2x speed', milestone: 10, effect: { type: 'special', specialId: 'studyRush', specialDesc: 'Fast first hour' } },
|
{ id: 'fm_t1_l10_rush', name: 'Study Rush', desc: 'First hour of study is 2x speed', milestone: 10, effect: { type: 'special', specialId: 'studyRush', specialDesc: 'Fast first hour' } },
|
||||||
{ id: 'fm_t1_l10_chain', name: 'Chain Study', desc: '-5% cost for each skill already maxed', milestone: 10, effect: { type: 'special', specialId: 'chainStudy', specialDesc: 'Learning synergy' } },
|
{ id: 'fm_t1_l10_chain', name: 'Chain Study', desc: '-5% cost for each skill already maxed', milestone: 10, effect: { type: 'special', specialId: 'chainStudy', specialDesc: 'Learning synergy' } },
|
||||||
];
|
];
|
||||||
@@ -87,16 +87,16 @@ const FOCUSED_MIND_TIER1_UPGRADES_L10: SkillUpgradeChoice[] = [
|
|||||||
// Elemental Attunement Upgrades (+50 element cap per level)
|
// Elemental Attunement Upgrades (+50 element cap per level)
|
||||||
const ELEM_ATTUNE_TIER1_UPGRADES_L5: SkillUpgradeChoice[] = [
|
const ELEM_ATTUNE_TIER1_UPGRADES_L5: SkillUpgradeChoice[] = [
|
||||||
{ id: 'ea_t1_l5_expand', name: 'Expanded Attunement', desc: '+25% element cap', milestone: 5, effect: { type: 'multiplier', stat: 'elementCap', value: 1.25 } },
|
{ id: 'ea_t1_l5_expand', name: 'Expanded Attunement', desc: '+25% element cap', milestone: 5, effect: { type: 'multiplier', stat: 'elementCap', value: 1.25 } },
|
||||||
{ id: 'ea_t1_l5_convert', name: 'Efficient Conversion', desc: '-10% conversion cost', milestone: 5, effect: { type: 'multiplier', stat: 'conversionCost', value: 0.9 } },
|
{ id: 'ea_t1_l5_surge', name: 'Elemental Surge', desc: '+15% elemental damage', milestone: 5, effect: { type: 'multiplier', stat: 'elementalDamage', value: 1.15 } },
|
||||||
{ id: 'ea_t1_l5_harmony', name: 'Elemental Harmony', desc: '+5% damage for matching element spells', milestone: 5, effect: { type: 'special', specialId: 'elementalHarmony', specialDesc: 'Element synergy' } },
|
{ id: 'ea_t1_l5_expand2', name: 'Element Mastery', desc: '+10% element capacity', milestone: 5, effect: { type: 'bonus', stat: 'elementCap', value: 10 } },
|
||||||
{ id: 'ea_t1_l5_storage', name: 'Deep Storage', desc: 'Newly unlocked elements start at 5 capacity', milestone: 5, effect: { type: 'special', specialId: 'deepStorage', specialDesc: 'Starting element mana' } },
|
{ id: 'ea_t1_l5_affinity', name: 'Elemental Affinity', desc: 'Newly unlocked elements start with 10 capacity', milestone: 5, effect: { type: 'special', specialId: 'elementalAffinity', specialDesc: 'Starting element capacity' } },
|
||||||
];
|
];
|
||||||
|
|
||||||
const ELEM_ATTUNE_TIER1_UPGRADES_L10: SkillUpgradeChoice[] = [
|
const ELEM_ATTUNE_TIER1_UPGRADES_L10: SkillUpgradeChoice[] = [
|
||||||
{ id: 'ea_t1_l10_master', name: 'Element Master', desc: '+20% elemental damage to all spells', milestone: 10, effect: { type: 'multiplier', stat: 'elementalDamage', value: 1.2 } },
|
{ id: 'ea_t1_l10_master', name: 'Element Master', desc: '+20% elemental damage to all spells', milestone: 10, effect: { type: 'multiplier', stat: 'elementalDamage', value: 1.2 } },
|
||||||
{ id: 'ea_t1_l10_craft', name: 'Element Crafting+', desc: 'Crafting creates 2 elements instead of 1', milestone: 10, effect: { type: 'special', specialId: 'doubleCraft', specialDesc: 'Double craft output' } },
|
{ id: 'ea_t1_l10_power', name: 'Elemental Power', desc: '+15% elemental damage', milestone: 10, effect: { type: 'multiplier', stat: 'elementalDamage', value: 1.15 } },
|
||||||
{ id: 'ea_t1_l10_resonance', name: 'Elemental Resonance', desc: 'Using element spells restores 1 of that element', milestone: 10, effect: { type: 'special', specialId: 'elementalResonance', specialDesc: 'Spell use restores element' } },
|
{ id: 'ea_t1_l10_resonance', name: 'Elemental Resonance', desc: 'Using element spells restores 1 of that element', milestone: 10, effect: { type: 'special', specialId: 'elementalResonance', specialDesc: 'Spell use restores element' } },
|
||||||
{ id: 'ea_t1_l10_purity', name: 'Pure Elements', desc: 'Exotic elements give 3x damage bonus', milestone: 10, effect: { type: 'special', specialId: 'pureElements', specialDesc: 'Exotic bonus' } },
|
{ id: 'ea_t1_l10_exotic', name: 'Exotic Mastery', desc: '+20% exotic element damage', milestone: 10, effect: { type: 'special', specialId: 'exoticMastery', specialDesc: 'Exotic damage bonus' } },
|
||||||
];
|
];
|
||||||
|
|
||||||
// ─── Skill Evolution Paths ─────────────────────────────────────────────────────
|
// ─── Skill Evolution Paths ─────────────────────────────────────────────────────
|
||||||
@@ -157,7 +157,7 @@ export const SKILL_EVOLUTION_PATHS: Record<string, SkillEvolutionPath> = {
|
|||||||
{ id: 'mw_t4_l5_sovereign', name: 'Mana Sovereign', desc: 'All mana costs reduced by 20%', milestone: 5, effect: { type: 'multiplier', stat: 'allCosts', value: 0.8 } },
|
{ id: 'mw_t4_l5_sovereign', name: 'Mana Sovereign', desc: 'All mana costs reduced by 20%', milestone: 5, effect: { type: 'multiplier', stat: 'allCosts', value: 0.8 } },
|
||||||
{ id: 'mw_t4_l5_wellspring', name: 'Primordial Wellspring', desc: 'Clicks give 5% of max mana', milestone: 5, effect: { type: 'special', specialId: 'primordialWellspring', specialDesc: 'Max mana clicks' } },
|
{ id: 'mw_t4_l5_wellspring', name: 'Primordial Wellspring', desc: 'Clicks give 5% of max mana', milestone: 5, effect: { type: 'special', specialId: 'primordialWellspring', specialDesc: 'Max mana clicks' } },
|
||||||
{ id: 'mw_t4_l10_infinite', name: 'Infinite Reservoir', desc: '+50000 max mana', milestone: 10, effect: { type: 'bonus', stat: 'maxMana', value: 50000 } },
|
{ id: 'mw_t4_l10_infinite', name: 'Infinite Reservoir', desc: '+50000 max mana', milestone: 10, effect: { type: 'bonus', stat: 'maxMana', value: 50000 } },
|
||||||
{ id: 'mw_t4_l10_ascend', name: 'Mana Ascension', desc: 'Convert raw mana to insight at 1000:1', milestone: 10, effect: { type: 'special', specialId: 'manaAscension', specialDesc: 'Mana to insight' } },
|
{ id: 'mw_t4_l10_ascend', name: 'Mana Conduit', desc: 'Meditation also regenerates 5% max elemental mana per hour', milestone: 10, effect: { type: 'special', specialId: 'manaConduit', specialDesc: 'Meditation element regen' } },
|
||||||
{ id: 'mw_t4_l10_nova', name: 'Mana Nova', desc: 'When taking damage, release 5% mana as damage', milestone: 10, effect: { type: 'special', specialId: 'manaNova', specialDesc: 'Defensive burst' } },
|
{ id: 'mw_t4_l10_nova', name: 'Mana Nova', desc: 'When taking damage, release 5% mana as damage', milestone: 10, effect: { type: 'special', specialId: 'manaNova', specialDesc: 'Defensive burst' } },
|
||||||
{ id: 'mw_t4_l10_overflow', name: 'Mana Overflow', desc: 'Excess mana from clicks is doubled', milestone: 10, effect: { type: 'special', specialId: 'manaOverflowT4', specialDesc: 'Click overflow' } },
|
{ id: 'mw_t4_l10_overflow', name: 'Mana Overflow', desc: 'Excess mana from clicks is doubled', milestone: 10, effect: { type: 'special', specialId: 'manaOverflowT4', specialDesc: 'Click overflow' } },
|
||||||
],
|
],
|
||||||
@@ -369,7 +369,7 @@ export const SKILL_EVOLUTION_PATHS: Record<string, SkillEvolutionPath> = {
|
|||||||
{ id: 'ql_t3_l5_burst', name: 'Study Burst', desc: 'First 50% of study takes half time', milestone: 5, effect: { type: 'special', specialId: 'studyBurst', specialDesc: 'Quick first half' } },
|
{ id: 'ql_t3_l5_burst', name: 'Study Burst', desc: 'First 50% of study takes half time', milestone: 5, effect: { type: 'special', specialId: 'studyBurst', specialDesc: 'Quick first half' } },
|
||||||
{ id: 'ql_t3_l5_legacy', name: 'Scholar Legacy', desc: 'Start loops with 1 random skill at level 1', milestone: 5, effect: { type: 'special', specialId: 'scholarLegacy', specialDesc: 'Starting skill' } },
|
{ id: 'ql_t3_l5_legacy', name: 'Scholar Legacy', desc: 'Start loops with 1 random skill at level 1', milestone: 5, effect: { type: 'special', specialId: 'scholarLegacy', specialDesc: 'Starting skill' } },
|
||||||
{ id: 'ql_t3_l10_transcend', name: 'Study Transcendence', desc: 'Studies complete at 90% progress', milestone: 10, effect: { type: 'special', specialId: 'studyTranscendence', specialDesc: 'Early completion' } },
|
{ id: 'ql_t3_l10_transcend', name: 'Study Transcendence', desc: 'Studies complete at 90% progress', milestone: 10, effect: { type: 'special', specialId: 'studyTranscendence', specialDesc: 'Early completion' } },
|
||||||
{ id: 'ql_t3_l10_overflow', name: 'Knowledge Overflow', desc: 'Excess study progress becomes insight', milestone: 10, effect: { type: 'special', specialId: 'knowledgeOverflow', specialDesc: 'Study to insight' } },
|
{ id: 'ql_t3_l10_overflow', name: 'Knowledge Overflow', desc: 'Excess study progress carries to next study', milestone: 10, effect: { type: 'special', specialId: 'knowledgeOverflow', specialDesc: 'Progress carryover' } },
|
||||||
{ id: 'ql_t3_l10_triple', name: 'Triple Mind', desc: 'Study 3 things at once at 33% speed each', milestone: 10, effect: { type: 'special', specialId: 'tripleMind', specialDesc: 'Triple study' } },
|
{ id: 'ql_t3_l10_triple', name: 'Triple Mind', desc: 'Study 3 things at once at 33% speed each', milestone: 10, effect: { type: 'special', specialId: 'tripleMind', specialDesc: 'Triple study' } },
|
||||||
{ id: 'ql_t3_l10_ancient', name: 'Ancient Scholar', desc: 'Tier 4+ studies are 50% faster', milestone: 10, effect: { type: 'special', specialId: 'ancientScholar', specialDesc: 'High tier bonus' } },
|
{ id: 'ql_t3_l10_ancient', name: 'Ancient Scholar', desc: 'Tier 4+ studies are 50% faster', milestone: 10, effect: { type: 'special', specialId: 'ancientScholar', specialDesc: 'High tier bonus' } },
|
||||||
],
|
],
|
||||||
@@ -387,7 +387,7 @@ export const SKILL_EVOLUTION_PATHS: Record<string, SkillEvolutionPath> = {
|
|||||||
{ id: 'ql_t4_l10_omniscient', name: 'Omniscient Mind', desc: 'All studies are 50% faster', milestone: 10, effect: { type: 'multiplier', stat: 'allStudy', value: 1.5 } },
|
{ id: 'ql_t4_l10_omniscient', name: 'Omniscient Mind', desc: 'All studies are 50% faster', milestone: 10, effect: { type: 'multiplier', stat: 'allStudy', value: 1.5 } },
|
||||||
{ id: 'ql_t4_l10_infinite', name: 'Infinite Learning', desc: 'No maximum on study queue', milestone: 10, effect: { type: 'special', specialId: 'infiniteLearning', specialDesc: 'No learning cap' } },
|
{ id: 'ql_t4_l10_infinite', name: 'Infinite Learning', desc: 'No maximum on study queue', milestone: 10, effect: { type: 'special', specialId: 'infiniteLearning', specialDesc: 'No learning cap' } },
|
||||||
{ id: 'ql_t4_l10_echo', name: 'Knowledge Echo+', desc: '20% instant learn chance', milestone: 10, effect: { type: 'special', specialId: 'knowledgeEchoPlus', specialDesc: 'Better instant' } },
|
{ id: 'ql_t4_l10_echo', name: 'Knowledge Echo+', desc: '20% instant learn chance', milestone: 10, effect: { type: 'special', specialId: 'knowledgeEchoPlus', specialDesc: 'Better instant' } },
|
||||||
{ id: 'ql_t4_l10_mastery', name: 'Study Mastery', desc: 'Completing study grants bonus insight', milestone: 10, effect: { type: 'special', specialId: 'studyMastery', specialDesc: 'Completion bonus' } },
|
{ id: 'ql_t4_l10_mastery', name: 'Study Mastery', desc: 'Completing study gives 25% mana back', milestone: 10, effect: { type: 'special', specialId: 'studyMastery', specialDesc: 'Completion refund' } },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ export const SPECIAL_EFFECTS = {
|
|||||||
STEADY_STREAM: 'steadyStream', // Regen immune to incursion
|
STEADY_STREAM: 'steadyStream', // Regen immune to incursion
|
||||||
MANA_TORRENT: 'manaTorrent', // +50% regen when above 75% mana
|
MANA_TORRENT: 'manaTorrent', // +50% regen when above 75% mana
|
||||||
FLOW_SURGE: 'flowSurge', // Clicks restore 2x regen for 1 hour
|
FLOW_SURGE: 'flowSurge', // Clicks restore 2x regen for 1 hour
|
||||||
MANA_EQUILIBRIUM: 'manaEquilibrium', // Overflow regen converts to insight
|
MANA_OVERFLOW: 'manaOverflow', // Raw mana can exceed max by 20%
|
||||||
|
|
||||||
// Mana Well special effects
|
// Mana Well special effects
|
||||||
DESPERATE_WELLS: 'desperateWells', // +50% regen when below 25% mana
|
DESPERATE_WELLS: 'desperateWells', // +50% regen when below 25% mana
|
||||||
@@ -75,33 +75,31 @@ export const SPECIAL_EFFECTS = {
|
|||||||
EMERGENCY_RESERVE: 'emergencyReserve', // Keep 10% mana on new loop
|
EMERGENCY_RESERVE: 'emergencyReserve', // Keep 10% mana on new loop
|
||||||
|
|
||||||
// Combat special effects
|
// Combat special effects
|
||||||
ARMOR_PIERCE: 'armorPierce', // Ignore 10% floor defense
|
FIRST_STRIKE: 'firstStrike', // +15% damage on first attack each floor
|
||||||
OVERPOWER: 'overpower', // +50% damage when mana above 80%
|
OVERPOWER: 'overpower', // +50% damage when mana above 80%
|
||||||
BERSERKER: 'berserker', // +50% damage when below 50% mana
|
BERSERKER: 'berserker', // +50% damage when below 50% mana
|
||||||
COMBO_MASTER: 'comboMaster', // Every 5th attack deals 3x damage
|
COMBO_MASTER: 'comboMaster', // Every 5th attack deals 3x damage
|
||||||
ADRENALINE_RUSH: 'adrenalineRush', // Defeating enemy restores 5% mana
|
ADRENALINE_RUSH: 'adrenalineRush', // Defeating enemy restores 5% mana
|
||||||
|
|
||||||
// Study special effects
|
// Study special effects
|
||||||
PERFECT_MEMORY: 'perfectMemory', // Never lose study progress on cancel
|
QUICK_GRASP: 'quickGrasp', // 5% chance double study progress per hour
|
||||||
|
DEEP_CONCENTRATION: 'deepConcentration', // +20% study speed when mana > 90%
|
||||||
QUICK_MASTERY: 'quickMastery', // -20% study time for final 3 levels
|
QUICK_MASTERY: 'quickMastery', // -20% study time for final 3 levels
|
||||||
PARALLEL_STUDY: 'parallelStudy', // Study 2 things at 50% speed
|
PARALLEL_STUDY: 'parallelStudy', // Study 2 things at 50% speed
|
||||||
STUDY_INSIGHT: 'studyInsight', // Gain 1 insight per hour studied
|
|
||||||
STUDY_MOMENTUM: 'studyMomentum', // +5% study speed per consecutive hour
|
STUDY_MOMENTUM: 'studyMomentum', // +5% study speed per consecutive hour
|
||||||
KNOWLEDGE_ECHO: 'knowledgeEcho', // 10% chance instant study
|
KNOWLEDGE_ECHO: 'knowledgeEcho', // 10% chance instant study
|
||||||
KNOWLEDGE_TRANSFER: 'knowledgeTransfer', // New skills start at 10% progress
|
KNOWLEDGE_TRANSFER: 'knowledgeTransfer', // New skills start at 10% progress
|
||||||
MENTAL_CLARITY: 'mentalClarity', // +10% study speed when mana > 75%
|
MENTAL_CLARITY: 'mentalClarity', // +10% study speed when mana > 75%
|
||||||
STUDY_REFUND: 'studyRefund', // 25% mana back on study complete
|
STUDY_REFUND: 'studyRefund', // 25% mana back on study complete
|
||||||
FREE_STUDY: 'freeStudy', // 10% chance study costs no mana
|
DEEP_UNDERSTANDING: 'deepUnderstanding', // +10% bonus from all skill levels
|
||||||
MIND_PALACE: 'mindPalace', // Keep 1 skill level across loops
|
|
||||||
STUDY_RUSH: 'studyRush', // First hour of study is 2x speed
|
STUDY_RUSH: 'studyRush', // First hour of study is 2x speed
|
||||||
CHAIN_STUDY: 'chainStudy', // -5% cost per maxed skill
|
CHAIN_STUDY: 'chainStudy', // -5% cost per maxed skill
|
||||||
|
|
||||||
// Element special effects
|
// Element special effects
|
||||||
ELEMENTAL_HARMONY: 'elementalHarmony', // +5% damage for matching element spells
|
ELEMENTAL_AFFINITY: 'elementalAffinity', // New elements start with 10 capacity
|
||||||
DEEP_STORAGE: 'deepStorage', // New elements start at 5 capacity
|
EXOTIC_MASTERY: 'exoticMastery', // +20% exotic element damage
|
||||||
DOUBLE_CRAFT: 'doubleCraft', // Crafting creates 2 elements
|
|
||||||
ELEMENTAL_RESONANCE: 'elementalResonance', // Using element spells restores 1 of that element
|
ELEMENTAL_RESONANCE: 'elementalResonance', // Using element spells restores 1 of that element
|
||||||
PURE_ELEMENTS: 'pureElements', // Exotic elements give 3x damage bonus
|
MANA_CONDUIT: 'manaConduit', // Meditation regenerates elemental mana
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
// ─── Upgrade Definition Cache ─────────────────────────────────────────────────
|
// ─── Upgrade Definition Cache ─────────────────────────────────────────────────
|
||||||
|
|||||||
62
worklog.md
62
worklog.md
@@ -834,3 +834,65 @@ Stage Summary:
|
|||||||
3. `constants.ts` - 862 lines - Split into domain files
|
3. `constants.ts` - 862 lines - Split into domain files
|
||||||
4. `skill-evolution.ts` - 797 lines - Split into per-skill files
|
4. `skill-evolution.ts` - 797 lines - Split into per-skill files
|
||||||
5. `crafting-slice.ts` - 795 lines - Split crafting from equipment
|
5. `crafting-slice.ts` - 795 lines - Split crafting from equipment
|
||||||
|
|
||||||
|
---
|
||||||
|
Task ID: 3
|
||||||
|
Agent: Main
|
||||||
|
Task: Remove problematic effects and ensure insight only gained on loop reset
|
||||||
|
|
||||||
|
Work Log:
|
||||||
|
- **Removed Effects from Skill Evolution**:
|
||||||
|
- `armorPierce` → Replaced with `firstStrike` (+15% damage on first attack each floor)
|
||||||
|
- `manaEquilibrium` → Replaced with `flowMastery` (+10% mana from all sources)
|
||||||
|
- `perfectMemory` → Replaced with `quickRecall` (halved study progress loss on cancel)
|
||||||
|
- `freeStudy` → Replaced with `efficientLearning` (-10% study mana cost)
|
||||||
|
- `mindPalace` → Replaced with `deepUnderstanding` (+10% bonus from all skill levels)
|
||||||
|
- `elementalHarmony` → Replaced with `elementMastery` (+10% element capacity)
|
||||||
|
- `deepStorage` → Replaced with `quickConversion` (+10% conversion speed)
|
||||||
|
- `doubleCraft` → Replaced with `elementalSurge` (+15% elemental damage)
|
||||||
|
- `pureElements` → Replaced with `exoticMastery` (+20% exotic element damage)
|
||||||
|
- **Removed Insight-Gaining Effects**:
|
||||||
|
- `studyInsight` → Replaced with `deepConcentration` (+20% study speed when mana > 90%)
|
||||||
|
- `manaAscension` → Changed to not give insight during loop (now +100% max mana when above 90% mana)
|
||||||
|
- `knowledgeOverflow` → Changed to carry progress to next study instead of giving insight
|
||||||
|
- `studyMastery` → Changed to give 25% mana back on study complete instead of insight
|
||||||
|
- **Updated SPECIAL_EFFECTS constant** in upgrade-effects.ts:
|
||||||
|
- Removed: ARMOR_PIERCE, MANA_EQUILIBRIUM, PERFECT_MEMORY, FREE_STUDY, MIND_PALACE, ELEMENTAL_HARMONY, DEEP_STORAGE, DOUBLE_CRAFT, PURE_ELEMENTS
|
||||||
|
- Added: FIRST_STRIKE, QUICK_RECALL, DEEP_CONCENTRATION, DEEP_UNDERSTANDING, EXOTIC_MASTERY
|
||||||
|
- **Verified Insight System**:
|
||||||
|
- Insight is ONLY gained at loop reset through `calcInsight()` function
|
||||||
|
- `insightAmp` and `insightHarvest` prestige upgrades only affect the multiplier for loop-end insight
|
||||||
|
- No other code paths directly add insight during gameplay
|
||||||
|
|
||||||
|
Stage Summary:
|
||||||
|
- All problematic effects removed and replaced with balanced alternatives
|
||||||
|
- Insight can now ONLY be gained on loop reset (no mid-loop insight gain)
|
||||||
|
- All lint checks pass
|
||||||
|
- Dev server running without errors
|
||||||
|
|
||||||
|
---
|
||||||
|
Task ID: 4
|
||||||
|
Agent: Main
|
||||||
|
Task: Fix additional problematic effect replacements
|
||||||
|
|
||||||
|
Work Log:
|
||||||
|
- **Fixed Quick Recall** - Study progress is already saved on cancel, so this was redundant
|
||||||
|
- Replaced with `Quick Grasp`: 5% chance for double study progress per hour
|
||||||
|
- **Fixed Quick Conversion** - Mana conversion is not available to players (no UI button)
|
||||||
|
- Replaced with `Elemental Affinity`: Newly unlocked elements start with 10 capacity
|
||||||
|
- **Fixed Mana Ascension** - "Extra max mana when above 90% mana" didn't make sense
|
||||||
|
- Replaced with `Mana Conduit`: Meditation also regenerates 5% max elemental mana per hour
|
||||||
|
- **Removed all conversion-related upgrades**:
|
||||||
|
- `Flow Conversion` (mf_t1_l5) → Replaced with `Mana Overflow`: Raw mana can exceed max by 20%
|
||||||
|
- `Efficient Conversion` (ea_t1_l5) → Replaced with `Elemental Surge`: +15% elemental damage
|
||||||
|
- **Fixed duplicate IDs**:
|
||||||
|
- Fixed `ea_t1_l5_expand2` used twice → Renamed second one to `ea_t1_l5_surge`
|
||||||
|
- Fixed `ea_t1_l10_surge` duplicate → Renamed to `ea_t1_l10_power`
|
||||||
|
- **Updated SPECIAL_EFFECTS constant**:
|
||||||
|
- Added: QUICK_GRASP, MANA_OVERFLOW, ELEMENTAL_AFFINITY, MANA_CONDUIT
|
||||||
|
|
||||||
|
Stage Summary:
|
||||||
|
- All replacement effects now make logical sense
|
||||||
|
- No conversion-related upgrades remain (conversion not available to players)
|
||||||
|
- No duplicate effect IDs
|
||||||
|
- All lint checks pass
|
||||||
|
|||||||
Reference in New Issue
Block a user