experience.txt defines two things: the cumulative XP threshold each class must reach to gain the next level, and the ExpRatio multiplier that reduces XP earned from kills at high character levels.
101 rows: one MaxLvl configuration row plus per-level entries for levels 0–99. The 10 columns split into three groups.
What's in a row
Configuration row
The row keyed Level=MaxLvl holds table-wide settings rather than a level threshold:
| Column | Value | Meaning |
|---|---|---|
Class columns (Amazon … Warlock) | 99 | The hard level cap for all classes. |
ExpRatio | 10 | Controls the XP-ratio denominator: the base denominator is 2^10 = 1,024. Changing this field shifts how ExpRatio values on the per-level rows are interpreted. |
XP thresholds
Each Level 0–99 row defines the cumulative XP required to advance from that level to the next:
| Column | Meaning |
|---|---|
Level | Row identifier — an integer 0–99. |
Amazon | Cumulative XP required to advance past this level. |
Sorceress | Same. |
Necromancer | Same. |
Paladin | Same. |
Barbarian | Same. |
Druid | Same. |
Assassin | Same. |
Warlock | Same. |
All eight classes share identical XP thresholds — no class has a faster or slower leveling curve.
Key thresholds:
| Level | XP to advance |
|---|---|
| 0 | 0 (level 1 is granted at game start) |
| 1 | 500 |
| 10 | 72,144 |
| 50 | 51,767,302 |
| 90 | 1,764,543,065 |
| 91 | 1,923,762,030 (halfway to the level-99 total — 50.1%) |
| 98 | 3,520,485,254 (XP to reach level 99) |
| 99 | 3,837,739,017 (cap threshold — never consumed in-game since 99 is the maximum) |
ExpRatio
ExpRatio is a per-character-level fractional multiplier (expressed in 1/1,024ths) applied to XP earned from kills. Characters at level 69 or below earn full XP; above that, kills yield a progressively smaller fraction:
| Level range | ExpRatio | Effective XP multiplier |
|---|---|---|
| 0–69 | 1,024 | 100% |
| 70–85 | 976 → 256 | Linear decrease of 48 per level |
| 86–99 | 192 → 5 | ~×0.75 per level (exponential decay) |
Selected values:
| Level | ExpRatio | Approx. % |
|---|---|---|
| 70 | 976 | 95.3% |
| 80 | 496 | 48.4% |
| 85 | 256 | 25.0% |
| 90 | 61 | 6.0% |
| 95 | 15 | 1.5% |
| 99 | 5 | 0.5% |
The penalty compounds the XP-per-level gap: not only does each successive level require more total XP, but every kill in the high-level range yields a smaller fraction of its base award. Note that ExpRatio is a separate mechanism from the engine's monster-level-vs-character-level differential penalty, which reduces XP when a monster's level is too low relative to the player's level.
Worked example: level 84 → 85
A Necromancer advancing from level 84 to 85:
| Value | |
|---|---|
| Cumulative XP at start of level 84 | 1,050,299,747 |
| Cumulative XP threshold to reach level 85 | 1,145,236,814 |
| XP gap for the level | 94,937,067 |
ExpRatio at level 84 | 304 / 1,024 ≈ 29.7% |
At level 84, every kill yields roughly 30% of its base XP value. Combining the 94.9M-XP level gap with a 30% kill-XP multiplier makes 84→85 progression significantly slower than the raw threshold gap alone suggests.
Cross-references
monstats— base XP awarded per kill is defined per monster row.monlvl— scales monster stats (including XP) by the area's effective monster level per difficulty.levels— each area'sMonLvl(diff)determines the effective monster level, which the engine uses to compute base kill XP beforeExpRatiois applied.