Loot

How drop odds are actually computed, and the endpoints that expose them.

Background

Loot is modelled as a graph, walked fresh on every request. Here's one roll, start to finish:

  1. 1
    You kill a Wraithid.monster.wraith
    Wraith

    A Wraith just died in front of you. The game now decides what it drops.

Each roll chooses a rarity grade by weight, then one item within that grade. An item's chance is its grade share divided among matching outcomes:

drop_rate=w(g) · m(g, luck)N(g) · Σh w(h) · m(h, luck)
  • g the item's grade; w(g) its weight in the odds table.
  • m(g, luck) the grade's luck multiplier (1.0 at luck=0, see the curves below).
  • N(g) how many outcomes in the pool share that grade. Null outcomes count, and duplicate appearances of one item are separate outcomes.
  • Σh runs over every grade h, grade-0 (nothing) included, so the denominator is the whole table's luck-scaled weight.

count repeats a roll and independent entries compound. The API reports at-least-once chance as 1 - product((1 - p)^count).

At luck=0, multipliers are 1.0 and null outcomes remain in the denominator. Tiers use different tables, so default rates report the best dungeon_grade.

Worked example, the Wraith's rare / epic pool: the odds table weights grade-4 (Rare) at 9000 and grade-5 (Epic) at 1000. The Arcane Gloves sit in both. Drag luck and the items per grade (real pools vary, so this count is yours to tune) to watch each version move through the formula:
0
36

The gold terms move with luck; the teal one moves with items per grade.

The grade-4 (Rare)Arcane Gloves:
drop_rate=9000 · 1.00036 · ( 9000 · 1.000 + 1000 · 1.000 )=2.50%
The grade-5 (Epic)Arcane Gloves:
drop_rate=1000 · 1.00036 · ( 9000 · 1.000 + 1000 · 1.000 )=0.28%
Both versions share the same denominator (the whole pool), and as luck rises grade-5 (Epic) climbs faster than grade-4 (Rare), so the split tilts toward epic: the rare version eases down while the epic version climbs, on the same roll. That is loot skewing rarer, not simply more of everything, and it is exactly what /v2/monsters/id.monster.wraith/loot?luck=250 returns.

Luck grades and the luck stat

Loot uses nine rarity grades. luck scales grade weights before normalization but never changes the available items.

The scaling isn't linear and isn't uniform across grades. It's read off nine piecewise curves, one per grade:

Low grades trend down, grade 3 stays flat, and grades 4–8 trend up. Higher grades gain more, with diminishing returns.

Single-grade drops

Luck weights every rate-table grade, including grade 0 and no-item outcomes. A pool with one real item grade is still categorical, so Luck changes its share of the renormalized table.

luck_applies identifies sources backed by this Luck-grade calculation. Current imported loot sources report true.

/v2/monsters/{id}/loot and /v2/containers/{id} return resolved rates. /v2/spawners exposes the raw placement layer.

GET/v2/luck

One piecewise-linear luck curve per rarity grade, covering luck 0–500. These multipliers power monster and container luck queries.