This was going to be a PM to KM (hence the math/code crap) but since people in-game keep asking about Tazer and I don't want to explain it all over mic, here's my plan for it. I have no clue how much will stick or survive testing.
TazerBoy++ detailed:
Since TazerBoy was not a 'real' weapon, availiable only with cheats and clearly an unfinished design, I've taken it up as a way we can get a little bit of Q-Labs into the game, and let James bend the rules of combat in his favor. For TazerBoy++, the most logical rule changes I see it effecting are circumvention-of-armor and evasion of mine traps.
TazerBoy's battery-ammo (recycle Moonraker 9V icon) limit is 80 and always burns 10 when used. (It has 8 uses, but the countdown effect will make explicit the duration of each discharging's effect. It could be coded on 8, and just make the display do 10 * (ammo + (isdischarging)? 2*(0.5 - time_since_attack) : 0); )
TazerBoy may be spawned into the world, or is given whenever a player picks up any form of MINE for the first time. Like Moonraker, there is no source of ammunition, although if it spawns in the world, you can pick up a fresh one at-will. When it is exhaused, the weapon is useless. (Spawn-in-world is intended only for use in Silenced Weapons and TazerBoy Arena.)
TazerBoy fire rates is 0.500. It is melee-range, but the attack is valid for the duration. (Hold the button down and run into him if you must, though this will waste charges if you attack and don't get within range/view.)
TazerBoy's damage is calculated uniquely. All damage goes to HP, doing 0.25 * (100% + AP%). (e.g.s, against a freshly spawned player, four consecutive jolts is lethal. Against a full HPAP, only two is required.)
TazerBoy circumvents Invulnerability shielding from other players (adjust the more-damage override to gate when damage is less but weapon is TazerBoy, and then apply the intended damage instead of the adjusted amount) and always triggers a 0.500 second invuln shield. (This ensures you can keep your victim stunned.)
A player stunned by TazerBoy is locked into +aimmode for 0.500 + the normal invuln period, and the reticle is replaced by an electrical-shock-warning icon to indicate stunned status. (Similar to the Running Man radar pip.) Stunned players may attack, but their fires is overridden with (0.500 + the normal invuln period) so they only get one or two chances. (This slows the stunned player down, while hinting that they cannot run and should aim and return a skilled headshot since they cannot easily escape.) (Note these are two distinct timers. The +aimmode lock will reset when the player is jolted again, the fire delay expires normally. By simply overriding the weapon fires, it should code-out naturally. The zooming effect of +aimmode must be disabled.)
EMP Effect.
Whenever TazerBoy++ is used, all MINES within 344 hammer units are affected for four seconds.
Remote Mine: Ignores detonation signals.
Timed Mine: Timer is reset to four seconds.
Proximity Mine: Ignores motion.
Other:
Baron Samedi cannot use !voodoo while stunned.
Tazer-Related Achievement ideas.
Alternating Current: Have two enemies stunned at the same time.
Circuit Breaker: Kill a player who is using TazerBoy++ and then the player he was attacking while that player remains stunned.
Exploding Battery: (4) Be killed by a mine you previously disabled with an EMP pulse.
Fort Knox All Over Again: Kill Oddjob with electricity while playing Goldfinger scenario.
Pew Pew Tazers: (20) Kill a player who is holding Moonraker with a TazerBoy++.
Reverse Polarity: Use your own TazerBoy++ to kill a player who is stunning you.
Tazed and Confused: Kill a player who is not stunning you while you are being stunned.
The Man with the Golden Stun: Instantly kill a player with a single jolt.