On the Euro server last night, a player named Indje turned into a "flying gauntlet man". What is a flying gauntlet man? Well, it's a Visor model stuck in a death animation with a detached gauntlet, flying across the level with no weapon except for said gauntlet. I saw him as the mysterious, rarely seen "Class: Undefined". I was so much in shock at the sight of this flying gauntlet man that I allowed him to run up and pummel me - which resulted in me being pimpslapped all the way off the server with an error message (nice shot there, Indje, that's some arm you got). Tab and Alucard also got knocked off. This bug had cropped up once before in a CTF match, but we've never been able to figure it out until now. Tabun was recording a demo when it happened, so I was able to track down the cause. Indje's player class somehow got set to "6", which is not a defined class. We only use 0 (no class/spectator when initially connecting) and 1 through 5 (Earth up through Arena). Well it turns out the random class code has a 1 in 32,767 chance of doing this owing to how the random number generation works in the current function. I've changed it so that 1.0 won't have this problem by using a different random number generation technique.
I can't do anything about it in .99f, so just be aware that this will occasionally happen for now, though very rarely. It can only happen to people who are random class. If you ever end up stuck with only a gauntlet and everyone drops off the server at once just be aware of the problem and disconnect, wait a few seconds, and reconnect. Everything will be fine after that.
|