TL;DR
- In-game weapon DPS tooltips for Doorman and Paige are too low.
- Community wiki values are too low in the same way (they match the tooltip).
- Actual DPS measured in the client with
hud_damagemeteris higher, and matches a model that does not applym_flIntraBurstCycleTimewhenm_iBurstShotCount == 1. - Root cause is likely a DPS/BPS display path that computes the shot period as
m_flIntraBurstCycleTime + m_flCycleTimeeven when there is only one bullet per trigger.
What the data shows
Relevant fields fromWeaponInfo in shipped vdata:citadel_weapon_doorman_set (Doorman primary):m_iBurstShotCount: 1m_flCycleTime: 0.63 sm_flIntraBurstCycleTime: 0.05 sm_flBulletDamage: 29.26
citadel_weapon_bookworm_set2 (Paige primary):m_iBurstShotCount: 1m_flCycleTime: 0.5 sm_flIntraBurstCycleTime: 0.1 sm_flBulletDamage: 35.0
m_iBurstShotCount == 1), yet both carry a non-zero m_flIntraBurstCycleTime. With only one bullet per shot, there is no “between-bullets” gap for that value to represent; the time between shots is just m_flCycleTime.How the three numbers line up
Using base bullet damage, no falloff, no headshot, no reload.Suspected incorrect single shot model (matches in-game tooltip + wiki):
period = m_flIntraBurstCycleTime + m_flCycleTime
BPS = 1 / period
DPS = m_flBulletDamage * BPS
Corrected single shot model (matches
hud_damagemeter primary DPS on a practice dummy):period = m_flCycleTime
BPS = 1 / period
DPS = m_flBulletDamage * BPS
| Hero | Period (wrong) | Period (right) | BPS (wrong) | BPS (right) | DPS (wrong, ~ tooltip + wiki) | DPS (right, ~ hud_damagemeter) | Delta |
| Doorman | 0.05 + 0.63 = 0.68 s | 0.63 s | ~ 1.47 | ~ 1.59 | ~ 43.0 DPS | ~ 46.4 DPS | +3.4 DPS (~+7.9%) |
| Paige | 0.10 + 0.50 = 0.60 s | 0.50 s | ~ 1.67 | 2.00 | ~ 58.3 DPS | 70.0 DPS | +11.7 DPS (~+20%) |
So the tooltip/wiki value is strictly below the value you get from actually firing into a dummy in the client.
Repro
- Enter Sandbox and pick Doorman (or Paige).
- No Reload
- No Death
- Note the weapon DPS and Bullets per sec shown in the in-game tooltip and on the Deadlock wiki. Confirm they agree.
- In the console, run
hud_damagemeter 1 - Fire the primary continuously into a practice dummy at point-blank, body shots, no items, no boons
- Compare measured DPS from
hud_damagemeterto the tooltip/wiki number.
Observed: tooltip = wiki < measured.
Suspected fix
The display path for weapon DPS is likely treating the shot period as:period = m_flIntraBurstCycleTime + m_flCycleTime
for every weapon, including those with
m_iBurstShotCount == 1. Intra-burst time is only meaningful between bullets inside a burst; when the burst is one bullet long, it should be ignored:period = (m_iBurstShotCount > 1)
? m_iBurstShotCount * m_flIntraBurstCycleTime + m_flCycleTime
: m_flCycleTime
Or sanitize vdata so
m_flIntraBurstCycleTime = 0 whenever m_iBurstShotCount == 1 Scope
At the moment, Doorman and Paige — though it will affect any future primary wherem_iBurstShotCount == 1 and m_flIntraBurstCycleTime > 0.
Last edited:
