Here's how it works:
ON SPAWN, two seconds of invulnerability. This is broken if the spawning player attacks.
ON DAMAGE, between 500ms and 1100ms seconds of invulnerability depending on health level. (This is down from Goldeneye 007, which was 666ms ~ 1266ms.)
Pistols are stronger than automatics because CMag, Ag7, Au7, and Golden Gun are studly. Holding the trigger increases the chance that you hit something if your aim is poor, but you spend more ammunition. It also reduces the time between the player becoming vulnerable again and the next time you deal damage.
There is a point to holding the trigger down, but it's a compromise. If you have <25% health, you might not have time to aim and you can't take your bullets with you. If you're 100/100 and have an RC-P90 with 10 bullets and you have no spare ammo, you should probably consider aiming and firing one bullet at a time.
Hahah, because the duration is variable, you can't
wait script it.