Sorry to necro-post, but there's been a bug in the code that I just can't seem to work out. While holding Attack1 and Attack2, TF2_CalcIsAttackCritical runs on every frame. Good.
If only Attack1 is being held, the function only runs on every seventh frame. Not so good.
I've been trying to find a way around the minigun's idiosyncrasies, but I just can't get the health-drain to even out. :\