Equipment slots, rarity tiers, attributes, quality scaling, and the tier system
Each character has 6 equipment slots:
| Slot | Type | Provides |
|---|---|---|
| Helmet | Armor | base_armor |
| Chest | Armor | base_armor |
| Gloves | Armor | base_armor |
| Boots | Armor | base_armor |
| Shield | Armor | base_armor + inherent block_chance (1–10%) |
| Weapon | Weapon | min_damage, max_damage |
Every item has a rarity tier that determines how many bonus attributes it gets and a multiplier on its base stats.
| Rarity | Attributes | Base Stat × | Roll ≤ |
|---|---|---|---|
| Normal | 0 | 0.4× | 100 (36–100) |
| Common | 1 | 0.6× | ≤ 35 |
| Rare | 2 | 0.7× | ≤ 15 |
| Exquisite | 3 | 0.8× | ≤ 5 |
| Epic | 4 | 0.9× | ≤ 1 |
| Ancient | 5 | 1.0× | Epic upgrade only |
The rarity roll is a random integer in [1, roll_max]. Lower results yield rarer items. The default roll_max is 100 (with no magic find).
Magic Find (MF) reduces the rarity roll range via a hyperbolic formula with diminishing returns. Every point of MF helps, but each additional point contributes less than the last.
| Magic Find | roll_max | Epic chance | Exquisite+ chance |
|---|---|---|---|
| 0 | 100 | 1.0% | 5.0% |
| 10 | 68 | 1.5% | 7.4% |
| 20 | 52 | 1.9% | 9.6% |
| 40 | 37 | 2.7% | 13.5% |
| 80 | 24 | 4.2% | 20.8% |
| 150 | 16 | 6.3% | 31.3% |
| 500 | 9 | 11.1% | 55.6% |
An item's effective combat value scales with its item_level:
Base stats (base_armor, max_damage) are determined by a gaussian roll around the base item's peak value (sigma = 1.5), then multiplied by the rarity's Base Stat × multiplier.
At higher difficulties, a quality floor prevents trash rolls on base stats. The floor is a percentage of the item's peak value that increases with difficulty but never fully reaches 100%.
| Difficulty | Floor % of Peak |
|---|---|
| 10 | 32% |
| 35 | 50% |
| 50 | 56% |
| 100 | 66% |
| 200 | 77% |
| 500 | 88% |
| 1000 | 94% |
The image below shows how the quality floor (red shaded area) cuts off the bottom of the bell curve at higher difficulties, while the top remains unchanged:
Every item has a tier (1–10) that determines its base stat potential. Higher difficulty drops higher tiers. The base stat is rolled from a bell curve centered on the tier value, then multiplied by a rarity factor (Normal 0.4x, Common 0.6x, Rare 0.7x, Exquisite 0.8x, Epic 0.9x, Ancient 1.0x).
The quality floor clamps the bell curve roll so it can't go below a % of the tier peak. This happens before the rarity multiplier.
Example — Broken Dagger (Tier 1), Epic, at Difficulty 100:
Example — Dark Lord's Blade (Tier 10), Epic, at Difficulty 100:
tl;dr — higher difficulty = same ceiling, higher floor. You won't get stronger items, but you'll stop getting weak ones.
Armor items (helmet, chest, gloves, boots, shield) can roll the following attribute types. Each attribute slot is filled once per rarity level above Normal.
| Type | Available Slots | Value Range | Notes |
|---|---|---|---|
| Reduction | All armor | 1–10% | Per-element. Creates weakness to paired element (×0.5–1.1) |
| Reflect | All armor | 1–5% | Per-element. Bounces damage back to attacker |
| Dodge | Helmet, Chest, Gloves, Boots | 1–3% | Avoids entire attack |
| Heal over Time | Helmet, Chest | item_level × 0.1–0.5 | Min 1 HP/round, heals at start of each round |
| Crit Chance | All armor | 2–8% | Additive |
| Crit Multiplier | All armor | 10–50 | Divided by 100, added to base 2.0× |
| Magic Find | All armor | 1–10 | Reduces rarity roll range (see Magic Find) |
| Flat Reduction | All armor | item_level × 0.3–0.7 | Fixed damage absorbed per-element. No weakness penalty |
| Type | Value Range | Notes |
|---|---|---|
| Elemental Damage | 2–15% | Channels a portion of damage through a specific element |
| Life Leech | 1–10% | Heals % of damage dealt per hit |
| Crit Chance | 2–8% | Additive |
| Crit Multiplier | 10–50 | Divided by 100, added to base 2.0× |
| Magic Find | 1–10 | Reduces rarity roll range |
| Summon | 5–20% proc | Boss weapons only. Deals 50% of total damage, single element |
| Flat Elemental Damage | item_level × 0.3–0.7 | Fixed damage added per-element per hit |
| Flat Life on Hit | item_level × 0.2–0.7 | Fixed heal per hit, independent of damage dealt |
When an attribute slot is rolled, the game first decides between a dominant roll and a pool roll:
Every base item belongs to a tier (1–10). Higher tiers have higher peak stats. When an item drops, the tier is selected using a bell curve that shifts with difficulty.
The bell curve uses breakpoints [50, 100, 250, 999, 3000, 9999]. At each breakpoint, the peak tier advances by 1. Weights decay by 0.66× per tier distance from the peak.
| Difficulty | Most Common Tier | Avg Tier | Chance of T8+ |
|---|---|---|---|
| 1–25 | T1 | 2.8 | 3.8% |
| 50 | T2 | 3.2 | 4.8% |
| 100 | T3 | 3.8 | 6.6% |
| 500 | T4 | 4.5 | 9.6% |
| 1,000 | T5 | 5.2 | 14.2% |
| 5,000 | T6 | 5.8 | 21.4% |