Deadlock Times research · Visual cheat sheet
Deadlock comeback & catch-up
Hero kills, jungle and objective rewards, the Unstable Rift, and the Urn do not share one multiplier. Follow each source from its normal reward through its own comeback calculation and into the shared catch-up payout.
One payout pipeline
There is no universal comeback multiplier. Hero kills, selected NPC/objective rewards, the Rift, and the Urn generate comeback Souls differently; only the routing and payout stages are shared.
- 1Reward sourceKill, Rift, NPC, objective, or Urn
- 2Normal SoulsThe source's ordinary base reward
- 3Source generatorHero M, selected-source m, Rift r/e, or Urn path
- 4Player allocationOnly the comeback portion moves forward
- 570% recipient checkStrictly above enemy-player average
- 662.5 / 37.5 poolCurrent lowest and second-lowest
- 7Three pulsesRecipients re-ranked every pulse
Executable reference
Test the payout pipeline
Change any input. The calculator runs the reconstructed current-build arithmetic locally in your browser—no account, match, or player data is sent anywhere.
Time base → credited-player scale. Normal total is 1,019.
C × D = 2.8979. The 7× cap does not bind, so +0.15 is added; 40% of the resulting uplift creates 834 extra Souls.
Killer / each assister / each other. 1 lost to split truncation.
This one player's comeback allocation now enters the shared high-net-worth check.
Direct portion of this comeback allocation.
Nearest-rounded 70% when recipient is strictly above enemy average.
Scope: static executable specification of documented ordinary-match defaults, not gameplay validation. Urn mode tests the confirmed routing stage from a known comeback allocation because the complete Urn generation formula is not normalized in the public report.
Hero kills
Build the normal bounty first. Then calculate extra team Souls and decide whether each player's share stays direct or enters catch-up.
September 16 changeIn eligible non-winning-team cases, removed the old flat bonus—a raw +162 before 8:00 / +270 from 8:00 onward—then reduced the uncapped bump from +0.216 to +0.15.
Time base
The listed kill reward climbs evenly from 200 Souls at match start to 2,200 at 40:00, then stops.
b(t) = trunc(200 + 2000 × clamp(t / 2400, 0, 1))t = elapsed game seconds
Credit scaling
More credited players reduce the total bounty. Count the killer plus anyone who damaged the victim during the last 10 seconds.
B = ceil(b(t) × fₙ)fₙ = 1.250, 1.150, 0.849, 0.700, 0.550, 0.498fₙ corresponds to 1 through 6 credited players
Killer / assist split
The killer has weight 2.2; each assister has weight 1. The killer's first hero kill adds 125 before this normal-reward split.
T = B + 125IA_pool = trunc(T × a / (a + 2.2))killer = T − A_poola = assister count · I = 1 on the killer's first hero kill
Team deficit
The team-gap multiplier begins only when the killer's team trails by more than 1,500 total Souls. It measures the proportional gap, not just the raw gap.
C = 1 + 2.268(V / K − 1)Use when K > 0 and V − K > 1,500; otherwise C = 1.
K = killer-team Souls · V = victim-team Souls
Rich victim
Compare the defeated hero with the average Souls per player on the killer's team. This can activate even when the killer's team is ahead.
A = floor(K / max(p, 1))D = 1 + 2.484(v / A − 1)Use D when A > 1,250 and v > A; otherwise D = 1.
p = killer-team players · v = victim Souls
Turn the boosts into Souls
C and D are temporary boost factors, not a Soul payout. Multiply them, limit that product to 5× before 8:00 or 7× afterward, then add +0.15 only in an eligible non-winning-team case when the cap did not bind. Scale B by that result, subtract the original B, and keep 40% of only the uplift.
M₀ = C × DM = min(M₀, 5 before 8:00; otherwise 7)M ← M + 0.15 only for an eligible non-winning team when not cappedraw uplift = trunc(B × M) − BE = trunc(raw uplift × 0.40)The 5× / 7× cap limits C × D, not the final Soul payout. B is the participant-scaled bounty and excludes the +125 first-kill bonus. The +0.15 comes after the cap check, with no second clamp.
September 16 changeIn eligible non-winning-team cases, the old flat bonus was a raw +162 before 8:00 or +270 afterward, added before the ×0.40 conversion. It is now gone, and the old +0.216 bump is +0.15. In this worked example the complete old formula paid 969 instead of 834.
Whole-team split
The killer takes 30% of the comeback extra. The rest uses weight 1.5 for each assister and weight 1 for every other teammate.
killer = trunc(0.30E)R = E − killer; W = 1.5a + uassister = trunc(1.5R / W)other teammate = trunc(R / W)a = assisters · u = other teammates
Unstable Rift
Reward calculations remember the Soul gap at spawn. Bullet, Spirit, and Debuff Resist instead follow the live gap around the Rift.
September 16 changeRemoved the flat +170 Souls per eligible teammate and replaced the fixed 35% Resist maximum with 10% + 1 point/minute, capped at 40%.
Base Rift reward
At spawn, the Rift stores a team-wide reward that grows in 222-Soul time steps. Its winner shares that integer total across the team.
m = max(1, floor((tₛ − 720) / 60))G = 1,260 + 222mtₛ = Rift spawn time in seconds · G = team reward
Trailing-team reward
The poorer team at spawn is marked. If it claims the Rift, snapshot deficit intensity determines the same extra amount for every teammate.
r = min(1, 1.5(O / P − 1))e = ceil((10 / 7) × r × G / N)P/O = marked/enemy snapshot Souls · N = current recipients
September 16 changeThe previous flat +170 Souls per eligible teammate is gone. This example was 303 each in the previous build and is 133 each now.
Three Resists
Normalize the marked team's live deficit from 0 to 15%, then multiply it by a maximum that rises one point per game minute from 10% to 40%.
d = 1 − max(L, 1) / max(Oₗ, 1)q = clamp(d / 0.15, 0, 1)R_max(t) = min(10 + t_minutes, 40)%R_effective = q × R_max(t)Same value: Bullet Resist · Spirit Resist · Debuff Resist · roughly 35m area
September 16 changeThe fixed 35% maximum became a time ramp: 10% + 1 percentage point per minute, capped at 40%.
Rift Troopers
The same normalized deficit scales special Rift Troopers from 5 to 14. They are larger, black, and drop no Souls when killed.
T_Rift Troopers = floor(5 + 9q)Normal capture: 12s · full-strength endpoints: 6s trailing / 18s leading
Catch-up payouts
Comeback helps a trailing team. Catch-up routes Souls toward that team's lowest-net-worth players. A player's net worth is their total Souls.
September 16 changeAdded the 70% high-net-worth redirect and its team-local pending pool.
Recipient check
For every comeback share, compare its recipient with the live enemy-team average. A player strictly above that average redirects nearest-rounded 70%.
A_enemy = floor(O / n)redirect = round_nearest(0.70x)direct = x − redirectRedirect only when recipient Souls wᵢ > A_enemy. Equality stays direct.
September 16 changeHigh-net-worth recipients now redirect 70% of each comeback allocation into the team catch-up pool.
Passive catch-up
After 8:00, ten recent 3-second team-income buckets create new budgets for the lowest and second-lowest players.
H = (Σ gⱼ for j = 1..10) / 10L_regular = floor(0.025H)S_regular = floor(0.015H)This creates Souls; it is not the redirected pool.
Pool split
At the next 3-second boundary, split the pending redirected pool in the same 2.5-to-1.5 ratio. The integer remainder goes to second-lowest.
L = floor(0.625R)S = R − LTwo active players: both shares merge onto lowest · one: both go to that player · none: current pulse returns to pending
Three pulses
Each fixed budget becomes three cumulative-ceiling differences paid about one second apart. Players are re-ranked by current Souls on every pulse.
pulse_k(X) = ceil(X(k + 1) / 3) − ceil(Xk / 3)k = 0, 1, 2The three pulse integers always sum back to X.
Other eligible rewards
Selected Troopers, Neutrals, Sinner's Sacrifices, and objectives can create a separate bonus. Only that added bonus can be redirected.
Non-hero bonus
This starts once the enemy leads by more than 3,000 team Souls. Ignore the first 3,000; the remaining adjusted ratio scales the bonus up to 26%.
z = V / (K + 3,000)m = 1 + 0.26 × clamp((z − 1) / 0.20, 0, 1)bonus = trunc(B × m) − BActive only when V > K + 3,000. Base reward B stays direct.
Integer accounting
Redirection, the 62.5/37.5 pool split, and the pulse schedule each preserve their integer input. The whole economy is not globally conservative.
direct + redirect = xL + S = RΣ pulse_k(X), k = 0..2, equals XPassive catch-up creates Souls; hero splitting can discard a remainder; Rift ceiling can add rounding units.
September 16 changes
Immediately previous build 25260093 compared with current build 25354466.
Notation
floor rounds down · ceil rounds up · trunc rounds toward zero · roundnearest uses nearest integer, nominal ties-to-even · clamp(x, 0, 1) keeps x between 0 and 1.