Every bullet has a chance to ricochet and every ricochet has a chance of doing significant damage to the player. This will be based on the caliber of the round fired, as well as what surface is behind/beneath the target. Ultimately, because we’re professionals, the bullet data needs to be extremely accurate with lots of formulas.
All of this information needs to be tracked, and the goal is to put as much load on the CPU as possible.