Bullet Penetration in Counter-Strike: Source
This document aims to provide detailed information about what parameters affect the penetration depth of bullets from the various weapons in Counter-Strike:Source. This is a work-in-progress.
Rudimentary Results
The following table gives the shallowest depth of a sigle brush that completely blocks the incoming bullet. The brushes were six faced with dimensions 80x104xN and with each face set to the given material.
Weapon | glass/prodwndwa | tools/toolsblockbullets tools/toolsnodraw |
Glock | 21 | 9 |
USP | 15 | 6 |
P228 | 25 | 10 |
Deagle | 30 | 12 |
Elites | 21 | 9 |
Five-Seven | 30 | 12 |
M3 | 1 | 1 |
XM1014 | 1 | 1 |
Mac-10 | 15 | 6 |
TMP | 20 | 8 |
MP5 | 21 | 9 |
UMP | 15 | 6 |
P90 | 30 | 12 |
Galil | 35 | 14 |
Famas | 35 | 14 |
AK-47 | 39 | 16 |
M4-A1 | 35 | 14 |
Scout | 39 | 16 |
SG 552 | 35 | 14 |
Aug | 39 | 16 |
G3SG1 | 39 | 16 |
SG 550 | 35 | 14 |
AWP | 45 | 18 |
M249 | 35 | 14 |
The results of this are somewhat troubling: Toolsblockbullets does not live up to its name. Even worse is the fact that nodraw is just as good at stopping bullets.
Dependence on SurfaceProperties.txt
Upon further testing, it has become clear that the penetration depth is depended on the "gamematerial" field of the surface property entry of the given material. Here is a table in order of stopping power of the gamematerials:
AWP inches | gamematerial | general description |
18 | "C" | concrete |
45 | "Y", "G" | glass, metal grate |
(testing in progress)
Note surfaceprop "default" has gamematerial "C". Thus bullets penetrate nodraw, blockbullets, etc.. just like concrete.