⚠ Beta — In Progress ⚠Features and numbers are still changing. Please report anything that looks wrong.

PD2 HUB

A build planner and map-clear simulator for Project Diablo 2 — built on the game's own reverse-engineered rules, so the numbers are the game's numbers.

Download for Windows See the map simulator Report a bug or suggest a feature

How it's built

Every rule in PD2 Hub comes from reverse engineering Project Diablo 2's own code. Rules checked by running the game's real code in an emulator against PD2 Hub's model are marked VERIFIED; rules read from the code but not yet run are READ and treated as leads. Game data (skills, items, monsters, maps) is read straight from the current pd2data.mpq, so it follows the season.

Example: monster life uses the game's "L-" level columns in single player and ladder games — about a third more life than the plain columns. Checking that against the game's code changed every simulation in PD2 Hub, and it's now a setting: Configuration → Game.

Character

Load a character from the PD2 Armory by name, drop in an Armory export or a .d2s save, or build one from scratch. The desktop app watches your save folder and reloads when the game saves.

Character summary: life, mana, offence, attack speed, cast and hit-recovery breakpoints, block, resistances, defence
Summary: stats as the character screen shows them, attack speed, cast / hit-recovery / block breakpoints (with the next ones), resistances and defence.
Skills tab
Skills: points, +skills from gear, synergies and damage per skill.
Combat tab
Combat: any monster at any area level — its life, defence and resistances, your hit chance and damage after resistance, and every skill's damage per second.

Map run

Your character clears a real PD2 map, pack by pack, and you watch the replay. The monsters are placed the way the game spawns them for that layout; the route follows the map's pathing guide from hiimpd2.com (used with permission), straying off it for kills.

Replay of a map run: the character moves along the route, fights packs, monsters close in and die
The replay: your route and position, every cast's area (cones, novas, lines, Frozen Orb), monsters closing in and dying, poisoned monsters pulsing green. Record it as an MP4 with the map, seed and build written on it.
Map run tab
Pick a map, layout and seed, density and rarity; the run gives clear time, kills, experience per hour, deaths, the worst moment and how much ground you crossed twice.

What's simulated

Movement & aggro

Each class moves with its own skill — Teleport, Dragon Flight, Joust, Leap, Gust, Blood Warp — at your real cast or attack rate, with its cooldown. Toggle Enigma for Blink (charges) on any class, or Zerae's Resolve for an Amazon's Joust.

Traps

Assassin sentries are simulated as the game runs them: at most 5 out, each firing its shots on its own timer, thrown at your attack speed. Use an area trap for packs and a single-target one for elites, and they're thrown as a mix.

A fire trapper's Wake of Fire trap firing waves at a pack
A fire trapper on Ruined Cistern: Wake of Fire traps (orange diamonds) firing their waves into the pack, while the character stays at range.

Batch runs

One run is one spawn. Run your build over many seeds — on one layout or every variation of the map — and get the average clear time and how much it varies.

Batch run results: average clear, spread, median, fastest and slowest, a per-seed table
Average, spread, median, fastest and slowest, the middle 80 %, moving vs fighting, kills, deaths and experience; click a seed to open it.

Map damage

Every monster of a map against your damage — the idea of finpingvin's PD2 map damage calculator, rebuilt on PD2 Hub's RE-checked rules: pierce only below immunity, negative resistance halved, the −100 floor, and Conviction and curses halved per source on immunes (VERIFIED).

Map damage table: per monster resistances before and after pierce, damage per element, one hit against its life, hits to kill
Each resistance before → after your pierce and curses, damage per element in its colour (physical, magic, fire, lightning, cold, poison), and one hit against the monster's life.
Map picker grouped by tier
Pick maps by tier; damage from your build (with Conviction and a curse) or from sheet values.

Maps

The spawn simulator on its own: every PD2 map and layout variation, with the monsters placed for any seed, density and rarity, the elite packs and their modifiers, and the pathing guide.

Maps tab: a map layout with its monsters and guide route

Breakpoints

Attack, cast, hit-recovery and block frames for every class, form, skill and weapon, from the game's own animation data.

Breakpoints tab

Updates & help

The desktop app checks for new versions once a day and installs them when you say so (Help → Check for updates). Report a bug or suggest a feature from the Help tab — the report opens on GitHub with your version filled in.

Help tab

Download the latest version