46 lines
2.1 KiB
Markdown
46 lines
2.1 KiB
Markdown
# Sub-Task 10 Progress: Essence Refining Investigation
|
|
|
|
## Status: Completed
|
|
|
|
## Completed Steps
|
|
- [x] Locate Essence Refining effect logic
|
|
- [x] List all enchantment types in the game
|
|
- [x] Test Essence Refining on each enchantment type
|
|
- [x] Document compatible/incompatible types
|
|
- [x] Fix or flag incompatible cases
|
|
- [x] Write findings to essence_refining_findings.md
|
|
- [x] Commit and push changes
|
|
|
|
## Summary of Findings
|
|
**Bug 15 Confirmed**: The `Essence Refining` skill and all `enchantPower` perks are NOT WORKING.
|
|
|
|
### Root Cause
|
|
1. `enchantPower` stat is set by skills/perks but never stored in `ComputedEffects`
|
|
2. `enchantPower` multiplier is never applied to enchantment effects in `computeEquipmentEffects()`
|
|
|
|
### Enchantment Type Compatibility
|
|
| Category | Effect Type | Compatible with Essence Refining | Notes |
|
|
|----------|-------------|----------------------------------|-------|
|
|
| Spell | `spell` | NO | Grants spell access, no numeric values |
|
|
| Mana | `bonus` | YES | +50 mana, +1 regen, etc. should be multiplied |
|
|
| Combat | `bonus`, `multiplier` | YES | +5 damage, +10% damage, etc. should be scaled |
|
|
| Elemental | `special` | PARTIAL | Special effects need separate handling |
|
|
| Defense | (empty) | N/A | No effects defined |
|
|
| Utility | `multiplier` | YES | +10% study speed, etc. should be scaled |
|
|
| Special | `special`, `multiplier` | PARTIAL | `guardianDamage` can be scaled, pure specials cannot |
|
|
|
|
### Files to Fix
|
|
1. `/src/lib/game/upgrade-effects.ts` - Add `enchantPower` to `ComputedEffects` and handle in `computeEffects()`
|
|
2. `/src/lib/game/effects.ts` - Apply `enchantPower` multiplier to equipment effects
|
|
|
|
### Next Steps
|
|
The findings have been documented in `essence_refining_findings.md`. A developer should implement the fix by:
|
|
1. Adding `enchantPower: number` to `ComputedEffects` interface
|
|
2. Handling `enchantPower` case in `computeEffects()` switch statement
|
|
3. Applying `enchantPower` multiplier in `computeEquipmentEffects()`
|
|
|
|
## Notes
|
|
- Finding date: 2025-01-16
|
|
- Bug verified by code inspection
|
|
- No runtime testing needed - the code clearly doesn't apply the multiplier
|