Character Progression
Character Progression
Section titled “Character Progression”Characters gain experience points (XP) and level up over time. Each level-up grants distributable attribute points that players spend to customize their character.
XP Sources
Section titled “XP Sources”| Source | Amount |
|---|---|
| Combat kill | Enemy’s xpReward value, split among participants |
| Quest completion | Quest’s rewards.xp value |
| Room discovery | Small bonus for entering a new room |
| Area discovery | Larger bonus for entering a new zone |
| Script grant | tales.characters.giveXP(charID, amount) |
Leveling Curve
Section titled “Leveling Curve”The leveling curve scales exponentially. Exact XP thresholds are defined in
pkg/mudserver/game/leveling/. Higher levels require significantly more XP per level.
Level-Up Benefits
Section titled “Level-Up Benefits”On reaching a new level, the character:
- Gains distributable attribute points (amount configurable)
- HP and mana maximums are recalculated
- Level-dependent skills become available
- A level-up message is sent to the player
Spending Attribute Points
Section titled “Spending Attribute Points”Use the spend command to distribute points:
> spend strYou spend 1 point on Strength. (STR: 12 → 13)Remaining points: 2
> spend int 2You spend 2 points on Intelligence. (INT: 10 → 12)Remaining points: 0Points are tracked in character.unspentAttributePoints and spent into
character.spentAttributePoints[stat].
Exploration XP
Section titled “Exploration XP”Characters receive bonus XP the first time they:
- Enter a room they’ve never visited — tracked in
character.discoveredRooms - Enter a zone they’ve never visited — tracked in
character.discoveredAreas
This encourages exploration and rewards players for mapping the world.
Level Cap
Section titled “Level Cap”The default global max level is configurable. Individual characters can have a maxLevelCap
that overrides the global cap — useful for guest or trial characters capped at a lower level.
Respawn and Death
Section titled “Respawn and Death”When a character dies (HP reaches 0):
- Character is moved to their
boundRoomId(set viabindcommand) or the default starting room - Character respawns at 50% HP and mana
- No item or XP loss on death
Next Steps
Section titled “Next Steps”- Combat System — How XP is earned in combat
- Characters & Classes — Attribute system
- Skills & Spells — Level-locked skills