Hero Builder Hero Siege Build Codex
Copy link

How these numbers are produced

Every figure on this site is read out of the Hero Siege client and carries the build it came from. This page is the working: what is measured, what is assumed, and what is not known.

Every value carries its source

Numbers here are read from the game client, not copied from another site, and each records where it came from and when. That record is a field in the data rather than a note beside it: a value that cannot say where it came from does not ship.

This matters more here than it would elsewhere. The same item’s Enhanced Damage reads 660 to 740 on one popular source and 780 to 920 on another. At least one is wrong, both are stated as fact, and neither says how it was obtained.

Drop rates are denominators, not percentages

The client stores a drop rate as the N in a one-in-N, scaled by a per-place multiplier. Read as a percentage it inverts, and the rarest rune in the game becomes the most common thing in it. The value 50,000,000 is not an astronomically small chance: it is the sentinel for does not drop here, and it appears at three separate sites in the client.

This is not hypothetical. It shipped, on this site, and said Zod was 1 in 149 and El was 1 in 142,857. The correct figures are Zod 1 in 334,800 and El 1 in 350.

Some stats feed each other

Hero Siege contains real stat cycles. Faster Cast Rate feeds Movement Speed feeds Damage, and an Incarnation node forms a second loop. A tool that assumes a clean dependency order either hangs or reports whichever number it reached first. The engine detects a cycle, iterates it, and stops when the change between passes falls under a threshold.

A roll is a range

Two copies of the same unique are not the same item. The client declares an upper and a lower bound for most affixes, so both are shown. Where the two ends are equal the client rolls a fixed value, and a single number is shown rather than a range of one. There are 811 uniques in this build.

Runewords have three rules and all three bite

There are 100 recipes in this build, each listed with its rune order on the runewords pages.

Charms occupy rectangles

56 are 2×2, 16 are 1×2, 9 are 1×1. A charm inventory drawn one charm per cell is not a simplification, it is a different game: it removes the placement constraint that makes charms a decision at all, and it will happily show you a loadout that cannot fit.

Season versioned by default

Hero Siege restarted its season numbering after the 2.0 relaunch, so a 2020 post about “Season 10” describes a different Season 10. Everything here is stamped with the client build it was read from, and nothing is stored as though it were permanent.

What is not known is said

Some values are not recoverable from the client. Where a socket count, an unlock condition or a stat name could not be established, this site says so rather than choosing a plausible number. An unknown printed as a fact is worse than a blank, because nobody reading it can correct it. Drop sources are recovered for 1,119 of 1,975 catalogue records, and the rest say so.