FEATURE: Add base discipline for XP accumulation improvement #167

Closed
opened 2026-05-27 17:28:12 +02:00 by Anexim · 1 comment
Owner

Feature Request

There should be a base discipline to improve XP accumulation so the player can improve other disciplines faster.

Current State

No discipline boosts XP gain. Each active discipline gains exactly +1 XP per tick (hardcoded in discipline-slice.ts at the XP increment line). The XP gain loop is completely decoupled from the bonus/effect system.

What Needs to Change (minimum 4 files)

  1. src/lib/game/data/disciplines/base.ts — Add a new discipline with a stat bonus key like disciplineXpBonus
  2. src/lib/game/effects/discipline-effects.ts:17-27 — Register the new key in KNOWN_BONUS_STATS
  3. src/lib/game/stores/discipline-slice.ts — Modify the +1 XP line to read and apply the bonus from discipline effects (currently no mechanism exists to do this)
  4. src/lib/game/effects.ts — Consume the new stat key in computeAllEffects() so it's available during tick processing

Design Notes

  • The concurrent discipline limit already scales with total XP (+1 slot per 500 XP)
  • The new discipline should use the same statBonus continuous scaling formula: baseValue * (XP/scalingFactor)^0.65
  • Could be a flat XP multiplier or additive bonus per tick
## Feature Request There should be a base discipline to improve XP accumulation so the player can improve other disciplines faster. ## Current State No discipline boosts XP gain. Each active discipline gains **exactly +1 XP per tick** (hardcoded in `discipline-slice.ts` at the XP increment line). The XP gain loop is completely decoupled from the bonus/effect system. ## What Needs to Change (minimum 4 files) 1. **`src/lib/game/data/disciplines/base.ts`** — Add a new discipline with a stat bonus key like `disciplineXpBonus` 2. **`src/lib/game/effects/discipline-effects.ts:17-27`** — Register the new key in `KNOWN_BONUS_STATS` 3. **`src/lib/game/stores/discipline-slice.ts`** — Modify the `+1 XP` line to read and apply the bonus from discipline effects (currently no mechanism exists to do this) 4. **`src/lib/game/effects.ts`** — Consume the new stat key in `computeAllEffects()` so it's available during tick processing ## Design Notes - The concurrent discipline limit already scales with total XP (+1 slot per 500 XP) - The new discipline should use the same `statBonus` continuous scaling formula: `baseValue * (XP/scalingFactor)^0.65` - Could be a flat XP multiplier or additive bonus per tick
Anexim added the ai:todo label 2026-05-27 17:28:12 +02:00
n8n-gitea was assigned by Anexim 2026-05-27 17:28:12 +02:00
Author
Owner

Fixed in commit 8cebea9 + b5996d5. Added Meditative Mastery base discipline with disciplineXpBonus stat that increases all discipline XP gain/tick. Wired into tick pipeline with inline calculation to avoid circular dependency.

Fixed in commit 8cebea9 + b5996d5. Added Meditative Mastery base discipline with disciplineXpBonus stat that increases all discipline XP gain/tick. Wired into tick pipeline with inline calculation to avoid circular dependency.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Anexim/Mana-Loop#167