Data & assumptions
Every number on this site comes from the game files of a specific client build. What no file states is an explicit assumption below — the simulator lets you change most of them.
Sources
- deadlock-api.com — game-file assetsAuthoritative
Heroes (starting stats, per-boon growth, spirit scaling, investment bonuses, level table, weapon), every ability (properties, scale functions, upgrade tiers, tooltip text) and every item (properties, sections, components), generic data (item prices, shop groups) and convars (starting souls). Parsed from the game's own files for each client version, so past builds can be re-imported.
- Steam News (app 1422450)Authoritative (what Valve says)
Valve's patch notes, parsed line by line and linked to heroes, abilities and items.
- Official forum changelogAuthoritative
Patch post index (via deadlock-api.com), for links.
- deadlock-api.com — match statisticsObserved matches (sampled)
Last 30 days of hero wins, picks, KDA, net worth and shots hit/missed by rank bracket; item purchase win rates. Used for win-rate tiers and the default accuracy.
- deadlock.wikiCommunity (CC BY-NC-SA)
Game mechanics no file states: how resistances, cooldown reduction and lifesteal stack, the bullet damage formula, headshot multiplier, falloff, build-up rates. Never numbers.
Assumptions
Rules and scenario defaults no game file has. Each has an id the code cites (src/lib/engine/assumptions.ts).
- Resistances multiply
resist-stacking - Total resist = 1 − Π(1 − rᵢ); resist reduction sources combine the same way and are then subtracted from the total (it can go below 0).
- deadlock.wiki "Damage Resistance" (Calculation).
- Cooldown reduction multiplies
cdr-stacking - Total reduction = 1 − Π(1 − cᵢ); the ultimate also takes ultimate cooldown reduction on top. Items take only item cooldown reduction.
- deadlock.wiki "Ability Cooldown".
- Lifesteal multiplies
lifesteal-stacking - Total lifesteal = 1 − Π(1 − lᵢ), per bullet and spirit lifesteal.
- deadlock.wiki "Lifesteal".
- Damage-taken amplifiers add up
amp-stacking - "Target takes +x% damage" debuffs add before multiplying damage.
- No source states it; additive is the conservative reading of the in-game numbers.
- Bullet damage
weapon-formula - [(base + boons + spirit-scaled base) × (1 + weapon damage) + flat] × falloff × (1 − resist) × headshot multiplier.
- deadlock.wiki "Weapon Damage" (Weapon Damage Formula). Spirit-scaled hero bullet damage (Vindicta, Grey Talon, Solomon) is counted as base damage: the game names it EBulletDamage, the base stat.
- Fire cycle
fire-cycle - Shots per second = burst ÷ (cycle + burst × intra-burst delay), × (1 + fire rate). Matches the data source's own DPS for every hero (engine test).
- Game weapon data; verified against deadlock-api's computed DPS.
- Damage falloff
falloff - Full damage to the falloff start, then linear down to the weapon's end scale (10% for most) at the falloff end; falloff range bonuses move both out, and the max range with them. A hero whose gun doesn't reach the distance closes to its max range.
- deadlock.wiki "Falloff Range"; ranges converted at 39.37 engine units per meter (787 u = the 20 m designers set).
- Headshots
headshotadjustable - Headshot multiplier = 1 + (crit bonus − 1 + headshot damage bonus) × target crit resist (1 for a generic target). A share of hits lands on the head (adjustable).
- deadlock.wiki "Weapon Damage" (Crit Multiplier). The share is a scenario choice.
- Accuracy
accuracyadjustable - A share of bullets (each pellet separately) hits. Defaults to the hero's average shots hit ÷ shots fired in recent matches, else 45% (90% for a weapon that locks on to its target).
- deadlock-api match statistics (shots hit/missed per hero). A lock-on weapon (Graves) has none: it hits while attached, and the 10% covers lost locks (cover, range). Real duels vary; adjust it.
- Ability hits
ability-accuracyadjustable - Damage abilities and item actives hit this share of the time (default 85%).
- No statistics exist for ability hit rates; a scenario choice so gun and spirit builds are compared on equal terms.
- Investment bonuses
investment - Souls spent per category (the full price of each item owned in it) grant the highest of the hero's cost-bonus tiers reached: weapon → +% weapon damage, vitality → +% base health, spirit → flat spirit power. The tiers jump at 4,800 souls and grow more slowly after it, so every build and tier score already pays for the diminishing return on souls past 4,800 in one category.
- Game data (cost_bonuses); deadlock.wiki "Items" (Investment bonuses). That vitality multiplies base health (hero base + boons) is the wiki's description.
- Level from net worth
levels - Level = highest threshold reached by net worth, counting the starting souls; every level gives a boon, unlock levels an ability unlock, the rest an ability point.
- Game data (level_info, citadel_player_starting_gold); deadlock.wiki "Boon".
- Net worth is spent
all-spent - The item budget is the whole net worth (unspent souls ignored); a component's cost counts toward the item it upgrades into.
- Modelling choice for comparing builds at equal souls.
- Item slots
slotsadjustable - 9 slots, plus the 3 extra slots walkers unlock: assumed at 18k, 28k and 38k net worth (adjustable).
- deadlock.wiki "Items": nine slots plus three unlocked by destroying Walkers. When walkers fall varies by match; these thresholds are an estimate.
- Fight lengths in build scores
fight-lengths - Builds are compared on their average score over a short skirmish, the standard fight and an extended fight (½×, 1× and 2× the fight length: 5, 10 and 20 s by default).
- Modelling choice: a single window lets one long-cooldown ultimate define a hero; real fights range from a quick pick to an extended teamfight. The simulator page shows the one fight length you set.
- Distances in build scores
distancesadjustable - Builds are compared on their average score at close, standard and long range (½×, 1× and 1.5× the distance: 10, 20 and 30 m by default), so falloff, close- and long-range items and travel-time effects all count. The simulator page shows the one distance you set.
- Modelling choice: most guns lose damage from 17–20 m (their falloff start) and close-range items stop at 15 m; a single distance would either ignore falloff or apply it to every fight. Real fights move between ranges.
- Fights in a match
engagementsadjustable - Build scores average a fight that starts with everything ready and one that starts 60 s after the previous fight, where abilities and actives with longer cooldowns are still recovering. The simulator page shows the fight you set (default: everything ready).
- Modelling choice: a 100 s ultimate or Refresher isn't up for every fight of a match. 60 s between fights is an estimate of mid-game rhythm.
- Expected values, no dice
deterministic - Chance-based effects add their expected value; whole-number procs are spaced by an accumulator, so every result is reproducible and builds one item apart compare without noise.
- Modelling choice (as in wowfu).
- Rotation
rotation - Buffs first, then every damaging ability on cooldown by priority; the gun fires whenever no cast or channel blocks it. Casts block the gun for their cast delay plus channel time.
- Modelling choice: a sustained duel at the chosen distance.
- Damage over time
dot-ticks - Damage over time ticks at the ability's own tick rate when it has one, else every 0.5 s; its total over the duration is exact either way.
- Game data where present (TickRate); 0.5 s otherwise only spaces the damage in time.
- Reference target
targetadjustable - Health = the average hero's base health at the same boons with a third of the net worth in vitality; resists from the scenario (defaults rise with net worth). It doesn't heal.
- Illustrative: a typical enemy at equal souls. Every field is adjustable, or pick an enemy hero instead (assumption enemy).
- Fighting an enemy hero
enemyadjustable - Picking an enemy hero fights its generated build at your net worth (interpolated between checkpoints; its best-scoring build unless you choose one): its health, resists and healing per second become the target's, and the damage it deals (gun and spirit, raw before the reference resists it was measured against) becomes your incoming damage and its bullet share. Its crowd control is measured as the seconds its disables and weakening deny damage in a fight — shown, not applied to you.
- Modelling choice: the generated builds are the simulator's own best guess at what each hero buys. Real enemies vary; every field stays adjustable.
- Counter items
counters - Items whose main effect only pays off against a kind of enemy (Return Fire and Metal Skin vs guns, cleanses vs crowd control, Healbane vs healing, parries…) are situational counters: generated builds and tier lists leave them out, and the optimiser considers them only against a chosen enemy. Items with a counter rider (Toxic Bullets' healing reduction, resist items) stay in. A counter kind's best targets are the heroes whose best builds have the most of it (gun DPS, spirit DPS, healing, disables, ultimate damage).
- Modelling choice: a duel against an average enemy credits a counter every game; players buy them for the matchup.
- Survivability
survivaladjustable - Effective health = (health + barriers + healing during the fight) ÷ the share of incoming damage your permanent resists let through, plus the raw damage temporary defences (buffs, invulnerability, slowing the target's fire rate) kept off you during the fight. Build scores weigh it by the survivability weight.
- Modelling choice: the duel index (damage per second × effective health) ranks builds that kill fast and survive long. Temporary defences count for what they block in the fight, so an invulnerable window adds its duration's damage instead of multiplying health. Default 50/50 incoming damage mix.
- Shooting into Return Fire
reflect-counterplayadjustable - Enemies keep attacking into an active Return Fire for the first half of it, then hold off: damage is reflected only for that share of its duration. The damage you take is unchanged (the incoming stream is the enemy's average damage over the fight).
- No statistics exist. Return Fire has an obvious visual and players learn to stop shooting into it; half its duration is an estimate of reaction time plus shots already committed. Without it a duel has the enemy shooting into every reflection.
- Crowd control
crowd-control - A stunned, petrified or frozen target deals no damage, a silenced one no spirit damage and a disarmed one no weapon damage for the duration (× the chance the ability landed). It counts in survivability like a fire-rate slow. Sleep is not counted (your own damage wakes the target). Point-and-click (unit-targeted) abilities always land.
- Modelling choice: the duel's target has an incoming-damage stream (assumption incoming); crowd control is the time it can't add to it. Mobility, displacement and slows stay unscored.
- Conditional effects
conditional - Effects that need a state the duel doesn't have (low health, out of combat, airborne, several enemies) are off unless the scenario turns them on; utility (stuns, mobility, vision) is listed but not scored.
- Modelling choice: the score is damage and survival, not team value.
What the simulator models
- Fully simulated47
- Partly simulated120
- Utility9
- Not modelled0
- Fully simulated70
- Stats only18
- Partly simulated46
- Utility22
- Not modelled0
- Always from the data: every hero's gun (damage, pellets, bursts, fire cycle, magazine, reload, falloff, spin-up), growth per boon, investment bonuses, and every item's innate stats.
- Per model: what abilities and item passives/actives do in a fight — written against property names, never numbers, so patches flow through. Each says what it doesn't cover; hover them anywhere on the site.
- Not scored: crowd control, mobility, vision, invisibility, team buffs, melee (not in the default fight), and anything that needs an enemy to act.
This build
- Client version
- 6815
- Build date
- 2026-10-22
- Captured
- 2026-10-22 21:26
- Kind
- captured
- heroes
- 44
- abilities
- 176
- items
- 173
- streetBrawlItems
- 17
Import notes (1)
- Ability tier costs (1, 2 and 5 points) are the game's upgrade rules, not in the asset files (deadlock.wiki "Abilities").
Builds on file
- Build 68152026-10-22 · captured
- Build 67822026-10-06 · backfilled
Past builds are re-imported from deadlock-api.com by client version; the Patches page diffs consecutive ones.
Patch day
npm run import: fetch every source, build a validated snapshot for the new client version, re-parse patch notes and diff against the previous build, regenerate builds and tier lists.npm test: every model is checked against the new data; a renamed or removed property fails loudly.- Commit
data/and push: CI tests, builds and deploys.
Numbers live in the data, behaviour in code: a patch that changes values needs no code change.
Item win rates
See Items: win rates of players who bought each item, which skew toward late, expensive items.