Loot mechanics
How a drop is decided, step by step (D2 rules):
- Treasure class (TC). The monster rolls its TC
pickstimes; each pick may be NoDrop. TCs nest (equipment, runes, gems, gold...). Negative picks mean guaranteed drops (bosses). A kill never drops more than 6 items. - TC upgrade. TCs with a group and level form a ladder: a monster whose level reaches a higher TC of its group drops from that one instead.
- Base. Weapon and armor TCs (
weapon_N,armor_N) hold bases up to qlvl N and chain into the band below, so every base keeps its relative weight at any level. - Quality, checked in order unique, set, rare, magic, then normal (see below). A unique or set roll on a base with no unique/set of low enough level falls back to rare or magic.
- Affixes by affix level (Affixes), then every range rolls.
Quality roll
For each quality, from best to worst: chance = (ratio - (ilvl - qlvl) / divisor) * 128, then magic find: chance = chance * 100 / (100 + effective MF), then the TC's quality bonus chance -= chance * bonus / 1024, and never below the minimum. The item gets that quality when random(0, chance) < 128.
| Quality | Ratio | Divisor | Minimum |
|---|---|---|---|
| Unique | 400 | 1 | 6400 |
| Set | 160 | 2 | 5600 |
| Rare | 100 | 2 | 3200 |
| Magic | 34 | 3 | 192 |
Magic find
Magic find applies in full to magic items, but with diminishing returns to rares, sets and uniques:
| MF on gear | Effective for rares | Effective for sets | Effective for uniques |
|---|---|---|---|
| 0% | 0% | 0% | 0% |
| 50% | 46% | 45% | 41% |
| 100% | 85% | 83% | 71% |
| 150% | 120% | 115% | 93% |
| 200% | 150% | 142% | 111% |
| 300% | 200% | 187% | 136% |
| 400% | 240% | 222% | 153% |
| 500% | 272% | 250% | 166% |
| 750% | 333% | 300% | 187% |
| 1000% | 375% | 333% | 200% |
Item properties
- Sockets: white items drop socketed 15% of the time (up to the base maximum), magic items 10% (up to 2). Item level caps sockets: below 26 at most 3, below 41 at most 4.
- Superior: 8% of white weapons and armor; +5-15% enhanced damage or defense.
- Low Quality: 10% of the rest; -25% base damage or defense, never socketed.
- Charms are always magic (or unique) and work from the inventory. Jewel rares have at most 4 affixes.
Treasure classes
| TC | Ladder | Picks | NoDrop | Quality bonus (/1024) | Entries (weight) |
|---|---|---|---|---|---|
| act1_champion | champion 1 | 2 | 30 | unique 256, set 256, rare 832, magic 976 | act1_equip_b: 20, runes_1: 2, gems_1: 3 |
| act1_elite | elite 1 | 3 | 10 | unique 512, set 512, rare 928, magic 992 | act1_equip_b: 30, runes_1: 3, gems_1: 4 |
| act1_equip_a | equip 1 | 1 | 0 | - | weapon_3: 16, armor_3: 22, jewelry_1: 2, charms_1: 1 |
| act1_equip_b | equip 4 | 1 | 0 | - | weapon_6: 16, armor_6: 22, jewelry_1: 3, charms_1: 1, jewel: 2 |
| act1_trash_a | trash 1 | 1 | 60 | rare 768, magic 960 | act1_equip_a: 12, runes_1: 1, gems_1: 1 |
| act1_trash_b | trash 4 | 1 | 60 | rare 768, magic 960 | act1_equip_b: 12, runes_2: 1, gems_1: 1 |
| barrel_1 | barrel 1 | 1 | 70 | - | gold: 20 |
| barrel_15 | barrel 15 | 1 | 70 | - | gold: 20 |
| barrel_30 | barrel 30 | 1 | 70 | - | gold: 20 |
| barrel_45 | barrel 45 | 1 | 70 | - | gold: 20 |
| barrel_60 | barrel 60 | 1 | 70 | - | gold: 20 |
| barrel_75 | barrel 75 | 1 | 70 | - | gold: 20 |
| boss_1 | boss 1 | -6 | 0 | unique 820, set 983, rare 983, magic 1024 | act1_equip_b: 4, runes_2: 1, gems_1: 1 |
| boss_15 | boss 15 | -6 | 0 | unique 820, set 983, rare 983, magic 1024 | equip_15: 4, runes_4: 1, gems_2: 1 |
| boss_30 | boss 30 | -6 | 0 | unique 820, set 983, rare 983, magic 1024 | equip_30: 4, runes_6: 1, gems_3: 1 |
| boss_45 | boss 45 | -6 | 0 | unique 820, set 983, rare 983, magic 1024 | equip_45: 4, runes_8: 1, gems_4: 1 |
| boss_60 | boss 60 | -6 | 0 | unique 820, set 983, rare 983, magic 1024 | equip_60: 4, runes_10: 1, gems_5: 1 |
| boss_75 | boss 75 | -6 | 0 | unique 820, set 983, rare 983, magic 1024 | equip_75: 4, runes_11: 1, gems_5: 1 |
| champion_15 | champion 15 | 2 | 30 | unique 256, set 256, rare 832, magic 976 | equip_15: 20, runes_4: 2, gems_2: 3 |
| champion_30 | champion 30 | 2 | 30 | unique 256, set 256, rare 832, magic 976 | equip_30: 20, runes_6: 2, gems_3: 3 |
| champion_45 | champion 45 | 2 | 30 | unique 256, set 256, rare 832, magic 976 | equip_45: 20, runes_8: 2, gems_4: 3 |
| champion_60 | champion 60 | 2 | 30 | unique 256, set 256, rare 832, magic 976 | equip_60: 20, runes_10: 2, gems_4: 3 |
| champion_75 | champion 75 | 2 | 30 | unique 256, set 256, rare 832, magic 976 | equip_75: 20, runes_11: 2, gems_5: 3 |
| charms_1 | - | 1 | 0 | - | small_charm: 3, large_charm: 2, grand_charm: 1 |
| charms_15 | - | 1 | 0 | - | small_charm: 1 |
| charms_30 | - | 1 | 0 | - | small_charm: 3, large_charm: 2 |
| charms_45 | - | 1 | 0 | - | small_charm: 3, large_charm: 2, grand_charm: 1 |
| chest_1 | chest 1 | 2 | 40 | - | gold: 20, act1_equip_a: 15, runes_1: 1, gems_1: 3 |
| chest_15 | chest 15 | 2 | 40 | - | gold: 20, equip_15: 15, runes_4: 1, gems_2: 3 |
| chest_30 | chest 30 | 2 | 40 | - | gold: 20, equip_30: 15, runes_6: 1, gems_3: 3 |
| chest_45 | chest 45 | 2 | 40 | - | gold: 20, equip_45: 15, runes_8: 1, gems_4: 3 |
| chest_60 | chest 60 | 2 | 40 | - | gold: 20, equip_60: 15, runes_10: 1, gems_5: 3 |
| chest_75 | chest 75 | 2 | 40 | - | gold: 20, equip_75: 15, runes_11: 1, gems_5: 3 |
| elite_15 | elite 15 | 3 | 10 | unique 512, set 512, rare 928, magic 992 | equip_15: 30, runes_4: 3, gems_2: 4 |
| elite_30 | elite 30 | 3 | 10 | unique 512, set 512, rare 928, magic 992 | equip_30: 30, runes_6: 3, gems_3: 4 |
| elite_45 | elite 45 | 3 | 10 | unique 512, set 512, rare 928, magic 992 | equip_45: 30, runes_8: 3, gems_4: 4 |
| elite_60 | elite 60 | 3 | 10 | unique 512, set 512, rare 928, magic 992 | equip_60: 30, runes_10: 3, gems_5: 4 |
| elite_75 | elite 75 | 3 | 10 | unique 512, set 512, rare 928, magic 992 | equip_75: 30, runes_11: 3, gems_5: 4 |
| equip_15 | equip 15 | 1 | 0 | - | weapon_9: 16, armor_6: 22, jewelry_1: 5, charms_15: 1, jewel: 3 |
| equip_30 | equip 30 | 1 | 0 | - | weapon_33: 16, armor_30: 22, jewelry_1: 5, charms_30: 1, jewel: 3 |
| equip_45 | equip 45 | 1 | 0 | - | weapon_36: 16, armor_30: 22, jewelry_1: 5, charms_45: 1, jewel: 3 |
| equip_60 | equip 60 | 1 | 0 | - | weapon_63: 16, armor_60: 22, jewelry_1: 5, charms_45: 1, jewel: 3 |
| equip_75 | equip 75 | 1 | 0 | - | weapon_72: 16, armor_75: 22, jewelry_1: 5, charms_45: 1, jewel: 3 |
| gems_1 | - | 1 | 0 | - | gem_amethyst_chipped: 1, gem_topaz_chipped: 1, gem_sapphire_chipped: 1, gem_emerald_chipped: 1, gem_ruby_chipped: 1, gem_diamond_chipped: 1, gem_skull_chipped: 1 |
| gems_2 | - | 1 | 0 | - | gem_amethyst_flawed: 1, gem_topaz_flawed: 1, gem_sapphire_flawed: 1, gem_emerald_flawed: 1, gem_ruby_flawed: 1, gem_diamond_flawed: 1, gem_skull_flawed: 1, gem_amethyst_chipped: 2, gem_topaz_chipped: 2, gem_sapphire_chipped: 2, gem_emerald_chipped: 2, gem_ruby_chipped: 2, gem_diamond_chipped: 2, gem_skull_chipped: 2 |
| gems_3 | - | 1 | 0 | - | gem_amethyst_normal: 1, gem_topaz_normal: 1, gem_sapphire_normal: 1, gem_emerald_normal: 1, gem_ruby_normal: 1, gem_diamond_normal: 1, gem_skull_normal: 1, gem_amethyst_flawed: 2, gem_topaz_flawed: 2, gem_sapphire_flawed: 2, gem_emerald_flawed: 2, gem_ruby_flawed: 2, gem_diamond_flawed: 2, gem_skull_flawed: 2, gem_amethyst_chipped: 3, gem_topaz_chipped: 3, gem_sapphire_chipped: 3, gem_emerald_chipped: 3, gem_ruby_chipped: 3, gem_diamond_chipped: 3, gem_skull_chipped: 3 |
| gems_4 | - | 1 | 0 | - | gem_amethyst_flawless: 1, gem_topaz_flawless: 1, gem_sapphire_flawless: 1, gem_emerald_flawless: 1, gem_ruby_flawless: 1, gem_diamond_flawless: 1, gem_skull_flawless: 1, gem_amethyst_normal: 2, gem_topaz_normal: 2, gem_sapphire_normal: 2, gem_emerald_normal: 2, gem_ruby_normal: 2, gem_diamond_normal: 2, gem_skull_normal: 2, gem_amethyst_flawed: 3, gem_topaz_flawed: 3, gem_sapphire_flawed: 3, gem_emerald_flawed: 3, gem_ruby_flawed: 3, gem_diamond_flawed: 3, gem_skull_flawed: 3 |
| gems_5 | - | 1 | 0 | - | gem_amethyst_perfect: 1, gem_topaz_perfect: 1, gem_sapphire_perfect: 1, gem_emerald_perfect: 1, gem_ruby_perfect: 1, gem_diamond_perfect: 1, gem_skull_perfect: 1, gem_amethyst_flawless: 2, gem_topaz_flawless: 2, gem_sapphire_flawless: 2, gem_emerald_flawless: 2, gem_ruby_flawless: 2, gem_diamond_flawless: 2, gem_skull_flawless: 2, gem_amethyst_normal: 3, gem_topaz_normal: 3, gem_sapphire_normal: 3, gem_emerald_normal: 3, gem_ruby_normal: 3, gem_diamond_normal: 3, gem_skull_normal: 3 |
| jewelry_1 | - | 1 | 0 | - | ring: 3, amulet: 1 |
| runes_1 | - | 1 | 0 | - | rune_tan: 39966, rune_mor: 35684, rune_glas: 31860 |
| runes_2 | - | 1 | 0 | - | rune_coed: 28447, rune_bryn: 25399, rune_nos: 22678, runes_1: 107510 |
| runes_3 | - | 1 | 0 | - | rune_haul: 20248, rune_ser: 18078, rune_derw: 16141, runes_2: 184034 |
| runes_4 | - | 1 | 0 | - | rune_lyn: 14412, rune_crug: 11530, rune_maen: 9224, runes_3: 238501 |
| runes_5 | - | 1 | 0 | - | rune_aur: 7379, rune_cad: 5903, rune_wyn: 4723, runes_4: 273667 |
| runes_6 | - | 1 | 0 | - | rune_du: 3778, rune_caer: 3022, rune_ros: 2418, runes_5: 291672 |
| runes_7 | - | 1 | 0 | - | rune_tor: 1934, rune_nant: 1547, rune_mab: 1105, runes_6: 300890 |
| runes_8 | - | 1 | 0 | - | rune_lew: 790, rune_dun: 564, rune_hud: 403, runes_7: 305476 |
| runes_9 | - | 1 | 0 | - | rune_aval: 288, rune_mael: 206, rune_cled: 147, runes_8: 307233 |
| runes_10 | - | 1 | 0 | - | rune_anwn: 105, rune_marw: 66, rune_bran: 41, runes_9: 307874 |
| runes_11 | - | 1 | 0 | - | rune_arth: 26, rune_draig: 16, rune_graal: 10, runes_10: 308086 |
| sarcophagus_1 | sarcophagus 1 | 2 | 30 | - | gold: 25, act1_equip_a: 20, runes_1: 1 |
| sarcophagus_15 | sarcophagus 15 | 2 | 30 | - | gold: 25, equip_15: 20, runes_4: 1 |
| sarcophagus_30 | sarcophagus 30 | 2 | 30 | - | gold: 25, equip_30: 20, runes_6: 1 |
| sarcophagus_45 | sarcophagus 45 | 2 | 30 | - | gold: 25, equip_45: 20, runes_8: 1 |
| sarcophagus_60 | sarcophagus 60 | 2 | 30 | - | gold: 25, equip_60: 20, runes_10: 1 |
| sarcophagus_75 | sarcophagus 75 | 2 | 30 | - | gold: 25, equip_75: 20, runes_11: 1 |
| superunique_1 | superunique 1 | 5 | 5 | unique 768, set 768, rare 960, magic 1024 | act1_equip_b: 30, runes_1: 3, gems_1: 8 |
| superunique_15 | superunique 15 | 5 | 5 | unique 768, set 768, rare 960, magic 1024 | equip_15: 30, runes_4: 3, gems_2: 8 |
| superunique_30 | superunique 30 | 5 | 5 | unique 768, set 768, rare 960, magic 1024 | equip_30: 30, runes_6: 3, gems_3: 8 |
| superunique_45 | superunique 45 | 5 | 5 | unique 768, set 768, rare 960, magic 1024 | equip_45: 30, runes_8: 3, gems_4: 8 |
| superunique_60 | superunique 60 | 5 | 5 | unique 768, set 768, rare 960, magic 1024 | equip_60: 30, runes_10: 3, gems_5: 8 |
| superunique_75 | superunique 75 | 5 | 5 | unique 768, set 768, rare 960, magic 1024 | equip_75: 30, runes_11: 3, gems_5: 8 |
| super_chest_1 | super_chest 1 | 4 | 5 | unique 32, set 32, rare 64, magic 256 | gold: 15, act1_equip_a: 30, runes_1: 2, gems_1: 5 |
| super_chest_15 | super_chest 15 | 4 | 5 | unique 32, set 32, rare 64, magic 256 | gold: 15, equip_15: 30, runes_4: 2, gems_2: 5 |
| super_chest_30 | super_chest 30 | 4 | 5 | unique 32, set 32, rare 64, magic 256 | gold: 15, equip_30: 30, runes_6: 2, gems_3: 5 |
| super_chest_45 | super_chest 45 | 4 | 5 | unique 32, set 32, rare 64, magic 256 | gold: 15, equip_45: 30, runes_8: 2, gems_4: 5 |
| super_chest_60 | super_chest 60 | 4 | 5 | unique 32, set 32, rare 64, magic 256 | gold: 15, equip_60: 30, runes_10: 2, gems_5: 5 |
| super_chest_75 | super_chest 75 | 4 | 5 | unique 32, set 32, rare 64, magic 256 | gold: 15, equip_75: 30, runes_11: 2, gems_5: 5 |
| trash_15 | trash 15 | 1 | 60 | rare 768, magic 960 | equip_15: 12, runes_4: 1, gems_2: 1 |
| trash_30 | trash 30 | 1 | 60 | rare 768, magic 960 | equip_30: 12, runes_6: 1, gems_3: 1 |
| trash_45 | trash 45 | 1 | 60 | rare 768, magic 960 | equip_45: 12, runes_8: 1, gems_4: 1 |
| trash_60 | trash 60 | 1 | 60 | rare 768, magic 960 | equip_60: 12, runes_10: 1, gems_5: 1 |
| trash_75 | trash 75 | 1 | 60 | rare 768, magic 960 | equip_75: 12, runes_11: 1, gems_5: 1 |