The way it did it here was weird and i think it caused the bug because it would check the ask time + 600 and that would wrap around.
I don't know for sure if that's the cause of the bug, but this is an improvement none the less.
be_special and antag defines are no longer limited to 16 values (1 - 32768) by being changed from a bitfield to a list, an appropriate block of code exists to automatically update bitfield versions to the new list format. the list format allows us to have (functionally) infinite antag types.