Mechanics

experience

XP-to-next-level thresholds per class and the kill-XP ratio (ExpRatio) for high-level characters.

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:

ColumnValueMeaning
Class columns (AmazonWarlock)99The hard level cap for all classes.
ExpRatio10Controls 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:

ColumnMeaning
LevelRow identifier — an integer 0–99.
AmazonCumulative XP required to advance past this level.
SorceressSame.
NecromancerSame.
PaladinSame.
BarbarianSame.
DruidSame.
AssassinSame.
WarlockSame.

All eight classes share identical XP thresholds — no class has a faster or slower leveling curve.

Key thresholds:

LevelXP to advance
00 (level 1 is granted at game start)
1500
1072,144
5051,767,302
901,764,543,065
911,923,762,030 (halfway to the level-99 total — 50.1%)
983,520,485,254 (XP to reach level 99)
993,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 rangeExpRatioEffective XP multiplier
0–691,024100%
70–85976 → 256Linear decrease of 48 per level
86–99192 → 5~×0.75 per level (exponential decay)

Selected values:

LevelExpRatioApprox. %
7097695.3%
8049648.4%
8525625.0%
90616.0%
95151.5%
9950.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 841,050,299,747
Cumulative XP threshold to reach level 851,145,236,814
XP gap for the level94,937,067
ExpRatio at level 84304 / 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's MonLvl(diff) determines the effective monster level, which the engine uses to compute base kill XP before ExpRatio is applied.