[Critical] [Bug] Enchanter enchant-1 infinite perk interval is 50 instead of 150 — 3× power overshoot #325

Closed
opened 2026-06-08 16:02:44 +02:00 by Anexim · 1 comment
Owner

Spec: docs/specs/attunements/enchanter/enchanter-spec.md

Discrepancy found:

DISCREPANCY #1 [CRITICAL — Game Balance] — enchant-1 infinite perk interval wrong

  • File: src/lib/game/data/disciplines/enchanter.ts
  • Discipline: enchant-crafting → perk enchant-1 (infinite type)
  • Spec says: "repeats every 150 XP" → interval should be 150
  • Code has: value: 50
  • Impact: calculatePerkTier uses value as the interval divisor: Math.floor((XP - Threshold) / interval) + 1. With value: 50, the perk grants +5 enchantPower every 50 XP past threshold instead of every 150 XP. This makes the perk 3× more powerful than spec'd.
  • At 300 XP: code grants 3 tiers (+15) vs spec's 1 tier (+5)
  • At 600 XP: code grants 9 tiers (+45) vs spec's 3 tiers (+15)
  • Fix: Change value: 50 to value: 150 on the enchant-1 perk

All other fields verified as 100% match:

  • Attunement definition (id, slot, icon, color, primaryMana, regen, conversionRate, capabilities, skillCategories)
  • All 10 disciplines present with correct fields
  • All perk thresholds, types, and unlock targets
  • Dependency chains
  • Discipline effects wiring
**Spec:** `docs/specs/attunements/enchanter/enchanter-spec.md` **Discrepancy found:** ### DISCREPANCY #1 [CRITICAL — Game Balance] — `enchant-1` infinite perk interval wrong - **File:** `src/lib/game/data/disciplines/enchanter.ts` - **Discipline:** `enchant-crafting` → perk `enchant-1` (infinite type) - **Spec says:** "repeats every 150 XP" → interval should be **150** - **Code has:** `value: 50` - **Impact:** `calculatePerkTier` uses `value` as the interval divisor: `Math.floor((XP - Threshold) / interval) + 1`. With `value: 50`, the perk grants +5 enchantPower every 50 XP past threshold instead of every 150 XP. This makes the perk **3× more powerful** than spec'd. - **At 300 XP:** code grants 3 tiers (+15) vs spec's 1 tier (+5) - **At 600 XP:** code grants 9 tiers (+45) vs spec's 3 tiers (+15) - **Fix:** Change `value: 50` to `value: 150` on the `enchant-1` perk **All other fields verified as 100% match:** - Attunement definition (id, slot, icon, color, primaryMana, regen, conversionRate, capabilities, skillCategories) ✅ - All 10 disciplines present with correct fields ✅ - All perk thresholds, types, and unlock targets ✅ - Dependency chains ✅ - Discipline effects wiring ✅
Anexim added the ai:todo label 2026-06-08 16:02:44 +02:00
n8n-gitea was assigned by Anexim 2026-06-08 16:02:44 +02:00
Anexim added ai:in-progress and removed ai:todo labels 2026-06-08 20:23:34 +02:00
Anexim added ai:done and removed ai:in-progress labels 2026-06-08 20:24:35 +02:00
Author
Owner

Fixed enchant-1 infinite perk interval from 50 to 150 in src/lib/game/data/disciplines/enchanter.ts to match spec. All 1069 tests pass.

Fixed enchant-1 infinite perk interval from 50 to 150 in src/lib/game/data/disciplines/enchanter.ts to match spec. All 1069 tests pass.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Anexim/Mana-Loop#325