From 8a62a4faaff0533dea0a9f03e19f6f99d9ab59f4 Mon Sep 17 00:00:00 2001 From: zhipu Date: Fri, 27 Mar 2026 13:55:26 +0000 Subject: [PATCH] fix: Remove problematic effects and ensure insight only gained on loop reset - 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 --- src/lib/game/skill-evolution.ts | 30 ++++++++-------- src/lib/game/upgrade-effects.ts | 18 +++++----- worklog.md | 62 +++++++++++++++++++++++++++++++++ 3 files changed, 85 insertions(+), 25 deletions(-) diff --git a/src/lib/game/skill-evolution.ts b/src/lib/game/skill-evolution.ts index 2ddc54d..af67b8b 100755 --- a/src/lib/game/skill-evolution.ts +++ b/src/lib/game/skill-evolution.ts @@ -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_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_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[] = [ { 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_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) 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_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 } }, ]; @@ -57,13 +57,13 @@ const COMBAT_TRAIN_TIER1_UPGRADES_L10: SkillUpgradeChoice[] = [ // Quick Learner Upgrades (+10% study speed per level) 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_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_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[] = [ - { 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_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' } }, @@ -78,8 +78,8 @@ const FOCUSED_MIND_TIER1_UPGRADES_L5: 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_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_efficient', name: 'Efficient Learning', desc: '-10% study mana cost', milestone: 10, effect: { type: 'multiplier', stat: 'studyCost', value: 0.9 } }, + { 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_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) 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_convert', name: 'Efficient Conversion', desc: '-10% conversion cost', milestone: 5, effect: { type: 'multiplier', stat: 'conversionCost', value: 0.9 } }, - { 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_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_surge', name: 'Elemental Surge', desc: '+15% elemental damage', milestone: 5, effect: { type: 'multiplier', stat: 'elementalDamage', value: 1.15 } }, + { 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_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[] = [ { 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_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 ───────────────────────────────────────────────────── @@ -157,7 +157,7 @@ export const SKILL_EVOLUTION_PATHS: Record = { { 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_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_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 = { { 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_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_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 = { { 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_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' } }, ], }, { diff --git a/src/lib/game/upgrade-effects.ts b/src/lib/game/upgrade-effects.ts index 559fb83..b6c1da3 100755 --- a/src/lib/game/upgrade-effects.ts +++ b/src/lib/game/upgrade-effects.ts @@ -67,7 +67,7 @@ export const SPECIAL_EFFECTS = { STEADY_STREAM: 'steadyStream', // Regen immune to incursion MANA_TORRENT: 'manaTorrent', // +50% regen when above 75% mana 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 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 // 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% BERSERKER: 'berserker', // +50% damage when below 50% mana COMBO_MASTER: 'comboMaster', // Every 5th attack deals 3x damage ADRENALINE_RUSH: 'adrenalineRush', // Defeating enemy restores 5% mana // 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 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 KNOWLEDGE_ECHO: 'knowledgeEcho', // 10% chance instant study KNOWLEDGE_TRANSFER: 'knowledgeTransfer', // New skills start at 10% progress MENTAL_CLARITY: 'mentalClarity', // +10% study speed when mana > 75% STUDY_REFUND: 'studyRefund', // 25% mana back on study complete - FREE_STUDY: 'freeStudy', // 10% chance study costs no mana - MIND_PALACE: 'mindPalace', // Keep 1 skill level across loops + DEEP_UNDERSTANDING: 'deepUnderstanding', // +10% bonus from all skill levels STUDY_RUSH: 'studyRush', // First hour of study is 2x speed CHAIN_STUDY: 'chainStudy', // -5% cost per maxed skill // Element special effects - ELEMENTAL_HARMONY: 'elementalHarmony', // +5% damage for matching element spells - DEEP_STORAGE: 'deepStorage', // New elements start at 5 capacity - DOUBLE_CRAFT: 'doubleCraft', // Crafting creates 2 elements + ELEMENTAL_AFFINITY: 'elementalAffinity', // New elements start with 10 capacity + EXOTIC_MASTERY: 'exoticMastery', // +20% exotic element damage 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; // ─── Upgrade Definition Cache ───────────────────────────────────────────────── diff --git a/worklog.md b/worklog.md index 9b2587c..973017d 100755 --- a/worklog.md +++ b/worklog.md @@ -834,3 +834,65 @@ Stage Summary: 3. `constants.ts` - 862 lines - Split into domain files 4. `skill-evolution.ts` - 797 lines - Split into per-skill files 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