Deadlock mechanics / See the trade-off

Damage in. Health out.

Compare damage, shred and fire rate. Model anti-heal. Follow tower defenses and Trooper health over match time.

Frozen build 6698 · · Evidence & limits

6722 revalidation · changed healing stage; retained core inputs

September 30 check: all 38 reload presets, the six progression profiles and selected item/objective inputs match their older declarations. Selected weapon construction, resistance pools, fire-rate conversion, Trooper HP initialization and Guardian/Walker timed modifiers were rebound to current code. This is bounded reconstruction, not live-game validation or a blanket update of all 64 reference rules.

Changed receiving stage: the checked 6722 callback no longer applies a separate anti-heal-resistance input. The healing tool defaults to that stage; its historical 6698 profile remains available. Medic heal declarations still match, but its current ability binding and lifecycle have not been revalidated.

New permanent pickups add Bullet/Spirit Resist, range and speed—not new stacking formulas. Compare the pickup tiers → Default waves are 30s → 25s strictly after 20m → 20s strictly after 35m: cadence, not HP growth. Per-model evidence & remaining limits ↗

01

Damage & resistance

Damage, shred & fire rate

DPS while firing · base → upgraded800 → 1,47083.75% more damage per secondDamage per hit160 → 235.2Weapon increase 100% → 140%Shots per second5 → 6.25Fire-rate bonus 0% → 25%Total shred10% → 28%Net resistance 20% → 2%Fire rate wins. Best single addition: 1,000 DPS while firing.

Your additions · DPS while firing against the same target

Base build800 DPS

Base: 350 Weapon bonus: 350 Active shred: 100

160 / hit
+ Shred980 DPS

Base: 350 Weapon bonus: 350 Active shred: 100 Extra shred: 180

+22.5% · 196 / hit
+ Damage960 DPS

Base: 350 Weapon bonus: 350 Active shred: 100 Damage bonus: 160

+20% · 192 / hit
+ Fire rate1,000 DPS

Base: 350 Weapon bonus: 350 Active shred: 100 Faster firing: 200

+25% · 160 / hit
+ All additions1,470 DPS

Base: 350 Weapon bonus: 350 Active shred: 100 Damage bonus: 160 Extra shred: 216 Faster firing: 294

+83.75% · 235.2 / hit
DPS while firing against target resistance
Damage, shred and fire rate: DPS while firing against target resistance against Target resistance (%)Hover or touch to inspect. The inspection slider provides keyboard access. All other inputs stay fixed.BaseWeapon bonusActive shredExisting fire-rate bonusDamage bonusExtra shredFaster firing00500251,000501,500752,000100+ Shred+ Damage+ Fire rateTarget armor: 30 resistance percentage pointsTarget resistance (%)Enemy resistance pool30 %All additions1,470 DPS+ Shred980 DPS+ Damage960 DPS+ Fire rate1,000 DPS
BaseWeapon bonusActive shredExisting fire-rate bonusDamage bonusExtra shredFaster firingTarget armor
Chart help

Axes stay fixed while you edit. Use “Fit chart” to rescale. Hover, touch or use the slider to inspect. The dot marks your inputs; inspection does not change them.

Filled colors: All additions. Green strip: target resistance.

Reading the colors

The filled slices build up DPS one effect at a time. The green strip marks the target’s resistance. Row values below answer a different question: what changes if you remove that effect?

Value of +1% at 30% resistance

Base build · 800 DPS while firing

+1% Shred+9 DPS (+1.125%)
Best per point
+1% Gun damage+4 DPS (+0.5%)
+1% Fire rate+8 DPS (+1%)

Move over the chart, or use its inspection slider, to compare another resistance.

What +1% means

One extra independent shred source, or one percentage point added to gun damage or fire rate. Uses Base effects only, not your proposed additions. The bars share a zero baseline; the longest gives the largest DPS gain. This is per stat point, not per Soul spent.

Effects Amount · Impact

Base effects

RESIST%-300 DPS-27.27%
WEAPON%+400 DPS+100%
SHRED%+100 DPS+14.29%
RATE%0 DPS0%

Added effects

+ DMG%+245 DPS+20%
+ SHRED%+270 DPS+22.5%
+ RATE%+294 DPS+25%
How impacts are calculated

Each row compares the build with and without that effect. Base rows ignore additions. Gains overlap—don’t add them. Sliders stay at 0–200 (0–100 for reduction models); you can type larger bonuses.

Other damage stages & exact formula

Use the source-type menu above to add target amplification or a later damage multiplier.

D = [(base + boon flat) × (1 + increases/100) × (1 + later group/100) + post-flat] × (1 + taken-amp/100) × (1 − (resistance − shred)/100)
Relative gain = (new damage ÷ current damage − 1) × 100%

Target solver, stacking rules & model limits

Add 22.22% shred to reach this target. This accounts for the shred you already have.

Don’t count each headshot as another debuff

The headshot preset comes from a definition with −12 Bullet resistance, 12s duration and a 0.5 diminishing parameter. We have not confirmed its Crippling Headshot name, stack limit or refresh rules. One row per hit would invent stacks we haven’t verified.

Assumes every shot hits. Excludes critical hits, falloff, bursts, ramp-up, procs, barriers and NPC-specific defenses. Resistance and fire-rate formulas use build 6698; magazine timing is a continuous-fire estimate, not animation timing. Enter active effects, not consumed upgrade components. A weapon hit between 0 and 1 is raised to 1 before target modifiers; an already-scaled incoming hit skips that step. Fire-rate slows use the default −50 minimum stat. Effects that change firing-cycle percentage directly are not included.

Reloads & sustained DPS

Build 6698 base reload presets. Changing the seconds field switches to Custom; larger typed values remain allowed.

DPS with and without reloads

Base · firing800 DPS
Base · with reloads600 DPS
Upgraded · firing1,470 DPS
Upgraded · with reloads1,037.65 DPS

Both use the same resistance and damage. Only the firing/reload average changes.

Damage over the firing / reload cycle
Gun firing and reload cycle: Damage over the firing / reload cycle against Time (seconds)Hover or touch to inspect. The inspection slider provides keyboard access. All other inputs stay fixed.005,000410K815K1220K16Time (seconds)Time8 secondsBase build4,800 damageAll additions8,820 damageChange+4,020 damage
Chart help

Axes stay fixed while you edit. Use “Fit chart” to rescale. Hover, touch or use the slider to inspect. The dot marks your inputs; inspection does not change them.

Base: 6s firing + 2s reload. Upgraded: 4.8s firing + 2s reload. Slopes are firing; plateaus are reloads.

Continuous-fire estimate. Bursts, ramp-up, first-shot timing and reload animation tricks are not included.

Optional hero inputs

Shop investment & boons

These are captured 6697/6698 values, not the older hero-page fallback. Investment totals jump at thresholds; they do not accumulate each threshold's displayed bonus.

Gun base = weapon base + boon count × flat bullet growth
Health model = (base HP + boon HP) × (1 + vitality investment/100)
Spirit contribution = boon Spirit + Spirit investment

Weapon base
3.6 / bullet or pellet
Boon flat bullet source
+1 (10 × 0.1)
Weapon investment source
+46%
Base HP + boon HP
800 + 490
Vitality investment source
+38% → 1,780.2 HP in this model
Boon + investment Spirit sources
11 + 38 = 49 Spirit
Bonus (%)
weapon shop investment: Bonus (%) against Souls invested in this categoryHover or touch to inspect. The inspection slider provides keyboard access. All other inputs stay fixed.00508,75010017.5K15026.3K20035KSouls invested in this categorySouls invested4,800 SoulsBonus (%)46 %
Chart help

Axes stay fixed while you edit. Use “Fit chart” to rescale. Hover, touch or use the slider to inspect. The dot marks your inputs; inspection does not change them. Dense steps are sampled at large ranges; inspected values are calculated directly.

The six profiles have stat rewards at boons 1–35. This is a configuration-based progression illustration like the hero reference, not a complete build: item passives, purchase-tier effects, ability upgrades, extra Spirit scaling, selling and refunds are excluded. HP totals are model arithmetic, not a newly traced max-health consumer. Bullet amounts are per bullet/pellet, not per full shotgun shot.

Stacking rules & limits (5)

Check the damage type, then the target’s defenses.

Resistance contributions30% and 20% → 44%, not 50%

30% resistance leaves 70% of a hit. Another 20% blocks a fifth of that remainder, giving 44% total resistance. Shred combines the same way on its own, then subtracts from resistance. Only count active effects.

30 and 20 resistance give 44%; 10 and 20 reduction give 28%. Net resistance is 16%. Without resistance, it is −28%.

This shortcut excludes innate/inherited stats and the NPC branch; component replacement and activation still need item-specific rules.

Build 6698 code · Resistance stat helpers; modifiers 32/33 and 34/35 · Permalink ↗

Resistance reduction & penetrationDebuff the target ≠ alter a shot

Armor reduction changes the target’s resistance. A separate penetration field appears in the bullet code, but its behavior is not verified here. Don’t treat the two as synonyms.

The armor-reduction aura definition contains −10 Bullet Armor Reduction and a separate single-target player multiplier of 2.

The aura's complete evaluator and the penetration field's meaning are not established by those numbers.

Configured · upgrade_bullet_armor_reduction_aura; earlier bullet-origin server-authority research · Permalink ↗

Conditional defenseA threshold is part of the effect

Only count a low-health bonus below its threshold, or a post-cast buff while it lasts. The calculator does not activate conditional item effects for you.

Improved Bullet Armor declares a health threshold of 50 and a below-threshold Bullet Resist value of 15. Warp Stone declares a 6-second caster buff.

Configured · upgrade_improved_bullet_armor; upgrade_warp_stone · Permalink ↗

Weapon bonuses use two groupsBase × increase group × later group

Weapon bonuses add together: +100% plus +80% makes +180%, or 2.8× base damage. A separate damage multiplier applies afterward. Level damage is part of the base; post-scale flat damage is added later.

Glass Cannon declares +80 weapon increase. Adding it to an active +100 pool gives +180: 2× → 2.8× base, or 40% more with other factors fixed and no post-scale flat damage.

Range/NPC branches, inherited values and upgrade replacement are excluded from the simple calculator.

Build 6698 code · Build 6698 weapon constructor; upgrade_glass_cannon.BaseAttackDamagePercent binding · Permalink ↗

Shots, bursts & sustained fireFire-rate bonus ≠ sustained DPS

Fire-rate bonuses add, while attack slows reduce the total. At the default −50 minimum stat, firing takes 1.5× as long: two-thirds speed. The gun calculator includes reload time, but not burst timing or missed shots.

20% and 30% slows combine to 44%. At a −50 fire-rate stat, the interval is 1.5× base: two-thirds of the original cycle rate, not half.

The minimum is configurable. The shortcut excludes cycle-percentage modifiers, inherited stats and gameplay-time scaling.

Build 6698 code · Build 6698 fire-rate stat and piecewise cycle-interval conversion · Permalink ↗

02

Healing & anti-heal

Healing & anti-heal

Base · HP restored182 HPWith additions182 HP+0 HP changeLost to anti-heal218 HPUnused healing0 HP
HP received, blocked or unused
Healing received: HP received, blocked or unused against Incoming healing (HP)Hover or touch to inspect. The inspection slider provides keyboard access. All other inputs stay fixed.Received healingHealbaneOther anti-healNo missing HP002502505005007507501,0001,000Incoming healing (HP)Incoming heal400 HPBase effects182 HPWith additions182 HPChange+0 HP
Received healingHealbaneOther anti-healNo missing HP
Chart help

Axes stay fixed while you edit. Use “Fit chart” to rescale. Hover, touch or use the slider to inspect. The dot marks your inputs; inspection does not change them.

Colors show received healing, anti-heal losses and unused HP.

Effects Amount · Impact

Base effects

ANTI%-98 HP-35%
ANTI%-78 HP-30%

Added effects

None

How impacts are calculated

Each row compares the build with and without that effect. Base rows ignore additions. Gains overlap—don’t add them. Sliders stay at 0–200 (0–100 for reduction models); you can type larger bonuses.

Healing Booster, regeneration & calculation limits

The rechecked 6722 Healing Booster declaration still supplies +20% caster healing, +20% regeneration, +3 HP/s regeneration and a separate +1 out-of-combat regen parameter. The regen effects are not included in this direct-heal chart. The old unvalued anti-heal-resistance property is absent; the preset never invents one.

Caster rows represent a supplied additive bonus, not a verified item-stacking rule. Enter zero caster bonus if your incoming amount already includes it. The HP cap here is a simple missing-health limit; healing-block states, exempt regeneration, integer rounding and item activation are not simulated.

35% and 30% anti-heal leave 45.5% of the heal: 400 becomes 182. A +20% receiving bonus gives 262; an assumed +20% caster bonus gives 218.4 instead. They are different effects.

Receiving factor = max(0, 1 + bonus/100 − anti-heal/100). Receiving bonuses and anti-heal each combine their sources’ unmodified remainders. The checked 6722 receiving callback has no separate anti-heal-resistance stage.

Changed: with 35% + 30% anti-heal and a hypothetical 20% protection input, the old model gives 225.6 HP from 400; the checked 6722 stage gives 182 HP. This does not prove every healing source or protection effect was removed. Revalidation scope →

Historical receiver research · Rechecked Healing Booster declaration

Stacking rules & limits (2)

See how much HP a heal restores after anti-heal and bonuses.

Healing, regeneration & lifestealThree routes back to health

A bonus can affect the healer’s output, the recipient’s healing, or regeneration. Healing Booster declares caster and regen bonuses—not a universal bonus to every heal you receive.

Healing Booster declares 20 for cast healing amplification and regeneration amplification, with separate regeneration bonuses.

Configured · upgrade_healing_booster; healing scale-function families · Permalink ↗

Anti-heal has scope and duration35% and 30% → 54.5% receiving penalty

35% and 30% anti-heal leave 45.5% of a heal, so 400 becomes 182. A receiving-heal bonus offsets that penalty. A bonus on the caster changes the incoming amount instead.

From 400 entering healing, receiving penalties of 35 and 30 leave 182. A positive receiving bonus of 20 changes that to 262. Healbane declares penalties in both receiving and regeneration channels; this does not prove applying it twice to every heal.

Full caster/regen/lifesteal composition, exempt regeneration, missing-health caps and item activation/lifecycles remain outside this stage.

Build 6698 code · Build 6698 receiving-heal stage; upgrade_healbane channel declarations · Permalink ↗

03

Objective timelines

Objectives. Changes over match time.

Tower damage reduction changes continuously; ordinary Trooper spawn health steps up at 36:00.

Tower resistance over match time

Guardian: 12-minute ramp (14 in the alternate branch). Walker: 18-minute ramp.

Timed player-damage reduction (%)
Tower resistance over match time: Timed player-damage reduction (%) against Match time (minutes)Hover or touch to inspect. The inspection slider provides keyboard access. All other inputs stay fixed.-1000-505010501510020Guardian · 14m branchWalkerMatch time (minutes)Match time0 minutesGuardian · 12m branch50 %Guardian · 14m branch50 %Walker65 %
Chart help

Axes stay fixed while you edit. Use “Fit chart” to rescale. Hover, touch or use the slider to inspect. The dot marks your inputs; inspection does not change them.

Timed modifier only—not total tower armor. Negative values amplify damage; other defenses still apply.

Timing rules & evidence

These are continuous match-clock ramps, not whole-minute steps. Guardian crosses zero at 6:00 (12-minute branch) or 7:00 (14-minute branch); Walker at 9:00. The Guardian’s branch selector is not inferred from the clock or presented as a live-match prediction.

No Street Brawl, custom clock offset, or combined Bullet/Spirit resistance model. The Base Guardian handler does not contain this same ramp, so it is not assigned one here.

R(t) = start + (end − start) × clamp(t / end-minute, 0, 1); damage multiplier at this stage = 1 − R(t) / 100

Frozen server 6698: Guardian damage handler 0xbcd790; Walker 0xbcd3d0; elapsed-clock helper 0x91e2d0; clamped interpolation 0x2acd70. Evidence and exclusions ↗

Trooper health at spawn

300 HPWithout buff: 300; with buff: 420.
Trooper HP: without / with shrine buff
Trooper spawn health: Trooper HP: without / with shrine buff against Match time when spawned (minutes)Hover or touch to inspect. The inspection slider provides keyboard access. All other inputs stay fixed.0017515350305254570060Match time when spawned (minutes)Match time20 minutesWith shrine buff420 HPWithout shrine buff300 HPChange-120 HP
Chart help

Axes stay fixed while you edit. Use “Fit chart” to rescale. Hover, touch or use the slider to inspect. The dot marks your inputs; inspection does not change them. Dense steps are sampled at large ranges; inspected values are calculated directly.

Formula & limits

Spawn HP = trunc(base HP × (floor(minutes) > 35 ? 1.5 : 1)); with shrine-down buff: trunc(spawn HP × 1.4)

This uses the ordinary spawn calculation, not continuous health growth. The shrine checkbox assumes the buff is active; it does not infer which lane or team receives it from a Shrine kill. Mode and experiment overrides are excluded.

Both multiplications round to binary32 before truncating. Rejuvenator’s 1.7 / 2.0 / 2.3 health multipliers are excluded because their ordering is untraced. The shrine damage-scale setting 60 is not interpreted here as ×60 or +60%.

Medic healing settings

Medic Trooper. More than another health bar.

350 base HP. Its bound heal ability targets friendly heroes and Troopers. The captured definition separates their healing amounts:

Hero heal setting
40
Trooper heal setting
80
Post-lane hero heal setting
80

6s authored cooldown · 15m cast range. Nearby-hero and secondary-hero checks have separate range settings of 30m and 25m.

Configuration, not guaranteed received HP or a heal every 6 seconds. Target selection, the post-lane switch and secondary-heal behavior have not been reconstructed here. The three ranges are not one universal healing radius.

Medic source

Build 6698: npc_units.vdata / trooper_medic binds ability_medic_trooper_heal in abilities.vdata. Heal_Players 40; Heal_Troopers 80; Heal_Players_Post_Lane 80; AbilityCooldown 6; AbilityCastRange 15m; HeroNearbyRange 30m; SecondaryHealHeroRange 25m.

Other structure defenses & exclusions

Structures. Different defenses.

Flat HP, attacker-specific resistance, range armor and backdoor protection are separate rules.

Guardian

5,500 HP

Player-damage resist −25%; Trooper-damage resist 42.5%

Attacker-specific settings, not universal Bullet/Spirit armor.

Base Guardian

4,000 HP

Player −25%; Trooper 42.5%. Backdoor Bullet resistance 40; reduction per hero 20

Backdoor activation and hero-count evaluator are separate.

Walker

6,000 / 9,000 / 12,000 HP

Base / empowered I / empowered II. Nearby-enemy resistance array: 0, 0, 0, 20, 30, 40, 50

Empowerment triggers and array indexing are not established here. Ranged Bullet armor also exists.

Patron

12,000 each phase HP

Ranged armor: Bullet maximum 100%; Spirit maximum 0%

These are range-dependent maxima, not permanent resistance. Phase I growth settings: 250/min after start 20; phase II: 450/min after start 1; both tick every 60s. Timing origins remain unresolved.

Shrine

Not established

No verified flat HP/resistance value in this scoped extraction

Do not substitute a Patron or base-Guardian definition for a Shrine.

Sources, versions & what the calculators leave out

These are frozen build-6698 rules, not necessarily the current patch. Inputs are eligible effects—not every owned item or every repeated hit. Calculators report a stage’s result, not guaranteed final health loss or healing. UI limits are not game caps.

September configuration

Item, ability, hero, modifier and world settings captured for builds 6697 and 6698. Their script data is identical. Numbers describe these definitions, including inactive and development entries; they are not a current shop list or proof of every in-match interaction.

abilities.vdata, heroes.vdata, modifiers.vdata, npc_units.vdata, misc.vdata and generic_data.vdata; resolved property and hero-slot catalogs.

Build 6698 combat reconstruction

Frozen-server reconstruction of weapon-damage groups, fire-rate bonuses and slows, resistance pools, the ordinary Bullet/Spirit resistance stage, receiving healing and bounded Trooper health scaling. These are bounded code paths, not live gameplay tests or a complete item-build simulation. Identical 6697/6698 scripts do not prove identical executables.

deadlock_combat_stat_formulas_6698.md: weapon constructor, stat dispatch, cycle conversion and damage processor. Other reductions, absorption, bypass flags and special states remain separate stages.

September Rift reconstruction

The Unstable Rift's resistance, aura and capture paths were reconstructed separately from its Soul rewards. These rules belong to the Rift, not the Urn. A resistance contribution is not the complete damage-mitigation calculation.

September 17 comeback-system research, sections 4 and 8; versioned comparison with the September 18 build.

Earlier combat reconstruction

The June damage-pipeline and Shiv/Mina investigation establishes bounded code behavior in that earlier snapshot. Those findings are dated here rather than silently promoted to verified September combat rules.

June 12 damage-pipeline refresh; damage pipeline + Shiv/Mina first pass. The general resistance, shield and barrier calculation remains incompletely mapped.

Earlier interface survey

The shooting, camera, crosshair, communication, spectator and targetability survey identifies settings, fields and controls. It is a bounded survey, not a complete explanation of every client or server decision.

Broad mechanics evidence and seven topic inventories: shooting/aiming, crosshair, camera, spectator, player-position communication, targetability and Grey Talon.

Crippling Headshot’s name binding and stack/refresh rules, full healing-channel composition, Medic target selection and post-lane switching, and complete objective lifecycles remain unverified.

Build 6698 formulas and research boundaries ↗

Wiki: Damage Resistance · Wiki: Healing. Wiki patch and channel assumptions can differ from this reference.